Я использую команду «npm oudated», единственная проблема заключается в том, что она немного медленная, потому что она фактически вычисляет последнюю версию пакетов npm.Как я могу использовать NPM для локального проверки пакетов, только то, что вам нужно. Не пытаться получить последнюю версию
В идеале я просто хочу знать, есть ли недостающий пакет локально и запустить npm install, если есть недостающие пакеты.
Я создал этот скрипт как gitook после проверки, есть ли лучший способ проверить, отсутствуют ли у вас пакеты, которые находятся в вашем пакете. Json?
#!/usr/bin/env node
var exec = require('child_process').exec,
missingPackage = false;
return new Promise((resolve) => {
exec('npm outdated --json', (error, stdout, stderr) => {
resolve(JSON.parse(stdout));
})
})
.then((packageJson) => {
for (const x of Object.keys(packageJson)) {
if (packageJson[x].location === '') {
missingPackage = true;
}
}
})
.then(() => {
if (missingPackage) {
console.log('\nHello, you are missing some packages so we are going to install them....');
exec('npm install', (error, stdout, stderr) => {
console.log(stdout);
})
}
})