aboutsummaryrefslogtreecommitdiff
path: root/webpack.config.js
diff options
context:
space:
mode:
Diffstat (limited to 'webpack.config.js')
-rw-r--r--webpack.config.js30
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(),
+ })
],
};