Ho un pacchetto che ha uno script nel suo package.json
che vorrei essere in grado di eseguire nel mio progetto di livello superiore. Questo pacchetto è una delle mie dipendenze dei progetti di alto livello. Sto cercando un modo per chiamare direttamente o indirettamente lo script dei pacchetti di dipendenza.Come eseguire uno script npm di un pacchetto dipendente
Supponiamo che il nome del modulo con cui sto lavorando sia denominato foo
e che lo script che voglio eseguire sia updateFooData
.
Ho provato a utilizzare la sintassi npm run-script <package> <...>
per eseguirlo, ma questa sembra essere una funzionalità deprecata in quanto non riesco a trovarla nell'attuale official documentation ma la vedo in altri (molto vecchi) risultati di ricerca.
npm run-script foo updateFooData
# npm ERR! missing script: foo
ho anche guardato nella api NPM e mentre npm.commands.run-script(args, callback)
farà quello che voglio, non riesco a capire come caricare il modulo in NPM
{
...
"scripts":{
"foo:updateFooData": "node --eval \"... ??; npm.commands.run-script('updateFooData', callback)\""
}
}
npm run foo:updateFooData
# Obviously fails
L'unica cosa che ho trovato che funziona finora è il CD nella directory del sottomodulo ed eseguire npm da lì. Questa non è la soluzione preferita per me.
cd node_modules/foo
npm run updateFooData
copia-incolla: 'NPM esplorare geoip-lite - NPM eseguire updatedb' – aluxian
Come una nota di cautela, questo non funziona per le finestre https://github.com/npm/npm/issues/8932 – Darly
incredibile, è venuto qui cercando di automatizzare l'aggiornamento geoip-lite e imparato a conoscere il comando di esplorare. – dmo