diff --git a/patches/babel-core@6.26.3.patch b/patches/babel-core@6.26.3.patch new file mode 100644 index 000000000000..617b3979c165 --- /dev/null +++ b/patches/babel-core@6.26.3.patch @@ -0,0 +1,22 @@ +diff --git a/lib/transformation/internal-plugins/shadow-functions.js b/lib/transformation/internal-plugins/shadow-functions.js +index e7f8739c31b4e079730a15e738ad864dbc458502..3ca4861b941c594e9500dcd6c0380f5dea7379cc 100644 +--- a/lib/transformation/internal-plugins/shadow-functions.js ++++ b/lib/transformation/internal-plugins/shadow-functions.js +@@ -58,7 +58,7 @@ function shouldShadow(path, shadowPath) { + } + + function remap(path, key) { +- var shadowPath = path.inShadow(key); ++ var shadowPath = typeof path.inShadow === 'function' ? path.inShadow(key) : false; + if (!shouldShadow(path, shadowPath)) return; + + var shadowFunction = path.node._shadowedFunctionLiteral; +@@ -83,7 +83,7 @@ function remap(path, key) { + if (shadowFunction) { + if (innerPath === shadowFunction || innerPath.node === shadowFunction.node) return true; + } else { +- if (!innerPath.is("shadow")) return true; ++ if (typeof innerPath.is !== 'function' || !innerPath.is("shadow")) return true; + } + + passedShadowFunction = true; diff --git a/patches/systemjs-builder@0.16.15.patch b/patches/systemjs-builder@0.16.15.patch new file mode 100644 index 000000000000..35494d1f73b9 --- /dev/null +++ b/patches/systemjs-builder@0.16.15.patch @@ -0,0 +1,143 @@ +diff --git a/lib/output.js b/lib/output.js +index 18999ece8f59ff4f7f94b70244f8080dcc9b8da5..99749e9c67be7848f7e9629a0a10ec27c9300636 100644 +--- a/lib/output.js ++++ b/lib/output.js +@@ -9,17 +9,6 @@ var terser = require('terser'); + var fromFileURL = require('./utils').fromFileURL; + var toFileURL = require('./utils').toFileURL; + +-// Ugly hack to get around terser's strange code loading and export system +-// (inherited from uglify-js), and the fact that their SourceMap wrapper is +-// not exported +-var TerserSourceMap = new Function('MOZ_SourceMap', "exports", "require", function() { +- var code = ['terser/lib/utils.js', 'terser/lib/sourcemap.js'].map(function(file) { +- return fs.readFileSync(require.resolve(file), 'utf8'); +- }); +- code.push('return SourceMap;'); +- return code.join('\n'); +-}())(require('source-map'), terser, require); +- + function countLines(str) { + return str.split(/\r\n|\r|\n/).length; + } +@@ -84,48 +73,43 @@ function createOutput(outFile, outputs, basePath, sourceMaps, sourceMapContents) + } + + function minify(output, fileName, mangle, uglifyOpts) { +- var files = {}; +- files[fileName] = output.source; +- var result; +- try{ +- result = terser.minify(files, { +- parse: {}, +- compress: uglifyOpts.compress, +- mangle: mangle, +- output: { ast: true, code: false } +- }); +- } catch(e){ +- throw new Error(e); +- } +- +- if (result.error) { +- throw new Error(result.error); +- } +- +- var ast = result.ast; ++ uglifyOpts = uglifyOpts || {}; + +- var sourceMap; ++ var sourceMapConfig = false; + if (output.sourceMap) { +- if (typeof output.sourceMap === 'string') +- output.sourceMap = JSON.parse(output.sourceMap); +- +- sourceMap = TerserSourceMap({ +- file: fileName, +- orig: output.sourceMap +- }); ++ var mapContent = output.sourceMap; ++ if (typeof mapContent !== 'string') ++ mapContent = JSON.stringify(mapContent); ++ ++ sourceMapConfig = { ++ filename: fileName, ++ content: mapContent, ++ }; + } + +- var outputOptions = uglifyOpts.beautify; +- // keep first comment +- outputOptions.comments = outputOptions.comments || function(node, comment) { ++ var formatOptions = uglifyOpts.beautify || uglifyOpts.output || {}; ++ var comments = formatOptions.comments || function(_node, comment) { + return comment.line === 1 && comment.col === 0; + }; +- outputOptions.source_map = sourceMap; + +- output.source = ast.print_to_string(outputOptions); +- output.sourceMap = sourceMap; ++ return Promise.resolve(terser.minify(output.source, { ++ compress: uglifyOpts.compress, ++ mangle: mangle, ++ sourceMap: sourceMapConfig, ++ format: extend({ ++ comments: comments, ++ }, formatOptions), ++ })).then(function(result) { ++ if (result.error) ++ throw new Error(result.error); ++ ++ output.source = result.code; + +- return output; ++ if (result.map) ++ output.sourceMap = typeof result.map === 'string' ? result.map : JSON.stringify(result.map); ++ ++ return output; ++ }); + } + + function writeOutputFile(outFile, source, sourceMap) { +@@ -138,7 +122,7 @@ function writeOutputFile(outFile, source, sourceMap) { + + var sourceMapFileName = path.basename(outFile) + '.map'; + source += '\n//# sourceMappingURL=' + sourceMapFileName; +- ++ + return asp(fs.writeFile)(path.resolve(outDir, sourceMapFileName), sourceMap); + }) + .then(function() { +@@ -160,19 +144,22 @@ exports.writeOutputs = function(outputs, baseURL, outputOpts) { + var fileName = outFile && path.basename(outFile) || 'output.js'; + + var output = createOutput(outFile || path.resolve(basePath, fileName), outputs, basePath, outputOpts.sourceMaps, outputOpts.sourceMapContents); +- +- if (outputOpts.minify) +- output = minify(output, fileName, outputOpts.mangle, outputOpts.uglify); + +- if (outputOpts.sourceMaps == 'inline') { +- output.source = inlineSourceMap(output.source, output.sourceMap); +- output.sourceMap = undefined; +- } ++ var outputPromise = outputOpts.minify ++ ? minify(output, fileName, outputOpts.mangle, outputOpts.uglify) ++ : Promise.resolve(output); + +- if (!outputOpts.outFile) +- return Promise.resolve(output); ++ return outputPromise.then(function(output) { ++ if (outputOpts.sourceMaps == 'inline') { ++ output.source = inlineSourceMap(output.source, output.sourceMap); ++ output.sourceMap = undefined; ++ } + +- return writeOutputFile(outFile, output.source, output.sourceMap).then(function() { +- return output; ++ if (!outputOpts.outFile) ++ return output; ++ ++ return writeOutputFile(outFile, output.source, output.sourceMap).then(function() { ++ return output; ++ }); + }); + }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 404c5f9d3728..d31c3c597ef0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -216,8 +216,12 @@ overrides: '@sigstore/core@<=3.2.0': ^3.2.1 sigstore@<=4.1.0: ^4.1.1 '@sigstore/verify@3.1.0': ^3.1.1 + babel-traverse: npm:@babel/traverse@^7.23.2 + systemjs-builder>terser: 5.46.2 patchedDependencies: + babel-core@6.26.3: c0f53059bb7026b811209ee3af7fd4c700c900c615d0a0b14981ce911fcf3392 + systemjs-builder@0.16.15: c78b3d7eb812436aa2d80299b3d3f2738f0366b53f710a25956a3762edf73014 testcafe-hammerhead@31.7.8: 8655c07786177d3b611a05abf6b0ea87d32796eb2601f92a800ef041095f264c importers: @@ -768,7 +772,7 @@ importers: version: 38.0.0(stylelint@16.22.0(typescript@6.0.3)) systemjs-builder: specifier: 0.16.15 - version: 0.16.15 + version: 0.16.15(patch_hash=c78b3d7eb812436aa2d80299b3d3f2738f0366b53f710a25956a3762edf73014) testcafe: specifier: 'catalog:' version: 3.7.5 @@ -8475,9 +8479,6 @@ packages: babel-template@6.26.0: resolution: {integrity: sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==} - babel-traverse@6.26.0: - resolution: {integrity: sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==} - babel-types@6.26.0: resolution: {integrity: sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==} @@ -9160,9 +9161,6 @@ packages: commander@2.11.0: resolution: {integrity: sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==} - commander@2.16.0: - resolution: {integrity: sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==} - commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -11093,10 +11091,6 @@ packages: resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} engines: {node: '>=18'} - globals@9.18.0: - resolution: {integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==} - engines: {node: '>=0.10.0'} - globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -11734,9 +11728,6 @@ packages: intl@1.2.5: resolution: {integrity: sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==} - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - invert-kv@1.0.0: resolution: {integrity: sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==} engines: {node: '>=0.10.0'} @@ -16130,11 +16121,6 @@ packages: uglify-js: optional: true - terser@3.8.1: - resolution: {integrity: sha512-FRin3gKQ0vm0xPPLuxw1FqpVgv1b2pBpYCaFb5qe6A7sD749Fnq1VbDiX3CEFM0BV0fqDzFtBfgmxhxCdzKQIg==} - engines: {node: '>=0.8.0'} - hasBin: true - terser@5.43.1: resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==} engines: {node: '>=10'} @@ -25953,7 +25939,7 @@ snapshots: esutils: 2.0.3 js-tokens: 3.0.2 - babel-core@6.26.3: + babel-core@6.26.3(patch_hash=c0f53059bb7026b811209ee3af7fd4c700c900c615d0a0b14981ce911fcf3392): dependencies: babel-code-frame: 6.26.0 babel-generator: 6.26.1 @@ -25962,7 +25948,7 @@ snapshots: babel-register: 6.26.0 babel-runtime: 6.26.0 babel-template: 6.26.0 - babel-traverse: 6.26.0 + babel-traverse: '@babel/traverse@7.29.7' babel-types: 6.26.0 babylon: 6.18.0 convert-source-map: 1.9.0 @@ -26251,7 +26237,7 @@ snapshots: babel-register@6.26.0: dependencies: - babel-core: 6.26.3 + babel-core: 6.26.3(patch_hash=c0f53059bb7026b811209ee3af7fd4c700c900c615d0a0b14981ce911fcf3392) babel-runtime: 6.26.0 core-js: 2.6.12 home-or-tmp: 2.0.0 @@ -26269,23 +26255,9 @@ snapshots: babel-template@6.26.0: dependencies: babel-runtime: 6.26.0 - babel-traverse: 6.26.0 - babel-types: 6.26.0 - babylon: 6.18.0 - lodash: 4.18.1 - transitivePeerDependencies: - - supports-color - - babel-traverse@6.26.0: - dependencies: - babel-code-frame: 6.26.0 - babel-messages: 6.23.0 - babel-runtime: 6.26.0 + babel-traverse: '@babel/traverse@7.29.7' babel-types: 6.26.0 babylon: 6.18.0 - debug: 2.6.9 - globals: 9.18.0 - invariant: 2.2.4 lodash: 4.18.1 transitivePeerDependencies: - supports-color @@ -27122,8 +27094,6 @@ snapshots: commander@2.11.0: {} - commander@2.16.0: {} - commander@2.20.3: {} commander@2.9.0: @@ -30003,8 +29973,6 @@ snapshots: globals@16.5.0: {} - globals@9.18.0: {} - globalthis@1.0.4: dependencies: define-properties: 1.2.1 @@ -30880,10 +30848,6 @@ snapshots: intl@1.2.5: {} - invariant@2.2.4: - dependencies: - loose-envify: 1.4.0 - invert-kv@1.0.0: {} iobuffer@5.4.0: {} @@ -37150,9 +37114,9 @@ snapshots: dependencies: acorn-node: 1.8.2 - systemjs-builder@0.16.15: + systemjs-builder@0.16.15(patch_hash=c78b3d7eb812436aa2d80299b3d3f2738f0366b53f710a25956a3762edf73014): dependencies: - babel-core: 6.26.3 + babel-core: 6.26.3(patch_hash=c0f53059bb7026b811209ee3af7fd4c700c900c615d0a0b14981ce911fcf3392) babel-plugin-syntax-dynamic-import: 6.18.0 babel-plugin-transform-amd-system-wrapper: 0.3.7 babel-plugin-transform-cjs-system-wrapper: 0.6.2 @@ -37167,7 +37131,7 @@ snapshots: rollup: 4.59.0 source-map: 0.5.7 systemjs: 0.19.47 - terser: 3.8.1 + terser: 5.46.2 traceur: 0.0.105 transitivePeerDependencies: - supports-color @@ -37317,13 +37281,6 @@ snapshots: optionalDependencies: '@swc/core': 1.15.30(@swc/helpers@0.5.21) - terser@3.8.1: - dependencies: - acorn: 8.17.0 - commander: 2.16.0 - source-map: 0.6.1 - source-map-support: 0.5.21 - terser@5.43.1: dependencies: '@jridgewell/source-map': 0.3.11 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 7c7f0c8cac33..c36e624bfb1a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -49,7 +49,8 @@ overrides: "@sigstore/core@<=3.2.0": "^3.2.1" "sigstore@<=4.1.0": "^4.1.1" "@sigstore/verify@3.1.0": "^3.1.1" - + "babel-traverse": "npm:@babel/traverse@^7.23.2" + "systemjs-builder>terser": 5.46.2 catalog: axe-core: ^4.11.1 inferno: ^8.2.3 @@ -129,6 +130,8 @@ allowBuilds: patchedDependencies: testcafe-hammerhead@31.7.8: patches/testcafe-hammerhead@31.7.8.patch + systemjs-builder@0.16.15: patches/systemjs-builder@0.16.15.patch + babel-core@6.26.3: patches/babel-core@6.26.3.patch minimumReleaseAgeExclude: - "eslint-config-devextreme"