5ce38563e9
This PR bumps Yarn to 4.0.2, adds version constraints and fixes reported problems. Current constraints (per @ds300): 1. all dependencies (both prod and dev) should have consistent versions across the project 2. only the root `package.json` should have `packageManager` set Removed 54 packages due to deduplication. ### Change Type - [ ] `patch` — Bug fix - [ ] `minor` — New feature - [ ] `major` — Breaking change - [x] `dependencies` — Changes to package dependencies[^1] - [ ] `documentation` — Changes to the documentation only[^2] - [ ] `tests` — Changes to any test code only[^2] - [ ] `internal` — Any other changes that don't affect the published package[^2] - [ ] I don't know [^1]: publishes a `patch` release, for devDependencies use `internal` [^2]: will not publish a new version <details> <summary>An example of a report with a bunch of problems</summary> ``` ❯ yarn constraints ➤ Errors prefixed by '⚙' can be fixed by running yarn constraints --fix ├─ @tldraw/monorepo@workspace:. │ ├─ Conflict detected in constraint targeting devDependencies["@types/react"]; conflicting values are: │ │ ├─ '^18.2.47' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.33' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["@typescript-eslint/eslint-plugin"]; conflicting values are: │ │ ├─ '^5.57.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^5.10.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["@typescript-eslint/parser"]; conflicting values are: │ │ ├─ '^5.57.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^5.10.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["eslint"]; conflicting values are: │ │ ├─ '^8.37.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '8.36.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["eslint-config-prettier"]; conflicting values are: │ │ ├─ '^8.8.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^8.3.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["eslint-plugin-react"]; conflicting values are: │ │ ├─ '^7.32.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '7.28.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["prettier-plugin-organize-imports"]; conflicting values are: │ │ ├─ '^3.2.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^3.2.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["tsx"]; conflicting values are: │ │ ├─ '^3.12.7' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^4.0.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ Conflict detected in constraint targeting devDependencies["typescript"]; conflicting values are: │ ├─ '^5.2.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ '^5.0.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ @tldraw/docs@workspace:apps/docs │ ├─ Conflict detected in constraint targeting dependencies["@types/ws"]; conflicting values are: │ │ ├─ '^8.5.9' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^8.5.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["@vercel/analytics"]; conflicting values are: │ │ ├─ '^1.1.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^1.0.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["concurrently"]; conflicting values are: │ │ ├─ '^8.2.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ ├─ '^8.2.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '7.0.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["dotenv"]; conflicting values are: │ │ ├─ '^16.3.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^16.0.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["eslint"]; conflicting values are: │ │ ├─ '^8.37.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '8.36.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["eslint-config-next"]; conflicting values are: │ │ ├─ '13.2.4' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '12.2.5' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["next"]; conflicting values are: │ │ ├─ '^14.0.4' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^13.2.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["prettier-plugin-organize-imports"]; conflicting values are: │ │ ├─ '^3.2.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^3.2.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["react"]; conflicting values are: │ │ ├─ '18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["react-dom"]; conflicting values are: │ │ ├─ '18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["tsx"]; conflicting values are: │ │ ├─ '^3.12.7' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^4.0.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["typescript"]; conflicting values are: │ │ ├─ '^5.2.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^5.0.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["ws"]; conflicting values are: │ │ ├─ '^8.14.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ ├─ '^8.13.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^8.16.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ dotcom@workspace:apps/dotcom │ ├─ Conflict detected in constraint targeting dependencies["@radix-ui/react-popover"]; conflicting values are: │ │ ├─ '1.0.6-rc.5' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^1.0.7' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["@vercel/analytics"]; conflicting values are: │ │ ├─ '^1.1.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^1.0.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["react"]; conflicting values are: │ │ ├─ '18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["react-dom"]; conflicting values are: │ │ ├─ '18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["react-router-dom"]; conflicting values are: │ │ ├─ '^6.17.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^6.9.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["@types/react"]; conflicting values are: │ │ ├─ '^18.2.47' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.33' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["dotenv"]; conflicting values are: │ │ ├─ '^16.3.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^16.0.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["vite"]; conflicting values are: │ │ ├─ '^5.0.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^4.3.4' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["ws"]; conflicting values are: │ │ ├─ '^8.14.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ ├─ '^8.13.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^8.16.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ dotcom-asset-upload@workspace:apps/dotcom-asset-upload │ ├─ Conflict detected in constraint targeting dependencies["itty-router"]; conflicting values are: │ │ ├─ '^2.6.6' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^4.0.13' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["@types/ws"]; conflicting values are: │ │ ├─ '^8.5.9' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^8.5.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ @tldraw/bookmark-extractor@workspace:apps/dotcom-bookmark-extractor │ ├─ Conflict detected in constraint targeting dependencies["tslib"]; conflicting values are: │ │ ├─ '^2.6.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^2.4.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["typescript"]; conflicting values are: │ │ ├─ '^5.2.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^5.0.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ @tldraw/dotcom-worker@workspace:apps/dotcom-worker │ ├─ Conflict detected in constraint targeting dependencies["itty-router"]; conflicting values are: │ │ ├─ '^2.6.6' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^4.0.13' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["concurrently"]; conflicting values are: │ │ ├─ '^8.2.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ ├─ '^8.2.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '7.0.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["typescript"]; conflicting values are: │ │ ├─ '^5.2.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^5.0.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ examples.tldraw.com@workspace:apps/examples │ ├─ Conflict detected in constraint targeting dependencies["@vercel/analytics"]; conflicting values are: │ │ ├─ '^1.1.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^1.0.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["react"]; conflicting values are: │ │ ├─ '18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["react-dom"]; conflicting values are: │ │ ├─ '18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["react-router-dom"]; conflicting values are: │ │ ├─ '^6.17.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^6.9.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["vite"]; conflicting values are: │ │ ├─ '^5.0.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^4.3.4' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["dotenv"]; conflicting values are: │ │ ├─ '^16.3.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^16.0.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ huppy@workspace:apps/huppy │ ├─ Conflict detected in constraint targeting dependencies["next"]; conflicting values are: │ │ ├─ '^14.0.4' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^13.2.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["react"]; conflicting values are: │ │ ├─ '18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["react-dom"]; conflicting values are: │ │ ├─ '18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["eslint-config-next"]; conflicting values are: │ │ ├─ '13.2.4' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '12.2.5' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ @tldraw/vscode-editor@workspace:apps/vscode/editor │ ├─ Conflict detected in constraint targeting devDependencies["@types/react"]; conflicting values are: │ │ ├─ '^18.2.47' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.33' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["concurrently"]; conflicting values are: │ │ ├─ '^8.2.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ ├─ '^8.2.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '7.0.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["dotenv"]; conflicting values are: │ │ ├─ '^16.3.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^16.0.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["react"]; conflicting values are: │ │ ├─ '18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["react-dom"]; conflicting values are: │ │ ├─ '18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["tslib"]; conflicting values are: │ │ ├─ '^2.6.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^2.4.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ tldraw-vscode@workspace:apps/vscode/extension │ ├─ Conflict detected in constraint targeting devDependencies["@typescript-eslint/eslint-plugin"]; conflicting values are: │ │ ├─ '^5.57.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^5.10.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["@typescript-eslint/parser"]; conflicting values are: │ │ ├─ '^5.57.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^5.10.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["tslib"]; conflicting values are: │ │ ├─ '^2.6.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^2.4.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["tsx"]; conflicting values are: │ │ ├─ '^3.12.7' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^4.0.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ config@workspace:config │ ├─ Conflict detected in constraint targeting dependencies["eslint-config-prettier"]; conflicting values are: │ │ ├─ '^8.8.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^8.3.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting dependencies["eslint-plugin-react"]; conflicting values are: │ │ ├─ '^7.32.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '7.28.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Missing field packageManager; expected null │ ├─ @tldraw/assets@workspace:packages/assets │ └─ ⚙ Missing field packageManager; expected null │ ├─ @tldraw/editor@workspace:packages/editor │ ├─ Conflict detected in constraint targeting devDependencies["@testing-library/jest-dom"]; conflicting values are: │ │ ├─ '^5.16.5' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^5.14.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["jest-canvas-mock"]; conflicting values are: │ │ ├─ '^2.5.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^2.5.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["jest-environment-jsdom"]; conflicting values are: │ │ ├─ '^29.4.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^28.1.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ @tldraw/state@workspace:packages/state │ ├─ Conflict detected in constraint targeting devDependencies["@types/react"]; conflicting values are: │ │ ├─ '^18.2.47' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^18.2.33' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ @tldraw/store@workspace:packages/store │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ @tldraw/tldraw@workspace:packages/tldraw │ ├─ Conflict detected in constraint targeting dependencies["@radix-ui/react-popover"]; conflicting values are: │ │ ├─ '1.0.6-rc.5' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^1.0.7' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["@testing-library/jest-dom"]; conflicting values are: │ │ ├─ '^5.16.5' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^5.14.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["jest-canvas-mock"]; conflicting values are: │ │ ├─ '^2.5.1' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^2.5.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["jest-environment-jsdom"]; conflicting values are: │ │ ├─ '^29.4.3' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^28.1.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ @tldraw/tlschema@workspace:packages/tlschema │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ @tldraw/tlsync@workspace:packages/tlsync │ ├─ Conflict detected in constraint targeting dependencies["ws"]; conflicting values are: │ │ ├─ '^8.14.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ ├─ '^8.13.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^8.16.0' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ ├─ Conflict detected in constraint targeting devDependencies["typescript"]; conflicting values are: │ │ ├─ '^5.2.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ │ └─ '^5.0.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ @tldraw/utils@workspace:packages/utils │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ ├─ @tldraw/validate@workspace:packages/validate │ └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' │ └─ @tldraw/scripts@workspace:scripts ├─ Conflict detected in constraint targeting devDependencies["typescript"]; conflicting values are: │ ├─ '^5.2.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) │ └─ '^5.0.2' at enforceConsistentDependenciesAcrossTheProject (…/tldraw/yarn.config.cjs:14:15) └─ ⚙ Invalid field packageManager; expected null, found 'yarn@3.5.0' ``` </details>
72 lines
2.3 KiB
YAML
72 lines
2.3 KiB
YAML
# Adapted from https://mmazzarolo.com/blog/2022-09-09-visual-regression-testing-with-playwright-and-github-actions/
|
|
|
|
# This workflow's goal is forcing an update of the reference snapshots used
|
|
# by Playwright tests. Add the 'update-snapshots' label to a PR.
|
|
# From a high-level perspective, it works like this:
|
|
# 1. Because of a GitHub Action limitation, this workflow is triggered on every
|
|
# label added to a PR. We manually interrupt it unless the label is
|
|
# "update-snapshots".
|
|
# 2. Use the GitHub API to grab the information about the branch name and SHA of
|
|
# the latest commit of the current pull request.
|
|
# 3. Remove the label from the PR.
|
|
# 4. Update the Playwright reference snapshots based on the UI of this branch.
|
|
# 5. Commit the newly generated Playwright reference snapshots into this branch.
|
|
name: Update playwright snapshots
|
|
|
|
on:
|
|
pull_request:
|
|
types: [labeled]
|
|
|
|
env:
|
|
CI: 1
|
|
PRINT_GITHUB_ANNOTATIONS: 1
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
update_snapshots:
|
|
name: 'Run'
|
|
timeout-minutes: 60
|
|
runs-on: ubuntu-latest-16-cores-open
|
|
if: github.event.label.name == 'update-snapshots'
|
|
|
|
permissions:
|
|
# Give the default GITHUB_TOKEN write permission to commit and push the
|
|
# added or changed files to the repository.
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
steps:
|
|
- name: Remove the update-snapshots label
|
|
uses: actions-ecosystem/action-remove-labels@v1
|
|
with:
|
|
labels: update-snapshots
|
|
|
|
- name: Check out code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 5
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
ref: ${{ github.event.pull_request.head.ref }}
|
|
|
|
- name: Run our setup
|
|
uses: ./.github/actions/setup
|
|
|
|
- name: Install Playwright browsers
|
|
run: npx playwright install --with-deps chromium chrome
|
|
|
|
- name: Run Playwright tests & update snapshots
|
|
run: 'yarn e2e --update-snapshots'
|
|
working-directory: 'apps/examples'
|
|
|
|
- name: Commit and push changes
|
|
if: always()
|
|
run: |
|
|
git config --global user.name 'huppy-bot[bot]'
|
|
git config --global user.email '128400622+huppy-bot[bot]@users.noreply.github.com'
|
|
git add -A
|
|
git commit --no-verify -m '[automated] update snapshots'
|
|
git pull --rebase
|
|
git push
|