Skip to content

Update dependencies, improve linting, and enhance module resolution#13

Merged
oarisur merged 2 commits into
mainfrom
copilot/push-via-pr
May 22, 2026
Merged

Update dependencies, improve linting, and enhance module resolution#13
oarisur merged 2 commits into
mainfrom
copilot/push-via-pr

Conversation

@oarisur
Copy link
Copy Markdown
Owner

@oarisur oarisur commented May 22, 2026

This pull request modernizes and improves the project's linting and dependency management setup, aligning it with the latest ESLint and Node.js ecosystem standards. The most significant changes include migrating to the new flat ESLint configuration, updating dependencies (including major version bumps for several key packages), and making related workflow and configuration adjustments.

Linting and Configuration Modernization:

  • Migrated from the legacy .eslintrc.json to the new flat config format in eslint.config.js, updating how ESLint is configured and how TypeScript files are linted. (eslint.config.js, .eslintrc.json) [1] [2]
  • Updated the lint script in package.json to match the new ESLint invocation style.

Dependency Updates:

  • Upgraded major dependencies and devDependencies, including @actions/core, @actions/github, glob, minimatch, eslint, @typescript-eslint/*, and others, to their latest versions. This ensures better compatibility, security, and access to new features.

Continuous Integration Improvements:

  • Updated GitHub Actions workflow to use the latest versions of actions/checkout and actions/setup-node, improving CI reliability and performance.

Testing Configuration:

  • Added moduleNameMapper entries in the Jest configuration within package.json to ensure correct module resolution for @actions/core and @actions/github during tests.

Minor Code Quality Adjustments:

  • Added or updated ESLint disable comments in TypeScript source files to comply with stricter linting rules, especially regarding the use of any. (src/diff-parser.ts, src/index.ts) [1] [2] [3]

oarisur added 2 commits May 22, 2026 14:47
- Updated dependencies in package.json:
  - @actions/core to ^3.0.1
  - @actions/github to ^9.1.1
  - @google/genai to ^2.4.0
  - glob to ^13.0.6
  - minimatch to ^10.2.5
  - @types/jest to ^29.5.14
  - @types/node to ^25.9.1
  - @typescript-eslint/eslint-plugin and parser to ^8.59.4
  - @vercel/ncc to ^0.38.4
  - eslint to ^10.4.0

- Modified lint script in package.json to remove unnecessary file extension specification.

- Added moduleNameMapper in jest configuration for better module resolution.

- Refactored diff-parser.ts to remove explicit 'any' type usage.

- Updated index.ts to use 'any' type with a comment for clarity.

- Changed TypeScript module setting from 'commonjs' to 'esnext' in tsconfig.json.

- Added new files for node-domexception and formdata-node in the dist directory.

- Created a new eslint configuration file to enhance linting rules and settings.
Copy link
Copy Markdown

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 modernizes the project’s JavaScript/TypeScript tooling by upgrading major dependencies, migrating ESLint to the flat-config format, and adjusting related CI/testing settings to keep linting and builds working with the newer ecosystem.

Changes:

  • Migrated ESLint configuration from legacy .eslintrc.json to eslint.config.js (flat config) and updated the lint script accordingly.
  • Upgraded key dependencies/devDependencies (notably ESLint and @actions/*) and refreshed the lockfile.
  • Updated CI workflow action versions and adjusted Jest module resolution via moduleNameMapper.

Reviewed changes

Copilot reviewed 6 out of 15 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
eslint.config.js Introduces ESLint v10 flat-config setup for TypeScript linting.
.eslintrc.json (removed) Removes legacy ESLint configuration after migration.
package.json Updates lint script, upgrades dependencies, and adds Jest moduleNameMapper entries.
package-lock.json Regenerates lockfile to reflect dependency upgrades and new transitive dependencies.
tsconfig.json Updates TS module settings (module: esnext) and module resolution.
.github/workflows/ci.yml Updates CI actions versions for checkout/setup-node while keeping Node 20 in use.
src/index.ts Adds ESLint suppression + explicit any generics around Octokit responses.
src/diff-parser.ts Removes now-unneeded ESLint suppression commentary.
dist/ Updates bundled GitHub Action output generated by ncc build.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/ci.yml
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
uses: actions/setup-node@v6 # v6.4.0
with:
node-version: 20
Comment thread package.json
Comment on lines +34 to 44
"@eslint/js": "^10.0.1",
"@types/jest": "^29.5.14",
"@types/minimatch": "^5.1.2",
"@types/node": "^20.14.9",
"@typescript-eslint/eslint-plugin": "^7.15.0",
"@typescript-eslint/parser": "^7.15.0",
"@vercel/ncc": "^0.38.1",
"eslint": "^8.57.0",
"@types/node": "^25.9.1",
"@typescript-eslint/eslint-plugin": "^8.59.4",
"@typescript-eslint/parser": "^8.59.4",
"@vercel/ncc": "^0.38.4",
"eslint": "^10.4.0",
"jest": "^29.7.0",
"ts-jest": "^29.2.3",
"typescript": "^5.5.3"
Comment thread src/index.ts
Comment on lines 117 to 121
// First, get the full file tree at the base ref
const { data: treeData } = await withRetry(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const { data: treeData } = await withRetry<any>(
() =>
octokit.rest.git.getTree({
Comment thread src/index.ts
Comment on lines 142 to 146
try {
const { data: fileData } = await withRetry(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const { data: fileData } = await withRetry<any>(
() =>
octokit.rest.repos.getContent({
@oarisur oarisur merged commit 96c2cee into main May 22, 2026
@oarisur oarisur deleted the copilot/push-via-pr branch May 22, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants