UNPKG

ecology9-src4js-tools

Version:

src4js-tools

54 lines (47 loc) 1.83 kB
'use strict'; process.env.BABEL_ENV = 'production'; process.env.NODE_ENV = 'production'; process.on('unhandledRejection', err => { throw err; }); const fs = require('fs-extra'); const paths = require('../config/paths-html'); const versions = require('../versions'); const versionsCom = require('../versionsCom'); const v = versionsCom.concat(versions); paths.forEach(setting => { if (setting.appHtml && setting.htmlName && setting.servedPath && setting.appBuild) { const htmlPath = setting.htmlName; const js = setting.jsName ? setting.servedPath + setting.jsName : ''; const jsSingle = setting.jsSingleName ? setting.servedPath + setting.jsSingleName : ''; fs.readFile(htmlPath, { encoding: 'utf8' },(err, data) => { if(err) return; let oldData = data; if (oldData) { v.forEach(obj => { oldData = oldData.replace(new RegExp(`\\"${obj.key}[^\\"]*\\"`, 'g'), `"${obj.src}"`); if (obj.key === js && jsSingle) { oldData = oldData.replace(new RegExp(`\\"${jsSingle}[^\\"]*\\"`, 'g'), `"${jsSingle}?v=${obj.version}"`); } }); } fs.writeFile(htmlPath, oldData, { 'flag': 'w' }, function(err) { if(err) return; if (setting.copyFiles && Array.isArray(paths.copyFilesPath)) { paths.copyFilesPath.forEach(copyFile => { if (htmlPath === copyFile.from) { fs.copy(copyFile.from, copyFile.to, err => { if (err) { console.log(chalk.red('Failed to copy files.\n')); printBuildError(err); } else { console.log('The ' + chalk.green(copyFile.from) + ' has copied to ' + chalk.green(copyFile.to) + '\n'); } }) } }); } }) }); } });