Conversation
Automatically assigns the PR author as assignee when a PR is opened, reopened, or marked ready for review. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Updates all dependencies from open renovate/dependabot PRs (#154, #155, #157, #158, #159, #160, #162, #163, #164, #165, #173) into a single consolidated update: Root package (extension): - markdown-it: ^14.1.0 → ^14.1.1 (security fix) - @types/assert: ^1.5.10 → ^1.5.11 - @types/webpack-env: ^1.18.5 → ^1.18.8 - @vscode/test-web: ^0.0.62 → ^0.0.80 - eslint: ^9.12.0 → ^9.39.3 Webview package: - dompurify: ^3.1.7 → ^3.2.4 (security fix) - markdown-it: ^14.1.0 → ^14.1.1 (security fix) - rxjs: ~7.8.1 → ~7.8.2 - bootstrap: ^5.3.3 → ^5.3.8 - @vscode/markdown-it-katex: ^1.1.0 → ^1.1.2 - @types/katex: ^0.16.7 → ^0.16.8 Also migrates ESLint config from legacy .eslintrc.json to the new flat config format (eslint.config.js) required by ESLint v9, and removes the deprecated @typescript-eslint/semi rule (removed in @typescript-eslint v8). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis pull request introduces a GitHub Actions workflow for automatic PR author assignment, adds a new ESLint configuration file for TypeScript linting, and updates multiple dependencies across the root and webview packages to newer versions. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
.github/workflows/auto-assign.yml (1)
1-23: Well-structured workflow with appropriate permissions.The workflow correctly:
- Uses minimal
pull-requests: writepermission- Leverages
actions/github-script@v7for direct API access- Avoids unnecessary repository checkout
One consideration: This will also assign bot accounts (like Renovate or Dependabot) as assignees on their automated PRs. If this isn't desired, you could add a condition to skip bot users.
💡 Optional: Skip bot-generated PRs
steps: - name: Auto assign PR author uses: actions/github-script@v7 with: script: | + const author = context.payload.pull_request.user; + if (author.type === 'Bot') { + console.log('Skipping bot-generated PR'); + return; + } await github.rest.issues.addAssignees({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, - assignees: [context.payload.pull_request.user.login] + assignees: [author.login] });🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/auto-assign.yml around lines 1 - 23, The workflow currently assigns the PR author unconditionally; update the script in the "Auto assign PR author" step of the "auto-assign" job to skip bot-generated PRs by checking the PR author identity (use context.payload.pull_request.user.type === 'Bot' and/or context.payload.pull_request.user.login.endsWith('[bot]') and return early if true) before calling github.rest.issues.addAssignees with context.payload.pull_request.user.login.eslint.config.js (1)
16-19: Consider updatingecmaVersionfor modern TypeScript.
ecmaVersion: 6(ES2015) is quite conservative. Modern TypeScript projects typically target ES2020+ to support features like optional chaining, nullish coalescing, and BigInt in the parser.💡 Suggested update
languageOptions: { parser: tsParser, parserOptions: { - ecmaVersion: 6, + ecmaVersion: "latest", sourceType: "module", }, },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@eslint.config.js` around lines 16 - 19, The ESLint config's parserOptions currently sets ecmaVersion: 6 which prevents modern JS/TS syntax; update parserOptions.ecmaVersion from 6 to a modern target (e.g., 2020 or 2022, or "latest") so features like optional chaining, nullish coalescing and BigInt are parsed correctly, and keep sourceType: "module" as-is; verify the TypeScript/ESLint parser in use accepts the chosen ecmaVersion value.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/workflows/auto-assign.yml:
- Around line 1-23: The workflow currently assigns the PR author
unconditionally; update the script in the "Auto assign PR author" step of the
"auto-assign" job to skip bot-generated PRs by checking the PR author identity
(use context.payload.pull_request.user.type === 'Bot' and/or
context.payload.pull_request.user.login.endsWith('[bot]') and return early if
true) before calling github.rest.issues.addAssignees with
context.payload.pull_request.user.login.
In `@eslint.config.js`:
- Around line 16-19: The ESLint config's parserOptions currently sets
ecmaVersion: 6 which prevents modern JS/TS syntax; update
parserOptions.ecmaVersion from 6 to a modern target (e.g., 2020 or 2022, or
"latest") so features like optional chaining, nullish coalescing and BigInt are
parsed correctly, and keep sourceType: "module" as-is; verify the
TypeScript/ESLint parser in use accepts the chosen ecmaVersion value.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 61b5c733-5bf2-4265-9491-9b9f725ee286
⛔ Files ignored due to path filters (2)
package-lock.jsonis excluded by!**/package-lock.jsonwebview/package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (4)
.github/workflows/auto-assign.ymleslint.config.jspackage.jsonwebview/package.json
Description
Consolidates 11 open dependency update PRs into a single update to reduce noise and ensure all updates are tested together. Two of the updates are security fixes.
Root package (
package.json):markdown-it^14.1.0^14.1.1@types/assert^1.5.10^1.5.11@types/webpack-env^1.18.5^1.18.8@vscode/test-web^0.0.62^0.0.80eslint^9.12.0^9.39.3Webview package (
webview/package.json):dompurify^3.1.7^3.2.4markdown-it^14.1.0^14.1.1rxjs~7.8.1~7.8.2bootstrap^5.3.3^5.3.8@vscode/markdown-it-katex^1.1.0^1.1.2@types/katex^0.16.7^0.16.8ESLint flat config migration (
eslint.config.js):ESLint v9 dropped support for the legacy
.eslintrc.jsonformat and requires the new flat config format. The existing.eslintrc.jsonhas been migrated toeslint.config.js. The deprecated@typescript-eslint/semirule (removed in@typescript-eslintv8) was also dropped. The lint script inpackage.jsonwas updated to remove the now-unnecessary--ext tsflag (flat config handles file targeting viafilesglobs).The extension builds successfully (webpack + Angular build) and lint passes with 0 errors.
Closes #154, #155, #157, #158, #159, #160, #162, #163, #164, #165, #173
Steps for Testing
git checkout feature/scorpio-dependency-updatenpm cicd webview && npm ci && cd ..npm run buildnpm run lintnpm run run-in-browsermarkdown-it,dompurify,@vscode/markdown-it-katex)bootstrap,rxjs)Review Progress
Code Review
Manual Tests
Screenshots
N/A — no UI changes. This is a dependency-only update.
🤖 Generated with Claude Code
Summary by CodeRabbit