Skip to content

Commit 9dd08b1

Browse files
dominikgbluwy
andauthored
fix: don't resolve via svelte field for prebundled libraries (#482)
Co-authored-by: bluwy <[email protected]>
1 parent e2594ee commit 9dd08b1

File tree

29 files changed

+421
-115
lines changed

29 files changed

+421
-115
lines changed

.changeset/smart-poets-learn.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/vite-plugin-svelte': patch
3+
---
4+
5+
fix(prebundleSvelteLibraries): avoid resolving via svelte field after a library has been prebundled

packages/e2e-tests/_test_dependencies/svelte-hybrid/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
],
1313
"dependencies": {
1414
"@types/node": "^18.11.9",
15-
"e2e-test-dep-cjs-only": "workspace:*"
16-
}
15+
"e2e-test-dep-cjs-only": "file:../cjs-only"
16+
},
17+
"type": "module"
1718
}

packages/e2e-tests/_test_dependencies/svelte-nested/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
"./package.json": "./package.json"
1313
},
1414
"dependencies": {
15-
"e2e-test-dep-svelte-simple": "workspace:*",
16-
"e2e-test-dep-cjs-and-esm": "workspace:*",
17-
"e2e-test-dep-scss-only": "workspace:*"
15+
"e2e-test-dep-svelte-simple": "file:../svelte-simple",
16+
"e2e-test-dep-cjs-and-esm": "file:../cjs-and-esm",
17+
"e2e-test-dep-scss-only": "file:../scss-only"
1818
}
1919
}

packages/e2e-tests/_test_dependencies/svelte-simple/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"main": "index.js",
66
"svelte": "index.js",
77
"dependencies": {
8-
"e2e-test-dep-cjs-only": "workspace:*"
9-
}
8+
"e2e-test-dep-cjs-only": "file:../cjs-only"
9+
},
10+
"type": "module"
1011
}

packages/e2e-tests/autoprefixer-browerslist/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"preview": "vite preview"
99
},
1010
"dependencies": {
11-
"e2e-test-dep-svelte-simple": "workspace:*"
11+
"e2e-test-dep-svelte-simple": "file:../_test_dependencies/svelte-simple"
1212
},
1313
"devDependencies": {
1414
"@sveltejs/vite-plugin-svelte": "workspace:*",

packages/e2e-tests/configfile-custom/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"preview": "vite preview"
99
},
1010
"dependencies": {
11-
"e2e-test-dep-svelte-simple": "workspace:*"
11+
"e2e-test-dep-svelte-simple": "file:../_test_dependencies/svelte-simple"
1212
},
1313
"devDependencies": {
1414
"@sveltejs/vite-plugin-svelte": "workspace:*",

packages/e2e-tests/configfile-esm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"preview": "vite preview"
99
},
1010
"dependencies": {
11-
"e2e-test-dep-svelte-simple": "workspace:*"
11+
"e2e-test-dep-svelte-simple": "file:../_test_dependencies/svelte-simple"
1212
},
1313
"devDependencies": {
1414
"@sveltejs/vite-plugin-svelte": "workspace:*",

packages/e2e-tests/dependencies/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
"private": true,
55
"version": "0.0.0",
66
"dependencies": {
7-
"e2e-test-dep-cjs-and-esm": "workspace:*",
8-
"e2e-test-dep-cjs-only": "workspace:*",
9-
"e2e-test-dep-esm-only": "workspace:*",
10-
"e2e-test-dep-index-only": "workspace:*",
11-
"e2e-test-dep-scss-only": "workspace:*"
7+
"e2e-test-dep-cjs-and-esm": "file:../_test_dependencies/cjs-and-esm",
8+
"e2e-test-dep-cjs-only": "file:../_test_dependencies/cjs-only",
9+
"e2e-test-dep-esm-only": "file:../_test_dependencies/esm-only",
10+
"e2e-test-dep-index-only": "file:../_test_dependencies/index-only",
11+
"e2e-test-dep-scss-only": "file:../_test_dependencies/scss-only"
1212
}
1313
}

packages/e2e-tests/hmr/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
"preview": "vite preview"
99
},
1010
"dependencies": {
11-
"e2e-test-dep-svelte-simple": "workspace:*"
11+
"e2e-test-dep-svelte-simple": "file:../_test_dependencies/svelte-simple"
1212
},
1313
"devDependencies": {
1414
"@sveltejs/vite-plugin-svelte": "workspace:*",
15-
"e2e-test-dep-vite-plugins": "workspace:*",
15+
"e2e-test-dep-vite-plugins": "file:../_test_dependencies/vite-plugins",
1616
"node-fetch": "^3.2.10",
1717
"svelte": "^3.52.0",
1818
"vite": "^3.2.3"
Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import fs from 'fs';
2-
import path from 'path';
3-
import { getText, isBuild } from '~utils';
1+
import { getText, isBuild, readVitePrebundleMetadata } from '~utils';
42

53
test('should render component imported via svelte field in package.json', async () => {
64
expect(await getText('#test-id')).toBe('svelte field works');
@@ -18,20 +16,3 @@ if (!isBuild) {
1816
);
1917
});
2018
}
21-
22-
function readVitePrebundleMetadata() {
23-
const metadataPaths = [
24-
'../node_modules/.vite/_metadata.json',
25-
'../node_modules/.vite/deps/_metadata.json' // vite 2.9
26-
];
27-
for (const metadataPath of metadataPaths) {
28-
try {
29-
const vitePrebundleMetadata = path.resolve(__dirname, metadataPath);
30-
const metadataFile = fs.readFileSync(vitePrebundleMetadata, 'utf8');
31-
return metadataFile;
32-
} catch {
33-
// ignore
34-
}
35-
}
36-
throw new Error('Unable to find vite prebundle metadata');
37-
}

0 commit comments

Comments
 (0)