angular / angular/angular-cli

File replacements are ignored for web workers

Open
#29,546 8 comments 8 reactions 0 assignees View on GitHub
angular/build:application area: @angular/build freq1: low severity3: broken type: bug/fix
Dominant language
TypeScript
Stars
27k
Forks
11.8k
Avg merge
14h 23m
Merged PRs (30d)
162

Description

### Command

build, serve

### Is this a regression?

- [x] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

v18

### Description

Hi, we recently updated to angular v19. During that we also migrated the builder to the recommended `@angular/build` builder, but in my tests the error also occured for the old devkit builder. After the update, we noticed that file replacements are ignored for web workers, see minimal reproduction. Before our upgrade, this was working without problems. I'm happy about any help :)

### Minimal Reproduction

StackBlitz: https://stackblitz.com/edit/4gqtqodb

After everything was built, you will see in the console:
```
Component: production
Worker: development
```

However, as defined in the `angular.json`, the file `env.ts` should be replaced by `env.prod.ts`, which is done correctly in the component.

### Exception or Error

```text

```

### Your Environment

```text
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/

Angular CLI: 19.0.7
Node: 18.20.3
Package Manager: npm 10.2.3
OS: linux x64

Angular: 19.0.6
... animations, common, compiler, compiler-cli, core, forms
... platform-browser

Package Version
------------------------------------------------------
@angular-devkit/architect 0.1900.7
@angular-devkit/core 19.0.7
@angular-devkit/schematics 19.0.7
@angular/build 19.0.7
@angular/cdk 19.0.5
@angular/cli 19.0.7
@angular/material 19.0.5
@schematics/angular 19.0.7
rxjs 7.8.1
typescript 5.6.3
zone.js 0.15.0
```

### Anything else relevant?

Seems to happen for both build and serve, local and on stackblitz and for both the devkit and the new builder.

Contributor guide

Open the contributing guide

Research direction

Start with the linked StackBlitz reproduction and its angular.json, then compare how file replacements are applied to the component and web worker for both build and serve. Done means env.prod.ts is used by the worker as well as the component under the configured replacement, using either builder.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.