diff --git a/.changeset/empty-dryers-applaud.md b/.changeset/empty-dryers-applaud.md deleted file mode 100644 index 12648fde9baf..000000000000 --- a/.changeset/empty-dryers-applaud.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@sveltejs/kit': patch ---- - -[fix] check for private var usage in client code instead of server code diff --git a/packages/kit/src/exports/vite/dev/index.js b/packages/kit/src/exports/vite/dev/index.js index 6e9819f831d2..4305bd73a775 100644 --- a/packages/kit/src/exports/vite/dev/index.js +++ b/packages/kit/src/exports/vite/dev/index.js @@ -49,13 +49,12 @@ export async function dev(vite, vite_config, svelte_config) { async function resolve(id) { const url = id.startsWith('..') ? `/@fs${path.posix.resolve(id)}` : `/${id}`; - // need to ensure the entry is in the module graph before we can get it - // we leave the ssr parameter undefined because we care about the client-side code here - await vite.moduleGraph.ensureEntryFromUrl(url); + const module = await vite.ssrLoadModule(url); + const module_node = await vite.moduleGraph.getModuleByUrl(url); if (!module_node) throw new Error(`Could not find node for ${url}`); - return { module_node, url }; + return { module, module_node, url }; } async function update_manifest() { @@ -88,8 +87,9 @@ export async function dev(vite, vite_config, svelte_config) { if (node.component) { result.component = async () => { - const id = /** @type {string} */ (node.component); - const { module_node, url } = await resolve(id); + const { module_node, module, url } = await resolve( + /** @type {string} */ (node.component) + ); module_nodes.push(module_node); result.file = url.endsWith('.svelte') ? url : url + '?import'; // TODO what is this for? @@ -100,30 +100,27 @@ export async function dev(vite, vite_config, svelte_config) { extensions ); - // wait to load the module until after we check for illegal imports - const module = await vite.ssrLoadModule(url); return module.default; }; } if (node.shared) { - const { module_node, url } = await resolve(node.shared); + const { module, module_node } = await resolve(node.shared); module_nodes.push(module_node); + result.shared = module; + prevent_illegal_vite_imports( module_node, normalizePath(svelte_config.kit.files.lib), extensions ); - - // wait to load the module until after we check for illegal imports - result.shared = await vite.ssrLoadModule(url); } if (node.server) { - const { url } = await resolve(node.server); - result.server = await vite.ssrLoadModule(url); + const { module } = await resolve(node.server); + result.server = module; result.server_id = node.server; }