ci: use turbo for build

This commit is contained in:
Elliot DeNolf
2024-02-29 10:38:07 -05:00
parent e78214c38d
commit 31d0b8acbf
22 changed files with 47 additions and 25 deletions

View File

@@ -4,7 +4,7 @@ on:
pull_request:
types: [ opened, reopened, synchronize ]
push:
branches: [ 'main' ]
branches: ['main']
jobs:
changes:
@@ -71,7 +71,7 @@ jobs:
${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
- run: pnpm install
- run: pnpm run build
- run: pnpm run build:all
- name: Cache build
uses: actions/cache@v3

1
.gitignore vendored
View File

@@ -10,6 +10,7 @@ test-results
/migrations
/media
.localstack
.turbo
# Created by https://www.toptal.com/developers/gitignore/api/node,macos,windows,webstorm,sublimetext,visualstudiocode
# Edit at https://www.toptal.com/developers/gitignore?templates=node,macos,windows,webstorm,sublimetext,visualstudiocode

View File

@@ -6,12 +6,33 @@
"packages/*"
],
"scripts": {
"build": "pnpm --filter payload run build",
"build:next": "next build",
"build": "pnpm run build:payload",
"build:all": "turbo build",
"build:create-payload-app": "turbo build --filter create-payload-app",
"build:db-mongodb": "turbo build --filter db-mongodb",
"build:db-postgres": "turbo build --filter db-postgres",
"build:eslint-config-payload": "turbo build --filter eslint-config-payload",
"build:graphql": "turbo build --filter graphql",
"build:live-preview": "turbo build --filter live-preview",
"build:live-preview-react": "turbo build --filter live-preview-react",
"build:next": "turbo build --filter next",
"build:payload": "turbo build --filter payload",
"build:plugin-cloud": "turbo build --filter plugin-cloud",
"build:plugin-cloud-storage": "turbo build --filter plugin-cloud-storage",
"build:plugin-form-builder": "turbo build --filter plugin-form-builder",
"build:plugin-nested-docs": "turbo build --filter plugin-nested-docs",
"build:plugin-redirects": "turbo build --filter plugin-redirects",
"build:plugin-search": "turbo build --filter plugin-search",
"build:plugin-sentry": "turbo build --filter plugin-sentry",
"build:plugin-seo": "turbo build --filter plugin-seo",
"build:plugin-stripe": "turbo build --filter plugin-stripe",
"build:richtext-lexical": "turbo build --filter richtext-lexical",
"build:richtext-slate": "turbo build --filter richtext-slate",
"build:translations": "turbo build --filter translations",
"build:ui": "turbo build --filter ui",
"clean": "rimraf dist && rimraf packages/payload/dist",
"clean:cache": "rimraf node_modules/.cache && rimraf packages/payload/node_modules/.cache",
"clean:unix": "find . \\( -type d \\( -name node_modules -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} +",
"clean:all": "find . \\( -type d \\( -name node_modules -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} +",
"dev": "cross-env node ./test/dev.js",
"dev:generate-graphql-schema": "ts-node -T ./test/generateGraphQLSchema.ts",
"dev:generate-types": "ts-node -T ./test/generateTypes.ts",
@@ -24,7 +45,7 @@
"lint-staged": "lint-staged",
"prepare": "husky install",
"pretest": "pnpm build",
"reinstall": "pnpm clean:unix && pnpm install",
"reinstall": "pnpm clean:all && pnpm install",
"script:list-packages": "tsx ./scripts/list-packages.ts",
"script:release": "tsx ./scripts/release.ts",
"test": "pnpm test:int && pnpm test:components && pnpm test:e2e",

View File

@@ -17,7 +17,7 @@
"build:swc": "swc ./src -d ./dist --config-file .swcrc",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"dependencies": {
"bson-objectid": "2.0.4",

View File

@@ -17,7 +17,7 @@
"build:swc": "swc ./src -d ./dist --config-file .swcrc",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"dependencies": {
"@libsql/client": "^0.5.2",

View File

@@ -14,7 +14,7 @@
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"dependencies": {
"@payloadcms/live-preview": "workspace:^0.x"

View File

@@ -14,7 +14,7 @@
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"devDependencies": {
"@payloadcms/eslint-config": "workspace:*",

View File

@@ -15,7 +15,7 @@
"copyfiles:api": "copyfiles -u 1 \"src/app/(payload)/**\" dist/template",
"fix": "eslint \"src/**/*.{ts,tsx}\" --fix",
"lint": "eslint \"src/**/*.{ts,tsx}\"",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"exports": {
"./*": {

View File

@@ -32,7 +32,7 @@
"dev:postgres": "cross-env PAYLOAD_DATABASE=postgres nodemon",
"fix": "eslint \"src/**/*.ts\" --fix",
"lint": "eslint \"src/**/*.ts\"",
"prepublishOnly": "pnpm clean && pnpm build",
"prepublishOnly": "pnpm clean && pnpm turbo build",
"pretest": "pnpm build",
"release:beta": "release-it pre --preReleaseId=beta --npm.tag=beta --config .release-it.pre.js",
"release:major": "release-it major",

View File

@@ -10,7 +10,7 @@
"build:swc": "swc ./src -d ./dist --config-file .swcrc",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm build",
"prepublishOnly": "pnpm clean && pnpm turbo build",
"test": "echo \"No tests available.\""
},
"peerDependencies": {

View File

@@ -10,7 +10,7 @@
"build:swc": "swc ./src -d ./dist --config-file .swcrc",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo} && rimraf dev/yarn.lock",
"prepublishOnly": "pnpm clean && pnpm build && pnpm test",
"prepublishOnly": "pnpm clean && pnpm turbo build && pnpm test",
"test": "jest"
},
"peerDependencies": {

View File

@@ -13,7 +13,7 @@
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"build": "pnpm build:swc && pnpm build:types",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm build",
"prepublishOnly": "pnpm clean && pnpm turbo build",
"test": "echo \"No tests available.\""
},
"peerDependencies": {

View File

@@ -14,7 +14,7 @@
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"devDependencies": {
"@payloadcms/eslint-config": "workspace:*",

View File

@@ -12,7 +12,7 @@
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"keywords": [
"payload",

View File

@@ -11,7 +11,7 @@
"build:swc": "swc ./src -d ./dist --config-file .swcrc",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm build",
"prepublishOnly": "pnpm clean && pnpm turbo build",
"test": "echo \"Error: no tests specified\""
},
"keywords": [

View File

@@ -11,7 +11,7 @@
"build:swc": "swc ./src -d ./dist --config-file .swcrc",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"keywords": [
"payload",

View File

@@ -11,7 +11,7 @@
"lint": "eslint src",
"lint:fix": "eslint --fix --ext .ts,.tsx src",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"keywords": [
"payload",

View File

@@ -15,7 +15,7 @@
"build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"dependencies": {
"@faceless-ui/modal": "2.0.1",

View File

@@ -14,7 +14,7 @@
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"dependencies": {
"@faceless-ui/modal": "2.0.1",

View File

@@ -7,7 +7,7 @@
"writeFiles": "npx ts-node ./writeTranslationFiles.ts",
"build": "pnpm writeFiles && tsc",
"clean": "rimraf {dist,*.tsbuildinfo}",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"publishConfig": {
"access": "public"

View File

@@ -11,7 +11,7 @@
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
"fix": "eslint \"src/**/*.{ts,tsx}\" --fix",
"lint": "eslint \"src/**/*.{ts,tsx}\"",
"prepublishOnly": "pnpm clean && pnpm build"
"prepublishOnly": "pnpm clean && pnpm turbo build"
},
"exports": {
".": "./src/exports/index.ts",

View File

@@ -5,7 +5,7 @@
"dependsOn": ["^clean"]
},
"build": {
"cache": false,
"cache": true,
"dependsOn": ["^build"],
"outputs": ["./dist/**"]
},