Remove Turbo

- yarn classic workspaces already do what we need

- The main benefit of turbo, the cache, is already disabled on dev builds. On
  production builds, turbo doesn't support `next build` (this is mentioned in
  Vercel's docs).

- We're not using their remote cache

- Maybe there is a monorepo size when the yarn workspace approach gets
  unwieldly, but I feel we're not near that point.

Will bring it back if it gets missed.
This commit is contained in:
Manav Rathi 2024-02-17 09:11:53 +05:30
parent 51f127cccd
commit 64d5834b6a
6 changed files with 17 additions and 107 deletions

1
.gitignore vendored
View file

@ -47,4 +47,3 @@ public/sw.js.map
public/worker-*.js
public/worker-*.js.map
.turbo

View file

@ -3,7 +3,12 @@
The monorepo uses Yarn (classic) workspaces.
To run a command for a workspace `<ws>`, invoke `yarn workspace <ws> <cmd>` from
the root folder instead the the `yarn <cmd>` youd have done otherwise.
the root folder instead the the `yarn <cmd>` youd have done otherwise. For
example, to build the `photos` app, we can do
```sh
yarn workspace photos next build
```
To add a local package as a dependency, use `<package-name>@*`. The "*" here
denotes any version.

View file

@ -7,18 +7,17 @@
"packages/*"
],
"scripts": {
"build:accounts": "TURBO_NO_UPDATE_NOTIFIER=true turbo run build --filter=accounts",
"build:auth": "TURBO_NO_UPDATE_NOTIFIER=true turbo run build --filter=auth",
"build:cast": "TURBO_NO_UPDATE_NOTIFIER=true turbo run build --filter=cast",
"build:photos": "TURBO_NO_UPDATE_NOTIFIER=true turbo run build --filter=photos",
"dev:accounts": "TURBO_NO_UPDATE_NOTIFIER=true turbo run dev --filter=accounts",
"dev:auth": "TURBO_NO_UPDATE_NOTIFIER=true turbo run dev --filter=auth",
"dev:cast": "TURBO_NO_UPDATE_NOTIFIER=true turbo run dev --filter=cast",
"dev:photos": "TURBO_NO_UPDATE_NOTIFIER=true turbo run dev --filter=photos",
"lint": "turbo run lint",
"albums": "turbo run albums",
"build:accounts": "yarn workspace photos next build",
"build:auth": "yarn workspace photos next build",
"build:cast": "yarn workspace photos next build",
"build:photos": "yarn workspace photos next build",
"dev:accounts": "yarn workspace accounts next dev",
"dev:auth": "yarn workspace auth next dev",
"dev:cast": "yarn workspace cast next dev",
"dev:photos": "yarn workspace photos next dev",
"albums": "yarn workspace photos albums",
"prepare": "husky install",
"lint-x": "yarn prettier --check . && yarn workspaces run eslint .",
"lint": "yarn prettier --check . && yarn workspaces run eslint .",
"lint-fix": "yarn prettier --write . && yarn workspaces run eslint --fix ."
},
"dependencies": {
@ -43,7 +42,6 @@
"husky": "^7.0.1",
"lint-staged": "^13.2.3",
"prettier": "2.3.2",
"turbo": "^1.10.3",
"typescript": "^5.1.3"
},
"lint-staged": {

View file

@ -7,12 +7,11 @@
"parser": "babel-eslint"
},
"devDependencies": {
"@typescript-eslint/parser": "^5.59.2",
"@typescript-eslint/eslint-plugin": "^5.43.0",
"@typescript-eslint/parser": "^5.59.2",
"eslint": "latest",
"eslint-config-next": "latest",
"eslint-config-prettier": "latest",
"eslint-config-turbo": "latest",
"eslint-plugin-react": "latest"
}
}

View file

