Migrate compliance-portal to the global ESLint config
The compliance-portal app still carried the per-workspace ESLint scaffold that the rest of the monorepo dropped when linting was centralized into the root eslint.config.mjs. It defined its own local config, lint script, and lint-only devDeps, and was not covered by the root lint script, so it was never linted. Remove the local eslint.config.mjs, the lint script, and the eslint/@probo/eslint-config devDeps, then add the app to the root appDirs so the shared ts, react, and relay rule sets apply to it. Replace the explicit per-directory list in the root lint script with a bare `eslint .`, which the root config was already designed for via its globalIgnores. Ignore pkg/** so the vendored minified JS under the Go tree is not linted. Signed-off-by: Émile Ré <emile@probo.com>
This commit is contained in:
@@ -1,12 +0,0 @@
|
|||||||
import { configs } from "@probo/eslint-config";
|
|
||||||
import { defineConfig } from "eslint/config";
|
|
||||||
|
|
||||||
export default defineConfig([
|
|
||||||
configs.base,
|
|
||||||
configs.ts,
|
|
||||||
configs.imports,
|
|
||||||
configs.react,
|
|
||||||
configs.relay,
|
|
||||||
configs.stylistic,
|
|
||||||
configs.languageOptions.browser,
|
|
||||||
]);
|
|
||||||
@@ -6,7 +6,6 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite --port 5175",
|
"dev": "vite --port 5175",
|
||||||
"build": "tsc -b && vite build",
|
"build": "tsc -b && vite build",
|
||||||
"lint": "eslint . --concurrency 2",
|
|
||||||
"check": "tsc --noEmit -p tsconfig.app.json",
|
"check": "tsc --noEmit -p tsconfig.app.json",
|
||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
@@ -20,7 +19,6 @@
|
|||||||
"relay-runtime": "^21.0.1"
|
"relay-runtime": "^21.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@probo/eslint-config": "1.0.0",
|
|
||||||
"@probo/eslint-plugin-relay-types": "^1.0.0",
|
"@probo/eslint-plugin-relay-types": "^1.0.0",
|
||||||
"@tailwindcss/vite": "^4.3.1",
|
"@tailwindcss/vite": "^4.3.1",
|
||||||
"@types/node": "^25.9.3",
|
"@types/node": "^25.9.3",
|
||||||
@@ -30,7 +28,6 @@
|
|||||||
"@types/relay-runtime": "^20.1.1",
|
"@types/relay-runtime": "^20.1.1",
|
||||||
"@vitejs/plugin-react": "^6.0.2",
|
"@vitejs/plugin-react": "^6.0.2",
|
||||||
"babel-plugin-relay": "^21.0.1",
|
"babel-plugin-relay": "^21.0.1",
|
||||||
"eslint": "^10.5.0",
|
|
||||||
"graphql": "^17.0.1",
|
"graphql": "^17.0.1",
|
||||||
"tailwindcss": "^4.3.1",
|
"tailwindcss": "^4.3.1",
|
||||||
"typescript": "~6.0.3",
|
"typescript": "~6.0.3",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { defineConfig, globalIgnores } from "eslint/config";
|
|||||||
// Workspaces that are linted by this root config. Each gets the shared rule
|
// Workspaces that are linted by this root config. Each gets the shared rule
|
||||||
// sets below; everything else is ignored so a bare `eslint .` keeps the same
|
// sets below; everything else is ignored so a bare `eslint .` keeps the same
|
||||||
// scope as the previous per-workspace configs.
|
// scope as the previous per-workspace configs.
|
||||||
const appDirs = ["apps/console/**", "apps/trust/**"];
|
const appDirs = ["apps/console/**", "apps/trust/**", "apps/compliance-portal/**"];
|
||||||
const reactDirs = [...appDirs, "packages/ui/**"];
|
const reactDirs = [...appDirs, "packages/ui/**"];
|
||||||
const lintedDirs = [...reactDirs, "packages/eslint-config/**"];
|
const lintedDirs = [...reactDirs, "packages/eslint-config/**"];
|
||||||
|
|
||||||
@@ -14,6 +14,7 @@ export default defineConfig([
|
|||||||
configs.base,
|
configs.base,
|
||||||
globalIgnores([
|
globalIgnores([
|
||||||
"examples/**",
|
"examples/**",
|
||||||
|
"pkg/**",
|
||||||
"packages/coredata/**",
|
"packages/coredata/**",
|
||||||
"packages/cookie-banner/**",
|
"packages/cookie-banner/**",
|
||||||
"packages/emails/**",
|
"packages/emails/**",
|
||||||
|
|||||||
77
package-lock.json
generated
77
package-lock.json
generated
@@ -25,6 +25,61 @@
|
|||||||
"npm": "^11.8.0"
|
"npm": "^11.8.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"apps/compliance-portal": {
|
||||||
|
"name": "@probo/compliance-portal",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@probo/ui": "1.0.0",
|
||||||
|
"clsx": "^2.1.1",
|
||||||
|
"react": "^19.2.7",
|
||||||
|
"react-dom": "^19.2.7",
|
||||||
|
"react-relay": "^21.0.1",
|
||||||
|
"react-router": "^8.0.0",
|
||||||
|
"relay-runtime": "^21.0.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@probo/eslint-plugin-relay-types": "^1.0.0",
|
||||||
|
"@tailwindcss/vite": "^4.3.1",
|
||||||
|
"@types/node": "^25.9.3",
|
||||||
|
"@types/react": "^19.2.17",
|
||||||
|
"@types/react-dom": "^19.2.3",
|
||||||
|
"@types/react-relay": "^18.2.1",
|
||||||
|
"@types/relay-runtime": "^20.1.1",
|
||||||
|
"@vitejs/plugin-react": "^6.0.2",
|
||||||
|
"babel-plugin-relay": "^21.0.1",
|
||||||
|
"graphql": "^17.0.1",
|
||||||
|
"tailwindcss": "^4.3.1",
|
||||||
|
"typescript": "~6.0.3",
|
||||||
|
"vite": "^8.0.16"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"apps/compliance-portal/node_modules/@types/node": {
|
||||||
|
"version": "25.9.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.4.tgz",
|
||||||
|
"integrity": "sha512-dszCsrKb5U7ZsVZBWiHFklTloVl0mSEnWH/iZXfZUlI4rzCUnsvGmgqfuVRHL54ugE7/wRuxEIXRa2iMZ+BG6g==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"undici-types": ">=7.24.0 <7.24.7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"apps/compliance-portal/node_modules/graphql": {
|
||||||
|
"version": "17.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/graphql/-/graphql-17.0.1.tgz",
|
||||||
|
"integrity": "sha512-8eWbg5Zcv/8o20nzEjHUGPTj20MLFJjc5kagbIPxbaeGxvFwpitJhemEC/k17n5+UD4M/9ea5rTuce78mELujQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": "^22.0.0 || ^24.0.0 || ^25.0.0 || >=26.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"apps/compliance-portal/node_modules/undici-types": {
|
||||||
|
"version": "7.24.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz",
|
||||||
|
"integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"apps/console": {
|
"apps/console": {
|
||||||
"name": "@probo/console",
|
"name": "@probo/console",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
@@ -3843,6 +3898,10 @@
|
|||||||
"integrity": "sha512-WcfKz2GNn2vfDX8vXmJYbKxegPxVWHuDQ/pHdAn0HoZDXDFnEp/+x3qBQA+fEvtbPjjtjgAt2wIgJMlM7asx7g==",
|
"integrity": "sha512-WcfKz2GNn2vfDX8vXmJYbKxegPxVWHuDQ/pHdAn0HoZDXDFnEp/+x3qBQA+fEvtbPjjtjgAt2wIgJMlM7asx7g==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@probo/compliance-portal": {
|
||||||
|
"resolved": "apps/compliance-portal",
|
||||||
|
"link": true
|
||||||
|
},
|
||||||
"node_modules/@probo/console": {
|
"node_modules/@probo/console": {
|
||||||
"resolved": "apps/console",
|
"resolved": "apps/console",
|
||||||
"link": true
|
"link": true
|
||||||
@@ -6831,6 +6890,24 @@
|
|||||||
"@types/react": "^19.2.0"
|
"@types/react": "^19.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/react-relay": {
|
||||||
|
"version": "18.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react-relay/-/react-relay-18.2.1.tgz",
|
||||||
|
"integrity": "sha512-KgmFapsxAylhxcFfaAv5GZZJhTHnDvV8IDZVsUm5afpJUvgZC1Y68ssfOGsFfiFY/2EhxHM/YPfpdKbfmF3Ecg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/react": "*",
|
||||||
|
"@types/relay-runtime": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/relay-runtime": {
|
||||||
|
"version": "20.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/relay-runtime/-/relay-runtime-20.1.1.tgz",
|
||||||
|
"integrity": "sha512-loM2iJteknnJcsxrynmBVb7pIDkSkJUuCMnAa/oDFcrvaxkDvq8iy0J2UshMdDy14iJJocDblXeAu7c6Q1+Ucw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@types/resolve": {
|
"node_modules/@types/resolve": {
|
||||||
"version": "1.20.6",
|
"version": "1.20.6",
|
||||||
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz",
|
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz",
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "turbo run build",
|
"build": "turbo run build",
|
||||||
"dev": "turbo run dev",
|
"dev": "turbo run dev",
|
||||||
"lint": "eslint apps/console apps/trust packages/ui packages/eslint-config --concurrency auto && npm -w @probo/n8n-nodes-probo run lint",
|
"lint": "eslint . --concurrency auto && npm -w @probo/n8n-nodes-probo run lint",
|
||||||
"check": "turbo run check",
|
"check": "turbo run check",
|
||||||
"relay": "relay-compiler"
|
"relay": "relay-compiler"
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user