44 lines
No EOL
1.5 KiB
JavaScript
44 lines
No EOL
1.5 KiB
JavaScript
import { n as logger } from "./logger-B4ge7MhP.mjs";
|
|
import { r as rmRecursive } from "./fs-CQH7NJn6.mjs";
|
|
import { promises } from "node:fs";
|
|
import { dirname, resolve } from "pathe";
|
|
import { hash } from "ohash";
|
|
|
|
//#region ../nuxi/src/utils/nuxt.ts
|
|
async function cleanupNuxtDirs(rootDir, buildDir) {
|
|
logger.info("Cleaning up generated Nuxt files and caches...");
|
|
await rmRecursive([
|
|
buildDir,
|
|
".output",
|
|
"dist",
|
|
"node_modules/.vite",
|
|
"node_modules/.cache"
|
|
].map((dir) => resolve(rootDir, dir)));
|
|
}
|
|
function nuxtVersionToGitIdentifier(version) {
|
|
const id = /\.([0-9a-f]{7,8})$/.exec(version);
|
|
if (id?.[1]) return id[1];
|
|
return `v${version}`;
|
|
}
|
|
function resolveNuxtManifest(nuxt) {
|
|
const manifest = {
|
|
_hash: null,
|
|
project: { rootDir: nuxt.options.rootDir },
|
|
versions: { nuxt: nuxt._version }
|
|
};
|
|
manifest._hash = hash(manifest);
|
|
return manifest;
|
|
}
|
|
async function writeNuxtManifest(nuxt, manifest = resolveNuxtManifest(nuxt)) {
|
|
const manifestPath = resolve(nuxt.options.buildDir, "nuxt.json");
|
|
await promises.mkdir(dirname(manifestPath), { recursive: true });
|
|
await promises.writeFile(manifestPath, JSON.stringify(manifest, null, 2), "utf-8");
|
|
return manifest;
|
|
}
|
|
async function loadNuxtManifest(buildDir) {
|
|
const manifestPath = resolve(buildDir, "nuxt.json");
|
|
return await promises.readFile(manifestPath, "utf-8").then((data) => JSON.parse(data)).catch(() => null);
|
|
}
|
|
|
|
//#endregion
|
|
export { writeNuxtManifest as a, resolveNuxtManifest as i, loadNuxtManifest as n, nuxtVersionToGitIdentifier as r, cleanupNuxtDirs as t }; |