Чтобы получить прямые зависимости пакета Node, вы можете использовать различные методы. Вот несколько подходов с примерами кода:
- Использование интерфейса командной строки npm:
Вы можете использовать командуnpm listс флагом--length=0, чтобы получить прямые зависимости упаковка. Вот пример:
npm list --depth=0
Эта команда отобразит прямые зависимости текущего пакета в терминале.
- Программное использование npm API:
Вы также можете получить прямые зависимости программно с помощью npm API. Вот пример использования Node.js:
const { promisify } = require('util');
const { exec } = require('child_process');
const execAsync = promisify(exec);
async function getDirectDependencies(packageName) {
const { stdout } = await execAsync(`npm list ${packageName} --depth=0 --json`);
const dependencies = JSON.parse(stdout).dependencies;
return Object.keys(dependencies);
}
// Usage
getDirectDependencies('package-name')
.then(dependencies => {
console.log(dependencies);
})
.catch(error => {
console.error(error);
});
Этот код использует модуль child_processдля выполнения команды npm listи анализирует выходные данные JSON для извлечения прямых зависимостей.
- Использование интерфейса командной строки Yarn:
Если вы используете менеджер пакетов Yarn, вы можете использовать командуyarn listс флагом--глубина=0для получения прямых зависимостей. Вот пример:
yarn list --depth=0
Эта команда отобразит прямые зависимости текущего пакета в терминале.
- Программное использование Yarn API:
Как и в случае с npm, вы можете программно получить прямые зависимости с помощью Yarn API. Вот пример использования Node.js:
const { promisify } = require('util');
const { exec } = require('child_process');
const execAsync = promisify(exec);
async function getDirectDependencies(packageName) {
const { stdout } = await execAsync(`yarn list ${packageName} --depth=0 --json`);
const { data } = JSON.parse(stdout);
return Object.keys(data.trees);
}
// Usage
getDirectDependencies('package-name')
.then(dependencies => {
console.log(dependencies);
})
.catch(error => {
console.error(error);
});
Этот код выполняет команду yarn listи анализирует выходные данные JSON для извлечения прямых зависимостей.