UNPKG

a2r

Version:
48 lines (47 loc) 3.01 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 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 getFileToTouch_1 = __importDefault(require("./getFileToTouch")); const settings_2 = require("../../settings"); /** * Method executed when API is validated after changes are processed */ const onModelValidation = async (serverModelPath, // ./server/model 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 mainModelPath = path_1.default.resolve(mainProxyPath, settings_2.modelPath); // ./.a2r/dev-server/proxy/model await (0, fs_1.emptyFolder)(mainModelPath); await (0, fs_1.copyContents)(serverModelPath, mainModelPath); const serverDockerModelPath = path_1.default.resolve(settings_2.defaultDockerWorkDir, settings_2.serverPath, settings_2.modelPath); await (0, docker_1.removeFolderFromDocker)(serverDockerModelPath, devSettings.server.dockerName); await (0, docker_1.copyPathToDocker)(mainModelPath, serverDockerModelPath, devSettings.server.dockerName); await (0, docker_1.touch)((0, getFileToTouch_1.default)('server'), devSettings.server.dockerName); await Promise.all(settings.projects.map(async (project) => { const projectModelPath = path_1.default.resolve(mainProjectPath, project.path, project.type === 'electron' ? 'renderer' : '', settings_2.projectsInternalPath, settings_2.proxyPath, settings_2.modelPath); await (0, fs_1.emptyFolder)(projectModelPath); await (0, fs_1.copyContents)(mainModelPath, projectModelPath); })); await Promise.all(devSettings.activeProjects.map(async (project) => { if (project.type === 'next' && await (0, docker_1.isDockerRunning)(project.dockerName)) { const dockerModelPath = path_1.default.resolve(settings_2.defaultDockerWorkDir, settings_2.projectsInternalPath, settings_2.proxyPath, settings_2.modelPath); await (0, docker_1.removeFolderFromDocker)(dockerModelPath, project.dockerName); await (0, docker_1.copyPathToDocker)(mainModelPath, dockerModelPath, project.dockerName); await (0, docker_1.touch)((0, getFileToTouch_1.default)(project.type), project.dockerName); } })); // Copy to projects (both project folder and docker) } }; exports.default = onModelValidation;