diff --git a/build/azure-pipelines/darwin/product-build-darwin.yml b/build/azure-pipelines/darwin/product-build-darwin.yml index c863c60d5027..f6ce75c02a15 100644 --- a/build/azure-pipelines/darwin/product-build-darwin.yml +++ b/build/azure-pipelines/darwin/product-build-darwin.yml @@ -161,7 +161,7 @@ steps: displayName: Build server (web) - ${{ else }}: - - script: npm run gulp transpile-client-swc transpile-extensions + - script: npm run gulp transpile-client-esbuild transpile-extensions env: GITHUB_TOKEN: "$(github-distro-mixin-password)" displayName: Transpile diff --git a/build/azure-pipelines/linux/product-build-linux.yml b/build/azure-pipelines/linux/product-build-linux.yml index 3fb7b4fe679f..69967e6f933e 100644 --- a/build/azure-pipelines/linux/product-build-linux.yml +++ b/build/azure-pipelines/linux/product-build-linux.yml @@ -275,7 +275,7 @@ steps: displayName: Check GLIBC and GLIBCXX dependencies in server archive - ${{ else }}: - - script: npm run gulp "transpile-client-swc" "transpile-extensions" + - script: npm run gulp "transpile-client-esbuild" "transpile-extensions" env: GITHUB_TOKEN: "$(github-distro-mixin-password)" displayName: Transpile client and extensions diff --git a/build/azure-pipelines/win32/product-build-win32.yml b/build/azure-pipelines/win32/product-build-win32.yml index a30d4ca8029b..28eef9e01c68 100644 --- a/build/azure-pipelines/win32/product-build-win32.yml +++ b/build/azure-pipelines/win32/product-build-win32.yml @@ -129,7 +129,7 @@ steps: retryCountOnTaskFailure: 3 - ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}: - - powershell: npm run gulp "transpile-client-swc" "transpile-extensions" + - powershell: npm run gulp "transpile-client-esbuild" "transpile-extensions" env: GITHUB_TOKEN: "$(github-distro-mixin-password)" displayName: Transpile client and extensions diff --git a/build/gulpfile.js b/build/gulpfile.js index 73f7f23cc0b1..7894398c2ea9 100644 --- a/build/gulpfile.js +++ b/build/gulpfile.js @@ -20,7 +20,7 @@ gulp.task(compileApiProposalNamesTask); gulp.task(watchApiProposalNamesTask); // SWC Client Transpile -const transpileClientSWCTask = task.define('transpile-client-swc', task.series(util.rimraf('out'), transpileTask('src', 'out', true))); +const transpileClientSWCTask = task.define('transpile-client-esbuild', task.series(util.rimraf('out'), transpileTask('src', 'out', true))); gulp.task(transpileClientSWCTask); // Transpile only diff --git a/build/lib/compilation.js b/build/lib/compilation.js index e6fe4b592a66..7b9d73facbbd 100644 --- a/build/lib/compilation.js +++ b/build/lib/compilation.js @@ -19,11 +19,11 @@ const util = require("./util"); const fancyLog = require("fancy-log"); const ansiColors = require("ansi-colors"); const os = require("os"); -const ts = require("typescript"); const File = require("vinyl"); const task = require("./task"); const index_1 = require("./mangle/index"); const postcss_1 = require("./postcss"); +const ts = require("typescript"); const watch = require('./watch'); // --- gulp-tsb: compile and transpile -------------------------------- const reporter = (0, reporter_1.createReporter)(); @@ -52,7 +52,7 @@ function createCompile(src, { build, emitError, transpileOnly, preserveEnglish } const compilation = tsb.create(projectPath, overrideOptions, { verbose: false, transpileOnly: Boolean(transpileOnly), - transpileWithSwc: typeof transpileOnly !== 'boolean' && transpileOnly.swc + transpileWithSwc: typeof transpileOnly !== 'boolean' && transpileOnly.esbuild }, err => reporter(err)); function pipeline(token) { const bom = require('gulp-bom'); @@ -88,9 +88,9 @@ function createCompile(src, { build, emitError, transpileOnly, preserveEnglish } pipeline.projectPath = projectPath; return pipeline; } -function transpileTask(src, out, swc) { +function transpileTask(src, out, esbuild) { const task = () => { - const transpile = createCompile(src, { build: false, emitError: true, transpileOnly: { swc }, preserveEnglish: false }); + const transpile = createCompile(src, { build: false, emitError: true, transpileOnly: { esbuild }, preserveEnglish: false }); const srcPipe = gulp.src(`${src}/**`, { base: `${src}` }); return srcPipe .pipe(transpile()) diff --git a/build/lib/compilation.ts b/build/lib/compilation.ts index 978fb15df9e8..124bcc17c17c 100644 --- a/build/lib/compilation.ts +++ b/build/lib/compilation.ts @@ -14,12 +14,12 @@ import * as util from './util'; import * as fancyLog from 'fancy-log'; import * as ansiColors from 'ansi-colors'; import * as os from 'os'; -import ts = require('typescript'); import * as File from 'vinyl'; import * as task from './task'; import { Mangler } from './mangle/index'; import { RawSourceMap } from 'source-map'; import { gulpPostcss } from './postcss'; +import ts = require('typescript'); const watch = require('./watch'); @@ -45,7 +45,7 @@ function getTypeScriptCompilerOptions(src: string): ts.CompilerOptions { interface ICompileTaskOptions { readonly build: boolean; readonly emitError: boolean; - readonly transpileOnly: boolean | { swc: boolean }; + readonly transpileOnly: boolean | { esbuild: boolean }; readonly preserveEnglish: boolean; } @@ -63,7 +63,7 @@ function createCompile(src: string, { build, emitError, transpileOnly, preserveE const compilation = tsb.create(projectPath, overrideOptions, { verbose: false, transpileOnly: Boolean(transpileOnly), - transpileWithSwc: typeof transpileOnly !== 'boolean' && transpileOnly.swc + transpileWithSwc: typeof transpileOnly !== 'boolean' && transpileOnly.esbuild }, err => reporter(err)); function pipeline(token?: util.ICancellationToken) { @@ -105,11 +105,11 @@ function createCompile(src: string, { build, emitError, transpileOnly, preserveE return pipeline; } -export function transpileTask(src: string, out: string, swc: boolean): task.StreamTask { +export function transpileTask(src: string, out: string, esbuild: boolean): task.StreamTask { const task = () => { - const transpile = createCompile(src, { build: false, emitError: true, transpileOnly: { swc }, preserveEnglish: false }); + const transpile = createCompile(src, { build: false, emitError: true, transpileOnly: { esbuild }, preserveEnglish: false }); const srcPipe = gulp.src(`${src}/**`, { base: `${src}` }); return srcPipe diff --git a/build/lib/tsb/index.js b/build/lib/tsb/index.js index 8b8116d5a495..204c06e80ac9 100644 --- a/build/lib/tsb/index.js +++ b/build/lib/tsb/index.js @@ -14,8 +14,8 @@ const path_1 = require("path"); const utils_1 = require("./utils"); const fs_1 = require("fs"); const log = require("fancy-log"); -const colors = require("ansi-colors"); const transpiler_1 = require("./transpiler"); +const colors = require("ansi-colors"); class EmptyDuplex extends stream_1.Duplex { _write(_chunk, _encoding, callback) { callback(); } _read() { this.push(null); } @@ -97,7 +97,7 @@ function create(projectPath, existingOptions, config, onError = _defaultOnError) if (config.transpileOnly) { const transpiler = !config.transpileWithSwc ? new transpiler_1.TscTranspiler(logFn, printDiagnostic, projectPath, cmdLine) - : new transpiler_1.SwcTranspiler(logFn, printDiagnostic, projectPath, cmdLine); + : new transpiler_1.ESBuildTranspiler(logFn, printDiagnostic, projectPath, cmdLine); result = (() => createTranspileStream(transpiler)); } else { diff --git a/build/lib/tsb/index.ts b/build/lib/tsb/index.ts index 670ac6542e77..53c752d2655a 100644 --- a/build/lib/tsb/index.ts +++ b/build/lib/tsb/index.ts @@ -12,8 +12,8 @@ import { dirname } from 'path'; import { strings } from './utils'; import { readFileSync, statSync } from 'fs'; import * as log from 'fancy-log'; +import { ESBuildTranspiler, ITranspiler, TscTranspiler } from './transpiler'; import colors = require('ansi-colors'); -import { ITranspiler, SwcTranspiler, TscTranspiler } from './transpiler'; export interface IncrementalCompiler { (token?: any): Readable & Writable; @@ -130,7 +130,7 @@ export function create( if (config.transpileOnly) { const transpiler = !config.transpileWithSwc ? new TscTranspiler(logFn, printDiagnostic, projectPath, cmdLine) - : new SwcTranspiler(logFn, printDiagnostic, projectPath, cmdLine); + : new ESBuildTranspiler(logFn, printDiagnostic, projectPath, cmdLine); result = (() => createTranspileStream(transpiler)); } else { const _builder = builder.createTypeScriptBuilder({ logFn }, projectPath, cmdLine); diff --git a/build/lib/tsb/transpiler.js b/build/lib/tsb/transpiler.js index 085c9e2b1034..a4439b8d7aeb 100644 --- a/build/lib/tsb/transpiler.js +++ b/build/lib/tsb/transpiler.js @@ -4,8 +4,8 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ Object.defineProperty(exports, "__esModule", { value: true }); -exports.SwcTranspiler = exports.TscTranspiler = void 0; -const swc = require("@swc/core"); +exports.ESBuildTranspiler = exports.TscTranspiler = void 0; +const esbuild = require("esbuild"); const ts = require("typescript"); const threads = require("node:worker_threads"); const Vinyl = require("vinyl"); @@ -224,25 +224,41 @@ class TscTranspiler { } } exports.TscTranspiler = TscTranspiler; -function _isDefaultEmpty(src) { - return src - .replace('"use strict";', '') - .replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, '$1') - .trim().length === 0; -} -class SwcTranspiler { +class ESBuildTranspiler { _logFn; _onError; _cmdLine; - onOutfile; _outputFileNames; _jobs = []; + onOutfile; + _transformOpts; constructor(_logFn, _onError, configFilePath, _cmdLine) { this._logFn = _logFn; this._onError = _onError; this._cmdLine = _cmdLine; - _logFn('Transpile', `will use SWC to transpile source files`); + _logFn('Transpile', `will use ESBuild to transpile source files`); this._outputFileNames = new OutputFileNameOracle(_cmdLine, configFilePath); + const isExtension = configFilePath.includes('extensions'); + this._transformOpts = { + target: ['es2022'], + format: isExtension ? 'cjs' : 'esm', + platform: isExtension ? 'node' : undefined, + loader: 'ts', + sourcemap: 'inline', + tsconfigRaw: JSON.stringify({ + compilerOptions: { + ...this._cmdLine.options, + ...{ + module: isExtension ? ts.ModuleKind.CommonJS : undefined + } + } + }), + supported: { + 'class-static-blocks': false, // SEE https://github.com/evanw/esbuild/issues/3823, + 'dynamic-import': !isExtension, // see https://github.com/evanw/esbuild/issues/1281 + 'class-field': !isExtension + } + }; } async join() { const jobs = this._jobs.slice(); @@ -250,26 +266,17 @@ class SwcTranspiler { await Promise.allSettled(jobs); } transpile(file) { - if (this._cmdLine.options.noEmit) { - // not doing ANYTHING here - return; + if (!(file.contents instanceof Buffer)) { + throw Error('file.contents must be a Buffer'); } - const tsSrc = String(file.contents); const t1 = Date.now(); - let options = SwcTranspiler._swcrcEsm; - if (this._cmdLine.options.module === ts.ModuleKind.AMD) { - const isAmd = /\n(import|export)/m.test(tsSrc); - if (isAmd) { - options = SwcTranspiler._swcrcAmd; - } - } - else if (this._cmdLine.options.module === ts.ModuleKind.CommonJS || this._cmdLine.options.module === ts.ModuleKind.Node16) { - options = SwcTranspiler._swcrcCommonJS; - } - this._jobs.push(swc.transform(tsSrc, options).then(output => { + this._jobs.push(esbuild.transform(file.contents, { + ...this._transformOpts, + sourcefile: file.path, + }).then(result => { // check if output of a DTS-files isn't just "empty" and iff so // skip this file - if (file.path.endsWith('.d.ts') && _isDefaultEmpty(output.code)) { + if (file.path.endsWith('.d.ts') && _isDefaultEmpty(result.code)) { return; } const outBase = this._cmdLine.options.outDir ?? file.base; @@ -277,51 +284,20 @@ class SwcTranspiler { this.onOutfile(new Vinyl({ path: outPath, base: outBase, - contents: Buffer.from(output.code), + contents: Buffer.from(result.code), })); - this._logFn('Transpile', `swc took ${Date.now() - t1}ms for ${file.path}`); + this._logFn('Transpile', `esbuild took ${Date.now() - t1}ms for ${file.path}`); }).catch(err => { this._onError(err); })); } - // --- .swcrc - static _swcrcAmd = { - exclude: '\.js$', - jsc: { - parser: { - syntax: 'typescript', - tsx: false, - decorators: true - }, - target: 'es2022', - loose: false, - minify: { - compress: false, - mangle: false - }, - transform: { - useDefineForClassFields: false, - }, - }, - module: { - type: 'amd', - noInterop: false - }, - minify: false, - }; - static _swcrcCommonJS = { - ...this._swcrcAmd, - module: { - type: 'commonjs', - importInterop: 'swc' - } - }; - static _swcrcEsm = { - ...this._swcrcAmd, - module: { - type: 'es6' - } - }; } -exports.SwcTranspiler = SwcTranspiler; +exports.ESBuildTranspiler = ESBuildTranspiler; +function _isDefaultEmpty(src) { + return src + .replace('"use strict";', '') + .replace(/\/\/# sourceMappingURL.*^/, '') + .replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, '$1') + .trim().length === 0; +} //# sourceMappingURL=transpiler.js.map \ No newline at end of file diff --git a/build/lib/tsb/transpiler.ts b/build/lib/tsb/transpiler.ts index e30bfe9d0544..ae841dcf88b7 100644 --- a/build/lib/tsb/transpiler.ts +++ b/build/lib/tsb/transpiler.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as swc from '@swc/core'; +import * as esbuild from 'esbuild'; import * as ts from 'typescript'; import * as threads from 'node:worker_threads'; import * as Vinyl from 'vinyl'; @@ -291,29 +291,46 @@ export class TscTranspiler implements ITranspiler { } } -function _isDefaultEmpty(src: string): boolean { - return src - .replace('"use strict";', '') - .replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, '$1') - .trim().length === 0; -} - - -export class SwcTranspiler implements ITranspiler { - - onOutfile?: ((file: Vinyl) => void) | undefined; +export class ESBuildTranspiler implements ITranspiler { private readonly _outputFileNames: OutputFileNameOracle; private _jobs: Promise[] = []; + onOutfile?: ((file: Vinyl) => void) | undefined; + + private readonly _transformOpts: esbuild.TransformOptions; + constructor( private readonly _logFn: (topic: string, message: string) => void, private readonly _onError: (err: any) => void, configFilePath: string, private readonly _cmdLine: ts.ParsedCommandLine ) { - _logFn('Transpile', `will use SWC to transpile source files`); + _logFn('Transpile', `will use ESBuild to transpile source files`); this._outputFileNames = new OutputFileNameOracle(_cmdLine, configFilePath); + + const isExtension = configFilePath.includes('extensions'); + + this._transformOpts = { + target: ['es2022'], + format: isExtension ? 'cjs' : 'esm', + platform: isExtension ? 'node' : undefined, + loader: 'ts', + sourcemap: 'inline', + tsconfigRaw: JSON.stringify({ + compilerOptions: { + ...this._cmdLine.options, + ...{ + module: isExtension ? ts.ModuleKind.CommonJS : undefined + } satisfies ts.CompilerOptions + } + }), + supported: { + 'class-static-blocks': false, // SEE https://github.com/evanw/esbuild/issues/3823, + 'dynamic-import': !isExtension, // see https://github.com/evanw/esbuild/issues/1281 + 'class-field': !isExtension + } + }; } async join(): Promise { @@ -323,29 +340,18 @@ export class SwcTranspiler implements ITranspiler { } transpile(file: Vinyl): void { - if (this._cmdLine.options.noEmit) { - // not doing ANYTHING here - return; + if (!(file.contents instanceof Buffer)) { + throw Error('file.contents must be a Buffer'); } - - const tsSrc = String(file.contents); const t1 = Date.now(); - - let options: swc.Options = SwcTranspiler._swcrcEsm; - if (this._cmdLine.options.module === ts.ModuleKind.AMD) { - const isAmd = /\n(import|export)/m.test(tsSrc); - if (isAmd) { - options = SwcTranspiler._swcrcAmd; - } - } else if (this._cmdLine.options.module === ts.ModuleKind.CommonJS || this._cmdLine.options.module === ts.ModuleKind.Node16) { - options = SwcTranspiler._swcrcCommonJS; - } - - this._jobs.push(swc.transform(tsSrc, options).then(output => { + this._jobs.push(esbuild.transform(file.contents, { + ...this._transformOpts, + sourcefile: file.path, + }).then(result => { // check if output of a DTS-files isn't just "empty" and iff so // skip this file - if (file.path.endsWith('.d.ts') && _isDefaultEmpty(output.code)) { + if (file.path.endsWith('.d.ts') && _isDefaultEmpty(result.code)) { return; } @@ -355,56 +361,21 @@ export class SwcTranspiler implements ITranspiler { this.onOutfile!(new Vinyl({ path: outPath, base: outBase, - contents: Buffer.from(output.code), + contents: Buffer.from(result.code), })); - this._logFn('Transpile', `swc took ${Date.now() - t1}ms for ${file.path}`); + this._logFn('Transpile', `esbuild took ${Date.now() - t1}ms for ${file.path}`); }).catch(err => { this._onError(err); })); } - - // --- .swcrc - - - private static readonly _swcrcAmd: swc.Options = { - exclude: '\.js$', - jsc: { - parser: { - syntax: 'typescript', - tsx: false, - decorators: true - }, - target: 'es2022', - loose: false, - minify: { - compress: false, - mangle: false - }, - transform: { - useDefineForClassFields: false, - }, - }, - module: { - type: 'amd', - noInterop: false - }, - minify: false, - }; - - private static readonly _swcrcCommonJS: swc.Options = { - ...this._swcrcAmd, - module: { - type: 'commonjs', - importInterop: 'swc' - } - }; - - private static readonly _swcrcEsm: swc.Options = { - ...this._swcrcAmd, - module: { - type: 'es6' - } - }; +} + +function _isDefaultEmpty(src: string): boolean { + return src + .replace('"use strict";', '') + .replace(/\/\/# sourceMappingURL.*^/, '') + .replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, '$1') + .trim().length === 0; } diff --git a/extensions/markdown-language-features/src/test/pasteUrl.test.ts b/extensions/markdown-language-features/src/test/pasteUrl.test.ts index ea4a3f868af0..fdb6e6c2f717 100644 --- a/extensions/markdown-language-features/src/test/pasteUrl.test.ts +++ b/extensions/markdown-language-features/src/test/pasteUrl.test.ts @@ -181,7 +181,12 @@ suite('createEditAddingLinksForUriList', () => { }); test('Smart should be disabled in math blocks', async () => { - const katex = (await import('@vscode/markdown-it-katex')).default; + + let katex: any = (await import('@vscode/markdown-it-katex')).default; + if (typeof katex === 'object') { + katex = katex.default; + } + const engine = createNewMarkdownEngine(); (await engine.getEngine(undefined)).use(katex); assert.strictEqual( diff --git a/package-lock.json b/package-lock.json index 0770fcbad181..05992f09933b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,7 +54,6 @@ }, "devDependencies": { "@playwright/test": "^1.46.1", - "@swc/core": "1.3.62", "@types/cookie": "^0.3.3", "@types/debug": "^4.1.5", "@types/eslint": "^8.56.10", @@ -1794,200 +1793,6 @@ "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", "dev": true }, - "node_modules/@swc/core": { - "version": "1.3.62", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.62.tgz", - "integrity": "sha512-J58hWY+/G8vOr4J6ZH9hLg0lMSijZtqIIf4HofZezGog/pVX6sJyBJ40dZ1ploFkDIlWTWvJyqtpesBKS73gkQ==", - "dev": true, - "hasInstallScript": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.3.62", - "@swc/core-darwin-x64": "1.3.62", - "@swc/core-linux-arm-gnueabihf": "1.3.62", - "@swc/core-linux-arm64-gnu": "1.3.62", - "@swc/core-linux-arm64-musl": "1.3.62", - "@swc/core-linux-x64-gnu": "1.3.62", - "@swc/core-linux-x64-musl": "1.3.62", - "@swc/core-win32-arm64-msvc": "1.3.62", - "@swc/core-win32-ia32-msvc": "1.3.62", - "@swc/core-win32-x64-msvc": "1.3.62" - }, - "peerDependencies": { - "@swc/helpers": "^0.5.0" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@swc/core-darwin-arm64": { - "version": "1.3.62", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.62.tgz", - "integrity": "sha512-MmGilibITz68LEje6vJlKzc2gUUSgzvB3wGLSjEORikTNeM7P8jXVxE4A8fgZqDeudJUm9HVWrxCV+pHDSwXhA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-darwin-x64": { - "version": "1.3.62", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.62.tgz", - "integrity": "sha512-Xl93MMB3sCWVlYWuQIB+v6EQgzoiuQYK5tNt9lsHoIEVu2zLdkQjae+5FUHZb1VYqCXIiWcULFfVz0R4Sjb7JQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.3.62", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.62.tgz", - "integrity": "sha512-nJsp6O7kCtAjTTMcIjVB0g5y1JNiYAa5q630eiwrnaHUusEFoANDdORI3Z9vXeikMkng+6yIv9/V8Rb093xLjQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.3.62", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.62.tgz", - "integrity": "sha512-XGsV93vpUAopDt5y6vPwbK1Nc/MlL55L77bAZUPIiosWD1cWWPHNtNSpriE6+I+JiMHe0pqtfS/SSTk6ZkFQVw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.3.62", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.62.tgz", - "integrity": "sha512-ESUmJjSlTTkoBy9dMG49opcNn8BmviqStMhwyeD1G8XRnmRVCZZgoBOKdvCXmJhw8bQXDhZumeaTUB+OFUKVXg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.3.62", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.62.tgz", - "integrity": "sha512-wnHJkt3ZBrax3SFnUHDcncG6mrSg9ZZjMhQV9Mc3JL1x1s1Gy9rGZCoBNnV/BUZWTemxIBcQbANRSDut/WO+9A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-musl": { - "version": "1.3.62", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.62.tgz", - "integrity": "sha512-9oRbuTC/VshB66Rgwi3pTq3sPxSTIb8k9L1vJjES+dDMKa29DAjPtWCXG/pyZ00ufpFZgkGEuAHH5uqUcr1JQg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.3.62", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.62.tgz", - "integrity": "sha512-zv14vlF2VRrxS061XkfzGjCYnOrEo5glKJjLK5PwUKysIoVrx/L8nAbFxjkX5cObdlyoqo+ekelyBPAO+4bS0w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.3.62", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.62.tgz", - "integrity": "sha512-8MC/PZQSsOP2iA/81tAfNRqMWyEqTS/8zKUI67vPuLvpx6NAjRn3E9qBv7iFqH79iqZNzqSMo3awnLrKZyFbcw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.3.62", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.62.tgz", - "integrity": "sha512-GJSmUJ95HKHZXAxiuPUmrcm/S3ivQvEzXhOZaIqYBIwUsm02vFZkClsV7eIKzWjso1t0+I/8MjrnUNaSWqh1rQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", diff --git a/package.json b/package.json index b9d34543ce2e..14be64618136 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,6 @@ }, "devDependencies": { "@playwright/test": "^1.46.1", - "@swc/core": "1.3.62", "@types/cookie": "^0.3.3", "@types/debug": "^4.1.5", "@types/eslint": "^8.56.10",