Skip to content

Commit f18ca9c

Browse files
authored
build: move larger scripts into tools dir in workspace (#10653)
Having the `scripts` dir re-use all packages from the top-level was getting quite unwieldy. Created new `tools` directory that is part of the workspace. Packages are exported with the `@tools` package namespace.
1 parent ef4b8d9 commit f18ca9c

32 files changed

+442
-256
lines changed

.github/workflows/main.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,9 @@ jobs:
457457
- name: Build Template
458458
run: |
459459
pnpm run script:pack --dest templates/${{ matrix.template }}
460-
pnpm runts scripts/build-template-with-local-pkgs.ts ${{ matrix.template }} $POSTGRES_URL
460+
pnpm run script:build-template-with-local-pkgs ${{ matrix.template }} $POSTGRES_URL
461+
env:
462+
NODE_OPTIONS: --max-old-space-size=8096
461463

462464
tests-type-generation:
463465
runs-on: ubuntu-24.04

eslint.config.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ export const rootEslintConfig = [
6868
'perfectionist/sort-objects': 'off',
6969
},
7070
},
71+
{
72+
files: ['tools/**/*.ts'],
73+
rules: {
74+
'no-console': 'off',
75+
'perfectionist/sort-object-types': 'off',
76+
'perfectionist/sort-objects': 'off',
77+
},
78+
},
7179
]
7280

7381
export default [

package.json

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"build:live-preview-react": "turbo build --filter \"@payloadcms/live-preview-react\"",
2929
"build:live-preview-vue": "turbo build --filter \"@payloadcms/live-preview-vue\"",
3030
"build:next": "turbo build --filter \"@payloadcms/next\"",
31+
"build:packages": "turbo build --filter=./packages/*",
3132
"build:payload": "turbo build --filter payload",
3233
"build:payload-cloud": "turbo build --filter \"@payloadcms/payload-cloud\"",
3334
"build:plugin-cloud-storage": "turbo build --filter \"@payloadcms/plugin-cloud-storage\"",
@@ -40,6 +41,7 @@
4041
"build:plugin-seo": "turbo build --filter \"@payloadcms/plugin-seo\"",
4142
"build:plugin-stripe": "turbo build --filter \"@payloadcms/plugin-stripe\"",
4243
"build:plugins": "turbo build --filter \"@payloadcms/plugin-*\"",
44+
"build:releaser": "turbo build --filter \"@tools/releaser\"",
4345
"build:richtext-lexical": "turbo build --filter \"@payloadcms/richtext-lexical\"",
4446
"build:richtext-slate": "turbo build --filter \"@payloadcms/richtext-slate\"",
4547
"build:storage-azure": "turbo build --filter \"@payloadcms/storage-azure\"",
@@ -48,6 +50,7 @@
4850
"build:storage-uploadthing": "turbo build --filter \"@payloadcms/storage-uploadthing\"",
4951
"build:storage-vercel-blob": "turbo build --filter \"@payloadcms/storage-vercel-blob\"",
5052
"build:tests": "pnpm --filter payload-test-suite run typecheck",
53+
"build:tools": "turbo build --filter=./tools/*",
5154
"build:translations": "turbo build --filter \"@payloadcms/translations\"",
5255
"build:ui": "turbo build --filter \"@payloadcms/ui\"",
5356
"clean": "turbo clean",
@@ -77,12 +80,13 @@
7780
"prepare-run-test-against-prod": "pnpm bf && rm -rf test/packed && rm -rf test/node_modules && rm -rf app && rm -f test/pnpm-lock.yaml && pnpm run script:pack --all --no-build --dest test/packed && pnpm runts test/setupProd.ts && cd test && pnpm i --ignore-workspace && cd ..",
7881
"prepare-run-test-against-prod:ci": "rm -rf test/node_modules && rm -rf app && rm -f test/pnpm-lock.yaml && pnpm run script:pack --all --no-build --dest test/packed && pnpm runts test/setupProd.ts && cd test && pnpm i --ignore-workspace && cd ..",
7982
"reinstall": "pnpm clean:all && pnpm install",
80-
"release": "pnpm runts ./scripts/release.ts --tag latest",
83+
"release": "pnpm --filter releaser release --tag latest",
8184
"release:beta": "pnpm runts ./scripts/release.ts --bump prerelease --tag beta",
8285
"runts": "cross-env NODE_OPTIONS=--no-deprecation node --no-deprecation --import @swc-node/register/esm-register",
83-
"script:gen-templates": "pnpm runts ./scripts/generate-template-variations.ts",
84-
"script:list-published": "pnpm runts scripts/lib/getPackageRegistryVersions.ts",
85-
"script:pack": "pnpm runts scripts/pack-all-to-dest.ts",
86+
"script:build-template-with-local-pkgs": "pnpm --filter scripts build-template-with-local-pkgs",
87+
"script:gen-templates": "pnpm --filter scripts gen-templates",
88+
"script:list-published": "pnpm --filter releaser list-published",
89+
"script:pack": "pnpm --filter scripts pack-all-to-dest",
8690
"pretest": "pnpm build",
8791
"test": "pnpm test:int && pnpm test:components && pnpm test:e2e",
8892
"test:components": "cross-env NODE_OPTIONS=\" --no-deprecation\" jest --config=jest.components.config.js",
@@ -127,13 +131,10 @@
127131
"@types/jest": "29.5.12",
128132
"@types/minimist": "1.2.5",
129133
"@types/node": "22.5.4",
130-
"@types/prompts": "^2.4.5",
131134
"@types/react": "19.0.1",
132135
"@types/react-dom": "19.0.1",
133-
"@types/semver": "^7.5.3",
134136
"@types/shelljs": "0.8.15",
135137
"chalk": "^4.1.2",
136-
"changelogen": "^0.5.5",
137138
"comment-json": "^4.2.3",
138139
"copyfiles": "2.4.1",
139140
"create-payload-app": "workspace:*",
@@ -157,11 +158,9 @@
157158
"playwright": "1.49.1",
158159
"playwright-core": "1.49.1",
159160
"prettier": "3.3.3",
160-
"prompts": "2.4.2",
161161
"react": "19.0.0",
162162
"react-dom": "19.0.0",
163163
"rimraf": "6.0.1",
164-
"semver": "^7.5.4",
165164
"sharp": "0.32.6",
166165
"shelljs": "0.8.5",
167166
"slash": "3.0.0",

pnpm-lock.yaml

Lines changed: 91 additions & 28 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pnpm-workspace.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
packages:
22
# all packages in direct subdirs of packages/
33
- 'packages/*'
4+
- 'tools/*'
45
- 'test'
56
# exclude packages that are inside test directories
67
# - '!**/test/**'

0 commit comments

Comments
 (0)