Skip to content

Commit

Permalink
feat: circular dependency plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
easy1090 committed Dec 25, 2024
1 parent 9dd2e92 commit 7536a8c
Show file tree
Hide file tree
Showing 22 changed files with 72 additions and 1 deletion.
2 changes: 1 addition & 1 deletion examples/webpack-minimal/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"package.json"
],
"scripts": {
"compile": "node -r tsm ./node_modules/webpack/bin/webpack.js -c webpack.config.ts",
"compile": "node -r tsm ./node_modules/webpack/bin/webpack.js -c webpack-c.config.ts",
"build:analysis": "ENABLE_CLIENT_SERVER=true npm run compile"
},
"keywords": [],
Expand Down
1 change: 1 addition & 0 deletions examples/webpack-minimal/src/deps/a.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require('./b');
1 change: 1 addition & 0 deletions examples/webpack-minimal/src/deps/b.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require('./c');
1 change: 1 addition & 0 deletions examples/webpack-minimal/src/deps/c.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require('./b');
1 change: 1 addition & 0 deletions examples/webpack-minimal/src/deps/context/a.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require('../i');
1 change: 1 addition & 0 deletions examples/webpack-minimal/src/deps/d.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require('./e');
1 change: 1 addition & 0 deletions examples/webpack-minimal/src/deps/e.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require('./f');
1 change: 1 addition & 0 deletions examples/webpack-minimal/src/deps/f.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require('./g');
1 change: 1 addition & 0 deletions examples/webpack-minimal/src/deps/g.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require('./e');
1 change: 1 addition & 0 deletions examples/webpack-minimal/src/deps/h.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require('./i');
1 change: 1 addition & 0 deletions examples/webpack-minimal/src/deps/i.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require.context('./context/', false, /.*/);
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import b from './b';

var a = { name: 'a', dep: b && b.name };

export default a;
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import a from './a';

var b = { name: 'b', dep: a && a.name };

export default b;
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import a from './a';
import b from './b';
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
let own = require('./imports-self');
let a = 1;
// console.log(a, own);
module.exports = a;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = 1;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
this;
4 changes: 4 additions & 0 deletions examples/webpack-minimal/src/deps/ts/a.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import b from './b';

let a = 1;
module.exports = a;
2 changes: 2 additions & 0 deletions examples/webpack-minimal/src/deps/ts/b.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
let b = 1;
export default b;
10 changes: 10 additions & 0 deletions examples/webpack-minimal/src/deps/ts/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"compilerOptions": {
"outDir": "./dist/",
"noImplicitAny": true,
"module": "es6",
"target": "es5",
"jsx": "react",
"allowJs": true
}
}
27 changes: 27 additions & 0 deletions examples/webpack-minimal/webpack-c.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { resolve } from 'path';
import { Configuration } from 'webpack';
import { RsdoctorWebpackPlugin } from '@rsdoctor/webpack-plugin';
import svgToMiniDataURI from 'mini-svg-data-uri';

const data: Configuration = {
entry: './src/deps/a.js',
mode: 'none',

resolve: {
mainFields: ['browser', 'module', 'main'],
extensions: ['.ts', '.js', '.json', '.wasm'],
},
output: {
path: resolve(__dirname, 'dist'),
filename: 'deps.js',
},
devtool: 'source-map',
plugins: [
new RsdoctorWebpackPlugin({
disableClientServer: !process.env.ENABLE_CLIENT_SERVER,
features: ['bundle'],
}),
],
};

export default data;

0 comments on commit 7536a8c

Please sign in to comment.