diff options
Diffstat (limited to 'webpack.config.js')
| -rw-r--r-- | webpack.config.js | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/webpack.config.js b/webpack.config.js index 081a2a1..968fd2e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,6 +1,8 @@ const webpack = require('webpack'); const path = require('path'); +const CircularDependencyPlugin = require('circular-dependency-plugin') + const isProduction = process.env.NODE_ENV === 'production'; const isMock = process.env.NODE_ENV === 'mock'; @@ -16,6 +18,19 @@ const config = { module: { rules: [ { + test: /\.(js|ts)$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + options: { + presets: [ + "@babel/preset-env", + "@babel/preset-typescript" + ], + } + } + }, + { test: /\.png/, type: 'asset/inline', }, @@ -23,7 +38,7 @@ const config = { }, plugins: [ new webpack.NormalModuleReplacementPlugin( - /-ENV.js/, + /-ENV.(js|ts)/, (resource) => { resource.request = resource.request.replace( /-ENV/, @@ -34,7 +49,18 @@ const config = { resource.createData.request = resource.request; } } - ) + ), + new CircularDependencyPlugin({ + // exclude detection of files based on a RegExp + exclude: /node_modules/, + // add errors to webpack instead of warnings + failOnError: true, + // allow import cycles that include an asyncronous import, + // e.g. via import(/* webpackMode: "weak" */ './file.js') + allowAsyncCycles: false, + // set the current working directory for displaying module paths + cwd: process.cwd(), + }) ], }; |
