UNPKG

@strapi/pack-up

Version:

Simple tools for creating interoperable CJS & ESM packages.

97 lines (96 loc) 3.31 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const fs = require("fs/promises"); const ora = require("ora"); const os = require("os"); const createBuildContext = require("./createBuildContext-Degoc55x.js"); const errors = require("./errors-BG4CMlQA.js"); const index = require("./index-DxTZekLC.js"); const _interopDefault = (e) => e && e.__esModule ? e : { default: e }; const fs__default = /* @__PURE__ */ _interopDefault(fs); const ora__default = /* @__PURE__ */ _interopDefault(ora); const os__default = /* @__PURE__ */ _interopDefault(os); const build$1 = async (opts = {}) => { process.env.NODE_ENV = process.env.NODE_ENV || "production"; const { silent, debug, cwd = process.cwd(), configFile = true, config: providedConfig, ...configOptions } = opts; const logger = errors.createLogger({ silent, debug }); const packageJsonLoader = ora__default.default(`Verifying package.json ${os__default.default.EOL}`).start(); const rawPkg = await createBuildContext.loadPkg({ cwd, logger }).catch((err) => { packageJsonLoader.fail(); if (errors.isError(err)) { logger.error(err.message); } logger.debug(`Path checked – ${cwd}`); process.exit(1); }); const validatedPkg = await createBuildContext.validatePkg({ pkg: rawPkg }).catch((err) => { packageJsonLoader.fail(); if (errors.isError(err)) { logger.error(err.message); } process.exit(1); }); const packageJson = await createBuildContext.validateExportsOrdering({ pkg: validatedPkg, logger }).catch((err) => { packageJsonLoader.fail(); if (errors.isError(err)) { logger.error(err.message); } process.exit(1); }); packageJsonLoader.succeed("Verified package.json"); const config = configFile ? await createBuildContext.loadConfig({ cwd, logger }) : providedConfig; const buildContextLoader = ora__default.default(`Creating build context ${os__default.default.EOL}`).start(); const extMap = createBuildContext.getExportExtensionMap(); const ctx = await createBuildContext.createBuildContext({ config: { ...config, ...configOptions }, cwd, extMap, logger, pkg: packageJson }).catch((err) => { buildContextLoader.fail(); if (errors.isError(err)) { logger.error(err.message); } process.exit(1); }); logger.debug(`Build context: ${os__default.default.EOL}`, ctx); const buildTasks = await index.createBuildTasks(ctx); buildContextLoader.succeed("Created build context"); try { logger.debug(`Cleaning dist folder: ${ctx.distPath}`); await fs__default.default.rm(ctx.distPath, { recursive: true, force: true }); logger.debug("Cleaned dist folder"); } catch { logger.debug("There was no dist folder to clean"); } for (const task of buildTasks) { const handler = index.taskHandlers[task.type]; handler.print(ctx, task); try { const result = await handler.run$(ctx, task).toPromise(); handler.success(ctx, task, result); } catch (err) { handler.fail(ctx, task, err); throw err; } } }; const build = async (options) => { try { await build$1(options); } catch (err) { errors.handleError(err); } }; exports.build = build; //# sourceMappingURL=build-BqdupWFU.js.map