@vivliostyle/cli
Version:
Save the pdf file via headless browser and Vivliostyle.
88 lines (86 loc) • 2.54 kB
JavaScript
import {
resolveViteConfig
} from "./chunk-4V7POPZ3.js";
import {
createViteServer,
getViewerFullUrl,
loadVivliostyleConfig,
mergeConfig,
mergeInlineConfig,
resolveTaskConfig,
warnDeprecatedConfig
} from "./chunk-5YYKJN5S.js";
import {
Logger,
isUnicodeSupported,
randomBookSymbol,
setupConfigFromFlags
} from "./chunk-HCZKJQUX.js";
import {
cliVersion
} from "./chunk-4IIM6RSG.js";
import {
__callDispose,
__using
} from "./chunk-I7BWSAN6.js";
// src/core/preview.ts
import terminalLink from "terminal-link";
import { blueBright, cyan, dim } from "yoctocolors";
async function preview(inlineConfig) {
Logger.setLogLevel(inlineConfig.logLevel);
Logger.setCustomLogger(inlineConfig.logger);
Logger.debug("preview > inlineConfig %O", inlineConfig);
let vivliostyleConfig = await loadVivliostyleConfig(inlineConfig) ?? setupConfigFromFlags(inlineConfig);
warnDeprecatedConfig(vivliostyleConfig);
vivliostyleConfig = mergeInlineConfig(vivliostyleConfig, inlineConfig);
const { tasks, inlineOptions } = vivliostyleConfig;
Logger.debug("preview > vivliostyleConfig %O", vivliostyleConfig);
let config = resolveTaskConfig(tasks[0], inlineOptions);
Logger.debug("preview > config %O", config);
let server;
let url;
{
var _stack = [];
try {
const _2 = __using(_stack, Logger.startLogging("Start preview"));
const viteConfig = await resolveViteConfig({
...config,
mode: "preview"
});
server = await createViteServer({
config,
viteConfig,
inlineConfig,
mode: "preview"
});
if (server.httpServer) {
await server.listen();
vivliostyleConfig = mergeConfig(vivliostyleConfig, {
temporaryFilePrefix: config.temporaryFilePrefix,
server: server.config.server
});
config = resolveTaskConfig(
vivliostyleConfig.tasks[0],
vivliostyleConfig.inlineOptions
);
}
url = await getViewerFullUrl(config);
} catch (_) {
var _error = _, _hasError = true;
} finally {
__callDispose(_stack, _error, _hasError);
}
}
if (server.httpServer) {
Logger.log(`
${cyan(`Vivliostyle CLI v${cliVersion}`)}
${blueBright("\u2551")} ${isUnicodeSupported ? `${randomBookSymbol} ` : ""}Up and running (press Ctrl+C to quit)
${blueBright("\u2559\u2500")} ${dim(`Preview URL: ${terminalLink(url, url, { fallback: () => url })}`)}
`);
}
return server;
}
export {
preview
};
//# sourceMappingURL=chunk-5A3MDEJ4.js.map