2019-04-03 05:14:02 +00:00
|
|
|
// Copyright 2018 The go-ethereum Authors
|
2018-01-29 19:44:18 +00:00
|
|
|
// This file is part of the go-ethereum library.
|
|
|
|
//
|
|
|
|
// The go-ethereum library is free software: you can redistribute it and/or modify
|
|
|
|
// it under the terms of the GNU Lesser General Public License as published by
|
|
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
|
|
// (at your option) any later version.
|
|
|
|
//
|
|
|
|
// The go-ethereum library is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
// GNU Lesser General Public License for more details.
|
|
|
|
//
|
|
|
|
// You should have received a copy of the GNU Lesser General Public License
|
|
|
|
// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
const path = require('path');
|
|
|
|
|
|
|
|
module.exports = {
|
2019-04-03 05:14:02 +00:00
|
|
|
target: 'web',
|
|
|
|
entry: {
|
|
|
|
bundle: './index',
|
2018-03-07 21:29:21 +00:00
|
|
|
},
|
|
|
|
output: {
|
2019-04-03 05:14:02 +00:00
|
|
|
filename: '[name].js',
|
|
|
|
path: path.resolve(__dirname, ''),
|
|
|
|
sourceMapFilename: '[file].map',
|
|
|
|
},
|
|
|
|
resolve: {
|
|
|
|
modules: [
|
|
|
|
'node_modules',
|
|
|
|
path.resolve(__dirname, 'components'), // import './components/Component' -> import 'Component'
|
|
|
|
],
|
|
|
|
extensions: ['.js', '.jsx'],
|
2018-03-07 21:29:21 +00:00
|
|
|
},
|
|
|
|
module: {
|
|
|
|
rules: [
|
|
|
|
{
|
|
|
|
test: /\.jsx$/, // regexp for JSX files
|
|
|
|
exclude: /node_modules/,
|
|
|
|
use: [ // order: from bottom to top
|
|
|
|
{
|
|
|
|
loader: 'babel-loader',
|
|
|
|
options: {
|
|
|
|
presets: [ // order: from bottom to top
|
2019-04-03 05:14:02 +00:00
|
|
|
'@babel/env',
|
|
|
|
'@babel/react',
|
|
|
|
],
|
|
|
|
plugins: [ // order: from top to bottom
|
|
|
|
'@babel/proposal-function-bind', // instead of stage 0
|
|
|
|
'@babel/proposal-class-properties', // static defaultProps
|
|
|
|
'@babel/transform-flow-strip-types',
|
|
|
|
'react-hot-loader/babel',
|
2018-03-07 21:29:21 +00:00
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
2019-04-03 05:14:02 +00:00
|
|
|
// 'eslint-loader', // show errors in the console
|
2018-03-07 21:29:21 +00:00
|
|
|
],
|
|
|
|
},
|
|
|
|
{
|
2019-04-03 05:14:02 +00:00
|
|
|
test: /\.css$/,
|
|
|
|
oneOf: [
|
|
|
|
{
|
|
|
|
test: /font-awesome/,
|
|
|
|
use: [
|
|
|
|
'style-loader',
|
|
|
|
'css-loader',
|
|
|
|
path.resolve(__dirname, './fa-only-woff-loader.js'),
|
|
|
|
],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
use: [
|
|
|
|
'style-loader',
|
|
|
|
'css-loader',
|
|
|
|
],
|
|
|
|
},
|
2018-03-07 21:29:21 +00:00
|
|
|
],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
test: /\.woff2?$/, // font-awesome icons
|
|
|
|
use: 'url-loader',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2018-01-29 19:44:18 +00:00
|
|
|
};
|