Initial commit
This commit is contained in:
32
node_modules/astro/dist/cli/info/infra/npm-package-manager.js
generated
vendored
Normal file
32
node_modules/astro/dist/cli/info/infra/npm-package-manager.js
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
class NpmPackageManager {
|
||||
name = "npm";
|
||||
#commandExecutor;
|
||||
constructor({ commandExecutor }) {
|
||||
this.#commandExecutor = commandExecutor;
|
||||
}
|
||||
async getPackageVersion(name) {
|
||||
try {
|
||||
const { stdout } = await this.#commandExecutor.execute(
|
||||
"npm",
|
||||
["ls", name, "--json", "--depth=1"],
|
||||
{
|
||||
shell: true
|
||||
}
|
||||
);
|
||||
const parsedNpmOutput = JSON.parse(stdout);
|
||||
if (!parsedNpmOutput.dependencies) {
|
||||
return void 0;
|
||||
}
|
||||
if (parsedNpmOutput.dependencies[name]) {
|
||||
return `v${parsedNpmOutput.dependencies[name].version}`;
|
||||
}
|
||||
const astro = parsedNpmOutput.dependencies.astro;
|
||||
return astro ? `v${astro.dependencies[name].version}` : void 0;
|
||||
} catch {
|
||||
return void 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
export {
|
||||
NpmPackageManager
|
||||
};
|
||||
Reference in New Issue
Block a user