Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File replacements are ignored for web workers #29546

Open
1 task done
jsangmeister opened this issue Jan 30, 2025 · 3 comments
Open
1 task done

File replacements are ignored for web workers #29546

jsangmeister opened this issue Jan 30, 2025 · 3 comments

Comments

@jsangmeister
Copy link

jsangmeister commented Jan 30, 2025

Command

build, serve

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

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


Your Environment

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

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.

@iJhefe
Copy link

iJhefe commented Feb 4, 2025

same here after upgraded to 18 and started to use esbuild

@clydin
Copy link
Member

clydin commented Feb 4, 2025

We are investigating this issue. However, please consider switching to using conditional imports (https://angular.dev/tools/cli/build-system-migration#import-export-conditions) if possible. These provide improved capabilities for the common development/production use case including type-checking, improved IDE support, and leverage established methods for defining conditional behavior. A partial package.json containing only the imports section can be placed within the application source code directory structure as well to provide per application configuration.

@jsangmeister
Copy link
Author

Thanks for the recommendation, it looks promising. Unfortunatly, I believe this does not suit our needs as we currently have three different deployment setups (dev, stage, prod) with different file replacements for each. From what I've gathered, your suggested solution only supports differentation based on the optimization flag, so we would not be able to differentiate between stage and prod, as the both have optimization: true. Or is this possible somehow?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants