diff --git a/.changeset/metal-ears-travel.md b/.changeset/metal-ears-travel.md new file mode 100644 index 000000000000..6960e7799183 --- /dev/null +++ b/.changeset/metal-ears-travel.md @@ -0,0 +1,5 @@ +--- +'create-svelte': patch +--- + +use preserveValueImports flag diff --git a/packages/create-svelte/shared/+prettier/package.json b/packages/create-svelte/shared/+prettier/package.json index e1c015443375..d107ca805a97 100644 --- a/packages/create-svelte/shared/+prettier/package.json +++ b/packages/create-svelte/shared/+prettier/package.json @@ -1,6 +1,6 @@ { "devDependencies": { - "prettier": "^2.4.1", - "prettier-plugin-svelte": "^2.4.0" + "prettier": "^2.5.1", + "prettier-plugin-svelte": "^2.5.0" } } diff --git a/packages/create-svelte/shared/+typescript/package.json b/packages/create-svelte/shared/+typescript/package.json index e4c19f69a1c9..9d6e5dfe2173 100644 --- a/packages/create-svelte/shared/+typescript/package.json +++ b/packages/create-svelte/shared/+typescript/package.json @@ -4,9 +4,9 @@ "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch" }, "devDependencies": { - "typescript": "^4.4.3", + "typescript": "^4.5.4", "tslib": "^2.3.1", "svelte-check": "^2.2.6", - "svelte-preprocess": "^4.9.4" + "svelte-preprocess": "^4.10.1" } } diff --git a/packages/create-svelte/shared/+typescript/tsconfig.json b/packages/create-svelte/shared/+typescript/tsconfig.json index 0555d526aa29..7b5a0dc0d400 100644 --- a/packages/create-svelte/shared/+typescript/tsconfig.json +++ b/packages/create-svelte/shared/+typescript/tsconfig.json @@ -7,14 +7,19 @@ /** svelte-preprocess cannot figure out whether you have a value or a type, so tell TypeScript to enforce using \`import type\` instead of \`import\` for Types. - */ + */ "importsNotUsedAsValues": "error", + /** + TypeScript doesn't know about import usages in the template because it only sees the + script of a Svelte file. Therefore preserve all value imports. Requires TS 4.5 or higher. + */ + "preserveValueImports": true, "isolatedModules": true, "resolveJsonModule": true, /** To have warnings/errors of the Svelte compiler at the correct position, enable source maps by default. - */ + */ "sourceMap": true, "esModuleInterop": true, "skipLibCheck": true,