mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2024-11-30 13:33:52 +03:00
b82de74592
* Use rollup for d3tooltip * Use rollup for map2tree * Set moduleResolution * Use rollup for d3-state-visualizer * Use rollup for react-base16-styling * Use rollup for react-dock * Use rollup for react-json-tree * Use rollup for redux-devtools * Use rollup for redux-devtools-intrument * Use rollup for redux-devtools-chart-monitor * Update export * Use rollup for redux-devtools-dock-monitor * Use rollup for redux-devtools-inspector-monitor * Fix inspector demo * Fix invalid eslint config * Use rollup for inspector-monitor-test-tab * Use rollup for inspector-monitor-trace-tab * Use rollup for redux-devtools-log-monitor * Use rollup for redux-devtools-remote * Use rollup in redux-devtools-rtk-query-monitor * Use rollup for redux-devtools-serialize * Fix redux-devtools examples * Use rollup for redux-devtools-slider-monitor * Fix slider examples * Use rollup for redux-devtools-ui * Use rollup for redux-devtools-utils * Use rollup for redux-devtools-extension * Use rollup for redux-devtools-app * Fix Webpack app build * Fix extension build * Turn on minimization * Update CLI
92 lines
2.3 KiB
JavaScript
92 lines
2.3 KiB
JavaScript
import path from 'path';
|
|
import webpack from 'webpack';
|
|
import CopyPlugin from 'copy-webpack-plugin';
|
|
import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
|
|
|
|
const extpath = path.join(__dirname, '../src/browser/extension/');
|
|
const mock = `${extpath}chromeAPIMock`;
|
|
|
|
const baseConfig = (params) => ({
|
|
// devtool: 'source-map',
|
|
mode: params.mode,
|
|
entry: params.input || {
|
|
background: [mock, `${extpath}background/index`],
|
|
options: [mock, `${extpath}options/index`],
|
|
window: [`${extpath}window/index`],
|
|
remote: [`${extpath}window/remote`],
|
|
devpanel: [mock, `${extpath}devpanel/index`],
|
|
devtools: [`${extpath}devtools/index`],
|
|
content: [mock, `${extpath}inject/contentScript`],
|
|
pagewrap: [`${extpath}inject/pageScriptWrap`],
|
|
...params.inputExtra,
|
|
},
|
|
output: {
|
|
filename: '[name].bundle.js',
|
|
chunkFilename: '[id].chunk.js',
|
|
...params.output,
|
|
},
|
|
plugins: [
|
|
new webpack.DefinePlugin(params.globals),
|
|
...(params.plugins
|
|
? params.plugins
|
|
: [
|
|
new ForkTsCheckerWebpackPlugin({
|
|
typescript: {
|
|
configFile: 'tsconfig.json',
|
|
},
|
|
}),
|
|
]),
|
|
].concat(
|
|
params.copy
|
|
? new CopyPlugin({
|
|
patterns: [
|
|
{
|
|
from: params.manifestJsonPath,
|
|
to: path.join(params.output.path, 'manifest.json'),
|
|
},
|
|
{
|
|
from: path.join(__dirname, '../src/assets/'),
|
|
to: params.output.path,
|
|
},
|
|
],
|
|
})
|
|
: []
|
|
),
|
|
performance: {
|
|
hints: false,
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
app: path.join(__dirname, '../src/app'),
|
|
tmp: path.join(__dirname, '../build/tmp'),
|
|
},
|
|
extensions: ['.js', '.jsx', '.ts', '.tsx'],
|
|
fallback: {
|
|
path: require.resolve('path-browserify'),
|
|
},
|
|
},
|
|
module: {
|
|
rules: [
|
|
...(params.loaders
|
|
? params.loaders
|
|
: [
|
|
{
|
|
test: /\.(js|ts)x?$/,
|
|
use: 'babel-loader',
|
|
exclude: /(node_modules|tmp\/page\.bundle)/,
|
|
},
|
|
]),
|
|
{
|
|
test: /\.css?$/,
|
|
use: ['style-loader', 'css-loader'],
|
|
},
|
|
{
|
|
test: /\.pug$/,
|
|
use: ['file-loader?name=[name].html', 'pug-html-loader'],
|
|
},
|
|
],
|
|
},
|
|
});
|
|
|
|
export default baseConfig;
|