Esbuild Web Worker Type Safety and Redundant tsconfig.worker.json
- Vorherrschende Sprache
- TypeScript
- Sterne
- 27k
- Forks
- 11.8k
- Ø Merge
- 14 Std. 23 Min.
- Gemergte PRs (30 T.)
- 162
Beschreibung
### 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
```text
```
### Your Environment
```text
Any version with esbuild bundler.
```
### Anything else relevant?
_No response_
Beitragsleitfaden
Rechercherichtung
Beginne damit, den beschriebenen Angular CLI esbuild-Workflow zu reproduzieren: Erzeuge einen Web Worker, füge einen Typfehler hinzu und führe ng build aus. Untersuche die generierte tsconfig.worker.json und die Option webWorkerTsConfig im Builder-Schema. Als erledigt gilt die Aufgabe, wenn das Type-Checking von Workern korrigiert oder eindeutig dokumentiert ist und irreführende Konfiguration behoben wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- angular, typescript
- Bereich
- build-system, cli
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100