chore(deps): update @oclif/core to v4 and @adobe/eslint-config-aio-lib-config to v5#793
Merged
chore(deps): update @oclif/core to v4 and @adobe/eslint-config-aio-lib-config to v5#793
Conversation
…b-config to v5 - Update @oclif/core from 2.16.0 to ^4.9.0 - Update @oclif/plugin-not-found from ^2.3.26 to ^3 (required for core v4) - Replace Config.plugins array access with Config.getPluginsList() (plugins is now a Map in v4) - Replace removed ux.table() with a new src/table.js helper using the same column API - Update @adobe/eslint-config-aio-lib-config from ^4.0.0 to ^5.0.0 (ESLint 9 + neostandard) - Migrate ESLint config from legacy .eslintrc.json files to flat config (eslint.config.js) - Update eslint from ^8 to ^9, swap old standard plugins for neostandard - Update eslint-plugin-jest from ^27 to ^28 for ESLint 9 compatibility - Update test mocks to add getPluginsList() and runHook() required by oclif core v4 Closes #792 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! |
Node.js 18 reached EOL in April 2025. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
purplecabbage
approved these changes
Mar 27, 2026
There was a problem hiding this comment.
Pull request overview
Updates the CLI’s dependency/tooling stack to support @oclif/core v4 and ESLint 9, including required code/test adjustments for breaking changes.
Changes:
- Bumped
@oclif/coreto v4 (and@oclif/plugin-not-foundto v3) and adapted plugin enumeration + hooks in commands/tests. - Replaced removed
ux.table()usage with a newsrc/table.jshelper. - Migrated from legacy
.eslintrc.jsonfiles to ESLint 9 flat config (eslint.config.js) and switched standard plugin set toneostandard.
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/commands/update.js |
Switches from ux.table to printTable and uses config.getPluginsList() for oclif v4 compatibility. |
src/commands/rollback.js |
Uses printTable and config.getPluginsList() to align with oclif v4 changes. |
src/commands/discover.js |
Uses printTable instead of ux.table. |
src/table.js |
Adds a table-printing helper intended to replace ux.table(). |
test/commands/update.test.js |
Updates command config mocks to include runHook and getPluginsList. |
test/commands/rollback.test.js |
Updates command config mocks to include runHook and getPluginsList. |
test/commands/discover.test.js |
Updates command config mock to include runHook. |
eslint.config.js |
Introduces ESLint 9 flat config and test/e2e overrides (incl. setFetchMock global). |
.eslintrc.json |
Removes legacy root ESLint config. |
test/.eslintrc.json |
Removes legacy test ESLint config (moved into flat config override). |
e2e/.eslintrc.json |
Removes legacy e2e ESLint config (moved into flat config override). |
package.json |
Updates oclif/eslint deps and replaces standard plugin set with neostandard. |
package-lock.json |
Locks updated dependency graph for the above upgrades. |
.github/workflows/node.js.yml |
Drops Node 18 from the CI matrix. |
.github/workflows/daily-install-cli.yml |
Drops Node 18 from the daily install matrix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Agent-Logs-Url: https://github.com/adobe/aio-cli/sessions/6d7493d9-54a2-4573-b114-0a25c1d504d6 Co-authored-by: shazron <36107+shazron@users.noreply.github.com>
Agent-Logs-Url: https://github.com/adobe/aio-cli/sessions/6d7493d9-54a2-4573-b114-0a25c1d504d6 Co-authored-by: shazron <36107+shazron@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
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.
Fixes #792
Summary
@oclif/corefrom2.16.0to^4.9.0(closes chore: update @oclif/core to latest version #792)@oclif/plugin-not-foundfrom^2.3.26to^3(required for core v4 compatibility)@adobe/eslint-config-aio-lib-configfrom^4.0.0to^5.0.0.eslintrc.jsonfiles to ESLint 9 flat config (eslint.config.js)eslint-config-standard,eslint-plugin-import,eslint-plugin-n,eslint-plugin-node,eslint-plugin-promise) forneostandardeslintfrom^8to^9andeslint-plugin-jestfrom^27to^28Breaking changes addressed
Config.pluginsis now aMap(was an array)config.getPluginsList()inrollback.jsandupdate.jsux.table()removed from@oclif/coresrc/table.jshelper with identical column-definition APICommand.parse()now callsconfig.runHook()internallyrunHookmock to test configseslint.config.jsTest plan
🤖 Generated with Claude Code