main
Refactor how exportsType work add flagged exportsType for __esModule flagged add getExportsType to merge strict with exportsType move CommonJsStuffPlugin into CommonJsPlugin split CommonJsPlugin into imports and exports part enable minimal tree shaking for CommonJs imports and exports
add some test cases for cjs tree-shaking
test: cover deep CJS star-reexport tree-shaking (#21126)
fix crash when __esModule is called with defineProperty without value
refactor exports info logic always represent exports object instead of namespace object improve test case
add test cases for commonjs reexporting
test: stabilize warning/error snapshots and fix big-assets test case (#21110)
bugfixes
chore: update cSpell globs and fix typos
feat: tree-shake unused properties in module.exports object literals (#21543)
fix(cjs): disconnect requires in unused object-literal methods (#21644)
fix: drop unused pure values in module.exports object literals (#21590)
fix parsing of requires in requires
fix: keep full exports when a require() binding is re-exported (#21144)
feat: support CommonJS reexports via Object.defineProperty descriptors (#21129)
test and bug fixes
feat: drop unused side-effect-free CommonJS require() calls (#21502)
feat: tree shake destructuring of cjs require binding (#21501)
fix: CJS tree-shaking drops exports accessed before deferred require (#21123)
fix: tree-shake CommonJS exports through `const NAME = require(LITERAL)` bindings (#21003)
fix: keep all CommonJS exports when an exported function accesses them via this (#21179)
perf: reduce work on dependency hot paths and module diagnostics (#21559)