diff options
author | Fabio Berger <me@fabioberger.com> | 2017-11-28 00:05:47 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-28 00:05:47 +0800 |
commit | 48b3d8526560d389e74beb12bbd64b7be6e9268f (patch) | |
tree | 00ae6e24314793cd303b154ede4fe4f55c654e84 /packages/website/webpack.config.js | |
parent | b5ce876327fe6443364837ea65cf28ec0e371949 (diff) | |
parent | ecfee00feca331ee1efa55165471d79774cb03d2 (diff) | |
download | dexon-sol-tools-48b3d8526560d389e74beb12bbd64b7be6e9268f.tar dexon-sol-tools-48b3d8526560d389e74beb12bbd64b7be6e9268f.tar.gz dexon-sol-tools-48b3d8526560d389e74beb12bbd64b7be6e9268f.tar.bz2 dexon-sol-tools-48b3d8526560d389e74beb12bbd64b7be6e9268f.tar.lz dexon-sol-tools-48b3d8526560d389e74beb12bbd64b7be6e9268f.tar.xz dexon-sol-tools-48b3d8526560d389e74beb12bbd64b7be6e9268f.tar.zst dexon-sol-tools-48b3d8526560d389e74beb12bbd64b7be6e9268f.zip |
Merge pull request #237 from 0xProject/addWebsite
Add Website to Mono Repo
Diffstat (limited to 'packages/website/webpack.config.js')
-rw-r--r-- | packages/website/webpack.config.js | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/packages/website/webpack.config.js b/packages/website/webpack.config.js new file mode 100644 index 000000000..c436888bd --- /dev/null +++ b/packages/website/webpack.config.js @@ -0,0 +1,86 @@ +const path = require('path'); +const webpack = require('webpack'); + +module.exports = { + entry: ['./ts/index.tsx'], + output: { + path: path.join(__dirname, '/public'), + filename: 'bundle.js', + chunkFilename: 'bundle-[name].js', + publicPath: '/', + }, + devtool: 'source-map', + resolve: { + modules: [ + path.join(__dirname, '/ts'), + 'node_modules', + ], + extensions: ['.ts', '.tsx', '.js', '.jsx', '.json', '.md'], + alias: { + ts: path.join(__dirname, '/ts'), + less: path.join(__dirname, '/less'), + md: path.join(__dirname, '/md'), + }, + }, + module: { + rules: [ + { + test: /\.js$/, + loader: 'source-map-loader', + }, + { + test: /\.tsx?$/, + loader: 'awesome-typescript-loader', + }, + { + test: /\.md$/, + use: 'raw-loader', + }, + { + test: /\.less$/, + loader: 'style-loader!css-loader!less-loader', + exclude: /node_modules/, + }, + { + test: /\.css$/, + loaders: ['style-loader', 'css-loader'], + }, + { + test: /\.json$/, + loader: 'json-loader', + }, + ], + }, + devServer: { + port: 3572, + historyApiFallback: { + // Fixes issue where having dots in URL path that aren't part of fileNames causes webpack-dev-server + // to fail. Doc versions have dots in them, therefore we special case these urls to also load index.html. + // Source: https://github.com/cvut/fittable/issues/171 + rewrites: [ + { + from: /^\/docs\/.*$/, + to: function() { + return 'index.html'; + } + } + ] + }, + disableHostCheck: true, + }, + plugins: process.env.NODE_ENV === 'production' ? [ + // Since we do not use moment's locale feature, we exclude them from the bundle. + // This reduces the bundle size by 0.4MB. + new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/), + new webpack.DefinePlugin({ + 'process.env': { + 'NODE_ENV': JSON.stringify(process.env.NODE_ENV) + } + }), + new webpack.optimize.UglifyJsPlugin({ + mangle: { + except: ['BigNumber'] + } + }) + ] : [], +}; |