UNPKG

@vulcan-sql/build

Version:

VulcanSQL package for building projects

44 lines 2.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DockerPackager = 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 DockerPackager = class DockerPackager extends extensions_1.Packager { constructor() { super(...arguments); this.logger = this.getLogger(); this.target = extensions_1.PackagerTarget.VulcanServer; } 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.getPackageJson(), 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.getEntryJS(), 'utf-8'); // result.json if (option.artifact.provider === core_1.ArtifactBuilderProviderType.LocalFile && option.artifact.filePath) { yield fs_1.promises.copyFile(path.resolve(process.cwd(), option.artifact.filePath), path.resolve(distFolder, option.artifact.filePath)); } // Dockerfile yield fs_1.promises.copyFile(path.resolve(__dirname, 'assets', 'Dockerfile'), path.resolve(distFolder, 'Dockerfile')); this.logger.info(`Package successfully, you can go to "${folderPath}" folder and run "docker build ." to build the image.`); }); } }; DockerPackager = tslib_1.__decorate([ (0, core_1.VulcanExtensionId)(extensions_1.PackagerName.Docker), (0, core_1.VulcanInternalExtension)('docker-packager') ], DockerPackager); exports.DockerPackager = DockerPackager; //# sourceMappingURL=dockerPackager.js.map