From ba884d1e4dccf709d9f88e945a099dcf8b8d7638 Mon Sep 17 00:00:00 2001 From: sriram veeraghanta Date: Fri, 4 Jul 2025 14:23:18 +0530 Subject: [PATCH] feat: adding standard scripts for lint and format check (#7326) * feat: adding standard scripts for lint and format check * fix: update packages scripts * fix: adding tsup config to utils package * chore: updated build scripts in logger pacakge --- apps/admin/package.json | 9 +++++--- apps/live/package.json | 2 +- apps/space/package.json | 9 +++++--- apps/web/package.json | 12 +++++----- package.json | 5 ++--- packages/constants/package.json | 2 +- packages/decorators/package.json | 8 +++++-- packages/editor/package.json | 10 +++++---- packages/hooks/.eslintrc.js | 3 --- packages/hooks/package.json | 11 +++++++--- packages/hooks/tsup.config.ts | 9 ++++++++ packages/i18n/package.json | 8 +++++-- packages/logger/package.json | 13 ++++++----- packages/propel/package.json | 8 +++++-- packages/services/package.json | 8 +++++-- packages/shared-state/package.json | 8 +++++-- packages/types/package.json | 9 ++++---- packages/ui/package.json | 9 +++++--- packages/utils/.eslintrc.js | 3 --- packages/utils/package.json | 11 +++++++--- packages/utils/tsup.config.ts | 8 +++++++ turbo.json | 35 +++++++++++++++++++++--------- 22 files changed, 135 insertions(+), 65 deletions(-) create mode 100644 packages/hooks/tsup.config.ts create mode 100644 packages/utils/tsup.config.ts diff --git a/apps/admin/package.json b/apps/admin/package.json index 6aa37876f..e01c0ef26 100644 --- a/apps/admin/package.json +++ b/apps/admin/package.json @@ -10,9 +10,12 @@ "build": "next build", "preview": "next build && next start", "start": "next start", - "format": "prettier --write .", - "lint": "eslint . --ext .ts,.tsx", - "lint:errors": "eslint . --ext .ts,.tsx --quiet" + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist", + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"" }, "dependencies": { "@headlessui/react": "^1.7.19", diff --git a/apps/live/package.json b/apps/live/package.json index b9de661bb..df581600d 100644 --- a/apps/live/package.json +++ b/apps/live/package.json @@ -15,7 +15,7 @@ "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", "fix:lint": "eslint . --fix", "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist" + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "keywords": [], "author": "", diff --git a/apps/space/package.json b/apps/space/package.json index 13356047e..8f5794bc8 100644 --- a/apps/space/package.json +++ b/apps/space/package.json @@ -8,9 +8,12 @@ "develop": "next dev -p 3002", "build": "next build", "start": "next start", - "lint": "eslint . --ext .ts,.tsx", - "lint:errors": "eslint . --ext .ts,.tsx --quiet", - "export": "next export" + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist", + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"" }, "dependencies": { "@blueprintjs/core": "^4.16.3", diff --git a/apps/web/package.json b/apps/web/package.json index 74ab1dde2..244206ec3 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -8,12 +8,12 @@ "develop": "next dev --port 3000", "build": "next build", "start": "next start", - "lint": "eslint . --ext .ts,.tsx", - "lint:errors": "eslint . --ext .ts,.tsx --quiet", - "export": "next export", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist", - "dev:trace": "NEXT_TURBOPACK_TRACING=1 NEXT_CPU_PROF=1 next dev", - "view-trace": "next internal turbo-trace-server ./.next/trace" + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist", + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"" }, "dependencies": { "@atlaskit/pragmatic-drag-and-drop": "^1.1.3", diff --git a/package.json b/package.json index c29c323a2..9d47cde35 100644 --- a/package.json +++ b/package.json @@ -13,10 +13,9 @@ "build": "turbo run build", "dev": "turbo run dev --concurrency=13", "start": "turbo run start", - "lint": "turbo run lint", - "lint:errors": "turbo run lint:errors", "clean": "turbo run clean", - "format": "prettier --write \"**/*.{ts,tsx,md}\"" + "fix": "turbo run fix", + "check": "turbo run check" }, "devDependencies": { "prettier": "latest", diff --git a/packages/constants/package.json b/packages/constants/package.json index f3e176772..c7ba4eb3a 100644 --- a/packages/constants/package.json +++ b/packages/constants/package.json @@ -25,7 +25,7 @@ "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", "fix:lint": "eslint . --fix", "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist" + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "dependencies": { "@plane/types": "*" diff --git a/packages/decorators/package.json b/packages/decorators/package.json index 566e34827..eee967847 100644 --- a/packages/decorators/package.json +++ b/packages/decorators/package.json @@ -13,8 +13,12 @@ "scripts": { "build": "tsup src/index.ts --format esm,cjs --dts --external express,ws", "dev": "tsup src/index.ts --format esm,cjs --watch --dts --external express,ws", - "lint": "eslint src --ext .ts,.tsx", - "lint:errors": "eslint src --ext .ts,.tsx --quiet" + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "dependencies": { "express": "^4.21.2", diff --git a/packages/editor/package.json b/packages/editor/package.json index ed1794c5c..4b326e019 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -24,10 +24,12 @@ "scripts": { "build": "tsup --minify", "dev": "tsup --watch", - "check-types": "tsc --noEmit", - "lint": "eslint src --ext .ts,.tsx", - "lint:errors": "eslint src --ext .ts,.tsx --quiet", - "format": "prettier --write \"**/*.{ts,tsx,md}\"" + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "peerDependencies": { "react": "^18.3.1", diff --git a/packages/hooks/.eslintrc.js b/packages/hooks/.eslintrc.js index 558b8f76e..b11b7bb6d 100644 --- a/packages/hooks/.eslintrc.js +++ b/packages/hooks/.eslintrc.js @@ -3,7 +3,4 @@ module.exports = { root: true, extends: ["@plane/eslint-config/library.js"], parser: "@typescript-eslint/parser", - parserOptions: { - project: true, - }, }; diff --git a/packages/hooks/package.json b/packages/hooks/package.json index 52b57de7e..89f24ac38 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -11,9 +11,14 @@ "dist/**" ], "scripts": { - "build": "tsup ./src/index.ts --format esm,cjs --dts --external react --minify", - "lint": "eslint src --ext .ts,.tsx", - "lint:errors": "eslint src --ext .ts,.tsx --quiet" + "build": "tsup --minify", + "dev": "tsup --watch", + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "dependencies": { "react": "^18.3.1" diff --git a/packages/hooks/tsup.config.ts b/packages/hooks/tsup.config.ts new file mode 100644 index 000000000..c69daf158 --- /dev/null +++ b/packages/hooks/tsup.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + format: ["esm", "cjs"], + dts: true, + clean: true, + external: ["react"], +}); diff --git a/packages/i18n/package.json b/packages/i18n/package.json index ce07c6c86..51d1ad71f 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -7,8 +7,12 @@ "main": "./src/index.ts", "types": "./src/index.ts", "scripts": { - "lint": "eslint src --ext .ts,.tsx", - "lint:errors": "eslint src --ext .ts,.tsx --quiet" + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "dependencies": { "@plane/utils": "*", diff --git a/packages/logger/package.json b/packages/logger/package.json index 24dc3c789..05715d2de 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -11,11 +11,14 @@ "dist/**" ], "scripts": { - "build": "tsc", - "dev": "tsc --watch", - "lint": "eslint src --ext .ts,.tsx", - "lint:errors": "eslint src --ext .ts,.tsx --quiet", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist" + "build": "tsup --minify", + "dev": "tsup --watch", + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "dependencies": { "@types/express": "^4.17.21", diff --git a/packages/propel/package.json b/packages/propel/package.json index 2a683a1e5..3cb12405c 100644 --- a/packages/propel/package.json +++ b/packages/propel/package.json @@ -4,8 +4,12 @@ "private": true, "license": "AGPL-3.0", "scripts": { - "lint": "eslint src --ext .ts,.tsx", - "lint:errors": "eslint src --ext .ts,.tsx --quiet" + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "exports": { "./ui/*": "./src/ui/*.tsx", diff --git a/packages/services/package.json b/packages/services/package.json index 43c44dc95..d3eacd9ce 100644 --- a/packages/services/package.json +++ b/packages/services/package.json @@ -5,8 +5,12 @@ "private": true, "main": "./src/index.ts", "scripts": { - "lint": "eslint src --ext .ts,.tsx", - "lint:errors": "eslint src --ext .ts,.tsx --quiet" + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "dependencies": { "@plane/constants": "*", diff --git a/packages/shared-state/package.json b/packages/shared-state/package.json index a68adb403..b9096eb6c 100644 --- a/packages/shared-state/package.json +++ b/packages/shared-state/package.json @@ -7,8 +7,12 @@ "main": "./src/index.ts", "types": "./src/index.ts", "scripts": { - "lint": "eslint src --ext .ts,.tsx", - "lint:errors": "eslint src --ext .ts,.tsx --quiet" + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "dependencies": { "zod": "^3.22.2" diff --git a/packages/types/package.json b/packages/types/package.json index 5fc431692..0c6b0185d 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -20,11 +20,12 @@ "scripts": { "dev": "tsup --watch", "build": "tsc --noEmit && tsup", + "check:lint": "eslint . --max-warnings 0", "check:types": "tsc --noEmit", - "check:lint": "eslint src --ext .ts,.tsx", - "check:format": "prettier --check \"**/*.{ts,tsx,md}\"", - "fix:lint": "eslint src --ext .ts,.tsx --fix", - "fix:format": "prettier --write \"**/*.{ts,tsx,md}\"" + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "devDependencies": { "@plane/eslint-config": "*", diff --git a/packages/ui/package.json b/packages/ui/package.json index 720b9e0aa..df13b6dc9 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -14,12 +14,15 @@ "scripts": { "build": "tsup src/index.ts --format esm,cjs --dts --external react --minify", "dev": "tsup src/index.ts --format esm,cjs --watch --dts --external react", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", "postcss": "postcss styles/globals.css -o styles/output.css --watch", - "lint": "eslint src --ext .ts,.tsx", - "lint:errors": "eslint src --ext .ts,.tsx --quiet" + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", + "clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist" }, "peerDependencies": { "react": "^18.3.1", diff --git a/packages/utils/.eslintrc.js b/packages/utils/.eslintrc.js index 558b8f76e..b11b7bb6d 100644 --- a/packages/utils/.eslintrc.js +++ b/packages/utils/.eslintrc.js @@ -3,7 +3,4 @@ module.exports = { root: true, extends: ["@plane/eslint-config/library.js"], parser: "@typescript-eslint/parser", - parserOptions: { - project: true, - }, }; diff --git a/packages/utils/package.json b/packages/utils/package.json index f4d329494..86ce63428 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -11,9 +11,14 @@ "dist/**" ], "scripts": { - "build": "tsup ./src/index.ts --format esm,cjs --dts --external react --minify", - "lint": "eslint src --ext .ts,.tsx", - "lint:errors": "eslint src --ext .ts,.tsx --quiet" + "build": "tsc --noEmit && tsup --minify", + "dev": "tsup --watch", + "check:lint": "eslint . --max-warnings 0", + "check:types": "tsc --noEmit", + "check:format": "prettier --check \"**/*.{ts,tsx,md,json,css,scss}\"", + "fix:lint": "eslint . --fix", + "fix:format": "prettier --write \"**/*.{ts,tsx,md,json,css,scss}\"", + "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist" }, "dependencies": { "@plane/constants": "*", diff --git a/packages/utils/tsup.config.ts b/packages/utils/tsup.config.ts new file mode 100644 index 000000000..b8d2a4b6e --- /dev/null +++ b/packages/utils/tsup.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + format: ["esm", "cjs"], + dts: true, + external: ["react"], +}); diff --git a/turbo.json b/turbo.json index 36e95edbd..308d3d5b3 100644 --- a/turbo.json +++ b/turbo.json @@ -24,23 +24,38 @@ "dependsOn": ["^build"], "outputs": [".next/**", "dist/**"] }, - "develop": { - "cache": false, - "persistent": true, - "dependsOn": ["^build"] - }, "dev": { "cache": false, - "persistent": true, - "dependsOn": ["^build"] + "persistent": true + }, + "check:types": { + "dependsOn": ["^build"], + "cache": false + }, + "check:lint": { + "cache": false + }, + "check:format": { + "cache": false + }, + "check": { + "dependsOn": ["check:format", "check:lint", "check:types"], + "cache": false + }, + "fix:lint": { + "cache": false + }, + "fix:format": { + "cache": false + }, + "fix": { + "dependsOn": ["fix:format", "fix:lint"], + "cache": false }, "test": { "dependsOn": ["^build"], "outputs": [] }, - "lint": { - "outputs": [] - }, "start": { "cache": false },