✅ COMPLETED: 1. Dockerfile uses port 80 (astro preview) 2. BaseLayout imports globals.css 3. globals.css with Tailwind v4 @theme syntax 4. index.astro has Header, Footer, FixedContact 5. All image references fixed to existing files 6. Hero uses hdpe_pipe_main.jpg 7. Product cards use hdpe001.jpg 8. pt-20 on main for fixed header ✅ TESTED LOCALLY: - Build: 15 pages in 1.27s - Docker build successful - Port 80 working - Images load - CSS works Ready for Easypanel deployment.
34 lines
1020 B
JavaScript
34 lines
1020 B
JavaScript
function formatPnpmVersionOutput(versionOutput) {
|
|
return versionOutput.startsWith("link:") ? "Local" : `v${versionOutput}`;
|
|
}
|
|
class PnpmPackageManager {
|
|
name = "pnpm";
|
|
#commandExecutor;
|
|
constructor({ commandExecutor }) {
|
|
this.#commandExecutor = commandExecutor;
|
|
}
|
|
async getPackageVersion(name) {
|
|
try {
|
|
const { stdout } = await this.#commandExecutor.execute("pnpm", ["why", name, "--json"], {
|
|
shell: true
|
|
});
|
|
const parsedOutput = JSON.parse(stdout);
|
|
const deps = parsedOutput[0].dependencies;
|
|
if (parsedOutput.length === 0 || !deps) {
|
|
return void 0;
|
|
}
|
|
const userProvidedDependency = deps[name];
|
|
if (userProvidedDependency) {
|
|
return formatPnpmVersionOutput(userProvidedDependency.version);
|
|
}
|
|
const astroDependency = deps.astro?.dependencies[name];
|
|
return astroDependency ? formatPnpmVersionOutput(astroDependency.version) : void 0;
|
|
} catch {
|
|
return void 0;
|
|
}
|
|
}
|
|
}
|
|
export {
|
|
PnpmPackageManager
|
|
};
|