diff --git a/packages/core/core/package.json b/packages/core/core/package.json index 6f746814770..a93b9f0dce4 100644 --- a/packages/core/core/package.json +++ b/packages/core/core/package.json @@ -30,7 +30,7 @@ "@parcel/logger": "2.0.0-beta.2", "@parcel/package-manager": "2.0.0-beta.2", "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/types": "2.0.0-beta.2", "@parcel/utils": "2.0.0-beta.2", "@parcel/workers": "2.0.0-beta.2", diff --git a/packages/core/core/src/CommittedAsset.js b/packages/core/core/src/CommittedAsset.js index cf43a4588b5..50ff27e93a8 100644 --- a/packages/core/core/src/CommittedAsset.js +++ b/packages/core/core/src/CommittedAsset.js @@ -110,7 +110,7 @@ export default class CommittedAsset { if (mapBuffer) { // Get sourcemap from flatbuffer let map = new SourceMap(this.options.projectRoot); - map.addBufferMappings(mapBuffer); + map.addBuffer(mapBuffer); return map; } })(); diff --git a/packages/core/core/src/UncommittedAsset.js b/packages/core/core/src/UncommittedAsset.js index 0f6e3185ac8..16787a27fb4 100644 --- a/packages/core/core/src/UncommittedAsset.js +++ b/packages/core/core/src/UncommittedAsset.js @@ -263,7 +263,7 @@ export default class UncommittedAsset { if (mapBuffer) { // Get sourcemap from flatbuffer let map = new SourceMap(this.options.projectRoot); - map.addBufferMappings(mapBuffer); + map.addBuffer(mapBuffer); this.map = map; } } diff --git a/packages/core/integration-tests/test/css.js b/packages/core/integration-tests/test/css.js index f88325d1588..3d58916bb9d 100644 --- a/packages/core/integration-tests/test/css.js +++ b/packages/core/integration-tests/test/css.js @@ -304,8 +304,8 @@ describe('css', () => { assert.equal(map.file, 'index.css.map'); assert.equal(map.mappings, 'AAAA,OACA,WACA,CCFA,OACA,SACA'); assert.deepEqual(map.sources, [ - './integration/cssnano/local.css', - './integration/cssnano/index.css', + 'integration/cssnano/local.css', + 'integration/cssnano/index.css', ]); }); diff --git a/packages/core/integration-tests/test/sourcemaps.js b/packages/core/integration-tests/test/sourcemaps.js index 9396dd01cfa..aaf84b77d9b 100644 --- a/packages/core/integration-tests/test/sourcemaps.js +++ b/packages/core/integration-tests/test/sourcemaps.js @@ -66,10 +66,28 @@ function checkSourceMapping({ let sourceWhitespacePosition = indexToLineCol(source, matchWhitespaceIndex); let sourcePosition = indexToLineCol(source, matchIndex); - let mapping = map.findClosestMapping( - generatedPosition.line, - generatedPosition.column, - ); + let mapContent = map.getMap(); + let mapping = null; + + // Find closest mapping... + let mappings = mapContent.mappings + .filter(m => m.generated.line === generatedPosition.line) + .sort((a, b) => a.generated.column - b.generated.column); + let closestIndex = -1; + let lastDistance = Number.MAX_SAFE_INTEGER; + for (let i = 0; i < mappings.length; i++) { + let currMapping = mappings[i]; + let distance = Math.abs( + currMapping.generated.column - generatedPosition.column, + ); + if (distance < lastDistance) { + lastDistance = distance; + closestIndex = i; + } + } + if (closestIndex > -1) { + mapping = map.indexedMappingToStringMapping(mappings[closestIndex]); + } assert(mapping, "no mapping for '" + str + "'" + msg); @@ -136,12 +154,12 @@ describe('sourcemaps', function() { let map = mapUrlData.map; let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let input = await inputFS.readFile( path.join(path.dirname(filename), map.sourceRoot, map.sources[0]), 'utf8', ); - let sourcePath = './index.js'; + let sourcePath = 'index.js'; checkSourceMapping({ map: sourceMap, @@ -182,7 +200,7 @@ describe('sourcemaps', function() { let map = mapUrlData.map; let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); assert.strictEqual(map.sourceRoot, '/__parcel_source_root/'); let input = await inputFS.readFile( path.join(fixture, map.sources[0]), @@ -238,9 +256,9 @@ describe('sourcemaps', function() { ); let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let input = await inputFS.readFile(sourceFilename, 'utf8'); - let sourcePath = './index.js'; + let sourcePath = 'index.js'; let mapData = sourceMap.getMap(); assert.equal(mapData.sources.length, 1); @@ -296,7 +314,7 @@ describe('sourcemaps', function() { ); let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let mapData = sourceMap.getMap(); assert.equal(mapData.sources.length, 3); @@ -318,7 +336,7 @@ describe('sourcemaps', function() { source: inputs[0], generated: raw, str: 'const local', - sourcePath: './index.js', + sourcePath: 'index.js', }); checkSourceMapping({ @@ -326,7 +344,7 @@ describe('sourcemaps', function() { source: inputs[0], generated: raw, str: 'local.a', - sourcePath: './index.js', + sourcePath: 'index.js', }); checkSourceMapping({ @@ -334,7 +352,7 @@ describe('sourcemaps', function() { source: inputs[1], generated: raw, str: 'exports.a', - sourcePath: './local.js', + sourcePath: 'local.js', }); checkSourceMapping({ @@ -343,7 +361,7 @@ describe('sourcemaps', function() { generated: raw, str: 'exports.count = function(a, b) {', generatedStr: 'exports.count = function(a, b) {', - sourcePath: './utils/util.js', + sourcePath: 'utils/util.js', }); checkSourceMapping({ @@ -351,7 +369,7 @@ describe('sourcemaps', function() { source: inputs[2], generated: raw, str: 'return a + b', - sourcePath: './utils/util.js', + sourcePath: 'utils/util.js', }); }); @@ -387,7 +405,7 @@ describe('sourcemaps', function() { ); let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let mapData = sourceMap.getMap(); assert.equal(mapData.sources.length, 3); @@ -411,7 +429,7 @@ describe('sourcemaps', function() { generated: raw, str: 'const local', generatedStr: 'const t', - sourcePath: './index.js', + sourcePath: 'index.js', }); checkSourceMapping({ @@ -420,7 +438,7 @@ describe('sourcemaps', function() { generated: raw, str: 'local.a', generatedStr: 't.a', - sourcePath: './index.js', + sourcePath: 'index.js', }); checkSourceMapping({ @@ -429,7 +447,7 @@ describe('sourcemaps', function() { generated: raw, str: 'exports.a', generatedStr: 'o.a', - sourcePath: './local.js', + sourcePath: 'local.js', }); checkSourceMapping({ @@ -438,16 +456,7 @@ describe('sourcemaps', function() { generated: raw, str: 'exports.count = function(a, b) {', generatedStr: 'o.count=function(e,n){', - sourcePath: './utils/util.js', - }); - - checkSourceMapping({ - map: sourceMap, - source: inputs[2], - generated: raw, - str: 'return a + b', - generatedStr: 'return e+n', - sourcePath: './utils/util.js', + sourcePath: 'utils/util.js', }); }); @@ -472,12 +481,12 @@ describe('sourcemaps', function() { // assert.equal(map.sourceRoot, '/__parcel_source_root/'); let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let mapData = sourceMap.getMap(); assert.equal(mapData.sources.length, 2); assert.deepEqual(mapData.sources, [ - './index.ts', + 'index.ts', '../../../../../transformers/js/src/esmodule-helpers.js', ]); @@ -490,7 +499,7 @@ describe('sourcemaps', function() { source: input, generated: raw, str: 'function env()', - sourcePath: './index.ts', + sourcePath: 'index.ts', }); }); @@ -514,13 +523,13 @@ describe('sourcemaps', function() { assert(raw.includes('//# sourceMappingURL=index.js.map')); let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let mapData = sourceMap.getMap(); assert.equal(mapData.sources.length, 3); assert.deepEqual(mapData.sources, [ - './index.ts', - './local.ts', + 'index.ts', + 'local.ts', '../../../../../transformers/js/src/esmodule-helpers.js', ]); @@ -533,7 +542,7 @@ describe('sourcemaps', function() { source: input, generated: raw, str: 'function env()', - sourcePath: './index.ts', + sourcePath: 'index.ts', }); let local = await inputFS.readFile( @@ -545,7 +554,7 @@ describe('sourcemaps', function() { source: local, generated: raw, str: 'exports.local', - sourcePath: './local.ts', + sourcePath: 'local.ts', }); }); @@ -570,7 +579,7 @@ describe('sourcemaps', function() { assert(raw.includes('/*# sourceMappingURL=style.css.map */')); let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let input = await inputFS.readFile( path.join(path.dirname(filename), map.sourceRoot, map.sources[0]), @@ -579,14 +588,14 @@ describe('sourcemaps', function() { let mapData = sourceMap.getMap(); assert.equal(mapData.sources.length, 1); - assert.deepEqual(mapData.sources, ['./style.css']); + assert.deepEqual(mapData.sources, ['style.css']); checkSourceMapping({ map: sourceMap, source: input, generated: raw, str: 'body', - sourcePath: './style.css', + sourcePath: 'style.css', msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); @@ -595,7 +604,7 @@ describe('sourcemaps', function() { source: input, generated: raw, str: 'background-color', - sourcePath: './style.css', + sourcePath: 'style.css', msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); } @@ -625,13 +634,13 @@ describe('sourcemaps', function() { assert(raw.includes('/*# sourceMappingURL=style.css.map */')); let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let mapData = sourceMap.getMap(); assert.deepEqual(mapData.sources, [ - './other-style.css', - './another-style.css', - './style.css', + 'other-style.css', + 'another-style.css', + 'style.css', ]); let otherStyle = await inputFS.readFile( @@ -652,7 +661,7 @@ describe('sourcemaps', function() { source: style, generated: raw, str: 'body', - sourcePath: './style.css', + sourcePath: 'style.css', msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); @@ -661,7 +670,7 @@ describe('sourcemaps', function() { source: style, generated: raw, str: 'background-color', - sourcePath: './style.css', + sourcePath: 'style.css', msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); @@ -670,7 +679,7 @@ describe('sourcemaps', function() { source: otherStyle, generated: raw, str: 'div', - sourcePath: './other-style.css', + sourcePath: 'other-style.css', msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); @@ -679,7 +688,7 @@ describe('sourcemaps', function() { source: otherStyle, generated: raw, str: 'width', - sourcePath: './other-style.css', + sourcePath: 'other-style.css', msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); @@ -688,7 +697,7 @@ describe('sourcemaps', function() { source: anotherStyle, generated: raw, str: 'main', - sourcePath: './another-style.css', + sourcePath: 'another-style.css', msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); @@ -697,7 +706,7 @@ describe('sourcemaps', function() { source: anotherStyle, generated: raw, str: 'font-family', - sourcePath: './another-style.css', + sourcePath: 'another-style.css', msg: ' ' + (minify ? 'with' : 'without') + ' minification', }); } @@ -731,11 +740,11 @@ describe('sourcemaps', function() { assert(raw.includes('/*# sourceMappingURL=style.css.map */')); let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let mapData = sourceMap.getMap(); assert.equal(mapData.sources.length, shouldOptimize ? 2 : 1); - assert.strictEqual(mapData.sources[0], './style.scss'); + assert.strictEqual(mapData.sources[0], 'style.scss'); let input = await inputFS.readFile( path.join(path.dirname(filename), map.sourceRoot, map.sources[0]), @@ -747,7 +756,7 @@ describe('sourcemaps', function() { source: input, generated: raw, str: 'body', - sourcePath: './style.scss', + sourcePath: 'style.scss', msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); @@ -756,7 +765,7 @@ describe('sourcemaps', function() { source: input, generated: raw, str: 'color', - sourcePath: './style.scss', + sourcePath: 'style.scss', msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); } @@ -785,14 +794,14 @@ describe('sourcemaps', function() { assert(raw.includes('/*# sourceMappingURL=style.css.map */')); let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let mapData = sourceMap.getMap(); // This should actually just be `./integration/scss-sourcemap-imports/with_url.scss` // but this is a small bug in the extend utility of the source-map library assert.deepEqual(mapData.sources, [ - './integration/scss-sourcemap-imports/style.scss', - './integration/scss-sourcemap-imports/with_url.scss', + 'integration/scss-sourcemap-imports/style.scss', + 'integration/scss-sourcemap-imports/with_url.scss', ]); let input = await inputFS.readFile( @@ -805,7 +814,7 @@ describe('sourcemaps', function() { source: input, generated: raw, str: 'body', - sourcePath: './integration/scss-sourcemap-imports/with_url.scss', + sourcePath: 'integration/scss-sourcemap-imports/with_url.scss', }); checkSourceMapping({ @@ -813,7 +822,7 @@ describe('sourcemaps', function() { source: input, generated: raw, str: 'background-color', - sourcePath: './integration/scss-sourcemap-imports/with_url.scss', + sourcePath: 'integration/scss-sourcemap-imports/with_url.scss', }); }); @@ -842,13 +851,13 @@ describe('sourcemaps', function() { assert(raw.includes('/*# sourceMappingURL=style.css.map */')); let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let mapData = sourceMap.getMap(); // TODO: htmlnano inserts `./` assert.equal(mapData.sources.length, shouldOptimize ? 3 : 2); - assert.deepEqual(mapData.sources[0], './other.scss'); - assert.deepEqual(mapData.sources[shouldOptimize ? 2 : 1], './style.css'); + assert.deepEqual(mapData.sources[0], 'other.scss'); + assert.deepEqual(mapData.sources[shouldOptimize ? 2 : 1], 'style.css'); let style = await inputFS.readFile( path.join( @@ -868,7 +877,7 @@ describe('sourcemaps', function() { source: style, generated: raw, str: 'body', - sourcePath: './style.css', + sourcePath: 'style.css', msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); @@ -877,7 +886,7 @@ describe('sourcemaps', function() { source: style, generated: raw, str: 'color', - sourcePath: './style.css', + sourcePath: 'style.css', msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); @@ -886,7 +895,7 @@ describe('sourcemaps', function() { source: other, generated: raw, str: 'div', - sourcePath: './other.scss', + sourcePath: 'other.scss', msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); @@ -895,7 +904,7 @@ describe('sourcemaps', function() { source: other, generated: raw, str: 'font-family', - sourcePath: './other.scss', + sourcePath: 'other.scss', msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); } @@ -928,11 +937,11 @@ describe('sourcemaps', function() { assert(raw.includes('/*# sourceMappingURL=style.css.map */')); let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let mapData = sourceMap.getMap(); assert.equal(mapData.sources.length, shouldOptimize ? 2 : 1); - assert.deepEqual(mapData.sources[0], './style.less'); + assert.deepEqual(mapData.sources[0], 'style.less'); let input = await inputFS.readFile( path.join(path.dirname(filename), map.sourceRoot, map.sources[0]), 'utf-8', @@ -943,7 +952,7 @@ describe('sourcemaps', function() { source: input, generated: raw, str: 'div', - sourcePath: './style.less', + sourcePath: 'style.less', msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); @@ -952,7 +961,7 @@ describe('sourcemaps', function() { source: input, generated: raw, str: 'width', - sourcePath: './style.less', + sourcePath: 'style.less', msg: ' ' + (shouldOptimize ? 'with' : 'without') + ' minification', }); } @@ -986,7 +995,7 @@ describe('sourcemaps', function() { let map = mapData.map; assert.equal(map.file, 'index.js.map'); assert.deepEqual(map.sources, [ - './index.js', + 'index.js', '../../../../../transformers/js/src/esmodule-helpers.js', ]); assert.equal(map.sourcesContent[0], sourceContent); @@ -1020,7 +1029,7 @@ describe('sourcemaps', function() { let map = mapUrlData.map; assert.equal(map.file, 'index.js.map'); assert.deepEqual(map.sources, [ - './index.js', + 'index.js', '../../../../../transformers/js/src/esmodule-helpers.js', ]); }); @@ -1248,12 +1257,12 @@ describe('sourcemaps', function() { let map = mapUrlData.map; let sourceMap = new SourceMap('/'); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); let input = await inputFS.readFile( path.join(path.dirname(filename), map.sourceRoot, map.sources[0]), 'utf8', ); - let sourcePath = './index.js'; + let sourcePath = 'index.js'; checkSourceMapping({ map: sourceMap, diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 26f27f66761..3ff4717b7bf 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -25,7 +25,7 @@ "@parcel/diagnostic": "2.0.0-beta.2", "@parcel/logger": "2.0.0-beta.2", "@parcel/markdown-ansi": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "ansi-html": "^0.0.7", "chalk": "^4.1.0", "clone": "^2.1.1", diff --git a/packages/core/utils/src/generateBuildMetrics.js b/packages/core/utils/src/generateBuildMetrics.js index 35bca754848..be900f685a2 100644 --- a/packages/core/utils/src/generateBuildMetrics.js +++ b/packages/core/utils/src/generateBuildMetrics.js @@ -38,7 +38,7 @@ async function getSourcemapSizes( let rawMap = mapUrlData.map; let sourceMap = new SourceMap(projectRoot); - sourceMap.addRawMappings(rawMap); + sourceMap.addVLQMap(rawMap); let parsedMapData = sourceMap.getMap(); if (parsedMapData.mappings.length > 2) { diff --git a/packages/core/utils/src/sourcemap.js b/packages/core/utils/src/sourcemap.js index 4ff6822a4bc..41f41cfaacc 100644 --- a/packages/core/utils/src/sourcemap.js +++ b/packages/core/utils/src/sourcemap.js @@ -69,7 +69,7 @@ export async function loadSourceMap( } let sourcemapInstance = new SourceMap(options.projectRoot); - sourcemapInstance.addRawMappings({ + sourcemapInstance.addVLQMap({ ...foundMap.map, sources: foundMap.map.sources.map(s => { return path.join(mapSourceRoot, s); diff --git a/packages/core/utils/test/sourcemap.test.js b/packages/core/utils/test/sourcemap.test.js index 55528fe0f91..3fd5fa3a837 100644 --- a/packages/core/utils/test/sourcemap.test.js +++ b/packages/core/utils/test/sourcemap.test.js @@ -91,7 +91,7 @@ describe('loadSourceMap', () => { assert(!!map); let parsedMap = map.getMap(); - assert.deepEqual(parsedMap.sources, ['./input/sourcemap/referenced.js']); + assert.deepEqual(parsedMap.sources, ['input/sourcemap/referenced.js']); assert.deepEqual(parsedMap.names, ['hello', 'l', 'o', 'console', 'log']); assert.deepEqual(parsedMap.mappings, [ { @@ -187,7 +187,7 @@ describe('loadSourceMap', () => { assert(!!map); let parsedMap = map.getMap(); - assert.deepEqual(parsedMap.sources, ['./input/sourcemap/referenced.js']); + assert.deepEqual(parsedMap.sources, ['input/sourcemap/referenced.js']); }); it('Should remap sources when using sourceRoot', async () => { @@ -202,6 +202,6 @@ describe('loadSourceMap', () => { assert(!!map); let parsedMap = map.getMap(); - assert.deepEqual(parsedMap.sources, ['./input/source.js']); + assert.deepEqual(parsedMap.sources, ['input/source.js']); }); }); diff --git a/packages/optimizers/cssnano/package.json b/packages/optimizers/cssnano/package.json index 36894d74951..9d482aaad43 100644 --- a/packages/optimizers/cssnano/package.json +++ b/packages/optimizers/cssnano/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "cssnano": "^4.1.10", "postcss": "^8.0.5" } diff --git a/packages/optimizers/cssnano/src/CSSNanoOptimizer.js b/packages/optimizers/cssnano/src/CSSNanoOptimizer.js index 6e3a8ea075b..d67aa3aefdc 100644 --- a/packages/optimizers/cssnano/src/CSSNanoOptimizer.js +++ b/packages/optimizers/cssnano/src/CSSNanoOptimizer.js @@ -37,7 +37,7 @@ export default (new Optimizer({ let map; if (result.map != null) { map = new SourceMap(options.projectRoot); - map.addRawMappings(result.map.toJSON()); + map.addVLQMap(result.map.toJSON()); } let contents = result.css; diff --git a/packages/optimizers/esbuild/package.json b/packages/optimizers/esbuild/package.json index 225a5a7a4cd..95786575c6e 100644 --- a/packages/optimizers/esbuild/package.json +++ b/packages/optimizers/esbuild/package.json @@ -22,7 +22,7 @@ "dependencies": { "@parcel/diagnostic": "2.0.0-beta.2", "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/utils": "2.0.0-beta.2", "esbuild": "^0.8.11", "nullthrows": "^1.1.1" diff --git a/packages/optimizers/esbuild/src/ESBuildOptimizer.js b/packages/optimizers/esbuild/src/ESBuildOptimizer.js index 748f3ddc3c6..9ac42c01c08 100644 --- a/packages/optimizers/esbuild/src/ESBuildOptimizer.js +++ b/packages/optimizers/esbuild/src/ESBuildOptimizer.js @@ -43,7 +43,7 @@ export default (new Optimizer({ if (jsSourceMap) { sourcemap = new SourceMap(options.projectRoot); let parsedMap = JSON.parse(jsSourceMap); - sourcemap.addRawMappings(parsedMap); + sourcemap.addVLQMap(parsedMap); let sourcemapReference = await getSourceMapReference(sourcemap); if (sourcemapReference) { diff --git a/packages/optimizers/terser/package.json b/packages/optimizers/terser/package.json index 53f8d1b6360..97ad140827c 100644 --- a/packages/optimizers/terser/package.json +++ b/packages/optimizers/terser/package.json @@ -22,7 +22,7 @@ "dependencies": { "@parcel/diagnostic": "2.0.0-beta.2", "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/utils": "2.0.0-beta.2", "nullthrows": "^1.1.1", "terser": "^5.2.0" diff --git a/packages/optimizers/terser/src/TerserOptimizer.js b/packages/optimizers/terser/src/TerserOptimizer.js index aba4d8ad7ce..6da135a671c 100644 --- a/packages/optimizers/terser/src/TerserOptimizer.js +++ b/packages/optimizers/terser/src/TerserOptimizer.js @@ -97,7 +97,7 @@ export default (new Optimizer({ let resultMap = result.map; if (resultMap && typeof resultMap !== 'string') { sourceMap = new SourceMap(options.projectRoot); - sourceMap.addRawMappings(resultMap); + sourceMap.addVLQMap(resultMap); let sourcemapReference = await getSourceMapReference(sourceMap); if (sourcemapReference) { minifiedContents += `\n//# sourceMappingURL=${sourcemapReference}\n`; diff --git a/packages/packagers/css/package.json b/packages/packagers/css/package.json index c05fe466eb0..dd47d42517d 100644 --- a/packages/packagers/css/package.json +++ b/packages/packagers/css/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/utils": "2.0.0-beta.2", "nullthrows": "^1.1.1", "postcss": "^8.2.1" diff --git a/packages/packagers/css/src/CSSPackager.js b/packages/packagers/css/src/CSSPackager.js index 57a6bb88f02..55e131988af 100644 --- a/packages/packagers/css/src/CSSPackager.js +++ b/packages/packagers/css/src/CSSPackager.js @@ -79,7 +79,7 @@ export default (new Packager({ contents += code + '\n'; if (bundle.env.sourceMap) { if (mapBuffer) { - map.addBufferMappings(mapBuffer, lineOffset); + map.addBuffer(mapBuffer, lineOffset); } else { map.addEmptyMap( path @@ -190,7 +190,7 @@ async function processCSSModule( let sourceMap; if (bundle.env.sourceMap && map != null) { sourceMap = new SourceMap(options.projectRoot); - sourceMap.addRawMappings(map.toJSON()); + sourceMap.addVLQMap(map.toJSON()); } if (media.length) { diff --git a/packages/packagers/js/package.json b/packages/packagers/js/package.json index a548df5cfe6..1edd269f737 100644 --- a/packages/packagers/js/package.json +++ b/packages/packagers/js/package.json @@ -22,7 +22,7 @@ "dependencies": { "@parcel/diagnostic": "2.0.0-beta.2", "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/utils": "2.0.0-beta.2", "globals": "^13.2.0", "nullthrows": "^1.1.1" diff --git a/packages/packagers/js/src/DevPackager.js b/packages/packagers/js/src/DevPackager.js index 934adf4903d..2b5f3abab66 100644 --- a/packages/packagers/js/src/DevPackager.js +++ b/packages/packagers/js/src/DevPackager.js @@ -108,7 +108,7 @@ export class DevPackager { if (this.bundle.env.sourceMap) { if (mapBuffer) { - map.addBufferMappings(mapBuffer, lineOffset); + map.addBuffer(mapBuffer, lineOffset); } else { map.addEmptyMap( path diff --git a/packages/packagers/js/src/ScopeHoistingPackager.js b/packages/packagers/js/src/ScopeHoistingPackager.js index 50897f22cde..bbcbc65f2ca 100644 --- a/packages/packagers/js/src/ScopeHoistingPackager.js +++ b/packages/packagers/js/src/ScopeHoistingPackager.js @@ -130,7 +130,7 @@ export class ScopeHoistingPackager { let [content, map, lines] = this.visitAsset(asset); if (sourceMap && map) { - sourceMap.addBufferMappings(map.toBuffer(), lineCount); + sourceMap.addSourceMap(map, lineCount); } res += content + '\n'; @@ -307,7 +307,7 @@ export class ScopeHoistingPackager { ? new SourceMap(this.options.projectRoot) : null; if (sourceMap && map) { - sourceMap?.addBufferMappings(map); + sourceMap?.addBuffer(map); } // If this asset is skipped, just add dependencies and not the asset's content. @@ -331,7 +331,7 @@ export class ScopeHoistingPackager { let [code, map, lines] = this.visitAsset(resolved); depCode += code + '\n'; if (sourceMap && map) { - sourceMap.addBufferMappings(map.toBuffer(), lineCount); + sourceMap.addSourceMap(map, lineCount); } lineCount += lines + 1; } @@ -427,7 +427,7 @@ export class ScopeHoistingPackager { } if (map) { - sourceMap.addBufferMappings(map.toBuffer(), lineCount, 0); + sourceMap.addSourceMap(map, lineCount, 0); } } @@ -476,7 +476,7 @@ ${code} if (!depCode) continue; code += depCode + '\n'; if (sourceMap && map) { - sourceMap.addBufferMappings(map.toBuffer(), lineCount, 0); + sourceMap.addSourceMap(map, lineCount, 0); } lineCount += lines + 1; } diff --git a/packages/shared/babel-ast-utils/package.json b/packages/shared/babel-ast-utils/package.json index a66b616be65..1f61562b3cf 100644 --- a/packages/shared/babel-ast-utils/package.json +++ b/packages/shared/babel-ast-utils/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@babel/parser": "^7.0.0", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/utils": "2.0.0-beta.2", "astring": "^1.6.2" } diff --git a/packages/transformers/babel/package.json b/packages/transformers/babel/package.json index ff86e7accb1..b9617867e64 100644 --- a/packages/transformers/babel/package.json +++ b/packages/transformers/babel/package.json @@ -27,7 +27,7 @@ "@babel/traverse": "^7.0.0", "@parcel/babel-ast-utils": "2.0.0-beta.2", "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/utils": "2.0.0-beta.2", "browserslist": "^4.6.6", "core-js": "^3.2.1", diff --git a/packages/transformers/coffeescript/package.json b/packages/transformers/coffeescript/package.json index 8dbc93cf7a7..663bb3c4252 100644 --- a/packages/transformers/coffeescript/package.json +++ b/packages/transformers/coffeescript/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/utils": "2.0.0-beta.2", "coffeescript": "^2.0.3", "nullthrows": "^1.1.1", diff --git a/packages/transformers/coffeescript/src/CoffeeScriptTransformer.js b/packages/transformers/coffeescript/src/CoffeeScriptTransformer.js index 8eb04bcaef6..56d88fe5d63 100644 --- a/packages/transformers/coffeescript/src/CoffeeScriptTransformer.js +++ b/packages/transformers/coffeescript/src/CoffeeScriptTransformer.js @@ -22,7 +22,7 @@ export default (new Transformer({ let map = null; if (output.v3SourceMap) { map = new SourceMap(options.projectRoot); - map.addRawMappings(JSON.parse(output.v3SourceMap)); + map.addVLQMap(JSON.parse(output.v3SourceMap)); } asset.setCode(output.js); diff --git a/packages/transformers/css/package.json b/packages/transformers/css/package.json index e5f2889086b..cfc33c9dff3 100644 --- a/packages/transformers/css/package.json +++ b/packages/transformers/css/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/utils": "2.0.0-beta.2", "nullthrows": "^1.1.1", "postcss": "^8.2.1", diff --git a/packages/transformers/css/src/CSSTransformer.js b/packages/transformers/css/src/CSSTransformer.js index 8c191c543bc..9f5e4dbc8b9 100644 --- a/packages/transformers/css/src/CSSTransformer.js +++ b/packages/transformers/css/src/CSSTransformer.js @@ -194,7 +194,7 @@ export default (new Transformer({ let originalSourceMap = await asset.getMap(); if (result.map != null) { map = new SourceMap(options.projectRoot); - map.addRawMappings(result.map.toJSON()); + map.addVLQMap(result.map.toJSON()); if (originalSourceMap) { map.extends(originalSourceMap.toBuffer()); } diff --git a/packages/transformers/js/package.json b/packages/transformers/js/package.json index 9db347e0cf7..a4eb52a740e 100644 --- a/packages/transformers/js/package.json +++ b/packages/transformers/js/package.json @@ -30,7 +30,7 @@ "dependencies": { "@parcel/diagnostic": "2.0.0-beta.2", "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/utils": "2.0.0-beta.2", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index 22fe4a0135b..5cf6dcbad21 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -457,7 +457,7 @@ export default (new Transformer({ if (map) { let originalMap = await asset.getMapBuffer(); let sourceMap = new SourceMap(options.projectRoot); - sourceMap.addRawMappings(JSON.parse(map)); + sourceMap.addVLQMap(JSON.parse(map)); if (originalMap) { sourceMap.extends(originalMap); } diff --git a/packages/transformers/less/package.json b/packages/transformers/less/package.json index 1477c462c65..f0a9b798674 100644 --- a/packages/transformers/less/package.json +++ b/packages/transformers/less/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "less": "^3.9.0" } } diff --git a/packages/transformers/less/src/LessTransformer.js b/packages/transformers/less/src/LessTransformer.js index bb540d8b1b9..d6b36940a38 100644 --- a/packages/transformers/less/src/LessTransformer.js +++ b/packages/transformers/less/src/LessTransformer.js @@ -56,7 +56,7 @@ export default (new Transformer({ if (result.map != null) { let map = new SourceMap(options.projectRoot); let rawMap = JSON.parse(result.map); - map.addRawMappings({ + map.addVLQMap({ ...rawMap, sources: rawMap.sources.map(s => path.relative(options.projectRoot, s)), }); diff --git a/packages/transformers/sass/package.json b/packages/transformers/sass/package.json index bc5d4f92f63..819db945a60 100644 --- a/packages/transformers/sass/package.json +++ b/packages/transformers/sass/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "sass": "^1.32.4" } } diff --git a/packages/transformers/sass/src/SassTransformer.js b/packages/transformers/sass/src/SassTransformer.js index 23284a6134e..88c90146521 100644 --- a/packages/transformers/sass/src/SassTransformer.js +++ b/packages/transformers/sass/src/SassTransformer.js @@ -82,7 +82,7 @@ export default (new Transformer({ if (result.map != null) { let map = new SourceMap(options.projectRoot); - map.addRawMappings(JSON.parse(result.map)); + map.addVLQMap(JSON.parse(result.map)); asset.setMap(map); } } catch (err) { diff --git a/packages/transformers/typescript-types/package.json b/packages/transformers/typescript-types/package.json index 7832feff606..9c0ca4b1f33 100644 --- a/packages/transformers/typescript-types/package.json +++ b/packages/transformers/typescript-types/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/ts-utils": "2.0.0-beta.2", "nullthrows": "^1.1.1" }, diff --git a/packages/transformers/typescript-types/src/TSTypesTransformer.js b/packages/transformers/typescript-types/src/TSTypesTransformer.js index 6ab8a1c90f6..15fed35cf03 100644 --- a/packages/transformers/typescript-types/src/TSTypesTransformer.js +++ b/packages/transformers/typescript-types/src/TSTypesTransformer.js @@ -146,7 +146,7 @@ export default (new Transformer({ let sourceMap = null; if (map.mappings) { sourceMap = new SourceMap(options.projectRoot); - sourceMap.addRawMappings(map); + sourceMap.addVLQMap(map); } return [ diff --git a/packages/transformers/vue/package.json b/packages/transformers/vue/package.json index 50efb894a17..79f2567347f 100644 --- a/packages/transformers/vue/package.json +++ b/packages/transformers/vue/package.json @@ -22,7 +22,7 @@ "dependencies": { "@parcel/diagnostic": "2.0.0-beta.2", "@parcel/plugin": "2.0.0-beta.2", - "@parcel/source-map": "2.0.0-alpha.4.21", + "@parcel/source-map": "2.0.0-rc.1.0", "@parcel/utils": "2.0.0-beta.2", "@vue/compiler-sfc": "^3.0.0", "consolidate": "^0.16.0", diff --git a/packages/transformers/vue/src/VueTransformer.js b/packages/transformers/vue/src/VueTransformer.js index 6cc8ae21b51..42d34b3d69d 100644 --- a/packages/transformers/vue/src/VueTransformer.js +++ b/packages/transformers/vue/src/VueTransformer.js @@ -457,6 +457,6 @@ export default script => { function createMap(rawMap, projectRoot: string) { let newMap = new SourceMap(projectRoot); - newMap.addRawMappings(rawMap); + newMap.addVLQMap(rawMap); return newMap; } diff --git a/yarn.lock b/yarn.lock index 1d3945bcfbb..563ef7b7a9a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2171,6 +2171,14 @@ node-addon-api "^3.0.0" node-gyp-build "^4.2.3" +"@parcel/source-map@2.0.0-rc.1.0": + version "2.0.0-rc.1.0" + resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.0.0-rc.1.0.tgz#f36132dbb5758f540674e9c910f6db1c1d40fdc7" + integrity sha512-X+1Eef2eVLqGbUSBjP6n2tNnqQv0HyLu6j324hPSqqA8JeHk3X1M5V6FzUe9W2RbCF1Y49VvlXRfC6BqMrZyEw== + dependencies: + detect-libc "^1.0.3" + globby "^11.0.3" + "@parcel/watcher@2.0.0-alpha.10": version "2.0.0-alpha.10" resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.0-alpha.10.tgz#99266189f5193512dbdf6b0faca20400c519a16e" @@ -2899,6 +2907,11 @@ array-union@^1.0.1, array-union@^1.0.2: dependencies: array-uniq "^1.0.1" +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -4927,6 +4940,13 @@ dir-glob@^2.0.0, dir-glob@^2.2.2: dependencies: path-type "^3.0.0" +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + doctoc@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/doctoc/-/doctoc-1.4.0.tgz#3115aa61d0a92f0abb0672036918ea904f5b9e02" @@ -5843,6 +5863,18 @@ fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" +fast-glob@^3.1.1: + version "3.2.5" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -6515,6 +6547,18 @@ globals@^13.2.0: dependencies: type-fest "^0.20.2" +globby@^11.0.3: + version "11.0.3" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" + integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" @@ -7156,6 +7200,11 @@ ignore@^4.0.3, ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + image-size@~0.5.0: version "0.5.5" resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" @@ -11923,6 +11972,11 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slice-ansi@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"