Angular 18 production build doesn't work with vendor source maps
- Linguagem predominante
- TypeScript
- Estrelas
- 27k
- Forks
- 11.8k
- Merge médio
- 14h 23min
- PRs com merge (30d)
- 162
Descrição
### 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_
Guia de contribuição
Direção de pesquisa
Comece pela configuração de sourceMap do angular.json e compare as saídas dos comandos documentados ng serve e ng build usando a configuração de produção. Reproduza o 404 dos mapas de origem de vendor com o Angular CLI 18.1.1 e, em seguida, rastreie o caminho do build de produção para identificar por que os mapas de node_modules são omitidos. A tarefa estará concluída quando os builds de produção carregarem os mapas de origem de vendor, enquanto os outros mapas de origem continuarem funcionando.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- angular, typescript, webpack
- Domínio
- build-system
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 38/100