@pedily/extension-scripts
Version:
Utility that helps creating Extensions for the Cognigy.AI platform
37 lines (36 loc) • 1.52 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createPackage = void 0;
const archiver_1 = __importDefault(require("archiver"));
const fs_1 = require("fs");
const path_1 = require("path");
const addIcon_1 = require("./addIcon");
const addReadme_1 = require("./addReadme");
const getExtensionFileName_1 = require("./getExtensionFileName");
const getPackageJSON_1 = require("./getPackageJSON");
const addSource_1 = require("./addSource");
const addPackageJSON_1 = require("./addPackageJSON");
const createPackage = async (directory) => {
const packageJSON = await (0, getPackageJSON_1.getPackageJSON)(directory);
const packageName = (0, getExtensionFileName_1.getExtensionFileName)(packageJSON);
const archive = (0, archiver_1.default)("tar", {
zlib: {
level: 9,
},
});
await (0, addPackageJSON_1.addPackageJSON)(archive);
await (0, addReadme_1.addReadme)(archive, directory);
await (0, addIcon_1.addIcon)(archive, directory);
await (0, addSource_1.addSource)(archive, directory);
const ws = (0, fs_1.createWriteStream)((0, path_1.join)(directory, packageName));
return new Promise((resolve, reject) => {
archive.on("error", reject);
ws.on("close", resolve);
archive.pipe(ws);
archive.finalize();
});
};
exports.createPackage = createPackage;