Centralize ESLint into a single root config

Replace the duplicated per-workspace eslint.config.mjs files in
apps/console, apps/trust, packages/ui, and packages/eslint-config with
one root eslint.config.mjs that reuses the shared @probo/eslint-config
rule sets and scopes them per directory. Linting now runs from the repo
root, so pin the type-checked project service root and broaden the
import-x resolver to every workspace tsconfig (the #/* aliases live in
each app's tsconfig.app.json).

Drop the now-redundant per-package lint scripts and lint-only devDeps,
and add a root lint script that runs eslint over the four dirs with
multithreading restored via --concurrency auto, then lints n8n-node
through a direct workspace call. packages/n8n-node keeps its own
external preset.

Collapse the redundant lint-js -> npm-lint Makefile chain into a single
lint-js target and update the make docs accordingly.

Signed-off-by: Émile Ré <emile@probo.com>
This commit is contained in:
Émile Ré
2026-06-19 16:36:09 +02:00
parent 652be7a984
commit 4d28dab2f4
14 changed files with 339 additions and 927 deletions

View File

@@ -107,16 +107,13 @@ lint: lint-go lint-js
lint-go: vet go-fmt go-fix go-lint
.PHONY: lint-js
lint-js: npm-lint
lint-js:
$(NPM) run lint
.PHONY: vet
vet: generate embed
$(GO_VET) ./...
.PHONY: npm-lint
npm-lint:
$(NPM) run lint
.PHONY: go-fmt
go-fmt:
@output="$$(gofmt -l apps cmd packages pkg e2e)"; \