From 431d0683db2a443dccfa67aad95650872b2db9f9 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 30 Jun 2025 13:25:30 -0400 Subject: [PATCH] tighten up --- packages/svelte/src/compiler/migrate/index.js | 2 +- .../svelte/src/compiler/phases/2-analyze/index.js | 12 ++++++++++-- packages/svelte/src/compiler/state.js | 10 +++++----- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/packages/svelte/src/compiler/migrate/index.js b/packages/svelte/src/compiler/migrate/index.js index 7610d40243..8ec6bbbbae 100644 --- a/packages/svelte/src/compiler/migrate/index.js +++ b/packages/svelte/src/compiler/migrate/index.js @@ -135,7 +135,7 @@ export function migrate(source, { filename, use_ts } = {}) { }); reset_warnings(() => false); - reset({ filename: filename ?? '(unknown)' }); + reset({ dev: false, filename: filename ?? '(unknown)' }); let parsed = parse(source); diff --git a/packages/svelte/src/compiler/phases/2-analyze/index.js b/packages/svelte/src/compiler/phases/2-analyze/index.js index a0e9843014..0737b47aea 100644 --- a/packages/svelte/src/compiler/phases/2-analyze/index.js +++ b/packages/svelte/src/compiler/phases/2-analyze/index.js @@ -271,7 +271,11 @@ export function analyze_module(source, options) { classes: new Map() }; - state.reset(options); + state.reset({ + dev: options.dev, + filename: options.filename, + rootDir: options.rootDir + }); walk( /** @type {Node} */ (ast), @@ -510,7 +514,11 @@ export function analyze_component(root, source, options) { snippets: new Set() }; - state.reset(options); + state.reset({ + dev: options.dev, + filename: options.filename, + rootDir: options.rootDir + }); if (!runes) { // every exported `let` or `var` declaration becomes a prop, everything else becomes an export diff --git a/packages/svelte/src/compiler/state.js b/packages/svelte/src/compiler/state.js index 172e6f7677..cfcd2ac480 100644 --- a/packages/svelte/src/compiler/state.js +++ b/packages/svelte/src/compiler/state.js @@ -92,13 +92,13 @@ export function is_ignored(node, code) { } /** - * @param {{ dev?: boolean; filename: string; rootDir?: string }} options + * @param {{ dev: boolean; filename: string; rootDir?: string }} state */ -export function reset(options) { - const root_dir = options.rootDir?.replace(/\\/g, '/'); - filename = options.filename.replace(/\\/g, '/'); +export function reset(state) { + const root_dir = state.rootDir?.replace(/\\/g, '/'); + filename = state.filename.replace(/\\/g, '/'); - dev = !!options.dev; + dev = !!state.dev; if (typeof root_dir === 'string' && filename.startsWith(root_dir)) { // make filename relative to rootDir