Repository navigation
Remove unused JavaScript and Python dependencies, and correct the dependency groups. - #10500
Conversation
…endency groups. None of the removed packages is imported, referenced from the build configuration or used by a package.json script. Those that other packages need (ajv, ip-address, bignumber.js and the @emotion internals) are still installed through them, and the ip-address security pin in resolutions is unchanged. browserify had been supplying the browser 'util' polyfill that wkx and @sindresorhus/is import, so 'util' is now declared directly. Packages that end up in the bundle (@emotion/react, @emotion/styled, html-react-parser, prop-types, stylis, buffer, process) move to dependencies, and build-only ones (@types/react, @types/react-dom, postcss) move to devDependencies, so that 'yarn audit --groups dependencies' covers what is actually shipped. extras, fixtures, linecache2, python-mimeparse and traceback2 were dependencies of old testtools releases, and nothing current requires them.
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: pgadmin-org/pgadmin4/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
💤 Files with no reviewable changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review. WalkthroughThe web dependency manifest changes its dependency entries and placement. The regression requirements remove five dependencies; the remaining listed pins are unchanged. ChangesDependency Manifest Updates
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Other Suggested reviewers: Merge Risk: ⚪ Minimal · up to No actionable build or regression-setup failure was established from these dependency changes, so the PR has no identified merge-blocking risk. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The changes bring previously excluded bundled dependencies into the existing security audit without an evidenced expansion of runtime privileges. Packaging continues to build and ship static assets. Remaining uncertainty concerns dependency resolution and actual build and audit outcomes, not an identified security defect. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Removes packages that nothing in the tree uses any more, and sorts the
web/dependencies into the right groups so thatmake check-auditjsaudits everything that actually ships in the bundle.Removed from
web/package.jsonvalid-filename,brace,snapsvg-cjs,split.js,moment-timezone,immutability-helper,insert-if,react-new-window,react-timer-hook,@date-io/core,@date-io/date-fns.browserify,babelify,@babel/plugin-transform-runtime,style-loader,url-loader,exports-loader,css-minimizer-webpack-plugin,svgo,svgo-loader,resize-observer-polyfill. This also drops the vulnerablesvgo4.0.2 from the tree.ajv,ip-address,bignumber.js,@emotion/sheet,@emotion/memoize,@emotion/utils. Theip-addresspin inresolutionsis unchanged.Added
util^0.12.5, whichbrowserifyhad been quietly providing;wkx(geometry viewer) needs it and the bundle fails without it. The lockfile version is unchanged.Regrouped
devDependencies:@types/react,@types/react-dom,postcss.dependencies(bundled into shipped code, so previously missed by the audit):@emotion/react,@emotion/styled,html-react-parser,prop-types,stylis,buffer,process.Python test requirements: removed
extras,fixtures,linecache2,python-mimeparseandtraceback2, which only old testtools releases needed.pbrstays for the Python 3.9testscenariospin.Lint, Jest (984 tests), a production bundle and a backend test run from a fresh virtualenv all pass locally; the feature tests are the ones to watch here.
Summary by CodeRabbit