feat: add turbo for parallel builds

This commit is contained in:
Nick the Sick 2024-07-03 18:02:34 +02:00
parent 05271c98fe
commit 780bff84ba
No known key found for this signature in database
GPG Key ID: F575992F156E5BCC
5 changed files with 359 additions and 242 deletions

View File

@ -7,6 +7,8 @@ on:
# manual trigger for other branches # manual trigger for other branches
workflow_dispatch: workflow_dispatch:
permissions:
id-token: write
concurrency: concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}

3
.gitignore vendored
View File

@ -17,6 +17,9 @@ yarn-error.log*
# parcel-bundler cache (https://parceljs.org/) # parcel-bundler cache (https://parceljs.org/)
.cache .cache
# Turbo cache
.turbo
.rpt2_cache .rpt2_cache
.rts2_cache .rts2_cache
.rts2_cache_cjs .rts2_cache_cjs

562
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,6 @@
{ {
"private": true, "private": true,
"packageManager": "npm@10.5.0",
"workspaces": [ "workspaces": [
"demos", "demos",
"packages/*" "packages/*"
@ -18,16 +19,17 @@
"test:open": "cypress open --project tests", "test:open": "cypress open --project tests",
"test:run": "cypress run --project tests", "test:run": "cypress run --project tests",
"test": "npm run build:pm && npm run test:run", "test": "npm run build:pm && npm run test:run",
"build": "npm run build --workspace packages", "build": "turbo run build",
"build:pm": "npm run build --workspace packages/pm", "build:pm": "turbo run build --filter=@tiptap/pm",
"build:demos": "npm run build:demos --workspace demos", "build:demos": "npm run build:demos --workspace demos",
"build:ci": "npm run build", "build:ci": "turbo run build",
"publish": "npm run build && npm publish --workspace packages --provenance --tag latest --access public", "publish": "turbo run build && npm publish --workspace packages --provenance --tag latest --access public",
"publish:pre": "npm run build && npm publish --workspace packages --provenance --tag next --access public", "publish:pre": "turbo run build && npm publish --workspace packages --provenance --tag next --access public",
"clean:packages": "rm -rf ./packages/*/dist && rm -rf ./packages/pm/*/dist", "clean:packages": "rm -rf ./packages/*/dist && rm -rf ./packages/pm/*/dist",
"clean:packs": "rm -rf ./packages/*/*.tgz", "clean:packs": "rm -rf ./packages/*/*.tgz",
"reset": "npm run clean:packages && npm run clean:packs && rm -rf ./**/.cache && rm -rf ./**/node_modules && rm -rf ./package-lock.json && npm install", "reset": "npm run clean:packages && npm run clean:packs && rm -rf ./**/.cache && rm -rf ./**/node_modules && rm -rf ./package-lock.json && npm install",
"prepare": "husky install" "prepare": "husky install",
"turbo": "turbo"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.24.7", "@babel/core": "^7.24.7",
@ -42,29 +44,30 @@
"@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-babel": "^6.0.4",
"@rollup/plugin-commonjs": "^26.0.1", "@rollup/plugin-commonjs": "^26.0.1",
"@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-node-resolve": "^15.2.3",
"@types/react-dom": "^18.3.0",
"@types/react": "^18.3.3", "@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/eslint-plugin": "^5.62.0",
"@typescript-eslint/parser": "^5.62.0", "@typescript-eslint/parser": "^5.62.0",
"babel-loader": "^9.1.3", "babel-loader": "^9.1.3",
"cypress": "^10.8.0", "cypress": "^10.8.0",
"cz-conventional-changelog": "^3.3.0", "cz-conventional-changelog": "^3.3.0",
"eslint": "^8.57.0",
"eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-cypress": "^2.15.2", "eslint-plugin-cypress": "^2.15.2",
"eslint-plugin-html": "^6.2.0", "eslint-plugin-html": "^6.2.0",
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-simple-import-sort": "^7.0.0", "eslint-plugin-simple-import-sort": "^7.0.0",
"eslint-plugin-vue": "^9.26.0", "eslint-plugin-vue": "^9.26.0",
"eslint": "^8.57.0",
"husky": "^8.0.3", "husky": "^8.0.3",
"lint-staged": "^13.3.0", "lint-staged": "^13.3.0",
"minimist": "^1.2.8", "minimist": "^1.2.8",
"rollup": "^4.18.0",
"rollup-plugin-auto-external": "^2.0.0", "rollup-plugin-auto-external": "^2.0.0",
"rollup-plugin-sourcemaps": "^0.6.3", "rollup-plugin-sourcemaps": "^0.6.3",
"rollup-plugin-typescript2": "^0.36.0", "rollup-plugin-typescript2": "^0.36.0",
"rollup": "^4.18.0",
"ts-loader": "9.3.1", "ts-loader": "9.3.1",
"tsup": "^8.1.0", "tsup": "^8.1.0",
"turbo": "2.0.6",
"typescript": "^5.4.5", "typescript": "^5.4.5",
"webpack": "^5.91.0" "webpack": "^5.91.0"
}, },

13
turbo.json Normal file
View File

@ -0,0 +1,13 @@
{
"$schema": "https://turbo.build/schema.json",
"tasks": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**"]
},
"dev": {
"persistent": true,
"cache": false
}
}
}