Conversation
|
I've tested this in The auto-fixer for |
There was a problem hiding this comment.
LGTM! One question though: without prior knowledge of how versioning works in this repo, it’s easy to miss the impact of a major bump, especially since we’re using workspace-based versioning (e.g. "@metamask/eslint-config": "workspace:^"). Should we consider using version sync like we do in core, so that major changes are more visible and coordinated across packages?
|
Good point, I've documented that problem here: #432 |
Update all ESLint config packages from v14.x to v15. These updates introduce some helpful new rules, and loosen/disable a few rules that were causing us problems. Details here: MetaMask/eslint-config#431
Update all ESLint config packages from v14.x to v15. These updates introduce some helpful new rules, and loosen/disable a few rules that were causing us problems. Details here: MetaMask/eslint-config#431
## Explanation Update all ESLint config packages from v14.x to v15. These updates introduce some helpful new rules, and loosen/disable a few rules that were causing us problems. Details here: MetaMask/eslint-config#431 Most of the changes are due to the newly introduced `import-x/consistent-type-specifier-style ` rule. The majority of the changes were from running `yarn lint:fix`, but I did make [one commit](735caaf) to consolidate some duplicate import lines that the auto-fixer added. ## References N/A ## Checklist - [x] I've updated the test suite for new or updated code as appropriate - [x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [x] I've communicated my changes to consumers by [updating changelogs for packages I've changed](https://github.com/MetaMask/core/tree/main/docs/contributing.md#updating-changelogs) - [ ] I've introduced [breaking changes](https://github.com/MetaMask/core/tree/main/docs/breaking-changes.md) in this PR and have prepared draft pull requests for clients and consumer packages to resolve them <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Bumps ESLint config packages to v15 and updates imports across the repo to the new `import type { ... }` style, with minor ESLint rule tweaks (jsdoc) and lockfile updates. > > - **Tooling/Config**: > - Upgrade `@metamask/eslint-config*` packages to v15 in `package.json` and `yarn.lock`. > - Tweak `eslint.config.mjs`: keep `jsdoc/require-jsdoc` and related jsdoc rules disabled; update comments. > - **Codebase-wide refactor (lint autofix)**: > - Conform to `import-x/consistent-type-specifier-style`: switch to `import type { ... }` for type-only imports; separate value vs type imports across packages. > - Minor import consolidations/reorders in tests and sources. > - **No functional changes**: Only lint-driven import/style updates. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 735caaf. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
Note
Publishes v15.0.0 with stricter JSDoc requirements, escalates select rules to errors, updates TypeScript rules/peer deps, and bumps peer deps across all configs.
@metamask/eslint-config):jsdoc/require-jsdoccoverage (arrow functions, classes, TS enums/interfaces/types, methods, etc.).promise/*rules fromwarntoerror.@metamask/eslint-config-typescript):typescript-eslint@>=8.39.0; switch toimport-x/consistent-type-specifier-stylepreferring top-level type imports.@typescript-eslint/no-unnecessary-type-arguments,promise/valid-params, andimport-x/no-duplicates; loosen naming for object literal properties; disablejsdoc/check-indentation.typescriptpeer range to all 5.x; fix issues with type-import grouping and TSDoc indentation.^15.0.0; promote selectjest/*rules toerror; widentypescriptpeer to 5.x.15.0.0; bump peer on base to^15.0.0.15.0.0and peer on base to^15.0.0.15.0.0; update changelogs and comparison links.Written by Cursor Bugbot for commit 5eaa19a. This will update automatically on new commits. Configure here.