From 8c71678aa1b42a800d37176b543b491e973eb5ca Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Fri, 15 Nov 2024 14:32:09 +0100 Subject: [PATCH 1/2] fix: avoid relying on Node specifics within compiler fixes #14294 --- .changeset/strange-adults-visit.md | 5 +++++ packages/svelte/src/compiler/validate-options.js | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 .changeset/strange-adults-visit.md diff --git a/.changeset/strange-adults-visit.md b/.changeset/strange-adults-visit.md new file mode 100644 index 000000000000..06cc667dacbe --- /dev/null +++ b/.changeset/strange-adults-visit.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: avoid relying on Node specifics within compiler diff --git a/packages/svelte/src/compiler/validate-options.js b/packages/svelte/src/compiler/validate-options.js index 9465cba77a06..637ef260e3b7 100644 --- a/packages/svelte/src/compiler/validate-options.js +++ b/packages/svelte/src/compiler/validate-options.js @@ -1,5 +1,3 @@ -import process from 'node:process'; - /** @import { ModuleCompileOptions, ValidatedModuleCompileOptions, CompileOptions, ValidatedCompileOptions } from '#compiler' */ import * as e from './errors.js'; import * as w from './warnings.js'; @@ -13,9 +11,19 @@ import * as w from './warnings.js'; const common = { filename: string('(unknown)'), - // default to process.cwd() where it exists to replicate svelte4 behavior + // default to process.cwd() where it exists to replicate svelte4 behavior (and make Deno work with this as well) // see https://github.com/sveltejs/svelte/blob/b62fc8c8fd2640c9b99168f01b9d958cb2f7574f/packages/svelte/src/compiler/compile/Component.js#L211 - rootDir: string(typeof process !== 'undefined' ? process.cwd?.() : undefined), + /* eslint-disable */ + rootDir: string( + typeof process !== 'undefined' + ? process.cwd() + : // @ts-expect-error + typeof Deno !== 'undefined' + ? // @ts-expect-error + Deno.cwd() + : undefined + ), + /* eslint-enable */ dev: boolean(false), From 69ff33b9a0d5a5863a539f8136520106c4bf5ad5 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Fri, 15 Nov 2024 18:07:31 +0100 Subject: [PATCH 2/2] Update packages/svelte/src/compiler/validate-options.js --- packages/svelte/src/compiler/validate-options.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/svelte/src/compiler/validate-options.js b/packages/svelte/src/compiler/validate-options.js index 637ef260e3b7..ab932ed5bca1 100644 --- a/packages/svelte/src/compiler/validate-options.js +++ b/packages/svelte/src/compiler/validate-options.js @@ -16,7 +16,7 @@ const common = { /* eslint-disable */ rootDir: string( typeof process !== 'undefined' - ? process.cwd() + ? process.cwd?.() : // @ts-expect-error typeof Deno !== 'undefined' ? // @ts-expect-error