From bb2db2aec06011671ae492aa004eed4743b1e1ac Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Tue, 22 Aug 2023 13:24:16 +0200 Subject: [PATCH] Add `circular-dependency-plugin` to detect any circular deps issues (#26600) --- config/webpack/shared.js | 4 ++++ package.json | 1 + yarn.lock | 6 ++++++ 3 files changed, 11 insertions(+) diff --git a/config/webpack/shared.js b/config/webpack/shared.js index 3b69282d5..7c00d85d3 100644 --- a/config/webpack/shared.js +++ b/config/webpack/shared.js @@ -2,6 +2,7 @@ const { basename, dirname, join, relative, resolve } = require('path'); +const CircularDependencyPlugin = require('circular-dependency-plugin'); const { sync } = require('glob'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const extname = require('path-complete-extname'); @@ -84,6 +85,9 @@ module.exports = { writeToDisk: true, publicPath: true, }), + new CircularDependencyPlugin({ + failOnError: true, + }) ], resolve: { diff --git a/package.json b/package.json index 0dbd84ee8..16c5d529a 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "babel-plugin-preval": "^5.1.0", "babel-plugin-transform-react-remove-prop-types": "^0.4.24", "blurhash": "^2.0.5", + "circular-dependency-plugin": "^5.2.2", "classnames": "^2.3.2", "cocoon-js-vanilla": "^1.3.0", "color-blend": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index 65a0eb036..779b3a21b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3998,6 +3998,11 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" +circular-dependency-plugin@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz#39e836079db1d3cf2f988dc48c5188a44058b600" + integrity sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ== + cjs-module-lexer@^1.0.0: version "1.2.3" resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" @@ -11281,6 +11286,7 @@ stringz@^2.1.0: char-regex "^1.0.2" "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + name strip-ansi-cjs version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==