angular / angular/angular-cli

Junctions (linked folders) in the assets folder are only partially copied to the build output

Offen
#19,086 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: @angular-devkit/build-angular devkit/build-angular:browser feature feature: insufficient votes
Vorherrschende Sprache
TypeScript
Sterne
27k
Forks
11.8k
Ø Merge
14 Std. 23 Min.
Gemergte PRs (30 T.)
162

Beschreibung

# 🐞 Bug report

### Command

- [ ] new
- [x] build
- [x] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

### Is this a regression?
Did not work with ng 8 and does not work with ng 10. Did not check with 9 or anything before 8.

### Description

When creating a junction inside the src/assets folder to another folder somewhere in the filesystem, the compiled output only contains the files that are directly beneath the linked folder. Any sub-folders in this linked folder are ignored by the compiler.

## 🔬 Minimal Reproduction
Tested on Windows 10:

1. Create an empty angular app with `ng new assetsBugApp`,
2. create a folder outside the application like "testAssets"
3. Inside "testAssets" create a textfile "works.txt"
4. Inside "testAssets" create a folder "myFolder"
5. Inside "testAssets/myFolder" create a textfile "does not work.txt"
6. Create a junction from "assetsBugApp/src/assets/test" to "testAssets" (eg `mklink /J C:\tmp\assetsBugApp\src\assets\test C:\tmp\testAssets`)
7. Run `ng build`
8. Look in the dist/assets folder. You will find the folder "test" containing "works.txt" but no "myFolder" and no "does not work.txt"

## 🌍 Your Environment



Angular CLI: 10.1.4
Node: 12.18.3
OS: win32 x64

Angular: 10.1.4
... animations, cli, common, compiler, compiler-cli, core
... elements, forms, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes

Package Version
------------------------------------------------------------
@angular-devkit/architect 0.1001.4
@angular-devkit/build-angular 0.1001.4
@angular-devkit/build-ng-packagr 0.1001.4
@angular-devkit/core 10.1.1
@angular-devkit/schematics 10.1.4
@angular/cdk 10.2.3
@angular/language-service 10.1.1
@angular/material 10.2.3
@schematics/angular 10.1.4
@schematics/update 0.1001.4
ng-packagr 10.1.2
rxjs 6.6.3
typescript 3.9.7

**Anything else relevant?**
Might be isolated to Windows environments.

Would be great to have this resolved, copying assets from A to B is less fun than linking them... :)

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, den Windows-10-Fall mit einer Junction unter src/assets zu reproduzieren, und vergleiche dann die Behandlung des verknüpften Ordners durch build und serve mit der Ausgabe unter dist/assets. Erledigt ist es, wenn verschachtelte Ordner und Dateien wie myFolder/does not work.txt kopiert werden und nicht nur Dateien direkt unter der Junction.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript
Bereich
build-system, cli
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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