feat: upgraded eslint config to v8#244
Merged
Merged
Conversation
Coverage Report
File Coverage
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contributor
There was a problem hiding this comment.
Pull request overview
Upgrades @map-colonies/eslint-config to v8 and updates the codebase to comply with stricter lint rules (notably consistent type-only imports and dependency import constraints), plus a small Express middleware adjustment to avoid a transitive dependency import.
Changes:
- Bump
@map-colonies/eslint-configto^8.0.0(lockfile updated accordingly). - Apply type-only import hygiene across source and test files (
import type/ inlinetypeimports). - Replace
body-parserJSON middleware usage with Express’s built-in JSON middleware.
Reviewed changes
Copilot reviewed 39 out of 40 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/unit/tasks/tasks.spec.ts | Switch model import to import type for lint compliance. |
| tests/unit/stages/stages.spec.ts | Split runtime vs type imports (logger/models/generator) for stricter lint rules. |
| tests/unit/stages/repository.spec.ts | Convert UpdateSummaryCount import to type-only. |
| tests/unit/stages/helpers.spec.ts | Convert stage model imports to type-only. |
| tests/unit/jobs/jobs.spec.ts | Split runtime vs type imports (logger/models) for lint compliance. |
| tests/unit/generator.ts | Separate Prisma value imports (enums) from Prisma type imports. |
| tests/integration/tasks/tasks.spec.ts | Make request sender/model imports type-safe (type RequestSender, import type models). |
| tests/integration/tasks/helpers.ts | Convert TaskPrismaObject import to type-only. |
| tests/integration/stages/stages.spec.ts | Make request sender and stage model imports type-only where appropriate. |
| tests/integration/stages/helpers.ts | Convert prisma model imports to type-only. |
| tests/integration/jobs/jobs.spec.ts | Make request sender and job model imports type-only where appropriate. |
| tests/integration/jobs/helpers.ts | Adjust Prisma-related imports toward type-only usage for lint compliance. |
| tests/integration/docs/docs.spec.ts | Convert PrismaClient import to type-only. |
| tests/integration/common/utils.ts | Consolidate Prisma types and test helper typing imports. |
| tests/configurations/integration/globalSetup.ts | Split Config into type-only import while keeping runtime utils as value imports. |
| src/tasks/models/taskStateMachine.ts | Split Snapshot into a type-only import from xstate. |
| src/tasks/models/models.ts | Convert Prisma import to type-only. |
| src/tasks/models/helper.ts | Convert Snapshot, Prisma, and internal model imports to type-only. |
| src/stages/models/models.ts | Convert multiple imports to type-only to match stricter rules. |
| src/stages/models/helper.ts | Convert stage model imports to type-only. |
| src/serverBuilder.ts | Replace body-parser usage with Express JSON middleware. |
| src/jobs/models/models.ts | Convert Prisma import to type-only. |
| src/index.ts | Prefer node: built-in import style and convert some imports to type-only. |
| src/db/helpers.ts | Convert schema type import to type-only. |
| src/db/createConnection.ts | Convert schema type import to type-only. |
| src/containerConfig.ts | Convert several imports to type-only for lint compliance. |
| src/common/utils/error-express-handler.ts | Convert Express types to type-only import. |
| src/common/serviceMetrics.ts | Convert Registry to type-only import while keeping runtime Gauge. |
| src/common/errors.ts | Convert Prisma-generated status imports to type-only. |
| src/common/dependencyRegistration.ts | Separate tsyringe runtime import from type-only provider imports. |
| src/common/constants.ts | Convert type-fest and OpenAPI schema imports to type-only. |
| src/app.ts | Convert Express/Prisma/container types to type-only imports. |
| src/api/v1/tasks/router.ts | Convert FactoryFunction import to type-only. |
| src/api/v1/stages/router.ts | Convert FactoryFunction import to type-only. |
| src/api/v1/jobs/router.ts | Convert FactoryFunction import to type-only. |
| src/api/v1/index.ts | Convert FactoryFunction import to type-only. |
| scripts/tsconfig.json | Add Node types to scripts TS config. |
| scripts/generateVersionedOpenApi.mts | Prefer node: built-in imports and simplify operationId guard logic. |
| package.json | Bump eslint config dependency to v8. |
| package-lock.json | Lockfile updates for eslint-config v8.x and new transitive deps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
CptSchnitz
requested changes
Jun 21, 2026
CptSchnitz
approved these changes
Jun 21, 2026
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.
What
Upgrade
@map-colonies/eslint-configfrom v7 to v8 and align the codebase with the new stricter rules.Changes
@map-colonies/eslint-configto^8.0.0jestConfigfromeslint.config.mjs— not applicable for vitest projects"types": ["node"]toscripts/tsconfig.jsonto resolve node built-in type definitionsbody-parserimport withexpress.json()inserverBuilder.ts—body-parseris a transitive dependency, flagged by the newimport-x/no-extraneous-dependenciesruleimport typeacross source and test files to satisfy the stricter@typescript-eslint/consistent-type-importsrule enforced by v8:src/app.ts,src/index.ts,src/containerConfig.tssrc/common/dependencyRegistration.tssrc/api/v1/jobs/router.ts,stages/router.ts,tasks/router.ts