angular / angular/angular-cli

assets entry for the build-angular does not support yarn pnp package paths?

Offen
#25,263 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: @angular-devkit/build-angular
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.