Skip to content

Conversation

@henrymercer
Copy link
Contributor

🚲🏠

Risk assessment

For internal use only. Please select the risk level of this change:

  • Low risk: Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only.

Which use cases does this change impact?

  • Advanced setup - Impacts users who have custom workflows.
  • Default setup - Impacts users who use default setup.
  • Code Scanning - Impacts Code Scanning (i.e. analysis-kinds: code-scanning).
  • Code Quality - Impacts Code Quality (i.e. analysis-kinds: code-quality).
  • Third-party analyses - Impacts third-party analyses (i.e. upload-sarif).
  • GHES - Impacts GitHub Enterprise Server.

How did/will you validate this change?

  • Unit tests - I am depending on unit test coverage (i.e. tests in .test.ts files).
  • End-to-end tests - I am depending on PR checks (i.e. tests in pr-checks).

If something goes wrong after this change is released, what are the mitigation and rollback strategies?

  • Rollback - Change can only be disabled by rolling back the release or releasing a new version with a fix.

How will you know if something goes wrong after this change is released?

  • Telemetry - I rely on existing telemetry or have made changes to the telemetry.
    • Alerts - New or existing monitors will trip if something goes wrong with this change.

Merge / deployment checklist

  • Confirm this change is backwards compatible with existing workflows.
  • Consider adding a changelog entry for this change.
  • Confirm the readme and docs have been updated if necessary.

@henrymercer henrymercer requested a review from a team as a code owner October 22, 2025 15:56
Copilot AI review requested due to automatic review settings October 22, 2025 15:56
@github-actions github-actions bot added the size/XS Should be very easy to review label Oct 22, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR applies a linting rule to enforce the use of optional chaining (?.) instead of manual null/undefined checks combined with property access. The changes simplify conditional expressions by replacing patterns like foo && foo.bar and foo === null || foo.bar with the more concise foo?.bar syntax.

Key changes:

  • Enabled the @typescript-eslint/prefer-optional-chain ESLint rule
  • Refactored conditional expressions throughout the codebase to use optional chaining
  • Updated both TypeScript source files and their compiled JavaScript outputs

Reviewed Changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated no comments.

Show a summary per file
File Description
eslint.config.mjs Enabled the @typescript-eslint/prefer-optional-chain linting rule
src/workflow.ts Simplified undefined check with optional chaining for input validation
src/tar.ts Applied optional chaining to regex match result checks
src/start-proxy-action-post.ts Refactored config debug mode check using optional chaining
src/setup-codeql.ts Simplified null check with optional chaining for match result
src/config/db-config.ts Consolidated nested property checks into single optional chaining expression
src/config-utils.ts Applied optional chaining to regex match groups check
lib/*.js Compiled JavaScript output reflecting the TypeScript changes above

Copy link
Member

@mbg mbg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a huge fan of the ?.[i] case, but otherwise I am in favour of this change, so I'll approve.

@henrymercer henrymercer enabled auto-merge October 22, 2025 16:03
@henrymercer henrymercer merged commit 4bd7dfe into main Oct 22, 2025
243 checks passed
@henrymercer henrymercer deleted the henrymercer/prefer-optional-chaining branch October 22, 2025 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XS Should be very easy to review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants