Conversation
Summary of ChangesHello @hyoban, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request focuses on enhancing the project's code health and build efficiency by enforcing and optimizing the Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request focuses on enforcing knip to identify and remove unused code, which is a valuable step towards improving the project's maintainability. The changes include simplifying the knip.config.ts by leveraging its plugins, updating dependencies in package.json, and removing several JSDoc comments from ESLint rules. While the configuration cleanup and dependency removal are positive changes, I have concerns about the removal of JSDoc comments that provide type information in JavaScript files. These annotations are crucial for code clarity, static analysis, and long-term maintenance, especially for complex data structures. I've added specific comments suggesting their restoration.
I am having trouble creating individual review comments. Click here to see my feedback.
web/eslint-rules/rules/no-as-any-in-t.js (32-36)
This JSDoc block provides valuable type information for the node parameter (import('estree').CallExpression). In a JavaScript file, this kind of annotation is very helpful for maintainability and static analysis. Please consider keeping it.
web/eslint-rules/rules/no-legacy-namespace-prefix.js (22-41)
Multiple JSDoc blocks containing valuable type information have been removed from this file. In a JavaScript file, these annotations are crucial for maintainability, static analysis, and developer understanding, especially for complex data structures and function parameters. Please consider restoring the JSDoc comments throughout this file.
web/eslint-rules/rules/require-ns-option.js (15-19)
This JSDoc block provides valuable type information for the node parameter and the return type. Please consider keeping it to improve code clarity and maintainability in this JavaScript file.
There was a problem hiding this comment.
Pull request overview
This PR updates the knip configuration and integrates it into the CI pipeline as part of issue #30407. The changes remove unused dependencies and simplify the knip configuration while adding automated dead code detection to the CI workflow.
- Removed unused devDependencies:
babel-loaderandistanbul-lib-coverage - Updated
knipfrom version 5.66.1 to 5.78.0 - Simplified knip configuration by removing redundant patterns and excessive JSDoc comments
- Added knip dead code check and build step to the CI workflow
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| web/package.json | Removed unused dependencies (babel-loader, istanbul-lib-coverage) and updated knip to version 5.78.0 |
| web/pnpm-lock.yaml | Updated lockfile to reflect package.json dependency changes |
| web/knip.config.ts | Simplified configuration by removing redundant entry patterns, explicit Next.js patterns, store/provider patterns, and changing rule severities from error to warn |
| web/eslint-rules/rules/*.js | Removed JSDoc comments from internal helper functions in three ESLint rule files |
| .github/workflows/style.yml | Added "Web dead code check" and "Web build" steps to the CI workflow |
Files not reviewed (1)
- web/pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Important
Fixes #<issue number>.Summary
part of #30407
Screenshots
Checklist
dev/reformat(backend) andcd web && npx lint-staged(frontend) to appease the lint gods