Initial OpenECOMP Portal commit
[portal.git] / ecomp-portal-FE / client / bower_components / lodash / lib / common / minify.js
diff --git a/ecomp-portal-FE/client/bower_components/lodash/lib/common/minify.js b/ecomp-portal-FE/client/bower_components/lodash/lib/common/minify.js
new file mode 100644 (file)
index 0000000..7a0082d
--- /dev/null
@@ -0,0 +1,39 @@
+'use strict';
+
+var _ = require('lodash'),
+    fs = require('fs-extra'),
+    uglify = require('uglify-js');
+
+var uglifyOptions = require('./uglify.options');
+
+/*----------------------------------------------------------------------------*/
+
+/**
+ * Asynchronously minifies the file at `srcPath`, writes it to `destPath`, and
+ * invokes `callback` upon completion. The callback is invoked with one argument:
+ * (error).
+ *
+ * If unspecified, `destPath` is `srcPath` with an extension of `.min.js`. For
+ * example, a `srcPath` of `path/to/foo.js` would have a `destPath` of `path/to/foo.min.js`.
+ *
+ * @param {string} srcPath The path of the file to minify.
+ * @param {string} [destPath] The path to write the file to.
+ * @param {Function} callback The function invoked upon completion.
+ * @param {Object} [option] The UglifyJS options object.
+ */
+function minify(srcPath, destPath, callback, options) {
+  if (_.isFunction(destPath)) {
+    if (_.isObject(callback)) {
+      options = callback;
+    }
+    callback = destPath;
+    destPath = undefined;
+  }
+  if (!destPath) {
+    destPath = srcPath.replace(/(?=\.js$)/, '.min');
+  }
+  var output = uglify.minify(srcPath, _.defaults(options || {}, uglifyOptions));
+  fs.writeFile(destPath, output.code, 'utf-8', callback);
+}
+
+module.exports = minify;