From 69bce3229a7773377c14f575f460b45d391ef8f6 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sat, 4 Apr 2026 12:17:11 -0400 Subject: [PATCH 1/3] chore: simplify `runes` option --- .changeset/lucky-dragons-speak.md | 5 +++++ .../cli/tests/snapshots/create-only/svelte.config.js | 11 ++--------- .../snapshots/create-with-all-addons/svelte.config.js | 11 ++--------- .../sv/src/create/shared/+typescript/svelte.config.js | 11 ++--------- .../sv/src/create/shared/-typescript/svelte.config.js | 11 ++--------- 5 files changed, 13 insertions(+), 36 deletions(-) create mode 100644 .changeset/lucky-dragons-speak.md diff --git a/.changeset/lucky-dragons-speak.md b/.changeset/lucky-dragons-speak.md new file mode 100644 index 000000000..5aa4f937d --- /dev/null +++ b/.changeset/lucky-dragons-speak.md @@ -0,0 +1,5 @@ +--- +'sv': patch +--- + +chore: simplify `runes` option diff --git a/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js b/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js index 58d330bd3..0c3412e9f 100644 --- a/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js +++ b/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js @@ -1,17 +1,10 @@ import adapter from '@sveltejs/adapter-auto'; -import { relative, sep } from 'node:path'; /** @type {import('@sveltejs/kit').Config} */ const config = { compilerOptions: { - // defaults to rune mode for the project, except for `node_modules`. Can be removed in svelte 6. - runes: ({ filename }) => { - const relativePath = relative(import.meta.dirname, filename); - const pathSegments = relativePath.toLowerCase().split(sep); - const isExternalLibrary = pathSegments.includes('node_modules'); - - return isExternalLibrary ? undefined : true; - } + // Force runes mode for the project, except for libraries. Can be removed in svelte 6. + runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) }, kit: { // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. diff --git a/packages/sv/src/cli/tests/snapshots/create-with-all-addons/svelte.config.js b/packages/sv/src/cli/tests/snapshots/create-with-all-addons/svelte.config.js index 2aeeecd4e..daea05122 100644 --- a/packages/sv/src/cli/tests/snapshots/create-with-all-addons/svelte.config.js +++ b/packages/sv/src/cli/tests/snapshots/create-with-all-addons/svelte.config.js @@ -1,18 +1,11 @@ import { mdsvex } from 'mdsvex'; import adapter from '@sveltejs/adapter-node'; -import { relative, sep } from 'node:path'; /** @type {import('@sveltejs/kit').Config} */ const config = { compilerOptions: { - // defaults to rune mode for the project, except for `node_modules`. Can be removed in svelte 6. - runes: ({ filename }) => { - const relativePath = relative(import.meta.dirname, filename); - const pathSegments = relativePath.toLowerCase().split(sep); - const isExternalLibrary = pathSegments.includes('node_modules'); - - return isExternalLibrary ? undefined : true; - } + // Force runes mode for the project, except for libraries. Can be removed in svelte 6. + runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) }, kit: { adapter: adapter() }, preprocess: [mdsvex({ extensions: ['.svx', '.md'] })], diff --git a/packages/sv/src/create/shared/+typescript/svelte.config.js b/packages/sv/src/create/shared/+typescript/svelte.config.js index 58d330bd3..0c3412e9f 100644 --- a/packages/sv/src/create/shared/+typescript/svelte.config.js +++ b/packages/sv/src/create/shared/+typescript/svelte.config.js @@ -1,17 +1,10 @@ import adapter from '@sveltejs/adapter-auto'; -import { relative, sep } from 'node:path'; /** @type {import('@sveltejs/kit').Config} */ const config = { compilerOptions: { - // defaults to rune mode for the project, except for `node_modules`. Can be removed in svelte 6. - runes: ({ filename }) => { - const relativePath = relative(import.meta.dirname, filename); - const pathSegments = relativePath.toLowerCase().split(sep); - const isExternalLibrary = pathSegments.includes('node_modules'); - - return isExternalLibrary ? undefined : true; - } + // Force runes mode for the project, except for libraries. Can be removed in svelte 6. + runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) }, kit: { // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. diff --git a/packages/sv/src/create/shared/-typescript/svelte.config.js b/packages/sv/src/create/shared/-typescript/svelte.config.js index 58d330bd3..0c3412e9f 100644 --- a/packages/sv/src/create/shared/-typescript/svelte.config.js +++ b/packages/sv/src/create/shared/-typescript/svelte.config.js @@ -1,17 +1,10 @@ import adapter from '@sveltejs/adapter-auto'; -import { relative, sep } from 'node:path'; /** @type {import('@sveltejs/kit').Config} */ const config = { compilerOptions: { - // defaults to rune mode for the project, except for `node_modules`. Can be removed in svelte 6. - runes: ({ filename }) => { - const relativePath = relative(import.meta.dirname, filename); - const pathSegments = relativePath.toLowerCase().split(sep); - const isExternalLibrary = pathSegments.includes('node_modules'); - - return isExternalLibrary ? undefined : true; - } + // Force runes mode for the project, except for libraries. Can be removed in svelte 6. + runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) }, kit: { // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. From f8d08eda2a4e945ea2603733211f3e0ba8080793 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sat, 4 Apr 2026 12:22:14 -0400 Subject: [PATCH 2/3] fix --- .../sv/src/cli/tests/snapshots/create-only/svelte.config.js | 2 +- .../cli/tests/snapshots/create-with-all-addons/svelte.config.js | 2 +- packages/sv/src/create/shared/+typescript/svelte.config.js | 2 +- packages/sv/src/create/shared/-typescript/svelte.config.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js b/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js index 0c3412e9f..9442f654d 100644 --- a/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js +++ b/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js @@ -4,7 +4,7 @@ import adapter from '@sveltejs/adapter-auto'; const config = { compilerOptions: { // Force runes mode for the project, except for libraries. Can be removed in svelte 6. - runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) + runes: ({ filename }) => filename.split(/[/\\]/).includes('node_modules') ? undefined : true }, kit: { // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. diff --git a/packages/sv/src/cli/tests/snapshots/create-with-all-addons/svelte.config.js b/packages/sv/src/cli/tests/snapshots/create-with-all-addons/svelte.config.js index daea05122..6479320f8 100644 --- a/packages/sv/src/cli/tests/snapshots/create-with-all-addons/svelte.config.js +++ b/packages/sv/src/cli/tests/snapshots/create-with-all-addons/svelte.config.js @@ -5,7 +5,7 @@ import adapter from '@sveltejs/adapter-node'; const config = { compilerOptions: { // Force runes mode for the project, except for libraries. Can be removed in svelte 6. - runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) + runes: ({ filename }) => filename.split(/[/\\]/).includes('node_modules') ? undefined : true }, kit: { adapter: adapter() }, preprocess: [mdsvex({ extensions: ['.svx', '.md'] })], diff --git a/packages/sv/src/create/shared/+typescript/svelte.config.js b/packages/sv/src/create/shared/+typescript/svelte.config.js index 0c3412e9f..9442f654d 100644 --- a/packages/sv/src/create/shared/+typescript/svelte.config.js +++ b/packages/sv/src/create/shared/+typescript/svelte.config.js @@ -4,7 +4,7 @@ import adapter from '@sveltejs/adapter-auto'; const config = { compilerOptions: { // Force runes mode for the project, except for libraries. Can be removed in svelte 6. - runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) + runes: ({ filename }) => filename.split(/[/\\]/).includes('node_modules') ? undefined : true }, kit: { // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. diff --git a/packages/sv/src/create/shared/-typescript/svelte.config.js b/packages/sv/src/create/shared/-typescript/svelte.config.js index 0c3412e9f..9442f654d 100644 --- a/packages/sv/src/create/shared/-typescript/svelte.config.js +++ b/packages/sv/src/create/shared/-typescript/svelte.config.js @@ -4,7 +4,7 @@ import adapter from '@sveltejs/adapter-auto'; const config = { compilerOptions: { // Force runes mode for the project, except for libraries. Can be removed in svelte 6. - runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) + runes: ({ filename }) => filename.split(/[/\\]/).includes('node_modules') ? undefined : true }, kit: { // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. From 0dd5c54f10d4a73c13919526910c2aa7f6392e85 Mon Sep 17 00:00:00 2001 From: jycouet Date: Sat, 4 Apr 2026 23:14:13 +0200 Subject: [PATCH 3/3] fmt --- .../sv/src/cli/tests/snapshots/create-only/svelte.config.js | 2 +- packages/sv/src/create/shared/+typescript/svelte.config.js | 2 +- packages/sv/src/create/shared/-typescript/svelte.config.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js b/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js index 9442f654d..0c3412e9f 100644 --- a/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js +++ b/packages/sv/src/cli/tests/snapshots/create-only/svelte.config.js @@ -4,7 +4,7 @@ import adapter from '@sveltejs/adapter-auto'; const config = { compilerOptions: { // Force runes mode for the project, except for libraries. Can be removed in svelte 6. - runes: ({ filename }) => filename.split(/[/\\]/).includes('node_modules') ? undefined : true + runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) }, kit: { // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. diff --git a/packages/sv/src/create/shared/+typescript/svelte.config.js b/packages/sv/src/create/shared/+typescript/svelte.config.js index 9442f654d..0c3412e9f 100644 --- a/packages/sv/src/create/shared/+typescript/svelte.config.js +++ b/packages/sv/src/create/shared/+typescript/svelte.config.js @@ -4,7 +4,7 @@ import adapter from '@sveltejs/adapter-auto'; const config = { compilerOptions: { // Force runes mode for the project, except for libraries. Can be removed in svelte 6. - runes: ({ filename }) => filename.split(/[/\\]/).includes('node_modules') ? undefined : true + runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) }, kit: { // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. diff --git a/packages/sv/src/create/shared/-typescript/svelte.config.js b/packages/sv/src/create/shared/-typescript/svelte.config.js index 9442f654d..0c3412e9f 100644 --- a/packages/sv/src/create/shared/-typescript/svelte.config.js +++ b/packages/sv/src/create/shared/-typescript/svelte.config.js @@ -4,7 +4,7 @@ import adapter from '@sveltejs/adapter-auto'; const config = { compilerOptions: { // Force runes mode for the project, except for libraries. Can be removed in svelte 6. - runes: ({ filename }) => filename.split(/[/\\]/).includes('node_modules') ? undefined : true + runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) }, kit: { // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list.