From 967982e245569f0aa465e8476124c34bee946205 Mon Sep 17 00:00:00 2001 From: Henning Dieterichs Date: Wed, 30 Jul 2025 18:28:24 +0200 Subject: [PATCH] amd progress --- build/build-languages.ts | 171 +++++++++--------- build/build-monaco-editor.ts | 10 +- package-lock.json | 13 ++ package.json | 3 + src/fillers/monaco-editor-core-amd.ts | 4 +- src/language/common/initialize.ts | 7 + src/language/common/workers.ts | 134 ++++++++++++++ src/language/css/css.worker.ts | 4 +- src/language/css/workerManager.ts | 3 +- src/language/html/html.worker.ts | 2 +- src/language/html/workerManager.ts | 3 +- src/language/json/json.worker.ts | 2 +- src/language/json/workerManager.ts | 3 +- .../typescript/lib/editor.worker.d.ts | 8 +- src/language/typescript/ts.worker.ts | 2 +- src/language/typescript/workerManager.ts | 3 +- src/tsconfig.json | 2 +- test/smoke/esbuild/index.js | 8 +- test/smoke/package-esbuild.ts | 3 +- test/smoke/runner.js | 9 +- 20 files changed, 283 insertions(+), 111 deletions(-) create mode 100644 src/language/common/initialize.ts create mode 100644 src/language/common/workers.ts diff --git a/build/build-languages.ts b/build/build-languages.ts index a5933794..90dba5d3 100644 --- a/build/build-languages.ts +++ b/build/build-languages.ts @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ import glob from 'glob'; -import { runTsc, massageAndCopyDts, buildESM, buildAMD } from './utils'; -import { copyFile, removeDir } from './fs'; +import { runTsc, massageAndCopyDts, buildESM } from './utils'; +import { removeDir } from './fs'; removeDir(`out/languages`); @@ -47,23 +47,24 @@ buildESM({ ], external: ['monaco-editor-core', '*/cssMode', '*/monaco.contribution'] }); -buildAMD({ - base: 'language/css', - entryPoint: 'src/language/css/monaco.contribution.ts', - amdModuleId: 'vs/language/css/monaco.contribution', - amdDependencies: ['vs/editor/editor.api'] -}); -buildAMD({ - base: 'language/css', - entryPoint: 'src/language/css/cssMode.ts', - amdModuleId: 'vs/language/css/cssMode', - external: ['*/monaco.contribution'] -}); -buildAMD({ - base: 'language/css', - entryPoint: 'src/language/css/cssWorker.ts', - amdModuleId: 'vs/language/css/cssWorker' -}); + +// buildAMD({ +// base: 'language/css', +// entryPoint: 'src/language/css/monaco.contribution.ts', +// amdModuleId: 'vs/language/css/monaco.contribution', +// amdDependencies: ['vs/editor/editor.api'] +// }); +// buildAMD({ +// base: 'language/css', +// entryPoint: 'src/language/css/cssMode.ts', +// amdModuleId: 'vs/language/css/cssMode', +// external: ['*/monaco.contribution'] +// }); +// buildAMD({ +// base: 'language/css', +// entryPoint: 'src/language/css/cssWorker.ts', +// amdModuleId: 'vs/language/css/cssWorker' +// }); //#endregion @@ -78,23 +79,23 @@ buildESM({ ], external: ['monaco-editor-core', '*/htmlMode', '*/monaco.contribution'] }); -buildAMD({ - base: 'language/html', - entryPoint: 'src/language/html/monaco.contribution.ts', - amdModuleId: 'vs/language/html/monaco.contribution', - amdDependencies: ['vs/editor/editor.api'] -}); -buildAMD({ - base: 'language/html', - entryPoint: 'src/language/html/htmlMode.ts', - amdModuleId: 'vs/language/html/htmlMode', - external: ['*/monaco.contribution'] -}); -buildAMD({ - base: 'language/html', - entryPoint: 'src/language/html/htmlWorker.ts', - amdModuleId: 'vs/language/html/htmlWorker' -}); +// buildAMD({ +// base: 'language/html', +// entryPoint: 'src/language/html/monaco.contribution.ts', +// amdModuleId: 'vs/language/html/monaco.contribution', +// amdDependencies: ['vs/editor/editor.api'] +// }); +// buildAMD({ +// base: 'language/html', +// entryPoint: 'src/language/html/htmlMode.ts', +// amdModuleId: 'vs/language/html/htmlMode', +// external: ['*/monaco.contribution'] +// }); +// buildAMD({ +// base: 'language/html', +// entryPoint: 'src/language/html/htmlWorker.ts', +// amdModuleId: 'vs/language/html/htmlWorker' +// }); //#endregion @@ -109,23 +110,23 @@ buildESM({ ], external: ['monaco-editor-core', '*/jsonMode', '*/monaco.contribution'] }); -buildAMD({ - base: 'language/json', - entryPoint: 'src/language/json/monaco.contribution.ts', - amdModuleId: 'vs/language/json/monaco.contribution', - amdDependencies: ['vs/editor/editor.api'] -}); -buildAMD({ - base: 'language/json', - entryPoint: 'src/language/json/jsonMode.ts', - amdModuleId: 'vs/language/json/jsonMode', - external: ['*/monaco.contribution'] -}); -buildAMD({ - base: 'language/json', - entryPoint: 'src/language/json/jsonWorker.ts', - amdModuleId: 'vs/language/json/jsonWorker' -}); +// buildAMD({ +// base: 'language/json', +// entryPoint: 'src/language/json/monaco.contribution.ts', +// amdModuleId: 'vs/language/json/monaco.contribution', +// amdDependencies: ['vs/editor/editor.api'] +// }); +// buildAMD({ +// base: 'language/json', +// entryPoint: 'src/language/json/jsonMode.ts', +// amdModuleId: 'vs/language/json/jsonMode', +// external: ['*/monaco.contribution'] +// }); +// buildAMD({ +// base: 'language/json', +// entryPoint: 'src/language/json/jsonWorker.ts', +// amdModuleId: 'vs/language/json/jsonWorker' +// }); //#endregion @@ -140,23 +141,23 @@ buildESM({ ], external: ['monaco-editor-core', '*/tsMode', '*/monaco.contribution'] }); -buildAMD({ - base: 'language/typescript', - entryPoint: 'src/language/typescript/monaco.contribution.ts', - amdModuleId: 'vs/language/typescript/monaco.contribution', - amdDependencies: ['vs/editor/editor.api'] -}); -buildAMD({ - base: 'language/typescript', - entryPoint: 'src/language/typescript/tsMode.ts', - amdModuleId: 'vs/language/typescript/tsMode', - external: ['*/monaco.contribution'] -}); -buildAMD({ - base: 'language/typescript', - entryPoint: 'src/language/typescript/tsWorker.ts', - amdModuleId: 'vs/language/typescript/tsWorker' -}); +// buildAMD({ +// base: 'language/typescript', +// entryPoint: 'src/language/typescript/monaco.contribution.ts', +// amdModuleId: 'vs/language/typescript/monaco.contribution', +// amdDependencies: ['vs/editor/editor.api'] +// }); +// buildAMD({ +// base: 'language/typescript', +// entryPoint: 'src/language/typescript/tsMode.ts', +// amdModuleId: 'vs/language/typescript/tsMode', +// external: ['*/monaco.contribution'] +// }); +// buildAMD({ +// base: 'language/typescript', +// entryPoint: 'src/language/typescript/tsWorker.ts', +// amdModuleId: 'vs/language/typescript/tsWorker' +// }); //#endregion @@ -192,21 +193,21 @@ glob('../src/basic-languages/*/*.contribution.ts', { cwd: __dirname }, function } // AMD - { - buildAMD({ - base: 'basic-languages', - entryPoint: 'src/basic-languages/monaco.contribution.ts', - amdModuleId: 'vs/basic-languages/monaco.contribution', - amdDependencies: ['vs/editor/editor.api'] - }); - for (const language of languages) { - buildAMD({ - base: 'basic-languages', - entryPoint: `src/basic-languages/${language}/${language}.ts`, - amdModuleId: `vs/basic-languages/${language}/${language}` - }); - } - } + // { + // buildAMD({ + // base: 'basic-languages', + // entryPoint: 'src/basic-languages/monaco.contribution.ts', + // amdModuleId: 'vs/basic-languages/monaco.contribution', + // amdDependencies: ['vs/editor/editor.api'] + // }); + // for (const language of languages) { + // buildAMD({ + // base: 'basic-languages', + // entryPoint: `src/basic-languages/${language}/${language}.ts`, + // amdModuleId: `vs/basic-languages/${language}/${language}` + // }); + // } + // } }); //#endregion diff --git a/build/build-monaco-editor.ts b/build/build-monaco-editor.ts index c3aa4b5f..ec93a6a2 100644 --- a/build/build-monaco-editor.ts +++ b/build/build-monaco-editor.ts @@ -7,16 +7,16 @@ import path = require('path'); import fs = require('fs'); import { REPO_ROOT, readFiles, writeFiles, IFile, readFile } from '../build/utils'; import { removeDir } from '../build/fs'; -import ts = require('typescript'); import { generateMetadata } from './releaseMetadata'; +import ts = require('typescript'); removeDir(`out/monaco-editor`); -// dev folder -AMD_releaseOne('dev'); +// // dev folder +// AMD_releaseOne('dev'); -// min folder -AMD_releaseOne('min'); +// // min folder +// AMD_releaseOne('min'); // esm folder ESM_release(); diff --git a/package-lock.json b/package-lock.json index 625ff63c..1cb4a2ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,9 @@ "version": "0.52.0", "hasInstallScript": true, "license": "MIT", + "dependencies": { + "@types/trusted-types": "^1.0.6" + }, "devDependencies": { "@types/mocha": "^9.1.0", "@types/shelljs": "^0.8.11", @@ -2308,6 +2311,11 @@ "@types/node": "*" } }, + "node_modules/@types/trusted-types": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-1.0.6.tgz", + "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==" + }, "node_modules/@typescript/vfs": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.3.5.tgz", @@ -9011,6 +9019,11 @@ "@types/node": "*" } }, + "@types/trusted-types": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-1.0.6.tgz", + "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==" + }, "@typescript/vfs": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.3.5.tgz", diff --git a/package.json b/package.json index bdc41ec1..d80c6ca8 100644 --- a/package.json +++ b/package.json @@ -77,5 +77,8 @@ "alias": { "process": false, "buffer": false + }, + "dependencies": { + "@types/trusted-types": "^1.0.6" } } diff --git a/src/fillers/monaco-editor-core-amd.ts b/src/fillers/monaco-editor-core-amd.ts index 3580fa0f..6709773f 100644 --- a/src/fillers/monaco-editor-core-amd.ts +++ b/src/fillers/monaco-editor-core-amd.ts @@ -6,6 +6,6 @@ // Resolves with the global monaco API /// -import * as api from 'vs/editor/editor.api'; -export = api; +// export = api; +export * from 'monaco-editor-core'; diff --git a/src/language/common/initialize.ts b/src/language/common/initialize.ts new file mode 100644 index 00000000..41f7cf3c --- /dev/null +++ b/src/language/common/initialize.ts @@ -0,0 +1,7 @@ +import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker.start'; + +export function initialize(callback: (ctx: any, createData: any) => any): void { + self.onmessage = (m) => { + worker.start((ctx) => callback(ctx, m.data)); + }; +} diff --git a/src/language/common/workers.ts b/src/language/common/workers.ts new file mode 100644 index 00000000..bbfb47d5 --- /dev/null +++ b/src/language/common/workers.ts @@ -0,0 +1,134 @@ +import { editor } from '../../fillers/monaco-editor-core'; + +export function createTrustedTypesPolicy( + policyName: string, + policyOptions?: Options +): + | undefined + | Pick< + TrustedTypePolicy, + 'name' | Extract + > { + interface IMonacoEnvironment { + createTrustedTypesPolicy( + policyName: string, + policyOptions?: Options + ): + | undefined + | Pick< + TrustedTypePolicy, + 'name' | Extract + >; + } + const monacoEnvironment: IMonacoEnvironment | undefined = (globalThis as any).MonacoEnvironment; + + if (monacoEnvironment?.createTrustedTypesPolicy) { + try { + return monacoEnvironment.createTrustedTypesPolicy(policyName, policyOptions); + } catch (err) { + console.error(err); + return undefined; + } + } + try { + return (globalThis as any).trustedTypes?.createPolicy(policyName, policyOptions); + } catch (err) { + console.error(err); + return undefined; + } +} + +let ttPolicy: ReturnType; +if ( + typeof self === 'object' && + self.constructor && + self.constructor.name === 'DedicatedWorkerGlobalScope' && + (globalThis as any).workerttPolicy !== undefined +) { + ttPolicy = (globalThis as any).workerttPolicy; +} else { + ttPolicy = createTrustedTypesPolicy('defaultWorkerFactory', { + createScriptURL: (value) => value + }); +} + +export function getWorker(descriptor: { + label: string; + moduleId: string; +}): Worker | Promise { + const label = descriptor.label; + // Option for hosts to overwrite the worker script (used in the standalone editor) + interface IMonacoEnvironment { + getWorker?(moduleId: string, label: string): Worker | Promise; + getWorkerUrl?(moduleId: string, label: string): string; + } + const monacoEnvironment: IMonacoEnvironment | undefined = (globalThis as any).MonacoEnvironment; + if (monacoEnvironment) { + if (typeof monacoEnvironment.getWorker === 'function') { + return monacoEnvironment.getWorker('workerMain.js', label); + } + if (typeof monacoEnvironment.getWorkerUrl === 'function') { + const workerUrl = monacoEnvironment.getWorkerUrl('workerMain.js', label); + return new Worker( + ttPolicy ? (ttPolicy.createScriptURL(workerUrl) as unknown as string) : workerUrl, + { name: label, type: 'module' } + ); + } + } + + // const esmWorkerLocation = descriptor.esmModuleLocation; + // if (esmWorkerLocation) { + // const workerUrl = getWorkerBootstrapUrl(label, esmWorkerLocation.toString(true)); + // const worker = new Worker(ttPolicy ? ttPolicy.createScriptURL(workerUrl) as unknown as string : workerUrl, { name: label, type: 'module' }); + // return whenESMWorkerReady(worker); + // } + + throw new Error( + `You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker` + ); +} + +export function createWebWorker( + opts: IWebWorkerOptions +): editor.MonacoWebWorker { + const worker = Promise.resolve( + getWorker({ + label: opts.label ?? 'monaco-editor-worker', + moduleId: opts.moduleId + }) + ).then((w) => { + w.postMessage('ignore'); + w.postMessage(opts.createData); + return w; + }); + return editor.createWebWorker({ + worker, + host: opts.host, + keepIdleModels: opts.keepIdleModels + }); +} + +export interface IWebWorkerOptions { + /** + * The AMD moduleId to load. + * It should export a function `create` that should return the exported proxy. + */ + moduleId: string; + /** + * The data to send over when calling create on the module. + */ + createData?: any; + /** + * A label to be used to identify the web worker for debugging purposes. + */ + label?: string; + /** + * An object that can be used by the web worker to make calls back to the main thread. + */ + host?: any; + /** + * Keep idle models. + * Defaults to false, which means that idle models will stop syncing after a while. + */ + keepIdleModels?: boolean; +} diff --git a/src/language/css/css.worker.ts b/src/language/css/css.worker.ts index ececcade..5051c7fc 100644 --- a/src/language/css/css.worker.ts +++ b/src/language/css/css.worker.ts @@ -3,12 +3,12 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker'; +import { initialize } from '../common/initialize'; import { CSSWorker } from './cssWorker'; self.onmessage = () => { // ignore the first message - worker.initialize((ctx, createData) => { + initialize((ctx, createData) => { return new CSSWorker(ctx, createData); }); }; diff --git a/src/language/css/workerManager.ts b/src/language/css/workerManager.ts index d26fa6fc..e05242d6 100644 --- a/src/language/css/workerManager.ts +++ b/src/language/css/workerManager.ts @@ -6,6 +6,7 @@ import { LanguageServiceDefaults } from './monaco.contribution'; import type { CSSWorker } from './cssWorker'; import { editor, IDisposable, Uri } from '../../fillers/monaco-editor-core'; +import { createWebWorker } from '../common/workers'; const STOP_WHEN_IDLE_FOR = 2 * 60 * 1000; // 2min @@ -55,7 +56,7 @@ export class WorkerManager { this._lastUsedTime = Date.now(); if (!this._client) { - this._worker = editor.createWebWorker({ + this._worker = createWebWorker({ // module that exports the create() method and returns a `CSSWorker` instance moduleId: 'vs/language/css/cssWorker', diff --git a/src/language/html/html.worker.ts b/src/language/html/html.worker.ts index 3251956c..b29fdad8 100644 --- a/src/language/html/html.worker.ts +++ b/src/language/html/html.worker.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker'; +import * as worker from '../common/initialize'; import { HTMLWorker } from './htmlWorker'; self.onmessage = () => { diff --git a/src/language/html/workerManager.ts b/src/language/html/workerManager.ts index 4f48aa12..ee5f1b63 100644 --- a/src/language/html/workerManager.ts +++ b/src/language/html/workerManager.ts @@ -6,6 +6,7 @@ import { LanguageServiceDefaults } from './monaco.contribution'; import type { HTMLWorker } from './htmlWorker'; import { Uri, IDisposable, editor } from '../../fillers/monaco-editor-core'; +import { createWebWorker } from '../common/workers'; const STOP_WHEN_IDLE_FOR = 2 * 60 * 1000; // 2min @@ -55,7 +56,7 @@ export class WorkerManager { this._lastUsedTime = Date.now(); if (!this._client) { - this._worker = editor.createWebWorker({ + this._worker = createWebWorker({ // module that exports the create() method and returns a `HTMLWorker` instance moduleId: 'vs/language/html/htmlWorker', diff --git a/src/language/json/json.worker.ts b/src/language/json/json.worker.ts index be7295be..b6712e3e 100644 --- a/src/language/json/json.worker.ts +++ b/src/language/json/json.worker.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker'; +import * as worker from '../common/initialize'; import { JSONWorker } from './jsonWorker'; self.onmessage = () => { diff --git a/src/language/json/workerManager.ts b/src/language/json/workerManager.ts index d0cf7068..3425fd1d 100644 --- a/src/language/json/workerManager.ts +++ b/src/language/json/workerManager.ts @@ -6,6 +6,7 @@ import { LanguageServiceDefaults } from './monaco.contribution'; import type { JSONWorker } from './jsonWorker'; import { IDisposable, Uri, editor } from '../../fillers/monaco-editor-core'; +import { createWebWorker } from '../common/workers'; const STOP_WHEN_IDLE_FOR = 2 * 60 * 1000; // 2min @@ -55,7 +56,7 @@ export class WorkerManager { this._lastUsedTime = Date.now(); if (!this._client) { - this._worker = editor.createWebWorker({ + this._worker = createWebWorker({ // module that exports the create() method and returns a `JSONWorker` instance moduleId: 'vs/language/json/jsonWorker', diff --git a/src/language/typescript/lib/editor.worker.d.ts b/src/language/typescript/lib/editor.worker.d.ts index 1be75b8e..eb9bb41a 100644 --- a/src/language/typescript/lib/editor.worker.d.ts +++ b/src/language/typescript/lib/editor.worker.d.ts @@ -3,6 +3,8 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -declare module 'monaco-editor-core/esm/vs/editor/editor.worker' { - export function initialize(callback: (ctx: any, createData: any) => any): void; -} +declare module 'monaco-editor-core/esm/vs/editor/editor.worker.start' { + import type { worker } from 'monaco-editor-core'; + + export function start(createClient: (ctx: worker.IWorkerContext) => TClient): TClient; + } diff --git a/src/language/typescript/ts.worker.ts b/src/language/typescript/ts.worker.ts index d654d679..24cf1633 100644 --- a/src/language/typescript/ts.worker.ts +++ b/src/language/typescript/ts.worker.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { initialize } from 'monaco-editor-core/esm/vs/editor/editor.worker'; +import { initialize } from '../common/initialize'; import * as ts from './lib/typescriptServices'; import { ICreateData, TypeScriptWorker, create } from './tsWorker'; import { worker } from '../../fillers/monaco-editor-core'; diff --git a/src/language/typescript/workerManager.ts b/src/language/typescript/workerManager.ts index 8ae5a78f..a71627fa 100644 --- a/src/language/typescript/workerManager.ts +++ b/src/language/typescript/workerManager.ts @@ -6,6 +6,7 @@ import { LanguageServiceDefaults } from './monaco.contribution'; import type { TypeScriptWorker } from './tsWorker'; import { editor, Uri, IDisposable } from '../../fillers/monaco-editor-core'; +import { createWebWorker } from '../common/workers'; export class WorkerManager { private _configChangeListener: IDisposable; @@ -58,7 +59,7 @@ export class WorkerManager { private _getClient(): Promise { if (!this._client) { this._client = (async () => { - this._worker = editor.createWebWorker({ + this._worker = createWebWorker({ // module that exports the create() method and returns a `TypeScriptWorker` instance moduleId: 'vs/language/typescript/tsWorker', diff --git a/src/tsconfig.json b/src/tsconfig.json index ec06f5f3..103dbdf7 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "declaration": true, "lib": ["dom", "es5", "es2015.collection", "es2015.promise", "es2015.iterable"], - "module": "amd", + "module": "esnext", "moduleResolution": "node", "outDir": "../out/languages/amd-tsc", "strict": true, diff --git a/test/smoke/esbuild/index.js b/test/smoke/esbuild/index.js index b4fc1906..48dde9f7 100644 --- a/test/smoke/esbuild/index.js +++ b/test/smoke/esbuild/index.js @@ -19,8 +19,14 @@ self.MonacoEnvironment = { if (label === 'typescript' || label === 'javascript') { return './out/vs/language/typescript/ts.worker.js'; } - return './out/vs/editor/editor.worker.js'; + //return './out/vs/editor/editor.worker.js'; + return './out/vs/editor/common/services/editorWebWorkerMain.js'; } }; window.monacoAPI = monaco; + +window.ed = monacoAPI.editor.create(document.getElementById('editor-container'), { + value: '.test { color: blue; }', + language: 'javascript' +}); diff --git a/test/smoke/package-esbuild.ts b/test/smoke/package-esbuild.ts index 659f4df5..d74176f5 100644 --- a/test/smoke/package-esbuild.ts +++ b/test/smoke/package-esbuild.ts @@ -14,7 +14,8 @@ const workerEntryPoints = [ 'vs/language/css/css.worker.js', 'vs/language/html/html.worker.js', 'vs/language/typescript/ts.worker.js', - 'vs/editor/editor.worker.js' + //'vs/editor/editor.worker.js' + 'vs/editor/common/services/editorWebWorkerMain.js' ]; build({ diff --git a/test/smoke/runner.js b/test/smoke/runner.js index 1e5f109d..856bdc8f 100644 --- a/test/smoke/runner.js +++ b/test/smoke/runner.js @@ -42,13 +42,14 @@ async function runTests() { // uncomment to shortcircuit and run a specific combo // await runTest('webpack', 'chromium'); return; /** @type {PackagerKind[]} */ - const testTypes = ['amd', 'webpack', 'esbuild', 'vite']; + //const testTypes = ['amd', 'webpack', 'esbuild', 'vite']; + const testTypes = ['esbuild']; // TODO: add parcel! (this currently fails because parcel replaces process with {}) for (const type of testTypes) { await runTest(type, 'chromium'); - await runTest(type, 'firefox'); - await runTest(type, 'webkit'); + // await runTest(type, 'firefox'); + // await runTest(type, 'webkit'); } } @@ -73,7 +74,7 @@ function runTest(packager, browser) { path.join(REPO_ROOT, 'node_modules/mocha/bin/mocha'), 'test/smoke/*.test.js', '--no-delay', - '--headless', + //'--headless', '--timeout', '20000' ],