aboutsummaryrefslogtreecommitdiffstats
path: root/packages/react-docs-example/webpack.config.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/react-docs-example/webpack.config.js')
-rw-r--r--packages/react-docs-example/webpack.config.js83
1 files changed, 83 insertions, 0 deletions
diff --git a/packages/react-docs-example/webpack.config.js b/packages/react-docs-example/webpack.config.js
new file mode 100644
index 000000000..209f58a4f
--- /dev/null
+++ b/packages/react-docs-example/webpack.config.js
@@ -0,0 +1,83 @@
+const path = require('path');
+const webpack = require('webpack');
+
+module.exports = {
+ entry: ['./example/ts/index.tsx'],
+ output: {
+ path: path.join(__dirname, '/example/public'),
+ filename: 'bundle.js',
+ chunkFilename: 'bundle-[name].js',
+ publicPath: '/'
+ },
+ devtool: 'source-map',
+ resolve: {
+ modules: [path.join(__dirname, '/example/ts'), 'node_modules'],
+ extensions: ['.ts', '.tsx', '.js', '.jsx', '.json', '.md'],
+ alias: {
+ ts: path.join(__dirname, '/example/ts'),
+ less: path.join(__dirname, '/example/less'),
+ md: path.join(__dirname, '/example/md')
+ }
+ },
+ module: {
+ rules: [
+ {
+ test: /\.js$/,
+ loader: 'source-map-loader',
+ exclude: [
+ // instead of /\/node_modules\//
+ path.join(process.cwd(), 'node_modules')
+ ]
+ },
+ {
+ test: /\.tsx?$/,
+ loader: 'awesome-typescript-loader'
+ },
+ {
+ test: /\.css$/,
+ loaders: ['style-loader', 'css-loader']
+ },
+ {
+ test: /\.less$/,
+ loader: 'style-loader!css-loader!less-loader',
+ exclude: /node_modules/
+ },
+ {
+ test: /\.json$/,
+ loader: 'json-loader'
+ },
+ {
+ test: /\.md$/,
+ use: 'raw-loader'
+ }
+ ]
+ },
+ devServer: {
+ port: 3000,
+ disableHostCheck: true,
+ historyApiFallback: {
+ // Fixes issue where having dots in URL path that aren't part of fileNames causes webpack-dev-server
+ // to fail.
+ // Source: https://github.com/cvut/fittable/issues/171
+ rewrites: [
+ {
+ from: /.*$/,
+ to: function() {
+ return 'index.html';
+ }
+ }
+ ]
+ },
+ contentBase: path.join(__dirname, '/example/public')
+ },
+ plugins:
+ process.env.NODE_ENV === 'production'
+ ? [
+ new webpack.DefinePlugin({
+ 'process.env': {
+ NODE_ENV: JSON.stringify(process.env.NODE_ENV)
+ }
+ })
+ ]
+ : []
+};