angular / angular/angular-cli

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

Abierto
#28,426 5 comentarios 1 reacción 0 asignados Ver en GitHub
angular/build:application area: @angular/build freq1: low severity3: broken type: bug/fix
Lenguaje dominante
TypeScript
Estrellas
27k
Forks
11.8k
Merge medio
14 h 23 min
PR fusionados (30 d)
162

Descripción

### 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_

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con la configuración de sourceMap de angular.json y compara las salidas de los comandos documentados ng serve y ng build usando la configuración de producción. Reproduce el 404 de los mapas de origen de vendor con Angular CLI 18.1.1 y, después, sigue la ruta de compilación de producción para identificar por qué se omiten los mapas de node_modules. La tarea estará terminada cuando las compilaciones de producción carguen los mapas de origen de vendor y los demás mapas de origen sigan funcionando.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
angular, typescript, webpack
Área
build-system
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.