Skip to content

Commit f580e2e

Browse files
authored
fix: warn on boolean compilerOptions.css (#8710)
* warn on boolean compilerOptions.css * changeset
1 parent 83e9178 commit f580e2e

File tree

2 files changed

+20
-14
lines changed

2 files changed

+20
-14
lines changed

.changeset/stale-cougars-wink.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte': patch
3+
---
4+
5+
warn on boolean compilerOptions.css

packages/svelte/src/compiler/compile/index.js

+15-14
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ const regex_valid_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;
3737
const regex_starts_with_lowercase_character = /^[a-z]/;
3838

3939
let warned_of_format = false;
40+
let warned_boolean_css = false;
4041

4142
/**
4243
* @param {import('../interfaces.js').CompileOptions} options
@@ -86,23 +87,23 @@ function validate_options(options, warnings) {
8687
toString: () => message
8788
});
8889
}
89-
if (valid_css_values.indexOf(css) === -1) {
90-
throw new Error(
91-
`options.css must be true, false, 'injected', 'external', or 'none' (got '${css}')`
92-
);
93-
}
90+
9491
if (css === true || css === false) {
9592
options.css = css === true ? 'injected' : 'external';
96-
// possibly show this warning once we decided how Svelte 4 looks like
97-
// const message = `options.css as a boolean is deprecated. Use '${options.css}' instead of ${css}.`;
98-
// warnings.push({
99-
// code: 'options-css-boolean-deprecated',
100-
// message,
101-
// filename,
102-
// toString: () => message
103-
// });
104-
// }
93+
if (!warned_boolean_css) {
94+
console.warn(
95+
`compilerOptions.css as a boolean is deprecated. Use '${options.css}' instead of ${css}.`
96+
);
97+
warned_boolean_css = true;
98+
}
99+
}
100+
101+
if (!valid_css_values.includes(options.css)) {
102+
throw new Error(
103+
`compilerOptions.css must be 'injected', 'external' or 'none' (got '${options.css}').`
104+
);
105105
}
106+
106107
if (namespace && valid_namespaces.indexOf(namespace) === -1) {
107108
const match = fuzzymatch(namespace, valid_namespaces);
108109
if (match) {

0 commit comments

Comments
 (0)