@ -1,30 +0,0 @@
{
"$schema": "https://turbo.build/schema.json",
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": [".next/**", "!.next/cache/**"]
},
"export": {
"dependsOn": ["build"],
"outputs": ["out/**"]
},
"lint": {},
"dev": {
"cache": false,
"persistent": true
},
"albums": {
"cache": false,
"persistent": true
}
},
"globalEnv": [
"NEXT_PUBLIC_ENTE_ENDPOINT",
"NEXT_PUBLIC_ENTE_PAYMENT_ENDPOINT",
"NEXT_PUBLIC_ENTE_ALBUM_ENDPOINT",
"NEXT_PUBLIC_ENTE_FAMILY_PORTAL_ENDPOINT",
"NODE_ENV",
"SENTRY_AUTH_TOKEN"
]
}

View file

@ -1886,11 +1886,6 @@ dom-helpers@^5.0.1, dom-helpers@^5.2.0, dom-helpers@^5.2.1:
"@babel/runtime" "^7.8.7"
csstype "^3.0.2"
dotenv@16.0.3:
version "16.0.3"
resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz"
integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==
duplexer2@^0.1.2:
version "0.1.4"
resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz"
@ -2043,13 +2038,6 @@ eslint-config-prettier@latest:
resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz"
integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==
eslint-config-turbo@latest:
version "1.10.6"
resolved "https://registry.npmjs.org/eslint-config-turbo/-/eslint-config-turbo-1.10.6.tgz"
integrity sha512-iZ63etePRUdEIDY5MxdUhU2ekV9TDbVdHg0BK00QqVFgQTXUYuJ7rsQj/wUKTsw3jwhbLfaY6H5sknAgYyWZ2g==
dependencies:
eslint-plugin-turbo "1.10.6"
eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.7:
version "0.3.7"
resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz"
@ -2148,13 +2136,6 @@ eslint-plugin-react@^7.31.7, eslint-plugin-react@latest:
semver "^6.3.1"
string.prototype.matchall "^4.0.8"
eslint-plugin-turbo@1.10.6:
version "1.10.6"
resolved "https://registry.npmjs.org/eslint-plugin-turbo/-/eslint-plugin-turbo-1.10.6.tgz"
integrity sha512-jlzfxYaK8hcz1DTk8Glxxi1r0kgdy85191a4CbFOTiiBulmKHMLJgzhsyE9Ong796MA62n91KFpc20BiKjlHwg==
dependencies:
dotenv "16.0.3"
eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
@ -4754,48 +4735,6 @@ tsutils@^3.21.0:
dependencies:
tslib "^1.8.1"
turbo-darwin-64@1.10.3:
version "1.10.3"
resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.10.3.tgz#b04f715530ae3c8b6d1ce86229236a7513a28c8c"
integrity sha512-IIB9IomJGyD3EdpSscm7Ip1xVWtYb7D0x7oH3vad3gjFcjHJzDz9xZ/iw/qItFEW+wGFcLSRPd+1BNnuLM8AsA==
turbo-darwin-arm64@1.10.3:
version "1.10.3"
resolved "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.10.3.tgz"
integrity sha512-SBNmOZU9YEB0eyNIxeeQ+Wi0Ufd+nprEVp41rgUSRXEIpXjsDjyBnKnF+sQQj3+FLb4yyi/yZQckB+55qXWEsw==
turbo-linux-64@1.10.3:
version "1.10.3"
resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.10.3.tgz#d6cbd198e95620e75baa70f1e09f355db6d3e1de"
integrity sha512-kvAisGKE7xHJdyMxZLvg53zvHxjqPK1UVj4757PQqtx9dnjYHSc8epmivE6niPgDHon5YqImzArCjVZJYpIGHQ==
turbo-linux-arm64@1.10.3:
version "1.10.3"
resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.10.3.tgz#53148b79e84d020ece82c8af170a2f1d16a01b5b"
integrity sha512-Qgaqln0IYRgyL0SowJOi+PNxejv1I2xhzXOI+D+z4YHbgSx87ox1IsALYBlK8VRVYY8VCXl+PN12r1ioV09j7A==
turbo-windows-64@1.10.3:
version "1.10.3"
resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.10.3.tgz#a90af7313cbada57296d672515c4957ef86e5905"
integrity sha512-rbH9wManURNN8mBnN/ZdkpUuTvyVVEMiUwFUX4GVE5qmV15iHtZfDLUSGGCP2UFBazHcpNHG1OJzgc55GFFrUw==
turbo-windows-arm64@1.10.3:
version "1.10.3"
resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-1.10.3.tgz#3ed80e34aa5a432b312ccf2f4770c63a72d0b254"
integrity sha512-ThlkqxhcGZX39CaTjsHqJnqVe+WImjX13pmjnpChz6q5HHbeRxaJSFzgrHIOt0sUUVx90W/WrNRyoIt/aafniw==
turbo@^1.10.3:
version "1.10.3"
resolved "https://registry.npmjs.org/turbo/-/turbo-1.10.3.tgz"
integrity sha512-U4gKCWcKgLcCjQd4Pl8KJdfEKumpyWbzRu75A6FCj6Ctea1PIm58W6Ltw1QXKqHrl2pF9e1raAskf/h6dlrPCA==
optionalDependencies:
turbo-darwin-64 "1.10.3"
turbo-darwin-arm64 "1.10.3"
turbo-linux-64 "1.10.3"
turbo-linux-arm64 "1.10.3"
turbo-windows-64 "1.10.3"
turbo-windows-arm64 "1.10.3"
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"