Skip to content

chore: update @oclif/core to v4 and migrate ESLint to v9 flat config#392

Open
shazron wants to merge 1 commit intomasterfrom
feat/update-oclif-core-v4
Open

chore: update @oclif/core to v4 and migrate ESLint to v9 flat config#392
shazron wants to merge 1 commit intomasterfrom
feat/update-oclif-core-v4

Conversation

@shazron
Copy link
Member

@shazron shazron commented Mar 25, 2026

Fixes #391

Summary

  • Upgrades @oclif/core from ^2.8.12 to ^4.0.0, resolving chore: update @oclif/core to latest version #391
  • Replaces removed ux.table with a custom src/ux-table.js compatible with the CJS project (the official @oclif/table replacement is ESM-only)
  • Upgrades @adobe/eslint-config-aio-lib-config to 5.0.0 and eslint to ^9.0.0
  • Migrates ESLint config from legacy .eslintrc to eslint.config.js (flat config format required by ESLint v9)
  • Upgrades oclif CLI to ^4.0.0 and eslint-plugin-jest to ^29.0.0

Breaking changes handled

  • ux.table removed in v4 → custom table implementation preserving identical output format
  • Command.parse() now requires this.config.runHook → patched in test setup for unit tests that instantiate commands directly
  • _flags internal property removed → updated createTestFlagsFunction to check flags instead
  • argv is now a writable class field → simplified test that previously used a getter-only Object.defineProperty

Test plan

  • All 813 existing unit tests pass (npm test)
  • ESLint reports no errors (npm run lint)
  • 100% branch/line/statement coverage maintained

🤖 Generated with Claude Code

- Upgrade @oclif/core from ^2.8.12 to ^4.0.0 (fixes #391)
- Replace removed ux.table with custom src/ux-table.js (ESM-only @oclif/table is incompatible with CJS)
- Upgrade @adobe/eslint-config-aio-lib-config to 5.0.0, eslint to ^9.0.0
- Migrate ESLint config from .eslintrc to eslint.config.js (flat config format)
- Patch Command.prototype.parse in test setup for oclif v4 config.runHook requirement
- Update createTestFlagsFunction to check 'flags' instead of '_flags' (oclif v4 change)
- Simplify api/list.js --json flag handling (remove oclif v2 workaround)
- Maintain 100% branch/line/statement coverage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@shazron shazron changed the title feat: update @oclif/core to v4 and migrate ESLint to v9 flat config chore: update @oclif/core to v4 and migrate ESLint to v9 flat config Mar 25, 2026
@codecov
Copy link

codecov bot commented Mar 25, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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.

chore: update @oclif/core to latest version

1 participant