assets entry for the build-angular does not support yarn pnp package paths?
- 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
It does not appear to be possible to include assets and paths from a yarn pnp package.
It seems that build-angular builder supports pnp package resolution for styles, but not assets.
I would expect the assets path (dictionary specification option) to work to copy paths from pacakges in the pnp environment.
### Minimal Reproduction
% ng new test-yarn-example --style scss --no-routing
% cd test-yarn-example
% yarn add ng2-pdfjs-viewer
Next, add the path to the angular.json.
Just adding the string will result in the error saying it must be in the project source root.
Adding the dictionary version, yields no error but does not copy the assets either.
```
{
"glob": "**/*",
"input": "node_modules/ng2-pdfjs-viewer/pdfjs",
"output": "/assets/pdfjs"
}
```
% yarn build
### Exception or Error
```text
Unable to copy assets: The ng2-pdfjs-viewer/node_modules/pdfjs asset path must start with the project source root.
```
### Your Environment
```text
Angular CLI: 16.0.2
Node: 18.15.0
Package Manager: yarn 3.5.0
OS: darwin arm64
Angular: 16.0.2
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1600.2 (cli-only)
@angular-devkit/build-angular 16.0.2
@angular-devkit/core 16.0.2 (cli-only)
@angular-devkit/schematics 16.0.2 (cli-only)
@schematics/angular 16.0.2 (cli-only)
rxjs 7.8.1
typescript 5.0.4
```
### Anything else relevant?
_No response_
Beitragsleitfaden
Rechercherichtung
Beginne damit, das Problem mit den bereitgestellten Schritten ng new, yarn add, dem Asset-Eintrag in angular.json und yarn build zu reproduzieren, und verfolge anschließend die Asset-Verarbeitung von build-angular und deren Auflösung von Paketpfaden. Erledigt ist die Aufgabe, wenn ein Assets-Dictionary-Pfad aus einem Yarn Plug'n'Play-Paket akzeptiert und ohne den Fehler zum Projekt-Source-Root in das konfigurierte Ausgabeverzeichnis kopiert wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- angular, typescript
- Bereich
- build-system
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100