S'avère que la réponse est du genre "les deux". La compréhension de la réponse vient de ceci:
-
package.json
sera utilisé au cours du développement. Vous avez fait installer tous vos bibliothèques ici pour votre propre usage, y compris ceux que les utilisateurs auront également besoin. Vous ne devriez avoir qu'un node_modules/
répertoire à la racine de votre projet, et non pas au sein de la bibliothèque du répertoire (uniquement exécuter npm install
et similaire ici).
-
projects/ng-app-state/package.json
est ce qui va être déployé à mnp (avec quelques champs supplémentaires ajoutés par le processus de construction). De manière exemplaire, en dependencies
et/ou peerDependencies
que les utilisateurs de votre bibliothèque de besoin. Il n'y a rien de mettre devDependencies
ici.
C'est la réponse complète. Lisez la suite pour voir un exemple.
Dans mon cas package.json
a une longue liste de nombre dependencies
et devDependencies
(vous pouvez le voir ici), mais tout cela n'influence que moi (et tous ceux qui veulent contribuer à l' ng-app-state
). projects/ng-app-state/package.json
est beaucoup plus petit, et c'est ce qui affecte les utilisateurs de ma bibliothèque:
{
"name": "ng-app-state",
"version": "8.0.0",
"author": "Simonton Software",
"license": "MIT",
"repository": "simontonsoftware/ng-app-state",
"peerDependencies": {
"@angular/common": ">=6.0.0 <7.0.0",
"@angular/core": ">=6.0.0 <7.0.0",
"@ngrx/store": ">=6.0.0 <7.0.0",
"micro-dash": ">=3.5.0 <4.0.0"
}
}
Après l'exécution de l' ng build np-app-state --prod
à générer ce sera publié à la ngp, c'est ce qui finit en dist/ng-app-state/
(qui est ce qui devrait être publiée):
{
"name": "ng-app-state",
"version": "8.0.0",
"author": "Simonton Software",
"license": "MIT",
"repository": "simontonsoftware/ng-app-state",
"peerDependencies": {
"@angular/common": ">=6.0.0 <7.0.0",
"@angular/core": ">=6.0.0 <7.0.0",
"@ngrx/store": ">=6.0.0 <7.0.0",
"micro-dash": ">=3.5.0 <4.0.0"
},
"main": "bundles/ng-app-state.umd.js",
"module": "fesm5/ng-app-state.js",
"es2015": "fesm2015/ng-app-state.js",
"esm5": "esm5/ng-app-state.js",
"esm2015": "esm2015/ng-app-state.js",
"fesm5": "fesm5/ng-app-state.js",
"fesm2015": "fesm2015/ng-app-state.js",
"typings": "ng-app-state.d.ts",
"metadata": "ng-app-state.metadata.json",
"sideEffects": false,
"dependencies": {
"tslib": "^1.9.0"
}
}