const configFileName = 'deployConfig.js' const fs = require('fs') function getConfig (projectName) { delete require.cache[require.resolve(`./../projects/${projectName}/${configFileName}`)] let config = require(`./../projects/${projectName}/${configFileName}`) return config } function parseConfig (configList, projectName, tag) { let config = getBranchConfig(configList, tag) if (!config) return if (config.deployType === 'FTP') { return parseFtpConfig(config, projectName) } } function getBranchConfig (config, tag) { let result for (let i = 0; i < config.length; i++) { if (tag.indexOf(config[i].tagExg) > -1 ) { result = config[i] break } } return result } function parseFtpConfig (config, projectName) { let result = { cmds: config.cmd, branch: config.branch, tagExg: config.tagExg, parameter: { localRoot: `${process.cwd()}/projects/${projectName}/${config.deployConfig.distPath}`, remoteRoot: config.deployConfig.remotePath, include: config.deployConfig.include, exclude: config.deployConfig.exclude } } return result } function readConfig (projectName, tag) { let deployConfig = getConfig(projectName) return parseConfig(deployConfig, projectName, tag) } module.exports = readConfig