lilacs
Version:
A web frontend building tool for teamwork, with automaticly compiling, merging, minifying, syncing files to server, supporting distributed servers, ensuring css or html files' inline reference with correct absolute path, and more.
53 lines (43 loc) • 1.52 kB
JavaScript
const fs = require('fs');
const fsExtra = require('fs-extra');
let distData = require('./data');
let getRequireJsModules = require('../handle/get_require_js_modules');
let getFilePathFromPackage = require('../../util/get_file_path_from_package');
let fileUtil = require('../../util/file');
module.exports = {
/**
* find require-js modules
*/
findRequireJsModules: (cb) => {
/**
* find js modules, if not found in project, copy from node_modules
*/
if (distData.currentConfig.useRequireJs) {
getRequireJsModules(distData.currentConfig);
}
cb();
},
/**
* check all css modules whether exist in project
* @param cb
*/
checkInCssModules: cb => {
if (!distData.currentConfig.useInCss) {
cb();
return;
}
let config = distData.currentConfig;
config.inCssAllModules.forEach(module => {
let filePath = config.buildPaths.copiedDev.css + '/' + module + '.css';
// exist in current project
if (fileUtil.fileExist(filePath)) return;
let realFilePath = getFilePathFromPackage(module, !1);
if (!realFilePath || !fileUtil.fileExist(realFilePath)) {
logger.error(`file not found corresponding to css module: ${module}`);
process.exit(1);
}
fsExtra.outputFileSync(filePath, fsExtra.readFileSync(realFilePath, 'utf8'));
});
cb();
}
};