UNPKG

@eastsideco/escshopify

Version:

WIP JS library for Shopify, containing a variety of useful functionality.

64 lines (55 loc) 1.67 kB
/* global __dirname, require, module*/ const webpack = require('webpack'); const UglifyJsPlugin = webpack.optimize.UglifyJsPlugin; const path = require('path'); const env = require('yargs').argv.env; // use --env with webpack 2 const JSDocBuildPlugin = require('./plugins/JSDocBuildPlugin.js'); let libraryName = 'escshopify'; function buildConfig(target) { let plugins = [ new JSDocBuildPlugin({ conf: __dirname + '/jsdoc.json' }) ]; let outputFile = ''; if (env === 'build') { plugins.push(new UglifyJsPlugin({ minimize: true })); outputFile = libraryName + '.' + target + '.min.js'; } else { outputFile = libraryName + '.' + target + '.js'; } return { target: target, entry: __dirname + '/src/index.js', devtool: 'source-map', output: { path: __dirname + '/lib', filename: outputFile, library: libraryName, libraryTarget: 'umd', libraryExport: 'default', umdNamedDefine: true }, module: { rules: [ { test: /(\.jsx|\.js)$/, loader: 'babel-loader', exclude: /(node_modules|bower_components)/ }, ] }, resolve: { alias: { '~': path.resolve('./src') }, modules: [path.resolve('./node_modules'), path.resolve('./src')], extensions: ['.json', '.js'] }, plugins: plugins }; }; module.exports = [ buildConfig('web'), buildConfig('node'), ];