angular/angular-cli · warning

The 'webWorkerTsConfig' option is not yet supported by this

Error message

The 'webWorkerTsConfig' option is not yet supported by this builder.

What it means

Warning emitted by the browser-esbuild builder when 'webWorkerTsConfig' is supplied. The esbuild builder does not yet support a separate TypeScript configuration for web workers, so the option is ignored and workers are compiled with the main tsConfig. Web worker builds may behave differently than under the Webpack builder.

Source

Thrown at packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts:50

): AsyncIterable<BuilderOutput> {
  context.logger.warn(
    'The "@angular-devkit/build-angular:browser-esbuild" builder is deprecated as part of Angular\'s Webpack support deprecation. ' +
      'Use "@angular/build:application" instead. For more information, see https://angular.dev/tools/cli/build-system-migration.',
  );

  // Warn about any unsupported options
  if (userOptions['vendorChunk']) {
    context.logger.warn(
      `The 'vendorChunk' option is not used by this builder and will be ignored.`,
    );
  }
  if (userOptions['commonChunk'] === false) {
    context.logger.warn(
      `The 'commonChunk' option is always enabled by this builder and will be ignored.`,
    );
  }
  if (userOptions['webWorkerTsConfig']) {
    context.logger.warn(`The 'webWorkerTsConfig' option is not yet supported by this builder.`);
  }

  // Convert browser builder options to application builder options
  const normalizedOptions = convertBrowserOptions(userOptions);

  // Execute the application builder
  yield* buildApplication(normalizedOptions, context, { codePlugins: plugins });
}

export function convertBrowserOptions(
  options: BrowserBuilderOptions,
): Omit<ApplicationBuilderOptions, 'outputPath'> & { outputPath: OutputPathClass } {
  const {
    main: browser,
    outputPath,
    ngswConfigPath,
    serviceWorker,
    polyfills,

View on GitHub (pinned to bb72145f9a)

Solutions

  1. Remove `webWorkerTsConfig` from the browser-esbuild target options.
  2. Fold any needed worker-only compiler options into the main tsConfig (scoped with 'include' if necessary).
  3. If a separate worker tsConfig is mandatory, remain on the Webpack-based 'browser' builder.

Example fix

// before
"options": { "webWorkerTsConfig": "tsconfig.worker.json" }
// after
"options": {} // merge required settings into tsconfig.json
Defensive patterns

Strategy: validation

Validate before calling

if (builder === '@angular-devkit/build-angular:browser-esbuild' && 'webWorkerTsConfig' in (target.options ?? {})) {
  console.warn('webWorkerTsConfig unsupported by esbuild builder; merge into main tsConfig.');
}

Type guard

function hasWorkerTsConfig(o: unknown): o is { webWorkerTsConfig: string } {
  return typeof o === 'object' && o !== null && typeof (o as any).webWorkerTsConfig === 'string';
}

Prevention

When it happens

Trigger: Running '@angular-devkit/build-angular:browser-esbuild' with `webWorkerTsConfig` pointing at a tsconfig.webworker.json (or similar) in the target options.

Common situations: Angular apps using `new Worker(new URL(...), { type: 'module' })` with dedicated worker TS settings, after switching to the esbuild builder.

Related errors


AI-assisted analysis of angular/angular-cli@bb72145f9a (2026-08-30). Data as JSON: /api/errors/7fa404f5f25c9644. Report an issue: GitHub.