astro-ghostcms/.pnpm-store/v3/files/6d/f88bdca7d2d7f7949bcdbc7640b...

37 lines
1.3 KiB
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
import path from "node:path";
import { createLoggerFromFlags, flagsToAstroInlineConfig } from "../flags.js";
import { getPackage } from "../install-package.js";
import { ensureProcessNodeEnv } from "../../core/util.js";
async function check(flags) {
ensureProcessNodeEnv("production");
const logger = createLoggerFromFlags(flags);
const getPackageOpts = { skipAsk: flags.yes || flags.y, cwd: flags.root };
const checkPackage = await getPackage(
"@astrojs/check",
logger,
getPackageOpts,
["typescript"]
);
const typescript = await getPackage("typescript", logger, getPackageOpts);
if (!checkPackage || !typescript) {
logger.error(
"check",
"The `@astrojs/check` and `typescript` packages are required for this command to work. Please manually install them into your project and try again."
);
return;
}
const { default: sync } = await import("../../core/sync/index.js");
const inlineConfig = flagsToAstroInlineConfig(flags);
const exitCode = await sync(inlineConfig);
if (exitCode !== 0) {
process.exit(exitCode);
}
const { check: checker, parseArgsAsCheckConfig } = checkPackage;
const config = parseArgsAsCheckConfig(process.argv);
logger.info("check", `Getting diagnostics for Astro files in ${path.resolve(config.root)}...`);
return await checker(config);
}
export {
check
};