UNPKG

@vulcan-sql/build

Version:

VulcanSQL package for building projects

86 lines 4.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Packager = exports.PackagerName = exports.PackagerTarget = exports.PackagerType = void 0; const tslib_1 = require("tslib"); const core_1 = require("@vulcan-sql/core"); const types_1 = require("../../../containers/types"); const fs_1 = require("fs"); const path = require("path"); var PackagerType; (function (PackagerType) { PackagerType["Node"] = "node"; PackagerType["Docker"] = "docker"; })(PackagerType = exports.PackagerType || (exports.PackagerType = {})); var PackagerTarget; (function (PackagerTarget) { PackagerTarget["VulcanServer"] = "vulcan-server"; PackagerTarget["CatalogServer"] = "catalog-server"; })(PackagerTarget = exports.PackagerTarget || (exports.PackagerTarget = {})); exports.PackagerName = { Node: `${PackagerType.Node}_${PackagerTarget.VulcanServer}`, NodeCatalog: `${PackagerType.Node}_${PackagerTarget.CatalogServer}`, Docker: `${PackagerType.Docker}_${PackagerTarget.VulcanServer}`, DockerCatalog: `${PackagerType.Docker}_${PackagerTarget.CatalogServer}`, }; let Packager = class Packager extends core_1.ExtensionBase { getPackageJson() { return tslib_1.__awaiter(this, void 0, void 0, function* () { const packageJson = {}; const isPkg = Boolean(process.pkg); // if we are running in pkg binary, then we need to use package.json inside binary root: /snapshot/binary const projectPackageJson = JSON.parse(yield fs_1.promises.readFile(isPkg ? path.resolve('/snapshot/binary', 'package.json') : path.resolve(process.cwd(), 'package.json'), 'utf-8')); packageJson['dependencies'] = projectPackageJson['dependencies']; packageJson['main'] = 'index.js'; // remove catalog-server delete packageJson['dependencies']['@vulcan-sql/catalog-server']; return packageJson; }); } getCatalogPackageJson() { return tslib_1.__awaiter(this, void 0, void 0, function* () { const packageJson = {}; let projectPackageJson = {}; const isPkg = Boolean(process.pkg); // if we are running in pkg binary, then we need to use package.json inside binary root: /snapshot/binary if (isPkg) { projectPackageJson = JSON.parse(yield fs_1.promises.readFile(path.resolve('/snapshot/binary', 'package.json'), 'utf-8')); // add catalog-server module manually because its not in binary package.json packageJson['dependencies'] = { '@vulcan-sql/catalog-server': projectPackageJson['version'], }; } else { projectPackageJson = JSON.parse(yield fs_1.promises.readFile(path.resolve(process.cwd(), 'package.json'), 'utf-8')); packageJson['dependencies'] = projectPackageJson['dependencies']; } packageJson['main'] = 'index.js'; if (!packageJson['dependencies']['@vulcan-sql/catalog-server']) { throw new Error('Have you installed @vulcan-sql/catalog-server module?'); } // remove all dependencies except catalog-server for (const key in packageJson['dependencies']) { if (key !== '@vulcan-sql/catalog-server') { delete packageJson['dependencies'][key]; } } return packageJson; }); } getEntryJS() { return tslib_1.__awaiter(this, void 0, void 0, function* () { return fs_1.promises.readFile(path.resolve(__dirname, 'assets', 'entryJs.template'), 'utf-8'); }); } getCatalogEntryJS() { return tslib_1.__awaiter(this, void 0, void 0, function* () { return fs_1.promises.readFile(path.resolve(__dirname, 'assets', 'catalogEntryJs.template'), 'utf-8'); }); } }; Packager = tslib_1.__decorate([ (0, core_1.VulcanExtension)(types_1.TYPES.Extension_Packager, { enforcedId: true }) ], Packager); exports.Packager = Packager; //# sourceMappingURL=packager.js.map