MergeShieldDemo
Like what you see? Sign up with GitHub to start governing your own repos — free forever.
Back to Pull Requests
Migrate to ESM modules
55/100 High
55/100 High
Risk analysis complete.Score: 55/100
GitHub
Summary
ESM migration — large blast radius (31 files) but mostly mechanical import/export changes.
Model: claude-sonnet-4-20250514Duration: 11800msTokens: 4100
Was this analysis helpful?
Risk Scores
Overall55/100
Complexity35/100
Security10/100
Blast Radius70/100
Test Coverage40/100
Breaking Change60/100
File-Level Risk
| File | Risk | Category | Details |
|---|---|---|---|
package.json | 60 | breaking Change | Adding "type": "module" changes all .js file semantics |
src/index.ts | 50 | blast Radius | Entry point rewritten for ESM exports |
tsconfig.json | 35 | complexity | Module resolution changed to NodeNext |
blast Radius
70/100Findings
- • 31 files changed — every source file updated for ESM syntax
- • package.json updated with "type": "module"
- • All require() calls replaced with import statements
Suggestions
- → Run full test suite with ESM loader to verify compatibility
- → Check for dynamic require() calls that need special handling
breaking Change
60/100Findings
- • "type": "module" changes default module resolution
- • CommonJS interop may break some dependencies
- • __dirname and __filename no longer available — replaced with import.meta
Suggestions
- → Add explicit .js extensions to all relative imports for ESM compliance
- → Test all third-party package imports for ESM compatibility