Skip to content

Commit

Permalink
[fix] emit deprecation warning only once
Browse files Browse the repository at this point in the history
  • Loading branch information
dummdidumm committed Nov 10, 2022
1 parent b2d3607 commit 189d9c8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 7 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,9 @@
# Svelte changelog

## Unreleased

* Emit deprecation warning only once

## 3.53.0

* Check whether `parentNode` exists before removing child ([#6037](https://github.com/sveltejs/svelte/issues/6037))
Expand Down
19 changes: 12 additions & 7 deletions src/compiler/compile/index.ts
Expand Up @@ -46,6 +46,8 @@ const valid_css_values = [
const regex_valid_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;
const regex_starts_with_lowercase_character = /^[a-z]/;

let has_shown_deprecation = false;

function validate_options(options: CompileOptions, warnings: Warning[]) {
const { name, filename, loopGuardTimeout, dev, namespace, css } = options;

Expand Down Expand Up @@ -89,13 +91,16 @@ function validate_options(options: CompileOptions, warnings: Warning[]) {

if (css === true || css === false) {
options.css = css === true ? 'injected' : 'external';
const message = `options.css as a boolean is deprecated. Use '${options.css}' instead of ${css}.`;
warnings.push({
code: 'options-css-boolean-deprecated',
message,
filename,
toString: () => message
});
if (!has_shown_deprecation) {
has_shown_deprecation=true;
const message = `options.css as a boolean is deprecated. Use '${options.css}' instead of ${css}.`;
warnings.push({
code: 'options-css-boolean-deprecated',
message,
filename,
toString: () => message
});
}
}

if (namespace && valid_namespaces.indexOf(namespace) === -1) {
Expand Down

0 comments on commit 189d9c8

Please sign in to comment.