diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 49c61547db6..6e4583fa7bf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -242,6 +242,90 @@ Before submitting your contribution, please ensure the following: Happy translating! 🌍✨ +## Troubleshooting development environment + +### Common issues and solutions + +#### Module resolution errors during `pnpm dev` + +**Symptom:** +``` +[vite] Internal server error: Failed to resolve import "@plane/utils" +or +Cannot find module '@plane/hooks' or its corresponding type declarations +``` + +**Root Cause:** +This happens when workspace package build artifacts are missing or corrupted, usually after: +- Interrupting builds with `Ctrl+C` +- Switching git branches without rebuilding +- Package updates without reinstalling dependencies + +**Solutions:** + +1. **Automatic fix** (rebuilds packages during install): + ```bash + pnpm install + pnpm dev + ``` + The `prepare` npm hook automatically builds all workspace packages after install. + +2. **Quick manual rebuild** (rebuilds only workspace packages): + ```bash + pnpm build:packages + pnpm dev + ``` + +3. **Nuclear option** (cleans everything and rebuilds): + ```bash + pnpm dev:clean + ``` + +#### Understanding workspace package builds + +Plane uses an **artifact-based** monorepo architecture. Most workspace packages (`@plane/utils`, `@plane/hooks`, `@plane/types`, etc.) must be built to `dist/` folders before apps can import them. + +**Key packages requiring builds:** +- `@plane/constants` → `packages/constants/dist/` +- `@plane/decorators` → `packages/decorators/dist/` +- `@plane/editor` → `packages/editor/dist/` +- `@plane/hooks` → `packages/hooks/dist/` +- `@plane/i18n` → `packages/i18n/dist/` +- `@plane/logger` → `packages/logger/dist/` +- `@plane/propel` → `packages/propel/dist/` +- `@plane/services` → `packages/services/dist/` +- `@plane/types` → `packages/types/dist/` +- `@plane/ui` → `packages/ui/dist/` +- `@plane/utils` → `packages/utils/dist/` + +**Exception:** `@plane/shared-state` uses source resolution (no build required). + +#### How the automatic fix works + +The `prepare` npm lifecycle hook in the root [package.json](package.json) automatically builds all workspace packages after `pnpm install` completes. This ensures: +- Fresh clones have packages built immediately +- Interrupted builds are repaired on next install +- Branch switches followed by install rebuild packages +- No manual intervention required in most cases + +Additionally, Turbo's dependency graph (configured in [turbo.json](turbo.json)) ensures that when you run `pnpm dev`, it checks if upstream packages need building and builds them first if necessary. + +#### Commands for workspace management + +| Command | Purpose | Use When | +|---------|---------|----------| +| `pnpm build:packages` | Build only workspace packages (fast) | After git branch switch | +| `pnpm clean:packages` | Remove package dist/ folders | Clearing corrupted builds | +| `pnpm dev:clean` | Full cleanup + rebuild + dev | Nuclear reset option | + +#### Preventing future issues + +After running `pnpm install`, all workspace packages are automatically built via the `prepare` hook. If you still encounter issues: + +1. Ensure you've run `pnpm install` after interrupting dev with Ctrl+C +2. If packages are corrupted mid-build, run `pnpm clean:packages && pnpm build:packages` +3. For persistent issues, use the nuclear option: `pnpm dev:clean` + ## Need help? Questions and suggestions Questions, suggestions, and thoughts are most welcome. We can also be reached in our [Discord Server](https://discord.com/invite/A92xrEGCge). diff --git a/package.json b/package.json index 366ecd064bb..ec9ab1b0fa2 100644 --- a/package.json +++ b/package.json @@ -2,60 +2,32 @@ "name": "plane", "description": "Open-source project management that unlocks customer value", "repository": "https://github.com/makeplane/plane.git", - "version": "1.2.0", + "version": "1.1.0", "license": "AGPL-3.0", "private": true, "scripts": { + "prepare": "turbo run build --filter='./packages/*'", "build": "turbo run build", + "build:packages": "turbo run build --filter='./packages/*'", + "clean:packages": "rm -rf packages/*/dist", "dev": "turbo run dev --concurrency=18", + "dev:clean": "pnpm clean:packages && pnpm dev", "start": "turbo run start", "clean": "turbo run clean && rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist", "fix": "turbo run fix", "fix:format": "turbo run fix:format", - "fix:lint": "turbo run fix:lint", "check": "turbo run check", "check:lint": "turbo run check:lint", "check:format": "turbo run check:format", - "check:types": "turbo run check:types", - "prepare": "husky" + "check:types": "turbo run check:types" }, "devDependencies": { - "@eslint/js": "9.39.1", - "@prettier/plugin-oxc": "0.1.3", - "@vitest/eslint-plugin": "1.5.1", - "eslint": "9.39.1", - "eslint-config-prettier": "10.1.8", - "eslint-import-resolver-node": "0.3.9", - "eslint-import-resolver-typescript": "4.4.4", - "eslint-plugin-import": "2.32.0", - "eslint-plugin-jsx-a11y": "6.10.2", - "eslint-plugin-n": "17.23.1", - "eslint-plugin-promise": "7.2.1", - "eslint-plugin-react": "7.37.5", - "eslint-plugin-react-hooks": "7.0.1", - "eslint-plugin-react-refresh": "0.4.24", - "eslint-plugin-storybook": "10.1.4", - "eslint-plugin-turbo": "2.6.3", - "globals": "16.5.0", - "husky": "9.1.7", - "lint-staged": "16.2.7", - "prettier": "3.7.4", - "turbo": "2.6.3", - "typescript-eslint": "8.48.1" - }, - "lint-staged": { - "*.{js,jsx,ts,tsx,cjs,mjs,cts,mts,json,css,md}": [ - "pnpm exec prettier --write --ignore-unknown" - ], - "*.{js,jsx,ts,tsx,cjs,mjs,cts,mts}": [ - "pnpm exec eslint --fix --max-warnings=0 --no-warn-ignored" - ] + "prettier": "latest", + "prettier-plugin-tailwindcss": "^0.6.14", + "turbo": "2.6.1" }, "pnpm": { "overrides": { - "express": "catalog:", - "mdast-util-to-hast": "13.2.1", - "valibot": "1.2.0", "glob": "11.1.0", "js-yaml": "4.1.1", "brace-expansion": "2.0.2", @@ -69,18 +41,17 @@ "prosemirror-view": "1.40.0", "@types/express": "4.17.23", "typescript": "catalog:", - "vite": "catalog:", - "qs": "6.14.1" + "vite": "catalog:" }, "onlyBuiltDependencies": [ - "@sentry/cli", - "turbo" - ], - "ignoredBuiltDependencies": [ - "sharp" + "@swc/core", + "core-js", + "esbuild", + "turbo", + "unrs-resolver" ] }, - "packageManager": "pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a", + "packageManager": "pnpm@10.21.0", "engines": { "node": ">=22.18.0" } diff --git a/packages/constants/package.json b/packages/constants/package.json index abce9b95772..311113ec79e 100644 --- a/packages/constants/package.json +++ b/packages/constants/package.json @@ -1,34 +1,37 @@ { "name": "@plane/constants", - "version": "1.2.0", + "version": "1.1.0", "private": true, "license": "AGPL-3.0", - "type": "module", "scripts": { "dev": "tsdown --watch", "build": "tsdown", - "check:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --max-warnings=30", + "check:lint": "eslint . --max-warnings 0", "check:types": "tsc --noEmit", - "check:format": "prettier . --cache --check", - "fix:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --fix --max-warnings=30", - "fix:format": "prettier . --cache --write", + "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/types": "workspace:*" }, "devDependencies": { + "@plane/eslint-config": "workspace:*", "@plane/typescript-config": "workspace:*", "@types/node": "catalog:", "@types/react": "catalog:", "tsdown": "catalog:", "typescript": "catalog:" }, - "main": "./dist/index.mjs", + "main": "./dist/index.cjs", "module": "./dist/index.mjs", - "types": "./dist/index.d.mts", + "types": "./dist/index.d.cts", "exports": { - ".": "./dist/index.mjs", + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, "./package.json": "./package.json" } } diff --git a/packages/decorators/package.json b/packages/decorators/package.json index a64ae40cae7..008692ff937 100644 --- a/packages/decorators/package.json +++ b/packages/decorators/package.json @@ -4,22 +4,25 @@ "description": "Controller and route decorators for Express.js applications", "license": "AGPL-3.0", "private": true, - "type": "module", "exports": { - ".": "./dist/index.mjs", + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, "./package.json": "./package.json" }, "scripts": { "build": "tsdown", "dev": "tsdown --watch", - "check:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --max-warnings=29", + "check:lint": "eslint . --max-warnings 2", "check:types": "tsc --noEmit", - "check:format": "prettier . --cache --check", - "fix:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --fix --max-warnings=29", - "fix:format": "prettier . --cache --write", + "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": "workspace:*", "@plane/typescript-config": "workspace:*", "@types/express": "4.17.23", "@types/node": "catalog:", @@ -28,7 +31,7 @@ "tsdown": "catalog:", "typescript": "catalog:" }, - "main": "./dist/index.mjs", + "main": "./dist/index.cjs", "module": "./dist/index.mjs", - "types": "./dist/index.d.mts" + "types": "./dist/index.d.cts" } diff --git a/packages/editor/package.json b/packages/editor/package.json index e981bfa3f62..79da51d2a2c 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -1,16 +1,22 @@ { "name": "@plane/editor", - "version": "1.2.0", + "version": "1.1.0", "description": "Core Editor that powers Plane", "license": "AGPL-3.0", "private": true, "type": "module", - "main": "./dist/index.js", - "module": "./dist/index.js", - "types": "./dist/index.d.ts", + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.cts", "exports": { - ".": "./dist/index.js", - "./lib": "./dist/lib.js", + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "./lib": { + "import": "./dist/lib.mjs", + "require": "./dist/lib.cjs" + }, "./package.json": "./package.json", "./styles.css": "./dist/styles/index.css", "./styles": "./dist/styles/index.css" @@ -18,11 +24,11 @@ "scripts": { "build": "tsc && tsdown", "dev": "tsdown --watch", - "check:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --max-warnings=1435", + "check:lint": "eslint . --max-warnings 30", "check:types": "tsc --noEmit", - "check:format": "prettier . --cache --check", - "fix:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --fix --max-warnings=1435", - "fix:format": "prettier . --cache --write", + "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": { @@ -36,24 +42,22 @@ "@hocuspocus/provider": "2.15.2", "@plane/constants": "workspace:*", "@plane/hooks": "workspace:*", - "@plane/propel": "workspace:*", "@plane/types": "workspace:*", "@plane/ui": "workspace:*", + "@plane/propel": "workspace:*", "@plane/utils": "workspace:*", "@tiptap/core": "catalog:", "@tiptap/extension-blockquote": "^2.22.3", "@tiptap/extension-character-count": "^2.22.3", + "buffer": "^6.0.3", "@tiptap/extension-collaboration": "^2.22.3", - "@tiptap/extension-document": "^2.22.3", "@tiptap/extension-emoji": "^2.22.3", - "@tiptap/extension-heading": "^2.22.3", "@tiptap/extension-image": "^2.22.3", "@tiptap/extension-list-item": "^2.22.3", "@tiptap/extension-mention": "^2.22.3", "@tiptap/extension-placeholder": "^2.22.3", "@tiptap/extension-task-item": "^2.22.3", "@tiptap/extension-task-list": "^2.22.3", - "@tiptap/extension-text": "^2.22.3", "@tiptap/extension-text-align": "^2.22.3", "@tiptap/extension-text-style": "^2.22.3", "@tiptap/extension-underline": "^2.22.3", @@ -62,8 +66,6 @@ "@tiptap/react": "^2.22.3", "@tiptap/starter-kit": "^2.22.3", "@tiptap/suggestion": "^2.22.3", - "lodash-es": "catalog:", - "buffer": "^6.0.3", "emoji-regex": "^10.3.0", "highlight.js": "^11.8.0", "is-emoji-supported": "^0.0.5", @@ -81,12 +83,12 @@ "yjs": "^13.6.20" }, "devDependencies": { + "@plane/eslint-config": "workspace:*", "@plane/tailwind-config": "workspace:*", "@plane/typescript-config": "workspace:*", "@types/node": "catalog:", "@types/react": "catalog:", "@types/react-dom": "catalog:", - "@types/lodash-es": "catalog:", "postcss": "^8.4.38", "tsdown": "catalog:", "typescript": "catalog:" diff --git a/packages/hooks/package.json b/packages/hooks/package.json index 70426b8a75f..2fccfe0a657 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -1,38 +1,39 @@ { "name": "@plane/hooks", - "version": "1.2.0", + "version": "1.1.0", "license": "AGPL-3.0", "description": "React hooks that are shared across multiple apps internally", "private": true, "type": "module", "exports": { ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js" + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" }, "./package.json": "./package.json" }, "scripts": { "build": "tsdown", "dev": "tsdown --watch", - "check:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --max-warnings=60", + "check:lint": "eslint . --max-warnings 6", "check:types": "tsc --noEmit", - "check:format": "prettier . --cache --check", - "fix:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --fix --max-warnings=60", - "fix:format": "prettier . --cache --write", + "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": "catalog:" }, "devDependencies": { + "@plane/eslint-config": "workspace:*", "@plane/typescript-config": "workspace:*", "@types/node": "catalog:", "@types/react": "catalog:", "tsdown": "catalog:", "typescript": "catalog:" }, - "main": "./dist/index.js", - "module": "./dist/index.js", - "types": "./dist/index.d.ts" + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.cts" } diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 79838073f87..04cdfe0c79f 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,25 +1,24 @@ { "name": "@plane/i18n", - "version": "1.2.0", + "version": "1.1.0", "license": "AGPL-3.0", "description": "I18n shared across multiple apps internally", "private": true, - "type": "module", "exports": { ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js" + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" }, "./package.json": "./package.json" }, "scripts": { "dev": "tsdown --watch", "build": "tsdown", - "check:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --max-warnings=51", + "check:lint": "eslint . --max-warnings 2", "check:types": "tsc --noEmit", - "check:format": "prettier . --cache --check", - "fix:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --fix --max-warnings=51", - "fix:format": "prettier . --cache --write", + "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": { @@ -31,6 +30,7 @@ "react": "catalog:" }, "devDependencies": { + "@plane/eslint-config": "workspace:*", "@plane/typescript-config": "workspace:*", "@types/lodash-es": "catalog:", "@types/node": "catalog:", @@ -38,7 +38,7 @@ "tsdown": "catalog:", "typescript": "catalog:" }, - "main": "./dist/index.js", - "module": "./dist/index.js", - "types": "./dist/index.d.ts" + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.cts" } diff --git a/packages/logger/package.json b/packages/logger/package.json index 8511deba6bb..c269241a271 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,22 +1,24 @@ { "name": "@plane/logger", - "version": "1.2.0", + "version": "1.1.0", "license": "AGPL-3.0", "description": "Logger shared across multiple apps internally", "private": true, - "type": "module", "exports": { - ".": "./dist/index.mjs", + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, "./package.json": "./package.json" }, "scripts": { "build": "tsdown", "dev": "tsdown --watch", - "check:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --max-warnings=0", + "check:lint": "eslint . --max-warnings 0", "check:types": "tsc --noEmit", - "check:format": "prettier . --cache --check", - "fix:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --fix --max-warnings=0", - "fix:format": "prettier . --cache --write", + "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": { @@ -24,13 +26,14 @@ "winston": "^3.17.0" }, "devDependencies": { + "@plane/eslint-config": "workspace:*", "@plane/typescript-config": "workspace:*", "@types/express": "4.17.23", "@types/node": "catalog:", "tsdown": "catalog:", "typescript": "catalog:" }, - "main": "./dist/index.mjs", + "main": "./dist/index.cjs", "module": "./dist/index.mjs", - "types": "./dist/index.d.mts" + "types": "./dist/index.d.cts" } diff --git a/packages/propel/package.json b/packages/propel/package.json index 37a26874ad4..31eaa5c766a 100644 --- a/packages/propel/package.json +++ b/packages/propel/package.json @@ -1,63 +1,172 @@ { "name": "@plane/propel", - "version": "1.2.0", + "version": "1.1.0", "private": true, "license": "AGPL-3.0", - "type": "module", "scripts": { "dev": "tsdown --watch", "build": "tsdown", - "check:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --max-warnings=1306", + "check:lint": "eslint . --max-warnings 7", "check:types": "tsc --noEmit", - "check:format": "prettier . --cache --check", - "fix:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --fix --max-warnings=1306", - "fix:format": "prettier . --cache --write", + "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", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build" }, "exports": { - "./accordion": "./dist/accordion/index.js", - "./animated-counter": "./dist/animated-counter/index.js", - "./avatar": "./dist/avatar/index.js", - "./badge": "./dist/badge/index.js", - "./banner": "./dist/banner/index.js", - "./button": "./dist/button/index.js", - "./calendar": "./dist/calendar/index.js", - "./card": "./dist/card/index.js", - "./charts/area-chart": "./dist/charts/area-chart/index.js", - "./charts/bar-chart": "./dist/charts/bar-chart/index.js", - "./charts/line-chart": "./dist/charts/line-chart/index.js", - "./charts/pie-chart": "./dist/charts/pie-chart/index.js", - "./charts/radar-chart": "./dist/charts/radar-chart/index.js", - "./charts/scatter-chart": "./dist/charts/scatter-chart/index.js", - "./charts/tree-map": "./dist/charts/tree-map/index.js", - "./collapsible": "./dist/collapsible/index.js", - "./combobox": "./dist/combobox/index.js", - "./command": "./dist/command/index.js", - "./context-menu": "./dist/context-menu/index.js", - "./dialog": "./dist/dialog/index.js", - "./emoji-icon-picker": "./dist/emoji-icon-picker/index.js", - "./emoji-reaction": "./dist/emoji-reaction/index.js", - "./empty-state": "./dist/empty-state/index.js", - "./icon-button": "./dist/icon-button/index.js", - "./icons": "./dist/icons/index.js", - "./input": "./dist/input/index.js", - "./menu": "./dist/menu/index.js", - "./pill": "./dist/pill/index.js", - "./popover": "./dist/popover/index.js", - "./portal": "./dist/portal/index.js", - "./scrollarea": "./dist/scrollarea/index.js", - "./skeleton": "./dist/skeleton/index.js", - "./switch": "./dist/switch/index.js", - "./tab-navigation": "./dist/tab-navigation/index.js", - "./table": "./dist/table/index.js", - "./tabs": "./dist/tabs/index.js", - "./toast": "./dist/toast/index.js", - "./toolbar": "./dist/toolbar/index.js", - "./tooltip": "./dist/tooltip/index.js", - "./utils": "./dist/utils/index.js", + "./accordion": { + "import": "./dist/accordion/index.mjs", + "require": "./dist/accordion/index.cjs" + }, + "./animated-counter": { + "import": "./dist/animated-counter/index.mjs", + "require": "./dist/animated-counter/index.cjs" + }, + "./avatar": { + "import": "./dist/avatar/index.mjs", + "require": "./dist/avatar/index.cjs" + }, + "./banner": { + "import": "./dist/banner/index.mjs", + "require": "./dist/banner/index.cjs" + }, + "./button": { + "import": "./dist/button/index.mjs", + "require": "./dist/button/index.cjs" + }, + "./calendar": { + "import": "./dist/calendar/index.mjs", + "require": "./dist/calendar/index.cjs" + }, + "./card": { + "import": "./dist/card/index.mjs", + "require": "./dist/card/index.cjs" + }, + "./charts/area-chart": { + "import": "./dist/charts/area-chart/index.mjs", + "require": "./dist/charts/area-chart/index.cjs" + }, + "./charts/bar-chart": { + "import": "./dist/charts/bar-chart/index.mjs", + "require": "./dist/charts/bar-chart/index.cjs" + }, + "./charts/line-chart": { + "import": "./dist/charts/line-chart/index.mjs", + "require": "./dist/charts/line-chart/index.cjs" + }, + "./charts/pie-chart": { + "import": "./dist/charts/pie-chart/index.mjs", + "require": "./dist/charts/pie-chart/index.cjs" + }, + "./charts/radar-chart": { + "import": "./dist/charts/radar-chart/index.mjs", + "require": "./dist/charts/radar-chart/index.cjs" + }, + "./charts/scatter-chart": { + "import": "./dist/charts/scatter-chart/index.mjs", + "require": "./dist/charts/scatter-chart/index.cjs" + }, + "./charts/tree-map": { + "import": "./dist/charts/tree-map/index.mjs", + "require": "./dist/charts/tree-map/index.cjs" + }, + "./collapsible": { + "import": "./dist/collapsible/index.mjs", + "require": "./dist/collapsible/index.cjs" + }, + "./combobox": { + "import": "./dist/combobox/index.mjs", + "require": "./dist/combobox/index.cjs" + }, + "./command": { + "import": "./dist/command/index.mjs", + "require": "./dist/command/index.cjs" + }, + "./context-menu": { + "import": "./dist/context-menu/index.mjs", + "require": "./dist/context-menu/index.cjs" + }, + "./dialog": { + "import": "./dist/dialog/index.mjs", + "require": "./dist/dialog/index.cjs" + }, + "./emoji-icon-picker": { + "import": "./dist/emoji-icon-picker/index.mjs", + "require": "./dist/emoji-icon-picker/index.cjs" + }, + "./emoji-reaction": { + "import": "./dist/emoji-reaction/index.mjs", + "require": "./dist/emoji-reaction/index.cjs" + }, + "./empty-state": { + "import": "./dist/empty-state/index.mjs", + "require": "./dist/empty-state/index.cjs" + }, + "./icons": { + "import": "./dist/icons/index.mjs", + "require": "./dist/icons/index.cjs" + }, + "./input": { + "import": "./dist/input/index.mjs", + "require": "./dist/input/index.cjs" + }, + "./menu": { + "import": "./dist/menu/index.mjs", + "require": "./dist/menu/index.cjs" + }, + "./pill": { + "import": "./dist/pill/index.mjs", + "require": "./dist/pill/index.cjs" + }, + "./popover": { + "import": "./dist/popover/index.mjs", + "require": "./dist/popover/index.cjs" + }, + "./portal": { + "import": "./dist/portal/index.mjs", + "require": "./dist/portal/index.cjs" + }, + "./scrollarea": { + "import": "./dist/scrollarea/index.mjs", + "require": "./dist/scrollarea/index.cjs" + }, + "./skeleton": { + "import": "./dist/skeleton/index.mjs", + "require": "./dist/skeleton/index.cjs" + }, + "./switch": { + "import": "./dist/switch/index.mjs", + "require": "./dist/switch/index.cjs" + }, + "./table": { + "import": "./dist/table/index.mjs", + "require": "./dist/table/index.cjs" + }, + "./tabs": { + "import": "./dist/tabs/index.mjs", + "require": "./dist/tabs/index.cjs" + }, + "./toast": { + "import": "./dist/toast/index.mjs", + "require": "./dist/toast/index.cjs" + }, + "./toolbar": { + "import": "./dist/toolbar/index.mjs", + "require": "./dist/toolbar/index.cjs" + }, + "./tooltip": { + "import": "./dist/tooltip/index.mjs", + "require": "./dist/tooltip/index.cjs" + }, + "./utils": { + "import": "./dist/utils/index.mjs", + "require": "./dist/utils/index.cjs" + }, "./package.json": "./package.json", + "./styles/fonts.css": "./dist/styles/fonts/index.css", + "./styles/fonts": "./dist/styles/fonts/index.css", "./styles/react-day-picker.css": "./dist/styles/react-day-picker.css", "./styles/react-day-picker": "./dist/styles/react-day-picker.css" }, @@ -66,22 +175,21 @@ "@plane/constants": "workspace:*", "@plane/hooks": "workspace:*", "@plane/types": "workspace:*", - "@plane/utils": "workspace:*", "@tanstack/react-table": "^8.21.3", - "class-variance-authority": "0.7.1", + "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", - "framer-motion": "^12.23.0", "frimousse": "^0.3.0", "lucide-react": "catalog:", "react": "catalog:", "react-day-picker": "9.5.0", "react-dom": "catalog:", "recharts": "^2.15.1", - "tailwind-merge": "3.4.0", + "tailwind-merge": "^3.3.1", "use-font-face-observer": "^1.3.0" }, "devDependencies": { + "@plane/eslint-config": "workspace:*", "@plane/tailwind-config": "workspace:*", "@plane/typescript-config": "workspace:*", "@storybook/addon-designs": "10.0.2", @@ -89,7 +197,8 @@ "@storybook/react-vite": "9.1.10", "@types/react": "catalog:", "@types/react-dom": "catalog:", - "storybook": "9.1.17", + "eslint-plugin-storybook": "9.1.10", + "storybook": "9.1.10", "tsdown": "catalog:", "typescript": "catalog:" } diff --git a/packages/services/package.json b/packages/services/package.json index e2fed6d8789..cfb41153c1c 100644 --- a/packages/services/package.json +++ b/packages/services/package.json @@ -1,24 +1,24 @@ { "name": "@plane/services", - "version": "1.2.0", + "version": "1.1.0", "license": "AGPL-3.0", "private": true, "type": "module", "exports": { ".": { - "types": "./dist/index-BliaS-AT.d.ts", - "import": "./dist/index.js" + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" }, "./package.json": "./package.json" }, "scripts": { "build": "tsdown", "dev": "tsdown --watch", - "check:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --max-warnings=1131", + "check:lint": "eslint . --max-warnings 62", "check:types": "tsc --noEmit", - "check:format": "prettier . --cache --check", - "fix:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --fix --max-warnings=1131", - "fix:format": "prettier . --cache --write", + "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": { @@ -28,11 +28,12 @@ "file-type": "^21.0.0" }, "devDependencies": { + "@plane/eslint-config": "workspace:*", "@plane/typescript-config": "workspace:*", "tsdown": "catalog:", "typescript": "catalog:" }, - "main": "./dist/index.js", - "module": "./dist/index.js", - "types": "./dist/index.d.ts" + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.cts" } diff --git a/packages/types/package.json b/packages/types/package.json index 56840345fd6..aa016f9a7ab 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,21 +1,23 @@ { "name": "@plane/types", - "version": "1.2.0", + "version": "1.1.0", "license": "AGPL-3.0", "private": true, - "type": "module", "exports": { - ".": "./dist/index.mjs", + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, "./package.json": "./package.json" }, "scripts": { "dev": "tsdown --watch", "build": "tsdown", - "check:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --max-warnings=151", + "check:lint": "eslint . --max-warnings 36", "check:types": "tsc --noEmit", - "check:format": "prettier . --cache --check", - "fix:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --fix --max-warnings=151", - "fix:format": "prettier . --cache --write", + "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": { @@ -23,14 +25,14 @@ "react-dom": "catalog:" }, "devDependencies": { + "@plane/eslint-config": "workspace:*", "@plane/typescript-config": "workspace:*", - "@types/node": "catalog:", "@types/react": "catalog:", "@types/react-dom": "catalog:", "tsdown": "catalog:", "typescript": "catalog:" }, - "main": "./dist/index.mjs", + "main": "./dist/index.cjs", "module": "./dist/index.mjs", - "types": "./dist/index.d.mts" + "types": "./dist/index.d.cts" } diff --git a/packages/ui/package.json b/packages/ui/package.json index 78bd7560dbc..939592798a9 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -2,17 +2,17 @@ "name": "@plane/ui", "description": "UI components shared across multiple apps internally", "private": true, - "version": "1.2.0", + "version": "1.1.0", "sideEffects": false, "license": "AGPL-3.0", "type": "module", - "main": "./dist/index.js", - "module": "./dist/index.js", - "types": "./dist/index.d.ts", + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.cts", "exports": { ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js" + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" }, "./package.json": "./package.json" }, @@ -22,11 +22,11 @@ "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", "postcss": "postcss styles/globals.css -o styles/output.css --watch", - "check:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --max-warnings=643", + "check:lint": "eslint . --max-warnings 94", "check:types": "tsc --noEmit", - "check:format": "prettier . --cache --check", - "fix:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --fix --max-warnings=643", - "fix:format": "prettier . --cache --write", + "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": { @@ -52,11 +52,12 @@ "react-color": "^2.19.3", "react-day-picker": "9.5.0", "react-popper": "^2.3.0", - "tailwind-merge": "3.4.0", + "tailwind-merge": "^2.0.0", "use-font-face-observer": "^1.2.2" }, "devDependencies": { "@chromatic-com/storybook": "^1.4.0", + "@plane/eslint-config": "workspace:*", "@plane/tailwind-config": "workspace:*", "@plane/typescript-config": "workspace:*", "@storybook/addon-essentials": "^8.1.1", @@ -77,7 +78,7 @@ "autoprefixer": "^10.4.19", "postcss-cli": "^11.0.0", "postcss-nested": "^6.0.1", - "storybook": "9.1.17", + "storybook": "^8.1.1", "tsdown": "catalog:", "typescript": "catalog:" } diff --git a/packages/utils/package.json b/packages/utils/package.json index 7b1c656e97d..315fd056f3e 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,61 +1,49 @@ { "name": "@plane/utils", - "version": "1.2.0", + "version": "1.1.0", "description": "Helper functions shared across multiple apps internally", "license": "AGPL-3.0", "private": true, "type": "module", "exports": { ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js" + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" }, "./package.json": "./package.json" }, "scripts": { "build": "tsdown", "dev": "tsdown --watch", - "check:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --max-warnings=1062", + "check:lint": "eslint . --max-warnings 20", "check:types": "tsc --noEmit", - "check:format": "prettier . --cache --check", - "fix:lint": "eslint . --cache --cache-location node_modules/.cache/eslint/ --fix --max-warnings=1062", - "fix:format": "prettier . --cache --write", + "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": "workspace:*", "@plane/types": "workspace:*", - "chroma-js": "^3.2.0", "clsx": "^2.1.1", "date-fns": "^4.1.0", - "hast": "^1.0.0", - "hast-util-to-mdast": "^10.1.2", + "dompurify": "3.2.7", "lodash-es": "catalog:", "lucide-react": "catalog:", - "mdast": "^3.0.0", "react": "catalog:", - "rehype-parse": "^9.0.1", - "rehype-remark": "^10.0.1", - "remark-gfm": "^4.0.1", - "remark-stringify": "^11.0.0", - "sanitize-html": "2.17.0", - "tailwind-merge": "3.4.0", - "unified": "^11.0.5", + "tailwind-merge": "^2.5.5", "uuid": "catalog:" }, "devDependencies": { + "@plane/eslint-config": "workspace:*", "@plane/typescript-config": "workspace:*", - "@types/chroma-js": "^3.1.2", - "@types/hast": "^3.0.4", "@types/lodash-es": "catalog:", - "@types/mdast": "^4.0.4", "@types/node": "catalog:", "@types/react": "catalog:", - "@types/sanitize-html": "2.16.0", "tsdown": "catalog:", "typescript": "catalog:" }, - "main": "./dist/index.js", - "module": "./dist/index.js", - "types": "./dist/index.d.ts" + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.cts" }