56 lines
1.1 KiB
JavaScript
56 lines
1.1 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
var _ = require('lodash'),
|
||
|
async = require('async'),
|
||
|
path = require('path'),
|
||
|
webpack = require('webpack');
|
||
|
|
||
|
var file = require('../common/file');
|
||
|
|
||
|
var basePath = path.join(__dirname, '..', '..'),
|
||
|
distPath = path.join(basePath, 'dist'),
|
||
|
fpPath = path.join(basePath, 'fp'),
|
||
|
filename = 'lodash.fp.js';
|
||
|
|
||
|
var fpConfig = {
|
||
|
'entry': path.join(fpPath, '_convertBrowser.js'),
|
||
|
'output': {
|
||
|
'path': distPath,
|
||
|
'filename': filename,
|
||
|
'library': 'fp',
|
||
|
'libraryTarget': 'umd'
|
||
|
},
|
||
|
'plugins': [
|
||
|
new webpack.optimize.OccurenceOrderPlugin,
|
||
|
new webpack.optimize.DedupePlugin
|
||
|
]
|
||
|
};
|
||
|
|
||
|
var mappingConfig = {
|
||
|
'entry': path.join(fpPath, '_mapping.js'),
|
||
|
'output': {
|
||
|
'path': distPath,
|
||
|
'filename': 'mapping.fp.js',
|
||
|
'library': 'mapping',
|
||
|
'libraryTarget': 'umd'
|
||
|
}
|
||
|
};
|
||
|
|
||
|
/*----------------------------------------------------------------------------*/
|
||
|
|
||
|
function onComplete(error) {
|
||
|
if (error) {
|
||
|
throw error;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function build() {
|
||
|
async.series([
|
||
|
_.partial(webpack, mappingConfig),
|
||
|
_.partial(webpack, fpConfig),
|
||
|
file.min(path.join(distPath, filename))
|
||
|
], onComplete);
|
||
|
}
|
||
|
|
||
|
build();
|