UNPKG

@vulcan-sql/build

Version:

VulcanSQL package for building projects

39 lines 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DockerCatalogPackager = 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 DockerCatalogPackager = class DockerCatalogPackager 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'); // Dockerfile yield fs_1.promises.copyFile(path.resolve(__dirname, 'assets', 'Dockerfile.catalog'), path.resolve(distFolder, 'Dockerfile')); this.logger.info(`Package successfully, you can go to "${folderPath}" folder and run "docker build ." to build the image.`); }); } }; DockerCatalogPackager = tslib_1.__decorate([ (0, core_1.VulcanExtensionId)(extensions_1.PackagerName.DockerCatalog), (0, core_1.VulcanInternalExtension)('docker-packager') ], DockerCatalogPackager); exports.DockerCatalogPackager = DockerCatalogPackager; //# sourceMappingURL=dockerCatalogPackager.js.map