UNPKG

@vulcan-sql/build

Version:

VulcanSQL package for building projects

37 lines 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NodeCatalogPackager = void 0; const tslib_1 = require("tslib"); const core_1 = require("@vulcan-sql/core"); const extensions_1 = require("../../../models/extensions"); const path = require("path"); const fs_1 = require("fs"); let NodeCatalogPackager = class NodeCatalogPackager extends extensions_1.Packager { constructor() { super(...arguments); this.logger = this.getLogger(); this.target = extensions_1.PackagerTarget.CatalogServer; } package(option) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const config = this.getConfig() || {}; const { folderPath = 'dist' } = config[this.target] || {}; const distFolder = path.resolve(process.cwd(), folderPath); yield fs_1.promises.rm(distFolder, { recursive: true, force: true }); yield fs_1.promises.mkdir(distFolder, { recursive: true }); // package.json yield fs_1.promises.writeFile(path.resolve(distFolder, 'package.json'), JSON.stringify(yield this.getCatalogPackageJson(), null, 4), 'utf-8'); // config.json (vulcan config) yield fs_1.promises.writeFile(path.resolve(distFolder, 'config.json'), JSON.stringify(option), 'utf-8'); // entrypoint yield fs_1.promises.writeFile(path.resolve(distFolder, 'index.js'), yield this.getCatalogEntryJS(), 'utf-8'); this.logger.info(`Package successfully, you can go to "${folderPath}" folder and run "npm install && node index.js" to start the server`); }); } }; NodeCatalogPackager = tslib_1.__decorate([ (0, core_1.VulcanExtensionId)(extensions_1.PackagerName.NodeCatalog), (0, core_1.VulcanInternalExtension)('node-packager') ], NodeCatalogPackager); exports.NodeCatalogPackager = NodeCatalogPackager; //# sourceMappingURL=nodeCatalogPackager.js.map