UNPKG

1.7 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
6
7var _webpack = _interopRequireDefault(require("webpack"));
8
9var _path = _interopRequireDefault(require("path"));
10
11var _checkSetup = require("@sharyn/check-setup");
12
13var _env = require("@sharyn/env");
14
15var _wdsUtil = require("./wds-util");
16
17/* eslint-disable import/no-extraneous-dependencies, global-require */
18// flow-disable-next-line
19// flow-disable-next-line
20var config = {
21 entry: './src/_client/client.js',
22 output: {
23 filename: "js/bundle.js",
24 chunkFilename: '[name].[chunkhash].js',
25 path: _path.default.resolve('dist'),
26 publicPath: '/static/'
27 },
28 module: {
29 rules: [{
30 test: /\.js$/,
31 exclude: /node_modules/,
32 use: {
33 loader: 'babel-loader'
34 }
35 }]
36 },
37 plugins: [new _webpack.default.DefinePlugin({
38 CLIENT_VERSION: _env.NO_VERSION_VALIDATION ? null : (0, _stringify.default)((0, _checkSetup.dirChecksum)('src', ['package.json', 'yarn.lock']))
39 })],
40 resolve: {
41 alias: {
42 joi: 'joi-browser'
43 }
44 },
45 performance: {
46 hints: false
47 }
48};
49
50if ((0, _checkSetup.hasPackage)('compression-webpack-plugin')) {
51 // flow-disable-next-line
52 var CompressionPlugin = require('compression-webpack-plugin');
53
54 config.plugins.push(new CompressionPlugin());
55}
56
57if (_wdsUtil.WDS_PORT) {
58 config.output.publicPath = "http://localhost:".concat(_wdsUtil.WDS_PORT, "/static/");
59 config.devServer = {
60 port: _wdsUtil.WDS_PORT,
61 headers: {
62 'Access-Control-Allow-Origin': '*'
63 }
64 };
65}
66
67module.exports = config;
\No newline at end of file