sharyn
Version:
Combines all the other packages under one.
67 lines (55 loc) • 1.7 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
var _webpack = _interopRequireDefault(require("webpack"));
var _path = _interopRequireDefault(require("path"));
var _checkSetup = require("@sharyn/check-setup");
var _env = require("@sharyn/env");
var _wdsUtil = require("./wds-util");
/* eslint-disable import/no-extraneous-dependencies, global-require */
// flow-disable-next-line
// flow-disable-next-line
var config = {
entry: './src/_client/client.js',
output: {
filename: "js/bundle.js",
chunkFilename: '[name].[chunkhash].js',
path: _path.default.resolve('dist'),
publicPath: '/static/'
},
module: {
rules: [{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}]
},
plugins: [new _webpack.default.DefinePlugin({
CLIENT_VERSION: _env.NO_VERSION_VALIDATION ? null : (0, _stringify.default)((0, _checkSetup.dirChecksum)('src', ['package.json', 'yarn.lock']))
})],
resolve: {
alias: {
joi: 'joi-browser'
}
},
performance: {
hints: false
}
};
if ((0, _checkSetup.hasPackage)('compression-webpack-plugin')) {
// flow-disable-next-line
var CompressionPlugin = require('compression-webpack-plugin');
config.plugins.push(new CompressionPlugin());
}
if (_wdsUtil.WDS_PORT) {
config.output.publicPath = "http://localhost:".concat(_wdsUtil.WDS_PORT, "/static/");
config.devServer = {
port: _wdsUtil.WDS_PORT,
headers: {
'Access-Control-Allow-Origin': '*'
}
};
}
module.exports = config;