From f2985bda5f3ba062e4b2c54ba72badb46055dd62 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sun, 21 Feb 2016 18:36:12 -0800 Subject: [PATCH] Add `copyFile`, `minFile`, and `writeFile` to lib/common/util.js. --- lib/common/minify.js | 18 +++++++++--------- lib/common/util.js | 19 ++++++++++++++++++- lib/fp/build-dist.js | 4 ++-- lib/fp/build-modules.js | 24 ++++++++---------------- lib/main/build-dist.js | 7 +++---- 5 files changed, 40 insertions(+), 32 deletions(-) diff --git a/lib/common/minify.js b/lib/common/minify.js index 64a926962..f1abfb081 100644 --- a/lib/common/minify.js +++ b/lib/common/minify.js @@ -4,23 +4,23 @@ var _ = require('lodash'), fs = require('fs-extra'), uglify = require('uglify-js'); -var uglifyOptions = require('./uglify.options.js'); +var uglifyOptions = require('./uglify.options'); /*----------------------------------------------------------------------------*/ -function minify(inpath, outpath, callback, options) { - if (_.isFunction(outpath)) { +function minify(srcPath, destPath, callback, options) { + if (_.isFunction(destPath)) { if (_.isObject(callback)) { options = callback; } - callback = outpath; - outpath = undefined; + callback = destPath; + destPath = undefined; } - if (!outpath) { - outpath = inpath.replace(/(?=\.js$)/, '.min'); + if (!destPath) { + destPath = srcPath.replace(/(?=\.js$)/, '.min'); } - var output = uglify.minify(inpath, _.defaults(options || {}, uglifyOptions)); - fs.writeFile(outpath, output.code, 'utf-8', callback); + var output = uglify.minify(srcPath, _.defaults(options || {}, uglifyOptions)); + fs.writeFile(destPath, output.code, 'utf-8', callback); } module.exports = minify; diff --git a/lib/common/util.js b/lib/common/util.js index b840567eb..a0a13558e 100644 --- a/lib/common/util.js +++ b/lib/common/util.js @@ -5,8 +5,14 @@ var _ = require('lodash'), glob = require('glob'), path = require('path'); +var minify = require('../common/minify.js'); + /*----------------------------------------------------------------------------*/ +function copyFile(srcPath, destPath) { + return _.partial(fs.copy, srcPath, destPath); +} + function globTemplate(pattern) { return _.transform(glob.sync(pattern), function(result, filePath) { var key = path.basename(filePath, path.extname(filePath)); @@ -14,6 +20,17 @@ function globTemplate(pattern) { }, {}); } +function minFile(srcPath, destPath) { + return _.partial(minify, srcPath, destPath); +} + +function writeFile(filePath, data) { + return _.partial(fs.writeFile, filePath, data); +} + module.exports = { - 'globTemplate': globTemplate + 'copyFile': copyFile, + 'globTemplate': globTemplate, + 'minFile': minFile, + 'writeFile': writeFile }; diff --git a/lib/fp/build-dist.js b/lib/fp/build-dist.js index 7ca89e41d..3506409fe 100644 --- a/lib/fp/build-dist.js +++ b/lib/fp/build-dist.js @@ -5,7 +5,7 @@ var _ = require('lodash'), path = require('path'), webpack = require('webpack'); -var minify = require('../common/minify.js'); +var util = require('../common/util'); var basePath = path.join(__dirname, '..', '..'), distPath = path.join(basePath, 'dist'), @@ -48,7 +48,7 @@ function build() { async.series([ _.partial(webpack, mappingConfig), _.partial(webpack, fpConfig), - _.partial(minify, path.join(distPath, filename)) + util.minFile(path.join(distPath, filename)) ], onComplete); } diff --git a/lib/fp/build-modules.js b/lib/fp/build-modules.js index 1d2ce6b4c..e66b7cdd9 100644 --- a/lib/fp/build-modules.js +++ b/lib/fp/build-modules.js @@ -2,10 +2,10 @@ var _ = require('lodash'), async = require('async'), - fs = require('fs-extra'), glob = require('glob'), - path = require('path'), - util = require('../common/util'); + path = require('path'); + +var util = require('../common/util'); var mapping = require('../../fp/_mapping'), templatePath = path.join(__dirname, 'template/modules'), @@ -40,10 +40,6 @@ var ignored = [ 'lodash.js' ]; -function copyFile(srcPath, destPath) { - return _.partial(fs.copy, srcPath, destPath); -} - function isAlias(funcName) { return _.has(mapping.aliasToReal, funcName); } @@ -74,10 +70,6 @@ function getTemplate(moduleName) { return template.module(data); } -function writeFile(filePath, data) { - return _.partial(fs.writeFile, filePath, data); -} - /*----------------------------------------------------------------------------*/ function onComplete(error) { @@ -112,13 +104,13 @@ function build(target) { var actions = modulePaths.map(function(modulePath) { var moduleName = path.basename(modulePath, '.js'); - return writeFile(path.join(fpPath, moduleName + '.js'), getTemplate(moduleName)); + return util.writeFile(path.join(fpPath, moduleName + '.js'), getTemplate(moduleName)); }); - actions.unshift(copyFile(path.join(__dirname, '../../fp'), fpPath)); - actions.push(writeFile(path.join(target, 'fp.js'), template.fp())); - actions.push(writeFile(path.join(fpPath, 'convert.js'), template.convert())); - actions.push(writeFile(path.join(fpPath, '_util.js'), template._util())); + actions.unshift(util.copyFile(path.join(__dirname, '../../fp'), fpPath)); + actions.push(util.writeFile(path.join(target, 'fp.js'), template.fp())); + actions.push(util.writeFile(path.join(fpPath, 'convert.js'), template.convert())); + actions.push(util.writeFile(path.join(fpPath, '_util.js'), template._util())); async.series(actions, onComplete); } diff --git a/lib/main/build-dist.js b/lib/main/build-dist.js index 338dfe9eb..b61741911 100644 --- a/lib/main/build-dist.js +++ b/lib/main/build-dist.js @@ -2,10 +2,9 @@ var _ = require('lodash'), async = require('async'), - fs = require('fs-extra'), path = require('path'); -var minify = require('../common/minify.js'); +var util = require('../common/util'); var basePath = path.join(__dirname, '..', '..'), distPath = path.join(basePath, 'dist'), @@ -24,8 +23,8 @@ function onComplete(error) { function build() { async.series([ - _.partial(fs.copy, baseLodash, distLodash), - _.partial(minify, distLodash) + util.copyFile(baseLodash, distLodash), + util.minFile(distLodash) ], onComplete); }