J'aimerais publier un paquet npm contenant mon source ainsi que des fichiers de distribution. Mon référentiel Github contient le dossier src
qui contient les fichiers source JavaScript. Le processus de génération génère le dossier dist
contenant les fichiers de distribution. Bien entendu, le dossier dist
n'est pas archivé dans le référentiel Github.
Comment puis-je publier un paquet npm de manière à ce que, lorsque quelqu'un fait npm install
, il reçoive src
ainsi que le dossier dist
? Actuellement, lorsque je lance npm publish
à partir de mon référentiel git, seul le dossier src
est publié.
Mon package.json ressemble à ceci:
{
"name": "join-js",
"version": "0.0.1",
"homepage": "https://github.com/archfirst/joinjs",
"repository": {
"type": "git",
"url": "https://github.com/archfirst/joinjs.git"
},
"main": "dist/index.js",
"scripts": {
"test": "gulp",
"build": "gulp build",
"prepublish": "npm run build"
},
"dependencies": {
...
},
"devDependencies": {
...
}
}
Jetez un coup d’œil au champ "fichiers" du fichier package.json https://docs.npmjs.com/files/package.json#files
De la documentation:
Le champ "fichiers" est un tableau de fichiers à inclure dans votre projet. Si vous nommez un dossier dans le tableau, il inclura également les fichiers qu'il contient. (Sauf s'ils seraient ignorés par une autre règle.)
Lorsque vous npm publish
, si vous n'avez pas de fichier .npmignore
, npm utilisera votre fichier .gitignore
(dans votre cas, vous avez exclu le dossier dist
].
Pour résoudre votre problème, créez un fichier .npmignore
basé sur votre fichier .gitignore
, sans ignorer le dossier dist .
Soure: https://docs.npmjs.com/misc/developers#keeping-files-out-of-your-package