|
|
|
@ -8,7 +8,7 @@ import * as w from './warnings.js';
|
|
|
|
|
* @typedef {(input: Input, keypath: string) => Required<Output>} Validator
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
const common = {
|
|
|
|
|
const common_options = {
|
|
|
|
|
filename: string('(unknown)'),
|
|
|
|
|
|
|
|
|
|
// default to process.cwd() where it exists to replicate svelte4 behavior (and make Deno work with this as well)
|
|
|
|
@ -48,18 +48,7 @@ const common = {
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const validate_module_options =
|
|
|
|
|
/** @type {Validator<ModuleCompileOptions, ValidatedModuleCompileOptions>} */ (
|
|
|
|
|
object({
|
|
|
|
|
...common
|
|
|
|
|
})
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
export const validate_component_options =
|
|
|
|
|
/** @type {Validator<CompileOptions, ValidatedCompileOptions>} */ (
|
|
|
|
|
object({
|
|
|
|
|
...common,
|
|
|
|
|
|
|
|
|
|
const component_options = {
|
|
|
|
|
accessors: deprecate(w.options_deprecated_accessors, boolean(false)),
|
|
|
|
|
|
|
|
|
|
css: validator('external', (input) => {
|
|
|
|
@ -129,29 +118,50 @@ export const validate_component_options =
|
|
|
|
|
}),
|
|
|
|
|
|
|
|
|
|
enableSourcemap: warn_removed(w.options_removed_enable_sourcemap),
|
|
|
|
|
|
|
|
|
|
hydratable: warn_removed(w.options_removed_hydratable),
|
|
|
|
|
|
|
|
|
|
format: removed(
|
|
|
|
|
'The format option has been removed in Svelte 4, the compiler only outputs ESM now. Remove "format" from your compiler options. ' +
|
|
|
|
|
'If you did not set this yourself, bump the version of your bundler plugin (vite-plugin-svelte/rollup-plugin-svelte/svelte-loader)'
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
tag: removed(
|
|
|
|
|
'The tag option has been removed in Svelte 5. Use `<svelte:options customElement="tag-name" />` inside the component instead. ' +
|
|
|
|
|
'If that does not solve your use case, please open an issue on GitHub with details.'
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
sveltePath: removed(
|
|
|
|
|
'The sveltePath option has been removed in Svelte 5. ' +
|
|
|
|
|
'If this option was crucial for you, please open an issue on GitHub with your use case.'
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
// These two were primarily created for svelte-preprocess (https://github.com/sveltejs/svelte/pull/6194),
|
|
|
|
|
// but with new TypeScript compilation modes strictly separating types it's not necessary anymore
|
|
|
|
|
errorMode: removed(
|
|
|
|
|
'The errorMode option has been removed. If you are using this through svelte-preprocess with TypeScript, ' +
|
|
|
|
|
'use the https://www.typescriptlang.org/tsconfig#verbatimModuleSyntax setting instead'
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
varsReport: removed(
|
|
|
|
|
'The vars option has been removed. If you are using this through svelte-preprocess with TypeScript, ' +
|
|
|
|
|
'use the https://www.typescriptlang.org/tsconfig#verbatimModuleSyntax setting instead'
|
|
|
|
|
)
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const validate_module_options =
|
|
|
|
|
/** @type {Validator<ModuleCompileOptions, ValidatedModuleCompileOptions>} */ (
|
|
|
|
|
object({
|
|
|
|
|
...common_options,
|
|
|
|
|
...Object.fromEntries(Object.keys(component_options).map((key) => [key, () => {}]))
|
|
|
|
|
})
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
export const validate_component_options =
|
|
|
|
|
/** @type {Validator<CompileOptions, ValidatedCompileOptions>} */ (
|
|
|
|
|
object({
|
|
|
|
|
...common_options,
|
|
|
|
|
...component_options
|
|
|
|
|
})
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|