piral-cli
Version:
The standard CLI for creating and building a Piral instance or a Pilet.
51 lines • 2.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validatePiletDefaults = void 0;
exports.validatePilet = validatePilet;
const path_1 = require("path");
const common_1 = require("../common");
const rules_1 = require("../rules");
const types_1 = require("../types");
exports.validatePiletDefaults = {
entry: './src/index',
logLevel: types_1.LogLevels.info,
app: undefined,
};
async function validatePilet(baseDir = process.cwd(), options = {}) {
const { entry = exports.validatePiletDefaults.entry, logLevel = exports.validatePiletDefaults.logLevel, app = exports.validatePiletDefaults.app, } = options;
(0, common_1.ensure)('baseDir', baseDir, 'string');
(0, common_1.ensure)('entry', entry, 'string');
const fullBase = (0, path_1.resolve)(process.cwd(), baseDir);
(0, common_1.setLogLevel)(logLevel);
(0, common_1.progress)('Reading configuration ...');
const rules = await (0, rules_1.getPiletRules)();
const entryFile = (0, path_1.join)(fullBase, entry);
const target = (0, path_1.dirname)(entryFile);
const { dependencies, peerDependencies, devDependencies, peerModules, root, importmap, apps, piletPackage, ignored: _0, } = await (0, common_1.retrievePiletData)(target, app);
const errors = [];
const warnings = [];
for (const { appPackage } of apps) {
const { validators } = (0, common_1.getPiletsInfo)(appPackage);
const context = {
error(message) {
errors.push((0, common_1.log)('generalError_0002', message));
},
warning(message) {
warnings.push((0, common_1.log)('generalWarning_0001', message));
},
logLevel,
entry: entryFile,
dependencies,
devDependencies,
peerDependencies,
importmap,
peerModules,
root,
apps,
piletPackage,
};
await (0, common_1.runRules)(rules, context, validators);
}
(0, common_1.ruleSummary)(errors, warnings);
}
//# sourceMappingURL=validate-pilet.js.map