diff --git a/.changeset/selfish-cougars-kick.md b/.changeset/selfish-cougars-kick.md new file mode 100644 index 000000000000..39bfee70b5b8 --- /dev/null +++ b/.changeset/selfish-cougars-kick.md @@ -0,0 +1,5 @@ +--- +'create-svelte': patch +--- + +Update default Vite config so that devDependencies are always bundled diff --git a/packages/create-svelte/shared/vite.config.ts b/packages/create-svelte/shared/vite.config.ts index 60ef89c74357..c05b8fa8e614 100644 --- a/packages/create-svelte/shared/vite.config.ts +++ b/packages/create-svelte/shared/vite.config.ts @@ -1,9 +1,19 @@ +import fs from 'fs'; import { sveltekit } from '@sveltejs/kit/vite'; import type { UserConfig } from 'vite'; +const pkg = JSON.parse(fs.readFileSync('package.json', 'utf-8')); + /** @type {import('vite').UserConfig} */ const config: UserConfig = { - plugins: [sveltekit()] + plugins: [sveltekit()], + + ssr: { + // bundle everything in devDependencies, so our + // deployment only needs prod dependencies + external: Object.keys(pkg.dependencies ?? {}), + noExternal: true + } }; export default config; diff --git a/packages/create-svelte/templates/default/src/lib/form.ts b/packages/create-svelte/templates/default/src/lib/form.ts index d8ce52b2e1bc..c38dee6ec094 100644 --- a/packages/create-svelte/templates/default/src/lib/form.ts +++ b/packages/create-svelte/templates/default/src/lib/form.ts @@ -26,7 +26,7 @@ import { invalidate } from '$app/navigation'; * response: Response; * form: HTMLFormElement; * }) => void; - * }} [opts] + * }} opts */ export function enhance( form: HTMLFormElement,