diff --git a/package.json b/package.json
index bcfa5acb5efdf0..ab04bb5940c95b 100644
--- a/package.json
+++ b/package.json
@@ -15,7 +15,7 @@
"scripts": {
"preinstall": "npx only-allow pnpm",
"format": "prettier --write .",
- "lint": "eslint packages/*/{src,types}/** playground/**/__tests__/** scripts/**",
+ "lint": "eslint packages/*/{src,types}/** playground/**/__tests__/**/*.ts scripts/**",
"typecheck": "tsc -p scripts --noEmit && tsc -p playground --noEmit",
"test": "run-s test-unit test-serve test-build",
"test-serve": "vitest run -c vitest.config.e2e.ts",
diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts
index 9d1ff991da1f9a..4d312636f3e996 100644
--- a/packages/vite/src/node/plugins/importAnalysis.ts
+++ b/packages/vite/src/node/plugins/importAnalysis.ts
@@ -645,7 +645,10 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin {
}
if (s) {
- return s.toString()
+ return {
+ code: s.toString(),
+ map: config.build.sourcemap ? s.generateMap({ hires: true }) : null
+ }
} else {
return source
}
diff --git a/playground/glob-import/dir/index.js b/playground/glob-import/dir/index.js
index ab298abed485b3..63381e412ecc6f 100644
--- a/playground/glob-import/dir/index.js
+++ b/playground/glob-import/dir/index.js
@@ -1,4 +1,7 @@
const modules = import.meta.glob('./*.(js|ts)', { eager: true })
const globWithAlias = import.meta.glob('@dir/al*.js', { eager: true })
+// test for sourcemap
+console.log('hello')
+
export { modules, globWithAlias }
diff --git a/playground/glob-import/vite.config.ts b/playground/glob-import/vite.config.ts
index abc75b51656503..5d8d58de08bac5 100644
--- a/playground/glob-import/vite.config.ts
+++ b/playground/glob-import/vite.config.ts
@@ -6,5 +6,8 @@ export default defineConfig({
alias: {
'@dir': path.resolve(__dirname, './dir/')
}
+ },
+ build: {
+ sourcemap: true
}
})
diff --git a/playground/vue-sourcemap/__tests__/__snapshots__/serve.spec.ts.snap b/playground/vue-sourcemap/__tests__/__snapshots__/serve.spec.ts.snap
new file mode 100644
index 00000000000000..8daeb18dbf1028
--- /dev/null
+++ b/playground/vue-sourcemap/__tests__/__snapshots__/serve.spec.ts.snap
@@ -0,0 +1,25 @@
+// Vitest Snapshot v1
+
+exports[`serve:vue-sourcemap > js 1`] = `
+{
+ "mappings": "mIAKA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;AAGP;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;wBARlB,oBAAiB,WAAd,MAAU",
+ "sources": [
+ "/root/Js.vue",
+ ],
+ "sourcesContent": [
+ "
+ <js>
+
+
+
+
+
+",
+ ],
+ "version": 3,
+}
+`;
diff --git a/playground/vue-sourcemap/__tests__/serve.spec.ts b/playground/vue-sourcemap/__tests__/serve.spec.ts
index 83e63c56f85a7a..cc3c9835fa31b3 100644
--- a/playground/vue-sourcemap/__tests__/serve.spec.ts
+++ b/playground/vue-sourcemap/__tests__/serve.spec.ts
@@ -22,29 +22,7 @@ describe.runIf(isServe)('serve:vue-sourcemap', () => {
const res = await page.request.get(new URL('./Js.vue', page.url()).href)
const js = await res.text()
const map = extractSourcemap(js)
- expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(`
- {
- "mappings": "AAKA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;AAGP;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;wBARlB,oBAAiB,WAAd,MAAU",
- "sources": [
- "/root/Js.vue",
- ],
- "sourcesContent": [
- "
- <js>
-
-
-
-
-
- ",
- ],
- "version": 3,
- }
- `)
+ expect(formatSourcemapForSnapshot(map)).toMatchSnapshot()
})
test('ts', async () => {