Files
dealplustech/node_modules/astro/dist/cli/info/infra/npm-package-manager.js
Kunthawat Greethong 443c3377e2 refactor: Move Astro to root, use PORT env (default 80), allow all hosts
- Move Astro files from dealplustech-astro/ to project root
- Update Dockerfile: PORT environment variable (default 80)
- Add vite.config.ts with allowedHosts: true
- Matches nixpacks behavior for Easypanel deployment
- No hardcoded ports or domains
2026-03-03 11:40:50 +07:00

33 lines
815 B
JavaScript

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
};