Unsupported private class error doesn't throw on building library for production
- Langage dominant
- TypeScript
- Étoiles
- 27k
- Forks
- 11.8k
- Merge moyen
- 14 h 23 min
- PR mergées (30 j)
- 162
Description
# 🐞 Bug report
### Command (mark with an `x`)
- [ ] new
- [x] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc
### Is this a regression?
i'm not sure
### Description
when i export a component in the library module but not in the public API
the build command throw errors only in normal mode, but in production mode it completes successfully
## 🔬 Minimal Reproduction
clone https://github.com/robertIsaac/test-library
and run ng b and ng b --prod
or generate from scratch
```
ng new test-library --create-application=false
cd test-library
ng generate library test-library
ng g c test-export --export
ng b
ng b --prod
```
## 🔥 Exception or Error
both commands should throw the following error
Unsupported private class TestExportComponent. This class is visible to consumers via TestLibraryModule -> TestExportComponent, but is not exported from the top-level library entrypoint.
## 🌍 Your Environment
$ ng version
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 9.1.1
Node: 12.14.1
OS: win32 x64
Angular: 9.1.2
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes
Package Version
------------------------------------------------------------
@angular-devkit/architect 0.901.1
@angular-devkit/build-angular 0.901.1
@angular-devkit/build-ng-packagr 0.901.1
@angular-devkit/build-optimizer 0.901.1
@angular-devkit/build-webpack 0.901.1
@angular-devkit/core 9.1.1
@angular-devkit/schematics 9.1.1
@angular/cli 9.1.1
@ngtools/webpack 9.1.1
@schematics/angular 9.1.1
@schematics/update 0.901.1
ng-packagr 9.1.1
rxjs 6.5.5
typescript 3.8.3
webpack 4.42.0
**Anything else relevant?**
it would be nice if --export command also update the public api file if it's running inside a library
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par reproduire le build de la bibliothèque avec `ng b` et `ng b --prod` en utilisant les commandes et le dépôt de la bibliothèque de test décrits dans l’issue. Comparez les points d’entrée des builds normal et de production autour de l’API publique de la bibliothèque et de la validation des classes privées ; la tâche est terminée lorsque les deux commandes signalent l’erreur Unsupported private class.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- angular, typescript, webpack
- Domaine
- build-system, cli
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100