chore: update @oclif/core to v4 and migrate ESLint to v9 flat config#392
chore: update @oclif/core to v4 and migrate ESLint to v9 flat config#392
Conversation
- 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>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
Updates this plugin to work with the @oclif/core v4 ecosystem and ESLint v9, including adapting CLI output and test scaffolding to accommodate breaking changes introduced by oclif v4 and the ESLint flat-config migration.
Changes:
- Upgrade
@oclif/core(andoclifdev tooling) to v4 and adjust tests for updated parsing/config expectations. - Replace removed
ux.tableusage with a localsrc/ux-table.jsimplementation and update commands accordingly. - Migrate from
.eslintrctoeslint.config.js(ESLint v9 flat config) and update lint dependencies.
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| test/jest.setup.js | Patches Command.prototype.parse for unit tests and updates flag assertions for oclif v4. |
| test/commands/runtime/api/list.test.js | Simplifies argv-related test logic after command parsing changes. |
| src/ux-table.js | Adds a local table printer intended to replace ux.table. |
| src/commands/runtime/trigger/list.js | Switches table output from ux.table to local table(). |
| src/commands/runtime/rule/list.js | Switches table output from ux.table to local table(). |
| src/commands/runtime/property/get.js | Switches table output from ux.table to local table(). |
| src/commands/runtime/package/list.js | Switches table output from ux.table to local table(). |
| src/commands/runtime/namespace/list.js | Switches table output from ux.table to local table(). |
| src/commands/runtime/namespace/get.js | Switches multiple table outputs from ux.table to local table(). |
| src/commands/runtime/api/list.js | Removes prior argv workaround and uses local table() for output. |
| src/commands/runtime/activation/list.js | Switches table output from ux.table to local table(). |
| src/commands/runtime/action/list.js | Switches table output from ux.table to local table(). |
| package.json | Bumps oclif/core to v4 and updates ESLint/Jest lint tooling dependencies. |
| eslint.config.js | Introduces ESLint v9 flat config and test globals integration. |
| .gitignore | Adds .claude ignore entry. |
| .eslintrc | Removes legacy ESLint config (replaced by flat config). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@copilot apply changes based on the comments in this thread |
Agent-Logs-Url: https://github.com/adobe/aio-cli-plugin-runtime/sessions/56c60f1b-cede-41a1-823e-9181de4e14c9 Co-authored-by: shazron <36107+shazron@users.noreply.github.com>
Applied all four review changes in commit dccc4a6:
Also added |
Fixes #391
Summary
@oclif/corefrom^2.8.12to^4.0.0, resolving chore: update @oclif/core to latest version #391ux.tablewith a customsrc/ux-table.jscompatible with the CJS project (the official@oclif/tablereplacement is ESM-only)@adobe/eslint-config-aio-lib-configto5.0.0andeslintto^9.0.0.eslintrctoeslint.config.js(flat config format required by ESLint v9)oclifCLI to^4.0.0andeslint-plugin-jestto^29.0.0Breaking changes handled
ux.tableremoved in v4 → custom table implementation preserving identical output formatCommand.parse()now requiresthis.config.runHook→ patched in test setup for unit tests that instantiate commands directly_flagsinternal property removed → updatedcreateTestFlagsFunctionto checkflagsinsteadargvis now a writable class field → simplified test that previously used a getter-onlyObject.definePropertyTest plan
npm test)npm run lint)🤖 Generated with Claude Code