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

Esbuild builder doesn't copy assets in watch mode #28415

Open
1 task done
PooSham opened this issue Sep 13, 2024 · 0 comments
Open
1 task done

Esbuild builder doesn't copy assets in watch mode #28415

PooSham opened this issue Sep 13, 2024 · 0 comments
Labels
angular/build:application area: @angular/build freq1: low Only reported by a handful of users who observe it rarely severity3: broken

Comments

@PooSham
Copy link

PooSham commented Sep 13, 2024

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

browser builder (webpack based)

Description

When running ng build --watch with either the build-esbuild or application builder, there is first a build step where everything is copied to the destination folder, including assets, but if a change is made to an asset after the initial bundle, then nothing happens. I'd expect the assets defined in the builders' "assets" option to also be updated during watch mode.

When I try the same in the webpack based "browser" builder, then everything is copied.

Minimal Reproduction

  • In angular.json, put the following inside "architect":
"build": {
    "builder": "@angular-devkit/build-angular:application",
    "options": {
        "assets": ["src/assets"],
        "index": "src/index.html",
        "browser": "src/main.ts",
        "outputPath": "dist",
        "tsConfig": "tsconfig.app.json"
    }
}
  • Make sure you have an index.html, main.ts and tsconfig.app.json.
  • Put some text file inside of src/assets.
  • Run ng build --watch.
  • Make a change to the text file inside the assets folder
  • Notice that the file hasn't been updated inside the dist folder

Exception or Error

No response

Your Environment

Angular CLI: 18.2.1
Node: 20.12.0
Package Manager: npm 10.5.0
OS: win32 x64

Angular: 18.2.1
... animations, cdk, cli, common, core, elements, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1802.1
@angular-devkit/build-angular   18.2.1
@angular-devkit/core            18.2.1
@angular-devkit/schematics      18.2.1
@schematics/angular             18.2.1
rxjs                            7.8.1
typescript                      5.5.4

Anything else relevant?

I have tried to dive into the Angular CLI source code, and I found that the watcher is given which files to watch here. I think the result comes from here, but it's a bit abstracted away and I can't easily find the source.

@alan-agius4 alan-agius4 added freq1: low Only reported by a handful of users who observe it rarely severity3: broken angular/build:application area: @angular/build labels Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
angular/build:application area: @angular/build freq1: low Only reported by a handful of users who observe it rarely severity3: broken
Projects
None yet
Development

No branches or pull requests

2 participants