@bensandee/tooling 0.57.3 → 0.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/dist/bin.mjs +203 -105
- package/dist/index.d.mts +1 -0
- package/package.json +6 -6
- package/tooling.schema.json +5 -0
package/README.md
CHANGED
|
@@ -78,6 +78,28 @@ Custom blocks are anchored to the nearest preceding non-blank line. When `repo:s
|
|
|
78
78
|
|
|
79
79
|
To skip a workflow file entirely, add `# @bensandee/tooling:ignore` as the first line — `repo:sync` will leave the file untouched.
|
|
80
80
|
|
|
81
|
+
### pnpm-workspace.yaml
|
|
82
|
+
|
|
83
|
+
`repo:sync` manages `pnpm-workspace.yaml` with a narrow contract — mandated keys, a few seeded-on-creation keys, and everything else passed through verbatim.
|
|
84
|
+
|
|
85
|
+
**Mandated** (drift fails `repo:sync --check`):
|
|
86
|
+
|
|
87
|
+
- `blockExoticSubdeps: true`
|
|
88
|
+
- `minimumReleaseAge` — any non-negative number (`0` is valid)
|
|
89
|
+
|
|
90
|
+
**Seeded on creation only** (free to change or remove afterward):
|
|
91
|
+
|
|
92
|
+
- `minimumReleaseAgeExclude: ["@bensandee/*"]`
|
|
93
|
+
- `packages: ["packages/*"]` (monorepos only)
|
|
94
|
+
|
|
95
|
+
All other keys — `allowBuilds`, custom entries — are preserved verbatim through `repo:sync`. The generator emits the file for single-package repos too, not just monorepos.
|
|
96
|
+
|
|
97
|
+
Opt out entirely with `"pnpmWorkspace": false` in `.tooling.json`; the generator then never inspects or writes the file.
|
|
98
|
+
|
|
99
|
+
### packageManager force-bump
|
|
100
|
+
|
|
101
|
+
`repo:sync` rewrites `package.json#packageManager` when an existing value is `pnpm@<N>.x` with `N < 11`, setting it to the tooling's pinned pnpm version (currently `11.1.1`). This is delivered through `repo:sync` rather than Renovate because the mandated `pnpm-workspace.yaml` keys (`blockExoticSubdeps`) require pnpm 11+. Within-major bumps (`pnpm@11.x → 11.y`) remain Renovate's job; non-pnpm package managers (yarn, npm) are out of scope.
|
|
102
|
+
|
|
81
103
|
### Repository setup
|
|
82
104
|
|
|
83
105
|
| Command | Description |
|
|
@@ -350,6 +372,7 @@ Available override fields:
|
|
|
350
372
|
| `releaseStrategy` | string | Detected from existing config, else monorepo: `"changesets"`, single: `"simple"` |
|
|
351
373
|
| `projectType` | string | Auto-detected from `package.json` deps |
|
|
352
374
|
| `detectPackageTypes` | boolean | `true` |
|
|
375
|
+
| `pnpmWorkspace` | `false` | Set to `false` to opt out of `pnpm-workspace.yaml` management |
|
|
353
376
|
|
|
354
377
|
## Debug logging
|
|
355
378
|
|