update(circular-dependency-plugin): 'include' option v5.2 (#44997)

- 'include' option
- minor version bump
- minor docs changes

https://github.com/aackerman/circular-dependency-plugin#basic-usaget
https://github.com/aackerman/circular-dependency-plugin/blob/master/index.js#L10
https://github.com/aackerman/circular-dependency-plugin/blob/master/index.js#L31

Thanks!
This commit is contained in:
Piotr Błażejewicz (Peter Blazejewicz) 2020-05-28 00:37:58 +02:00 committed by GitHub
parent 74abeec2ad
commit 1e0c4f29ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 4 deletions

View File

@ -1,5 +1,5 @@
import * as CircularDependencyPlugin from 'circular-dependency-plugin';
import * as webpack from 'webpack';
import CircularDependencyPlugin = require('circular-dependency-plugin');
import webpack = require('webpack');
new CircularDependencyPlugin();
new CircularDependencyPlugin({});
@ -11,6 +11,7 @@ new CircularDependencyPlugin({
allowAsyncCycles: false,
cwd: process.cwd(),
exclude: /a\.js|node_modules/,
include: /dir/,
failOnError: true,
onDetected({ module: webpackModuleRecord, paths, compilation }) {
numCyclesDetected++;

View File

@ -8,6 +8,9 @@ import { Plugin, Module, compilation } from 'webpack';
export = CircularDependencyPlugin;
/**
* Detect modules with circular dependencies when bundling with webpack.
*/
declare class CircularDependencyPlugin extends Plugin {
constructor(options?: CircularDependencyPlugin.Options);
// Not exposing `isCyclic` because it isn't meant to be public, I believe
@ -15,15 +18,34 @@ declare class CircularDependencyPlugin extends Plugin {
declare namespace CircularDependencyPlugin {
interface Options {
/**
* @default false
*/
allowAsyncCycles?: boolean;
/**
* @default process.cwd()
*/
cwd?: string;
/**
* @default /$^/
*/
exclude?: RegExp;
/**
* @default /.*\/
*/
include?: RegExp;
/**
* @default false
*/
failOnError?: boolean;
onDetected?: (x: {
/**
* @default false
*/
onDetected?: false | ((x: {
module: Module;
paths: string[];
compilation: compilation.Compilation;
}) => void;
}) => void);
onEnd?: (x: { compilation: compilation.Compilation }) => void;
onStart?: (x: { compilation: compilation.Compilation }) => void;
}