86cce6d161
Biome as it is now didn't work out for us 😢 Summary for posterity: * it IS much, much faster, fast enough to skip any sort of caching * we couldn't fully replace Prettier just yet. We use Prettier programmatically to format code in docs, and Biome's JS interface is officially alpha and [had legacy peer deps set](https://github.com/biomejs/biome/pull/1756) (which would fail our CI build as we don't allow installation warnings) * ternary formatting differs from Prettier, leading to a large diff https://github.com/biomejs/biome/issues/1661 * import sorting differs from Prettier's `prettier-plugin-organize-imports`, making the diff even bigger * the deal breaker is a multi-second delay on saving large files (for us it's [Editor.ts](https://github.com/tldraw/tldraw/blob/main/packages/editor/src/lib/editor/Editor.ts)) in VSCode when import sorting is enabled. There is a seemingly relevant Biome issue where I posted a small summary of our findings: https://github.com/biomejs/biome/issues/1569#issuecomment-1930411623 Further actions: * reevaluate in a few months as Biome matures ### Change Type - [x] `internal` — Any other changes that don't affect the published package
119 lines
3.8 KiB
JSON
119 lines
3.8 KiB
JSON
{
|
|
"name": "@tldraw/monorepo",
|
|
"description": "A tiny little drawing app (monorepo).",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"author": {
|
|
"name": "tldraw Inc.",
|
|
"email": "hello@tldraw.com"
|
|
},
|
|
"homepage": "https://tldraw.dev",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/tldraw/tldraw"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/tldraw/tldraw/issues"
|
|
},
|
|
"keywords": [
|
|
"tldraw",
|
|
"drawing",
|
|
"app",
|
|
"development",
|
|
"whiteboard",
|
|
"canvas",
|
|
"infinite"
|
|
],
|
|
"workspaces": [
|
|
"docs",
|
|
"apps/*",
|
|
"packages/*",
|
|
"apps/vscode/*",
|
|
"e2e",
|
|
"config",
|
|
"scripts"
|
|
],
|
|
"scripts": {
|
|
"clean": "scripts/clean.sh",
|
|
"postinstall": "husky install && yarn refresh-assets",
|
|
"refresh-assets": "lazy refresh-assets",
|
|
"dev": "LAZYREPO_PRETTY_OUTPUT=0 lazy run dev --filter='apps/examples' --filter='packages/tldraw'",
|
|
"dev-vscode": "code ./apps/vscode/extension && lazy run dev --filter='apps/vscode/{extension,editor}'",
|
|
"dev-app": "LAZYREPO_PRETTY_OUTPUT=0 lazy run dev --filter='apps/{dotcom,dotcom-asset-upload,dotcom-worker}' --filter='packages/tldraw'",
|
|
"dev-docs": "LAZYREPO_PRETTY_OUTPUT=0 lazy run dev --filter='apps/docs'",
|
|
"dev-huppy": "LAZYREPO_PRETTY_OUTPUT=0 lazy run dev --filter 'apps/huppy'",
|
|
"build": "lazy build",
|
|
"build-app": "lazy run build --filter 'apps/dotcom'",
|
|
"build-docs": "lazy run build --filter 'apps/docs'",
|
|
"build-types": "lazy inherit",
|
|
"build-api": "lazy build-api",
|
|
"build-package": "lazy build-package",
|
|
"preview-app": "VITE_PREVIEW=1 yarn dev-app",
|
|
"lint": "lazy lint",
|
|
"format": "prettier --write --cache \"**/*.{ts,tsx,js,jsx,json}\"",
|
|
"typecheck": "yarn refresh-assets && tsx scripts/typecheck.ts",
|
|
"check-scripts": "tsx scripts/check-scripts.ts",
|
|
"api-check": "lazy api-check",
|
|
"test": "lazy test",
|
|
"test-dev": "yarn run -T jest --watch",
|
|
"test-coverage": "lazy test-coverage && node scripts/offer-coverage.mjs",
|
|
"e2e": "lazy e2e --filter='apps/examples'"
|
|
},
|
|
"engines": {
|
|
"npm": ">=7.0.0"
|
|
},
|
|
"packageManager": "yarn@4.0.2",
|
|
"lint-staged": {
|
|
"*.{js,jsx,ts,tsx,json}": [
|
|
"prettier --write --cache"
|
|
]
|
|
},
|
|
"devDependencies": {
|
|
"@microsoft/api-extractor": "^7.35.4",
|
|
"@next/eslint-plugin-next": "^13.3.0",
|
|
"@swc/core": "^1.3.55",
|
|
"@swc/jest": "^0.2.34",
|
|
"@types/glob": "^8.1.0",
|
|
"@types/jest": "^29.5.12",
|
|
"@types/node": "~20.11",
|
|
"@types/react": "^18.2.47",
|
|
"@types/react-dom": "^18.2.18",
|
|
"@typescript-eslint/eslint-plugin": "^5.57.0",
|
|
"@typescript-eslint/parser": "^5.57.0",
|
|
"auto": "^10.46.0",
|
|
"eslint": "^8.37.0",
|
|
"eslint-config-prettier": "^8.8.0",
|
|
"eslint-plugin-deprecation": "^2.0.0",
|
|
"eslint-plugin-import": "^2.27.5",
|
|
"eslint-plugin-local": "^1.0.0",
|
|
"eslint-plugin-no-only-tests": "^3.1.0",
|
|
"eslint-plugin-react": "^7.32.2",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"fs-extra": "^11.1.0",
|
|
"husky": "^8.0.0",
|
|
"jest": "30.0.0-alpha.2",
|
|
"json5": "^2.2.3",
|
|
"lazyrepo": "0.0.0-alpha.27",
|
|
"lint-staged": ">=10",
|
|
"prettier": "^3.0.3",
|
|
"prettier-plugin-organize-imports": "^3.2.3",
|
|
"rimraf": "^4.4.0",
|
|
"tsx": "^4.0.0",
|
|
"typescript": "^5.2.2",
|
|
"vercel": "^28.16.15"
|
|
},
|
|
"resolutions": {
|
|
"@microsoft/api-extractor@^7.35.4": "patch:@microsoft/api-extractor@npm%3A7.35.4#./.yarn/patches/@microsoft-api-extractor-npm-7.35.4-5f4f0357b4.patch",
|
|
"vectra@^0.4.4": "patch:vectra@npm%3A0.4.4#./.yarn/patches/vectra-npm-0.4.4-6aac3f6c29.patch",
|
|
"domino@^2.1.6": "patch:domino@npm%3A2.1.6#./.yarn/patches/domino-npm-2.1.6-b0dc3de857.patch",
|
|
"@auto-it/core@^10.45.0": "patch:@auto-it/core@npm%3A10.46.0#./.yarn/patches/@auto-it-core-npm-10.46.0-4ce8f196af.patch",
|
|
"@auto-it/core@10.46.0": "patch:@auto-it/core@npm%3A10.46.0#./.yarn/patches/@auto-it-core-npm-10.46.0-4ce8f196af.patch"
|
|
},
|
|
"dependencies": {
|
|
"@sentry/cli": "^2.25.0",
|
|
"@yarnpkg/types": "^4.0.0",
|
|
"cross-env": "^7.0.3",
|
|
"purgecss": "^5.0.0",
|
|
"svgo": "^3.0.2"
|
|
}
|
|
}
|