Esbuild Web Worker Type Safety and Redundant tsconfig.worker.json

Open
#30,676 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
angular, typescript
Domain
build-system, cli

Research direction

Start by reproducing the described Angular CLI esbuild workflow: generate a web worker, add a type error, and run ng build. Inspect the generated tsconfig.worker.json and the builder schema's webWorkerTsConfig option. Done means worker type-checking behavior is corrected or clearly documented, with misleading configuration addressed.

Written by the indexing model from the issue text.

Description

angular/build:application area: @angular/build freq1: low severity1: confusing type: bug/fix
Command

build

Is this a regression?
  • Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was

No response

Description

When using esbuild as the bundler for Angular projects, the support for web workers appears misleading in terms of type safety:

  • In the previous webpack-based build setup, web workers had proper TypeScript type checking at build time.

  • Currently, esbuild does not type-check web workers during build time. This is not documented or clearly communicated, leading to a false sense of correctness.

  • Additionally, creating a project with a web worker generates a tsconfig.worker.json, which seems redundant because esbuild doesn't use it for type-checking. Also builder contains the webWorkerTsConfig option in the schema, as I understand it, this doesn't affect anything. This can confuse developers into thinking their web worker code is properly validated.

Expected Behavior

Either esbuild-based builder should perform type checking on web worker files, or there should be clear documentation and/or warnings that type-checking is not performed on workers.

Current Behavior

  • No build-time type checking for worker code.

  • Misleading tsconfig.worker.json is generated, giving false confidence in type safety.

Minimal Reproduction
  1. Generate a new Angular project with esbuild (Angular CLI 18+).
  2. Add a web worker via ng generate web-worker.
  3. Introduce a type error in the worker file.
  4. Run ng build – no type error is reported.
Exception or Error

Your Environment
Any version with esbuild bundler.
Anything else relevant?

No response

Dominant language
TypeScript
Stars
27k
Forks
11.8k
Avg merge
16h 35m
Merged PRs (30d)
176

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from angular/angular-cli

All issues in angular/angular-cli

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.