angular / angular/angular-cli

Angular 18 production build doesn't work with vendor source maps

Ouverte
#28,426 5 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
angular/build:application area: @angular/build freq1: low severity3: broken type: bug/fix
Langage dominant
TypeScript
Étoiles
27k
Forks
11.8k
Merge moyen
14 h 23 min
PR mergées (30 j)
162

Description

### Which @angular/* package(s) are the source of the bug?

compiler-cli

### Is this a regression?

Yes

### Description

We upgraded our apps from ng17 to 18 and adopted the new build system. In our angular.json file we had options set to enable vendor source maps for production and regular builds. This worked fine prior to the upgrade. Example config below for references as I cannot post details from our work setup.

```json
{
"projects": {
"your-project-name": {
"architect": {
"build": {
"options": {
"sourceMap": {
"scripts": true,
"vendor": true
}
}
}
}
}
}
}
```

So when running ng serve with a production config the source maps for things like RX are debuggable without issue.

```
ng serve application --open live-reload --configuration=production
```

However when we run our release jobs using this command we find the disted app does not support loading source maps from node_modules. All other source maps seem to work fine .

```
ng build application --configuration=production
```

I looked for a documented change here to see if vendor source maps are still supported in production builds and couldn't find anything about them being deprecated.

### Please provide a link to a minimal reproduction of the bug

_No response_

### Please provide the exception or error you saw

```true
404 cannot load source map
```

### Please provide the environment you discovered this bug in (run `ng version`)

```true
Angular CLI Version: 18.1.1
Node Version: 20.11.1
Package Manager: npm 10.2.4
Operating System: win32 x64 (Windows 64-bit)

@angular-devkit/architect: 0.1801.1
@angular-devkit/build-angular: 18.1.1
@angular-devkit/core: 18.1.1
@angular-devkit/schematics: 18.1.1
@schematics/angular: 18.1.1
ng-packagr: 18.1.0
rxjs: 7.8.1
typescript: 5.5.4
webpack: 5.92.1
zone.js: 0.14.3
```

### Anything else?

_No response_

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencer par la configuration sourceMap de angular.json et comparer les sorties des commandes documentées ng serve et ng build avec la configuration de production. Reproduire le 404 des source maps de vendor avec Angular CLI 18.1.1, puis suivre le chemin du build de production pour déterminer pourquoi les maps de node_modules sont omises. Le travail est terminé lorsque les builds de production chargent les source maps de vendor, tandis que les autres source maps continuent de fonctionner.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
angular, typescript, webpack
Domaine
build-system
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.