chore: upgrade deps, lint, node v26 support.#55
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #55 +/- ##
=======================================
Coverage 93.39% 93.40%
=======================================
Files 26 26
Lines 5196 5197 +1
Branches 1149 1149
=======================================
+ Hits 4853 4854 +1
Misses 305 305
Partials 38 38 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates project tooling and dependencies to support newer Node/TypeScript versions (including Node 26), introduces ESLint alongside oxlint, and applies resulting lint/import-order cleanups across source, tests, docs, fixtures, and CI.
Changes:
- Add ESLint flat config and wire it into
npmscripts /lint-staged, while simplifyingoxlint.json. - Update engines/docs/CI to include Node 26 and upgrade TypeScript + related dependencies.
- Refactor various exports/types and reorder imports to satisfy updated linting rules.
Reviewed changes
Copilot reviewed 41 out of 43 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.test.json | Remove explicit types override so Node types flow from base tsconfig. |
| tsconfig.json | Add Node types globally for the project. |
| test/utils.ts | Import ordering adjustments for lint rules. |
| test/specifier.ts | Import ordering adjustments for lint rules. |
| test/module.ts | Import ordering + replace block eslint disable with targeted eslint-disable-next-line. |
| test/fixtures/specifier/specifier.mjs | Import ordering adjustments for fixture linting. |
| test/fixtures/projects/ts-webapp/src/ui/app.tsx | Import ordering adjustments for fixture linting. |
| test/fixtures/projects/ts-webapp/src/main.tsx | Import ordering adjustments for fixture linting. |
| test/fixtures/projects/cjs-app/index.cjs | Require ordering + spacing adjustments for fixture linting. |
| test/fixtures/meta.mjs | Import ordering adjustments for fixture linting. |
| test/fixtures/complexFile.mjs | Import ordering + whitespace adjustments for fixture linting. |
| test/fixtures/complexFile.cjs | Require ordering + whitespace adjustments for fixture linting. |
| test/cli.ts | Import ordering + update TS config JSON used in tests to set rootDir. |
| src/walk.ts | Import ordering adjustments. |
| src/utils/lang.ts | Whitespace adjustment (import grouping). |
| src/utils/identifiers.ts | Reorder imports and reduce exported surface to only what’s used. |
| src/utils/exports.ts | Remove unused requireMainRgx export and constant. |
| src/specifier.ts | Reorder imports and reduce exported types. |
| src/pipeline/lowerEsmToCjs.ts | Reorder imports and stop exporting internal helper exportAssignment. |
| src/pipeline/lowerCjsRequireToImports.ts | Reorder imports. |
| src/pipeline/idiomaticPlan.ts | Stop exporting internal plan result types. |
| src/pipeline/formatVisitor.ts | Import grouping/order adjustments. |
| src/pipeline/buildEsmPrelude.ts | Import ordering adjustments. |
| src/module.ts | Import reordering and eslint disable comment adjustments (but currently introduces duplicate imports). |
| src/helpers/identifier.ts | Import ordering adjustments. |
| src/helpers/async.ts | Import ordering adjustments. |
| src/helpers/ast.ts | Reduce exported type surface (keep internal helper types unexported). |
| src/formatters/identifier.ts | Import ordering adjustments. |
| src/formatters/expressionStatement.ts | Remove unused formatter implementation file. |
| src/formatters/assignmentExpression.ts | Import ordering adjustments. |
| src/format.ts | Import ordering/grouping, minor type export change, and eslint-disable comment tweaks. |
| src/cli.ts | Import ordering/grouping and eslint-disable comment tweaks. |
| README.md | Update Node version requirements and add TS6 rootDir note. |
| package.json | Node engine update, dependency upgrades, add ESLint scripts, add overrides, update lint-staged. |
| oxlint.json | Simplify rules, adjust overrides (fixtures). |
| eslint.config.js | Add ESLint flat config (import/order + import/no-unused-modules). |
| docs/esm-to-cjs.md | Update runtime requirements text to match engines. |
| docs/cli.md | Update Node requirements text to match engines. |
| docs/cjs-to-esm.md | Update runtime requirements text to match engines. |
| .github/workflows/publish.yml | Update action versions and publish Node version to 26. |
| .github/workflows/ci.yml | Expand CI Node matrix to include 26 and update action versions. |
| .eslintrc.json | Add legacy ignorePatterns file (note: ESLint v9 uses flat config by default). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.