Bug: [ngtools] Replace resource transformer issue with conditional `templateUrl`
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- angular, typescript, webpack
- Ambito
- build-system, tooling
Direzione di ricerca
Inizia eseguendo packages/ngtools/webpack/src/transformers/replace_resources_spec.ts e leggendo il transformer replace_resources.ts correlato. Usa la riproduzione fallita con templateUrl condizionale e confronta l'output ESM e CommonJS generato. Il lavoro è completo quando entrambe le forme trasformano correttamente la risorsa condizionale e il test passa.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Command
test
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 having conditional templateUrl like this
templateUrl:
true === true
? './dashboard.component.html'
: './dashboard.component.copy.html',
replace_resources.ts couldn't transform into proper codes (either require or import)
Minimal Reproduction
- Run this test file https://github.com/ahnpnl/angular-cli/blob/bug/replace-resource/packages/ngtools/webpack/src/transformers/replace_resources_spec.ts
- Observe test failed
- Print out the output which would contain something like
// esm
//...
AppComponent = __decorate([
Component({
selector: 'app-root',
templateUrl: true === true
? './app.component.html'
: './app.component.copy.html',
styles: [__NG_CLI_RESOURCE__0, __NG_CLI_RESOURCE__1]
})
], AppComponent);
// commonjs
//...
exports.AppComponent = AppComponent = tslib_1.__decorate([
(0, core_1.Component)({
selector: 'app-root',
templateUrl: true === true
? './app.component.html'
: './app.component.copy.html',
styles: [require("./app.component.css?ngResource"), require("./app.component.2.css?ngResource")]
})
], AppComponent);
Exception or Error
Component 'AppComponent' is not resolved:
- templateUrl: ./app.component.html
Did you run and wait for 'resolveComponentResources()'?
### Your Environment
```text
Angular CLI: 17.3.6
Node: 20.12.2
Package Manager: yarn 1.22.17
OS: darwin x64
Angular: 18.0.0-rc.0
... animations, cdk, common, compiler, compiler-cli, core, forms
... localize, material, platform-browser
... platform-browser-dynamic, platform-server, router
... service-worker
Package Version
------------------------------------------------------
@angular-devkit/architect 0.0.0-EXPERIMENTAL-PLACEHOLDER
@angular-devkit/core 0.0.0-PLACEHOLDER
@angular-devkit/schematics 0.0.0-PLACEHOLDER
@angular/bazel 18.1.0-next.0+sha-1872fcd
@angular/build-tooling 0.0.0-e6e98d32d7d4d350ecf4ec10ad9c7e75198daabd
@angular/ng-dev <error>
@schematics/angular 0.0.0-PLACEHOLDER
ng-packagr 18.0.0-rc.0
rxjs 7.8.1
typescript 5.4.5
webpack 5.91.0
zone.js 0.14.4
Anything else relevant?
Related to this bug https://github.com/thymikee/jest-preset-angular/issues/1866
- Lingua principale
- TypeScript
- Stelle
- 27k
- Fork
- 11.8k
- Merge medio
- 16h 35m
- PR unite (30g)
- 176
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di angular/angular-cli
-
area: @angular/build gemini-triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
angular/angular-cli#33955 ·
-
area: @angular/cli gemini-triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
angular/angular-cli#33055 · 1 commento · 3 reazioni ·
-
unit-test: with --coverage, a setup file's hooks reach only the first spec file of each worker Apertaarea: @angular/build gemini-triaged
Difficoltà 4/5 3-5 giorni Idoneità per principianti 72/100
angular/angular-cli#34137 ·
-
angular/build:library area: @angular/build gemini-triaged
angular/angular-cli#34131 · 1 assegnatario ·
-
angular/build:library area: @angular/build gemini-triaged
angular/angular-cli#34130 · 1 assegnatario ·
Tutte le issue di angular/angular-cli
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
dennys-bd/agent-hive#184 ·
-
Add: hunch Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
AbdelStark/awesome-typesafe#104 ·
-
ai-observability bug team/ai-observability
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
vicharanashala/fln#563 ·