piral-cli
Version:
The standard CLI for creating and building a Piral instance or a Pilet.
46 lines • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validatePiralDefaults = void 0;
exports.validatePiral = validatePiral;
const path_1 = require("path");
const common_1 = require("../common");
const common_2 = require("../common");
const rules_1 = require("../rules");
const types_1 = require("../types");
exports.validatePiralDefaults = {
entry: './',
logLevel: types_1.LogLevels.info,
};
async function validatePiral(baseDir = process.cwd(), options = {}) {
const { entry = exports.validatePiralDefaults.entry, logLevel = exports.validatePiralDefaults.logLevel } = 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_2.setLogLevel)(logLevel);
(0, common_2.progress)('Reading configuration ...');
const rules = await (0, rules_1.getPiralRules)();
const entryFiles = await (0, common_1.retrievePiralRoot)(fullBase, entry);
const { root, dependencies, ignored: _, externals, ...info } = await (0, common_1.retrievePiletsInfo)(entryFiles);
const errors = [];
const warnings = [];
await (0, common_2.checkCliCompatibility)(root);
const context = {
error(message) {
errors.push((0, common_2.log)('generalError_0002', message));
},
warning(message) {
warnings.push((0, common_2.log)('generalWarning_0001', message));
},
logLevel,
externals,
entry: entryFiles,
dependencies: dependencies.std,
devDependencies: dependencies.dev,
peerDependencies: dependencies.peer,
root,
info,
};
await (0, common_1.runRules)(rules, context, common_1.config.validators);
(0, common_1.ruleSummary)(errors, warnings);
}
//# sourceMappingURL=validate-piral.js.map