UNPKG

feathers-hooks-rediscache

Version:
64 lines (55 loc) 1.38 kB
/* global __dirname, require, module*/ // const webpack = require('webpack'); const fs = require('fs'); // const UglifyJsPlugin = webpack.optimize.UglifyJsPlugin; const path = require('path'); const env = require('yargs').argv.env; // use --env with webpack 2 let libraryName = 'library'; let plugins = [], outputFile; if (env === 'build') { // plugins.push(new UglifyJsPlugin({ minimize: true })); outputFile = libraryName + '.min.js'; } else { outputFile = libraryName + '.js'; } let nodeModules = {}; fs.readdirSync('node_modules') .filter(function (x) { return ['.bin'].indexOf(x) === -1; }) .forEach(function (mod) { nodeModules[mod] = 'commonjs ' + mod; }); const config = { entry: __dirname + '/src/index.js', devtool: 'source-map', target: 'node', externals: nodeModules, output: { path: __dirname + '/lib', filename: outputFile, library: libraryName, libraryTarget: 'umd', umdNamedDefine: true }, module: { rules: [ { test: /(\.jsx|\.js)$/, loader: 'babel-loader', exclude: /(node_modules|bower_components)/ }, { test: /(\.jsx|\.js)$/, loader: 'eslint-loader', exclude: /node_modules/ } ] }, resolve: { modules: [path.resolve('./src')], extensions: ['.json', '.js'] }, plugins: plugins }; module.exports = config;