astro-ghostcms/.pnpm-store/v3/files/fa/35b6862f05e4a4dd458a043c47d...

51 lines
1.8 KiB
Plaintext
Raw Normal View History

2024-02-20 00:35:26 +00:00
import { green } from "kleur/colors";
import fs from "node:fs";
import { performance } from "perf_hooks";
import { attachContentServerListeners } from "../../content/index.js";
import { telemetry } from "../../events/index.js";
import * as msg from "../messages.js";
import { startContainer } from "./container.js";
import { createContainerWithAutomaticRestart } from "./restart.js";
import { ensureProcessNodeEnv } from "../util.js";
async function dev(inlineConfig) {
ensureProcessNodeEnv("development");
const devStart = performance.now();
await telemetry.record([]);
const restart = await createContainerWithAutomaticRestart({ inlineConfig, fs });
const logger = restart.container.logger;
const devServerAddressInfo = await startContainer(restart.container);
logger.info(
"SKIP_FORMAT",
msg.serverStart({
startupTime: performance.now() - devStart,
resolvedUrls: restart.container.viteServer.resolvedUrls || { local: [], network: [] },
host: restart.container.settings.config.server.host,
base: restart.container.settings.config.base
})
);
const currentVersion = "4.4.0";
if (currentVersion.includes("-")) {
logger.warn("SKIP_FORMAT", msg.prerelease({ currentVersion }));
}
if (restart.container.viteServer.config.server?.fs?.strict === false) {
logger.warn("SKIP_FORMAT", msg.fsStrictWarning());
}
await attachContentServerListeners(restart.container);
logger.info(null, green("watching for file changes..."));
return {
address: devServerAddressInfo,
get watcher() {
return restart.container.viteServer.watcher;
},
handle(req, res) {
return restart.container.handle(req, res);
},
async stop() {
await restart.container.close();
}
};
}
export {
dev as default
};