UNPKG

a2r

Version:
44 lines (43 loc) 2.67 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = __importDefault(require("path")); const fs_1 = require("@a2r/fs"); const apiProxy_1 = require("./apiProxy"); const isJest_1 = require("../../tools/isJest"); const settings_1 = require("../settings"); const devSettings_1 = require("../devSettings"); const getProjectPath_1 = __importDefault(require("../getProjectPath")); const docker_1 = require("../docker"); const settings_2 = require("../../settings"); /** * Method executed when API is validated after changes are processed */ const onApiValidation = async (serverApiPath, // ./server/api mainProxyPath) => { if (!(0, isJest_1.isJest)()) { const settings = await (0, settings_1.getSettings)(); const devSettings = await (0, devSettings_1.getSettings)(); const mainProjectPath = await (0, getProjectPath_1.default)(); const serverDockerApiPath = path_1.default.resolve(settings_2.defaultDockerWorkDir, settings_2.serverPath, settings_2.apiPath); await (0, docker_1.removeFolderFromDocker)(serverDockerApiPath, devSettings.server.dockerName); await (0, docker_1.copyPathToDocker)(serverApiPath, serverDockerApiPath, devSettings.server.dockerName); await (0, docker_1.touch)(path_1.default.resolve(settings_2.defaultDockerWorkDir, 'index.ts'), devSettings.server.dockerName); const mainApiPath = path_1.default.resolve(mainProxyPath, settings_2.apiPath); // ./.a2r/dev-server/proxy/api await (0, fs_1.emptyFolder)(mainApiPath); await (0, apiProxy_1.build)(serverApiPath, mainApiPath); await Promise.all(settings.projects.map(async (project) => { const projectApiPath = path_1.default.resolve(mainProjectPath, project.path, project.type === 'electron' ? 'renderer' : '', settings_2.projectsInternalPath, settings_2.proxyPath, settings_2.apiPath); await (0, fs_1.emptyFolder)(projectApiPath); await (0, fs_1.copyContents)(mainApiPath, projectApiPath); })); await Promise.all(devSettings.activeProjects.map(async (project) => { const dockerModelPath = path_1.default.resolve(settings_2.defaultDockerWorkDir, settings_2.projectsInternalPath, settings_2.proxyPath, settings_2.apiPath); await (0, docker_1.removeFolderFromDocker)(dockerModelPath, project.dockerName); await (0, docker_1.copyPathToDocker)(mainApiPath, dockerModelPath, project.dockerName); })); } }; exports.default = onApiValidation;