piral-cli
Version:
The standard CLI for creating and building a Piral instance or a Pilet.
41 lines • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPossiblePiletMainPaths = getPossiblePiletMainPaths;
exports.getPiletMainPath = getPiletMainPath;
exports.inspectPackage = inspectPackage;
exports.inspectPilet = inspectPilet;
const path_1 = require("path");
const archive_1 = require("./archive");
const external_1 = require("../external");
const packageRoot = 'package/';
function getPackageJson(files) {
const fileName = `${packageRoot}package.json`;
const fileContent = files[fileName];
const content = fileContent.toString('utf8');
return external_1.jju.parse(content);
}
function getPossiblePiletMainPaths(data) {
const { main = 'index.js' } = data;
return [main, `dist/${main}`, `${main}/index.js`, `dist/${main}/index.js`, 'index.js', 'dist/index.js'];
}
function getPiletMainPath(data, files) {
const paths = getPossiblePiletMainPaths(data);
return paths.map((filePath) => `${packageRoot}${filePath}`).find((filePath) => !!files[filePath]);
}
function inspectPackage(stream) {
return (0, archive_1.unpackGzTar)(stream).then((files) => getPackageJson(files));
}
function inspectPilet(stream) {
return (0, archive_1.unpackGzTar)(stream).then((files) => {
const data = getPackageJson(files);
const path = getPiletMainPath(data, files);
const root = (0, path_1.dirname)(path);
const main = (0, path_1.basename)(path);
return {
...data,
root,
main,
};
});
}
//# sourceMappingURL=inspect.js.map