Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Check pathnames for illegal characters (e.g. outputPath for build files)

Aperta
#19,533 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
angular, typescript
Ambito
build-system, cli

Direzione di ricerca

Inizia riproducendo il comando ng build con outputPath impostato su .../dist in una sandbox Windows, usando la configurazione angular.json descritta nell’issue. Traccia come la build gestisce quel percorso e verifica che un nome di percorso non valido produca un avviso o un errore prima di creare file o directory.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area: @angular-devkit/build-angular feature feature: insufficient votes

🐞 Bug report

Command (mark with an x)
  • new
  • build
  • serve
  • test
  • e2e
  • generate
  • add
  • update
  • lint
  • extract-i18n
  • run
  • config
  • help
  • version
  • doc
Description

The Angular CLI should warn the user if a specified path is invalid for the current system.

I accidently set ".../dist" (three dots) as outputPath in angular.json. Correct is "../dist" (two dots). Running ng build created a huge mess. In the app root a folder has been created with ... as name (ending a folder name in Windows with a dot is illegal). Inside of this three dot folder all of my project files were listed (including node_modules folder). There was also a folder named ..., which again contained my whole project files. This recursively went to whatever level (I clicked throuhg the folder approximately 30 levels down, there was still a ... folder). Deleting the first ... folder lastet more than 15 minutes, then telling me the files which should be deleted aren't there anymore. Also my project files in the root directory were deleted in this process (luckily most of it in Git). That was the strangest thing, it felt like the content inside of ... mirrored my root project somehow (like in https://superuser.com/questions/528502/cant-remove-three-dots-folder-on-my-hdd). I also tried reverting my files using Git which did not work at all. I managed to delete the whole repository locally with rm -rf 'folder' using the GitBash. After cloning the project again, my IDE (Webstorm) listed the ... folder once again, which luckily could be deleted this time. The project looks fine right now, and with the correct outputPath the app builds correctly.

It would be nice if the CLI checks pathnames for illegal characters. I did not try any other illegal characters inside of the path name.

🔬 Minimal Reproduction

Caution: Try in a sandbox environment with unimported files only to prevent loss of data!

  1. Change the "outputPath" in angular.json to ".../dist" (three dots)
  2. Run ng build

🌍 Your Environment




Angular CLI: 11.0.1
Node: 14.15.0
OS: win32 x64

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

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1100.1
@angular-devkit/build-angular   0.1100.1
@angular-devkit/core            11.0.1
@angular-devkit/schematics      11.0.1
@angular/cdk                    11.0.1
@angular/cli                    11.0.1
@angular/material               11.0.1
@schematics/angular             11.0.1
@schematics/update              0.1100.1
rxjs                            6.6.3
typescript                      4.0.5

Anything else relevant?

ng build gone wrong

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di angular/angular-cli

Tutte le issue di angular/angular-cli

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.