Merged
Conversation
new release with latest tooling in place
fix: 🚀 Update packages for linting and testing. Dependabot
…-js into fix/linting-packages
Fix/linting packages
…-js into fix/linting-packages
moved esbuild back to dependencies - required at runtime
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates repo tooling and plugin-source integration metadata, including an ESLint v10 flat-config migration, Jest/tooling upgrades, and TypeScript syntax-checker adjustments to cope with TS deprecation behavior.
Changes:
- Migrate ESLint from legacy
.eslintrctoeslint.config.js(flat config) and update/replace related plugin rules. - Upgrade dev tooling (Jest v30, ESLint ecosystem, esbuild) and align CI workflows/scripts to pnpm usage.
- Update plugin-source manifest mappings and add context docs describing plugin contract + tracked enhancements.
Reviewed changes
Copilot reviewed 41 out of 44 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/utils/syntax-checker.ts | Detect TS major version and conditionally add --ignoreDeprecations to tsc invocations. |
| src/utils/tests/file-system.test.ts | Remove/adjust eslint-disable comments; minor lint-related edits. |
| src/utils/tests/file-info.test.ts | Update eslint-disable rule name for require-imports. |
| src/utils/tests/deep-copy.test.ts | Update eslint-disable rule name for quote-props (now @stylistic). |
| src/utils/tests/content-types.test.ts | Update Jest spy typing to jest.Spied. |
| src/utils/tests/config-helpers.test.ts | Update Jest spy typing to jest.Spied. |
| src/utils/tests/color-log.test.ts | Update Jest spy typing to jest.Spied. |
| src/server/static-assets/asset-manifest/tests/create-manifest.test.ts | Update eslint-disable rule name for require-imports. |
| src/server/static-assets/asset-manifest/tests/create-manifest-file-map.test.ts | Update eslint-disable rule name for require-imports. |
| src/server/static-assets/asset-loader/inline-asset/inline-asset.ts | Remove an eslint-disable comment. |
| src/componentize/types/regexpu-core-regexpuc.d.ts | Update eslint-disable directives from import/* to import-x/*. |
| src/componentize/types/bytecodealliance-wizer.d.ts | Update eslint-disable directives from import/* to import-x/*. |
| package.json | Update scripts (lint) and upgrade tooling dependencies (ESLint/Jest ecosystem, esbuild). |
| integration-tests/fastedge-build.test.js | Relax TS error expectation string and add a longer timeout to a test. |
| fastedge-plugin-source/manifest.json | Update repo_id and target mapping reference paths for plugin sync pipeline. |
| eslint.config.js | Add ESLint v10 flat config wiring in repo rule modules + overrides. |
| context/PLUGIN_CONTRACT.md | Add documented rules for plugin manifest naming/target mapping conventions. |
| context/ENHANCEMENTS.md | Add internal tracker for known issues and follow-up work. |
| context/CONTEXT_INDEX.md | Link new context docs and document moduleResolution deprecation workaround. |
| context/CHANGELOG.md | Record ESLint 10 migration + dependency/tooling changes. |
| config/eslint/repo/rules/unicornPlugin.js | Convert unicorn rules module to ESM and update renamed rules. |
| config/eslint/repo/rules/testingLibraryPlugin.js | New ESM Testing Library rules module for flat config. |
| config/eslint/repo/rules/testingLibraryPlugin.cjs | Remove legacy CJS Testing Library rules module. |
| config/eslint/repo/rules/jestPlugin.js | New ESM Jest rules module for flat config. |
| config/eslint/repo/rules/jestPlugin.cjs | Remove legacy CJS Jest rules module. |
| config/eslint/repo/rules/importPlugin.js | New ESM import-x rules module for flat config. |
| config/eslint/repo/rules/importPlugin.cjs | Remove legacy CJS import rules module. |
| config/eslint/repo/rules/baseStyleRules.js | Convert to ESM and migrate stylistic rules to @stylistic/*. |
| config/eslint/repo/rules/baseLogicRules.js | Convert to ESM and migrate renamed core rule(s). |
| config/eslint/repo/rules/baseFormattingRules.js | New ESM formatting rules module using @stylistic/*. |
| config/eslint/repo/rules/baseFormattingRules.cjs | Remove legacy CJS formatting rules module. |
| config/eslint/repo/rules/banPlugin.cjs | Remove legacy ban plugin config (replaced by core rule selectors). |
| config/eslint/repo/.eslintrc.cjs | Remove legacy repo ESLint config entry point. |
| .github/workflows/unit-tests.yaml | Switch unit test run command from npm to pnpm. |
| .github/workflows/docs.yaml | Switch docs build command from npm to pnpm. |
| .github/workflows/code-validation.yaml | Switch lint command from npm to pnpm. |
| .github/workflows/build-libs.yaml | Switch build/integration test commands from npm to pnpm. |
| .github/workflows/doctor.yml | Remove doctor workflow. |
| .github/workflows/doctor-analyze.prompt.md | Remove doctor analyze prompt. |
| .github/workflows/doctor-analyze.md | Remove doctor analyze workflow definition. |
| .github/workflows/doctor-analyze.lock.yml | Remove doctor analyze lock workflow. |
| .github/workflows/collect.py | Remove doctor collect script. |
| .eslintrc.cjs | Remove root legacy ESLint config shim. |
Comments suppressed due to low confidence (1)
src/utils/tests/file-system.test.ts:120
testCases.forEach(...)will violate the repo-wideunicorn/no-array-for-eachrule (configured aserror). The removedeslint-disablemeanspnpm run lintwill fail here. Please switch to afor...ofloop (or reintroduce a targeted disable) to keep the tests lint-clean.
qrdl
approved these changes
Apr 9, 2026
|
🎉 This PR is included in version 2.2.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
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.
Uh oh!
There was an error while loading. Please reload this page.