Files
pnpm/package.json
T
Efe Baran Durmaz b04c656cc2 perf(ci): split, balance and cache CI work (#15300)
Split TypeScript tests into three chunks per Node.js version on Linux and
five on Windows, balanced by recorded Jest durations, and start the
Windows chunks while their pnpr fixtures build. Skip Jest coverage in CI,
which nothing reads. Keep Rust sources from widening the TypeScript test
scope.

Cache Rust compiler output with sccache on Linux and macOS, because
rust-cache prunes every dependency of this workspace, and run Rust
coverage on 8 vCPUs with its own compiler cache. Save at most one cache
entry per scope and day.

Build the pnpr fixtures without fat LTO, at opt-level 1, on every push to
main and on 16 vCPUs for Windows. Avoid obsolete PR work, full-history
benchmark build checkouts and test-only network backoff. Keep all
platforms, Node.js versions, merge-queue validation, production retry
defaults, and the release and benchmark build profiles.
2026-09-23 12:15:08 +02:00

97 lines
5.0 KiB
JSON

{
"name": "monorepo-root",
"private": true,
"scripts": {
"bump": "node pnpm11/__utils__/scripts/src/bump.ts",
"prepare": "husky",
"pretest": "pn compile-only && pn prepare-fixtures",
"prepare-fixtures": "pn --dir=pnpm11/__fixtures__ prepareFixtures",
"lint": "pn spellcheck && pn lint:meta && pn check:versioning && pn lint:ts",
"spellcheck": "cspell \"**/*.ts\" \"**/README.md\" \".changeset/*.md\" --no-progress",
"lint:ts": "eslint \"**/src/**/*.ts\" \"**/test/**/*.ts\" --cache --concurrency auto",
"test-all": "pn pretest && pn lint && pn test-pkgs-all",
"ci:test-all": "pn prepare-fixtures && pn test-pkgs-all-report-summary",
"remove-temp-dir": "shx rm -rf ../pnpm_tmp",
"test-pkgs-all": "pn remove-temp-dir && pn --no-sort --workspace-concurrency=2 -r .test",
"test-pkgs-all-report-summary": "pn remove-temp-dir && pn --no-sort --workspace-concurrency=2 -r --report-summary .test",
"test-branch": "pn pretest && pn lint && git remote set-branches --add origin main && git fetch origin main && pn test-pkgs-branch",
"ci:test-branch": "pn prepare-fixtures && pn test-pkgs-branch",
"test-pkgs-branch": "pn remove-temp-dir && pn --workspace-concurrency=2 --filter=...[origin/main] --no-sort --if-present .test",
"compile-only": "tsgo --build pnpm11/workspace/workspace-manifest-reader pnpm11/workspace/projects-reader && pnx node@runtime:26.10.0 pnpm11/__utils__/scripts/src/typecheck-only.ts && pn -F=pnpm compile",
"compile": "pn compile-only && pn update-manifests",
"build:pnpm": "cargo build --release --bin pnpm",
"ready:rust": "just ready",
"test:rust": "node pnpm/scripts/run-rust-tests.mjs",
"test:rust-affected": "node pnpm/scripts/test-affected.mjs",
"test:rust-smoke": "node pnpm/scripts/run-rust-tests.mjs --profile smoke",
"check:rust": "just check",
"lint:rust": "just lint",
"fix:rust": "just fix",
"pre-push:rust": "bash pnpm/scripts/pre-push-rust.sh",
"make-lcov": "shx mkdir -p coverage && lcov-result-merger 'pnpm11/**/coverage/lcov.info' 'coverage/lcov.info'",
"update-manifests": "pn meta-updater && pn install",
"meta-updater": "pn --filter=@pnpm-private/updater compile && pn exec meta-updater",
"lint:meta": "pn meta-updater --test",
"check:versioning": "pnpm change check",
"copy-artifacts": "node pnpm11/__utils__/scripts/src/copy-artifacts.ts",
"make-release-description": "pn --filter=@pnpm/get-release-text run write-release-text",
"check:npm-signing-keys": "node pnpm11/deps/security/signatures/scripts/update-npm-signing-keys.mjs",
"update:npm-signing-keys": "node pnpm11/deps/security/signatures/scripts/update-npm-signing-keys.mjs --update",
"check:node-release-keys": "node pnpm11/crypto/shasums-file/scripts/update-node-release-keys.mjs",
"update:node-release-keys": "node pnpm11/crypto/shasums-file/scripts/update-node-release-keys.mjs --update",
"release": "pn --filter=@pnpm/exe run build-artifacts && pn --filter=@pnpm/exe publish --tag=next-11 --access=public --provenance && pn publish --filter=!pnpm --filter=!@pnpm/exe --access=public --provenance && pn publish --filter=pnpm --tag=next-11 --access=public --provenance",
"dev-setup": "pn -C=./pnpm11/pnpm/dev link -g",
"ci:compile": "pn compile-only",
"ci:lint": "pn lint",
"ci:test-chunk": "node .github/scripts/run-ts-tests-chunk.mjs",
"ci:rust-test": "just test-pacquet",
"ci:pnpr-test": "just test-pnpr",
"ci:rust-clippy": "cargo clippy --locked --workspace --all-targets -- -D warnings",
"ci:rust-doc": "cargo doc --no-deps --workspace --document-private-items",
"ci:rust-deny": "cargo deny check",
"ci:rust-fmt": "node pnpm/scripts/rustfmt.mjs --all -- --check",
"ci:toml-fmt": "taplo format --check",
"ci:rust-dylint": "cargo dylint --all -- --all-targets --workspace",
"ci:build-pnpr": "cargo build --locked --release -p pnpr --bin pnpr -p pnpr-fixtures --bin pnpr-prepare"
},
"devDependencies": {
"@commitlint/cli": "catalog:",
"@commitlint/config-conventional": "catalog:",
"@commitlint/prompt-cli": "catalog:",
"@pnpm/eslint-config": "workspace:*",
"@pnpm/jest-config": "workspace:*",
"@pnpm/meta-updater": "catalog:",
"@pnpm/tgz-fixtures": "catalog:",
"@pnpm/tsconfig": "workspace:*",
"@types/jest": "catalog:",
"@types/node": "catalog:",
"@types/picomatch": "catalog:",
"@typescript/native-preview": "catalog:",
"c8": "catalog:",
"cross-env": "catalog:",
"cspell": "catalog:",
"eslint": "catalog:",
"eslint-plugin-regexp": "catalog:",
"husky": "catalog:",
"jest": "catalog:",
"keyv": "catalog:",
"lcov-result-merger": "catalog:",
"rimraf": "catalog:",
"shx": "catalog:",
"typescript": "catalog:"
},
"packageManager": "pnpm@12.6.0",
"devEngines": {
"packageManager": {
"name": "pnpm",
"version": "12.6.0",
"onFail": "download"
},
"runtime": {
"name": "node",
"version": "26.10.0",
"onFail": "download"
}
}
}