diff --git a/rollup.config.mjs b/rollup.config.mjs index f3c302b31..861858d31 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -185,4 +185,11 @@ export default [ return false; }, ), + bundleDependency( + './build/src/third_party/devtools-formatter-worker.js', + { + inlineDynamicImports: true, + }, + (_source, _importer, _isResolved) => false, + ), ]; diff --git a/src/DevtoolsUtils.ts b/src/DevtoolsUtils.ts index 21db7e314..684327a01 100644 --- a/src/DevtoolsUtils.ts +++ b/src/DevtoolsUtils.ts @@ -138,6 +138,12 @@ DevTools.I18n.DevToolsLocale.DevToolsLocale.instance({ }); DevTools.I18n.i18n.registerLocaleDataForTest('en-US', {}); +DevTools.Formatter.FormatterWorkerPool.FormatterWorkerPool.instance({ + forceNew: true, + entrypointURL: import.meta + .resolve('./third_party/devtools-formatter-worker.js'), +}); + export interface TargetUniverse { /** The DevTools target corresponding to the puppeteer Page */ target: DevTools.SDKTarget; diff --git a/src/third_party/devtools-formatter-worker.ts b/src/third_party/devtools-formatter-worker.ts new file mode 100644 index 000000000..9a6539bf2 --- /dev/null +++ b/src/third_party/devtools-formatter-worker.ts @@ -0,0 +1,8 @@ +/** + * @license + * Copyright 2026 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +// eslint-disable-next-line no-restricted-imports +import '../../node_modules/chrome-devtools-frontend/front_end/entrypoints/formatter_worker/formatter_worker-entrypoint.js'; diff --git a/src/third_party/devtools.ts b/src/third_party/devtools.ts index d4838b178..3bcda21f3 100644 --- a/src/third_party/devtools.ts +++ b/src/third_party/devtools.ts @@ -18,6 +18,7 @@ export { Issue, Target as SDKTarget, DebuggerModel, + Formatter, Foundation, TargetManager, MarkdownIssueDescription, diff --git a/tsconfig.json b/tsconfig.json index 4b65dedda..3d09e3f58 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -33,6 +33,7 @@ "node_modules/chrome-devtools-frontend/front_end/core/protocol_client", "node_modules/chrome-devtools-frontend/front_end/core/root", "node_modules/chrome-devtools-frontend/front_end/core/sdk", + "node_modules/chrome-devtools-frontend/front_end/entrypoints/formatter_worker", "node_modules/chrome-devtools-frontend/front_end/foundation/foundation.ts", "node_modules/chrome-devtools-frontend/front_end/foundation/Universe.ts", "node_modules/chrome-devtools-frontend/front_end/generated", @@ -60,6 +61,8 @@ "node_modules/chrome-devtools-frontend/front_end/models/trace", "node_modules/chrome-devtools-frontend/front_end/models/workspace", "node_modules/chrome-devtools-frontend/front_end/panels/issues/IssueAggregator.ts", + "node_modules/chrome-devtools-frontend/front_end/third_party/acorn", + "node_modules/chrome-devtools-frontend/front_end/third_party/codemirror", "node_modules/chrome-devtools-frontend/front_end/third_party/i18n", "node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat", "node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript", @@ -68,5 +71,8 @@ "node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web", "node_modules/chrome-devtools-frontend/mcp" ], - "exclude": ["node_modules/chrome-devtools-frontend/**/*.test.ts"] + "exclude": ["node_modules/chrome-devtools-frontend/**/*.test.ts"], + "files": [ + "node_modules/chrome-devtools-frontend/front_end/third_party/acorn/package/dist/acorn.mjs" + ] }