diff --git a/packages/vite/src/node/server/transformRequest.ts b/packages/vite/src/node/server/transformRequest.ts index db9909fcadc273..b7bed216348504 100644 --- a/packages/vite/src/node/server/transformRequest.ts +++ b/packages/vite/src/node/server/transformRequest.ts @@ -5,7 +5,6 @@ import getEtag from 'etag' import convertSourceMap from 'convert-source-map' import type { SourceDescription, SourceMap } from 'rollup' import colors from 'picocolors' -import MagicString from 'magic-string' import type { ViteDevServer } from '..' import { blankReplacer, @@ -19,8 +18,6 @@ import { } from '../utils' import { checkPublicFile } from '../plugins/asset' import { getDepsOptimizer } from '../optimizer' -import { isCSSRequest } from '../plugins/css' -import { SPECIAL_QUERY_RE } from '../constants' import { injectSourcesContent } from './sourcemap' import { isFileServingAllowed } from './middlewares/static' @@ -257,26 +254,11 @@ async function loadAndTransform( isDebug && debugTransform(`${timeFrom(transformStart)} ${prettyUrl}`) code = transformResult.code! map = transformResult.map - - // To enable IDE debugging, add a minimal sourcemap for modified JS files without one - if ( - !map && - mod.file && - mod.type === 'js' && - code !== originalCode && - !(isCSSRequest(id) && !SPECIAL_QUERY_RE.test(id)) // skip CSS : #9914 - ) { - map = new MagicString(code).generateMap({ source: mod.file }) - } } if (map && mod.file) { map = (typeof map === 'string' ? JSON.parse(map) : map) as SourceMap - if ( - map.mappings && - (!map.sourcesContent || - (map.sourcesContent as Array).includes(null)) - ) { + if (map.mappings && !map.sourcesContent) { await injectSourcesContent(map, mod.file, logger) } } diff --git a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts index 7f1a0004619599..a54bd761f13592 100644 --- a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts +++ b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts @@ -9,34 +9,13 @@ import { } from '~utils' if (!isBuild) { - test('js without import', async () => { + test('js', async () => { const res = await page.request.get(new URL('./foo.js', page.url()).href) const js = await res.text() const lines = js.split('\n') expect(lines[lines.length - 1].includes('//')).toBe(false) // expect no sourcemap }) - test('js', async () => { - const res = await page.request.get(new URL('./qux.js', page.url()).href) - const js = await res.text() - const map = extractSourcemap(js) - expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(` - { - "mappings": "AAAA;AACA;AACA;", - "sources": [ - "/root/qux.js", - ], - "sourcesContent": [ - "import { foo } from './foo' - -export const qux = 'qux' -", - ], - "version": 3, - } - `) - }) - test('ts', async () => { const res = await page.request.get(new URL('./bar.ts', page.url()).href) const js = await res.text() diff --git a/playground/js-sourcemap/qux.js b/playground/js-sourcemap/qux.js deleted file mode 100644 index 1536173b2f96d0..00000000000000 --- a/playground/js-sourcemap/qux.js +++ /dev/null @@ -1,3 +0,0 @@ -import { foo } from './foo' - -export const qux = 'qux'