Webpack plugin (npm package deep-scope-analyser v1.7.0, low activity) that improves tree-shaking by performing deep scope analysis to eliminate unused imports and exports. Designed for webpack 4.14.0+ and Node.js 8+. It solves webpack issue #6264 by analyzing variable scopes to determine which imports can be safely removed, beyond what webpack's built-in tree-shaking achieves. The plugin works only with ES module syntax (import/export) and requires the PURE annotation for side-effect marking. Originally named webpack-deep-scope-plugin (v1.5.x), renamed to deep-scope-analyser in v1.6.0 for standalone use. Maintained by a GSoC 2018 student, but has seen no updates since 2019. Differentiators: deeper analysis than standard tree-shaking; but limited to webpack 4 and ESM-only, with potential compatibility issues.
npm install deep-scope-analyserVerified import paths — ran on the pinned version, not inferred.
Adds deep scope analysis plugin to a webpack 4 production config to improve tree-shaking.
Use package deep-scope-analyser or continue using webpack-deep-scope-plugin (v1.5.4) for older webpack.
Consider alternatives like webpack's built-in sideEffects flag or optimization.usedExports for webpack 5+.
Ensure your code uses native ES modules; avoid using @babel/plugin-transform-modules-commonjs.
Use const Plugin = require('webpack-deep-scope-plugin').default;npm install deep-scope-analyser (or pin version to 1.5.4) and update import to deep-scope-analyser.
const WebpackDeepScopeAnalysisPlugin = require('webpack-deep-scope-plugin').default;npm install webpack@4 --save-dev