UNPKG

piral-cli

Version:

The standard CLI for creating and building a Piral instance or a Pilet.

78 lines 3.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.triggerBuildPilet = triggerBuildPilet; const path_1 = require("path"); const config_1 = require("./config"); const io_1 = require("./io"); const enums_1 = require("./enums"); const log_1 = require("./log"); const constants_1 = require("./constants"); const declaration_1 = require("./declaration"); const package_1 = require("./package"); const bundler_1 = require("../bundler"); const defaultOutput = 'dist/index.js'; function isSubDir(parent, dir) { const rel = (0, path_1.relative)(parent, dir); return rel && !rel.startsWith('..') && !(0, path_1.isAbsolute)(rel); } function getTarget(root, main, source, target) { if (typeof target === 'undefined') { const propDest = (0, path_1.resolve)(root, main); const propDestDir = (0, path_1.dirname)(propDest); const usePropDest = propDestDir !== root && propDestDir !== source && isSubDir(root, propDest); return usePropDest ? propDest : (0, path_1.resolve)(root, defaultOutput); } return (0, path_1.resolve)(root, target); } async function triggerBuildPilet({ target, app, originalSchemaVersion, fresh, entryModule, logLevel, optimizeModules, sourceMaps, watch, contentHash, declaration, minify, hooks, bundlerName, _, }) { const targetDir = (0, path_1.dirname)(entryModule); const { peerDependencies, peerModules, root, apps, piletPackage, ignored, importmap, schema } = await (0, package_1.retrievePiletData)(targetDir, app); const schemaVersion = originalSchemaVersion || schema || config_1.config.schemaVersion || constants_1.defaultSchemaVersion; const piralInstances = apps.map((m) => m.appPackage.name); const externals = (0, package_1.combinePiletExternals)(piralInstances, peerDependencies, peerModules, importmap); const { main = defaultOutput } = piletPackage; const dest = getTarget(root, main, targetDir, target); const outDir = (0, path_1.dirname)(dest); const outFile = (0, path_1.basename)(dest); (0, package_1.validateSharedDependencies)(importmap); if (fresh) { (0, log_1.progress)('Removing output directory ...'); await (0, io_1.removeDirectory)(outDir); } (0, log_1.logInfo)('Bundle pilet ...'); await hooks.beforeBuild?.({ root, outDir, importmap, entryModule, schemaVersion, piletPackage }); await (0, bundler_1.callPiletBuild)({ root, piralInstances, optimizeModules, sourceMaps, watch, contentHash, minify, externals, targetDir, importmap, outFile, outDir, entryModule: `./${(0, path_1.relative)(root, entryModule)}`, logLevel, version: schemaVersion, ignored, _, }, bundlerName); await hooks.afterBuild?.({ root, outDir, importmap, entryModule, schemaVersion, piletPackage }); if (declaration) { await hooks.beforeDeclaration?.({ root, outDir, entryModule, piletPackage }); await (0, declaration_1.createPiletDeclaration)(piralInstances, root, entryModule, externals, outDir, enums_1.ForceOverwrite.yes, logLevel); await hooks.afterDeclaration?.({ root, outDir, entryModule, piletPackage }); } return { piletPackage, root, outDir, apps, outFile, dest, }; } //# sourceMappingURL=pilet.js.map