Skip to content

Commit 2211248

Browse files
committed
Updated shipping notes in README
no ref The monorepo by default will ship all packages out of convenience. Sometimes this is a bit heavy-handed, so there's notes added on how to limit `nx` to a reduced scope.
1 parent 184a59d commit 2211248

1 file changed

Lines changed: 15 additions & 18 deletions

File tree

README.md

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,52 +2,49 @@
22

33
## Install
44

5-
65
## Usage
76

8-
97
## Develop
108

119
This is a mono repository, managed with [Nx](https://nx.dev).
1210

1311
1. `git clone` this repo & `cd` into it as usual
1412
2. run `pnpm setup` from the top-level:
15-
- installs all external dependencies
16-
- links all internal dependencies
13+
- installs all external dependencies
14+
- links all internal dependencies
1715

1816
To add a new package to the repo:
19-
- install [slimer](https://github.com/TryGhost/slimer)
20-
- run `slimer new <package name>`
2117

18+
- install [slimer](https://github.com/TryGhost/slimer)
19+
- run `slimer new <package name>`
2220

2321
## Run
2422

2523
- `pnpm dev`
2624

27-
2825
## Test
2926

3027
- `pnpm lint` runs `oxlint` across all packages
3128
- `pnpm format` formats `js/ts/json/md` files with `oxfmt`
3229
- `pnpm format:check` checks formatting without writing
3330
- `pnpm test` runs tests (most packages also run lint in `posttest`)
3431

35-
3632
## Publish
3733

3834
1. run one of the release commands in the top-level `framework` directory:
39-
- `pnpm ship:patch`
40-
- `pnpm ship:minor`
41-
- `pnpm ship:major`
42-
- for initial Nx bootstrap in long-unreleased repos: `pnpm ship:first-release`
35+
- `pnpm ship:patch`
36+
- `pnpm ship:minor`
37+
- `pnpm ship:major`
38+
- for initial Nx bootstrap in long-unreleased repos: `pnpm ship:first-release`
39+
- by default these bump **every** package in `packages/*` to the same level. To scope a release to specific packages, append `--projects=` with comma-separated directory names (not npm names), e.g. `pnpm ship:minor --projects=api-framework,domain-events`
40+
- append `--dry-run` to preview which packages would be bumped without committing
4341
2. this runs tests, versions packages, and creates/pushes release commit + tags
44-
- creates the version commit and pushes tags to `main`
42+
- creates the version commit and pushes tags to `main`
4543
3. CI automatically publishes packages via `.github/workflows/publish.yml`:
46-
- authenticates to npm via [Trusted Publishing](https://docs.npmjs.com/trusted-publishers) (OIDC, no long-lived tokens)
47-
- checks each `packages/*` package version against npm
48-
- runs `pnpm publish` (via `nx release publish`) only for versions that are not already published, with provenance attestations enabled
49-
44+
- authenticates to npm via [Trusted Publishing](https://docs.npmjs.com/trusted-publishers) (OIDC, no long-lived tokens)
45+
- checks each `packages/*` package version against npm
46+
- runs `pnpm publish` (via `nx release publish`) only for versions that are not already published, with provenance attestations enabled
5047

51-
# Copyright & License
48+
# Copyright & License
5249

5350
Copyright (c) 2013-2026 Ghost Foundation - Released under the [MIT license](LICENSE).

0 commit comments

Comments
 (0)