2017-08-25 1 views
0

J'ai forké a NPM module et l'ai modifié en my fork. Dans ma branche, la commande gulp doit être exécutée pour compiler le module. L'exécution de cette commande affichera le fichier ical-expander-dist.js dans le dossier dist. Ce fichier devrait faire partie du paquet fork.Comment faire une dépendance forked dans package.json exécuter son script prepare pendant l'installation de npm?

Le ajusté package.json dans ma fourchette ressemble à ceci:

{ 
    "name": "ical-expander", 
    "version": "1.1.1", 
    "description": "ICS/iCal/iCalendar parser/expander", 
    "main": "dist/ical-expander-dist.js", // adjusted path 
    "scripts": { 
    "prepare": "gulp" // added script 
    }, 
    // [SNIP] - excluded irrelevant lines 
    "files": [ 
    "dist/ical-expander-dist.js" // adjusted path 
    ] 
} 

Maintenant, je veux faire ma fourchette une dépendance d'un autre projet.

{ 
    "name": "otherproject", 
    "title": "Other Project", 
    // [SNIP] - excluded irrelevant lines 
    "dependencies": { 
    "ical-expander": "github:haukepribnow/ical-expander" 
    } 
    // [SNIP] - excluded irrelevant lines 
} 

Après l'exécution npm install dans le dossier racine de otherproject, le chemin ./node_modules/ical-expander contiendra les fichiers LICENSE, README.md et package.json. Il ne contiendra cependant pas dist/ical-expander-dist.js.

Il semble que le script prepare de ma fourchette ical-expandeur ne soit pas exécuté pendant npm install dans otherproject.


Donc, ma question se résume à: Comment puis-je faire en sorte que les scripts de préparation pour la compilation ma fourchette sont en cours d'exécution lors de l'exécution npm install dans un projet qui a ma fourchette comme une de ses dépendances?

Répondre

0

Parfois, c'est très simple: Assurez-vous d'utiliser npm version 5.0.0 ou ultérieure.

Selon the npm changelog, npm install exécutera les dépendances 'prepare correctement à partir de la version 5.0.0.