Files
skills-here-run-place/node_modules/astro/dist/cli/info/infra/cli-astro-config-resolver.js
Alejandro Martinez f09af719cf Initial commit
2026-02-12 02:04:10 +01:00

37 lines
1.7 KiB
JavaScript

import { resolveConfig } from "../../../core/config/config.js";
class CliAstroConfigResolver {
// TODO: find something better
#flags;
constructor({ flags }) {
this.#flags = flags;
}
async resolve() {
const { astroConfig } = await resolveConfig(
// TODO: consider testing flags => astro inline config
{
// Inline-only configs
configFile: typeof this.#flags.config === "string" ? this.#flags.config : void 0,
mode: typeof this.#flags.mode === "string" ? this.#flags.mode : void 0,
logLevel: this.#flags.verbose ? "debug" : this.#flags.silent ? "silent" : void 0,
force: this.#flags.force ? true : void 0,
// Astro user configs
root: typeof this.#flags.root === "string" ? this.#flags.root : void 0,
site: typeof this.#flags.site === "string" ? this.#flags.site : void 0,
base: typeof this.#flags.base === "string" ? this.#flags.base : void 0,
outDir: typeof this.#flags.outDir === "string" ? this.#flags.outDir : void 0,
server: {
port: typeof this.#flags.port === "number" ? this.#flags.port : void 0,
host: typeof this.#flags.host === "string" || typeof this.#flags.host === "boolean" ? this.#flags.host : void 0,
open: typeof this.#flags.open === "string" || typeof this.#flags.open === "boolean" ? this.#flags.open : void 0,
allowedHosts: typeof this.#flags.allowedHosts === "string" ? this.#flags.allowedHosts.split(",") : typeof this.#flags.allowedHosts === "boolean" && this.#flags.allowedHosts === true ? this.#flags.allowedHosts : []
}
},
"info"
);
return astroConfig;
}
}
export {
CliAstroConfigResolver
};