@narmi/design_system 6.22.0 → 6.22.2
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 +47 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -123,8 +123,8 @@ Branches containing breaking change commits should follow the naming convention
|
|
|
123
123
|
always contains every fix.
|
|
124
124
|
- Older minor versions receive patches **only on demand** — not every published
|
|
125
125
|
version is maintained.
|
|
126
|
-
- Backports target a single Major.Minor (e.g. `6.
|
|
127
|
-
forwarded to other minor versions. If `6.
|
|
126
|
+
- Backports target a single Major.Minor (e.g. `6.15`). They are **not**
|
|
127
|
+
forwarded to other minor versions. If `6.16` and `6.18` also need the fix,
|
|
128
128
|
each must be backported separately.
|
|
129
129
|
- Fixes always land on `main` first and are selectively applied to older
|
|
130
130
|
versions — never the reverse.
|
|
@@ -134,29 +134,58 @@ Branches containing breaking change commits should follow the naming convention
|
|
|
134
134
|
|
|
135
135
|
**For consumers:**
|
|
136
136
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
Most consumers should pin a semver range in `package.json` and let `npm install`
|
|
138
|
+
resolve to the newest patch on that line. The `release-*` dist-tags are a
|
|
139
|
+
convenience for installing the current patch of a line by name.
|
|
140
|
+
|
|
141
|
+
| Goal | How | Example |
|
|
142
|
+
| ------------------------------------------- | ------------------------------ | -------------------------------------------------------- |
|
|
143
|
+
| Track latest within your major | Semver range in `package.json` | `"@narmi/design_system": "^6"` — newest `6.x.x` |
|
|
144
|
+
| Stay pinned to a specific minor | Semver range in `package.json` | `"@narmi/design_system": "~6.15.0"` — patches for `6.15` |
|
|
145
|
+
| Install the current patch of a line by name | npm dist-tag | `npm install @narmi/design_system@release-6.15.x` |
|
|
141
146
|
|
|
142
147
|
#### Releasing backports (maintainers)
|
|
143
148
|
|
|
144
|
-
When a fix
|
|
145
|
-
still in production
|
|
149
|
+
When a fix that lands on `main` needs to be applied to older Major.Minor lines
|
|
150
|
+
still in production, backports are triggered by PR labels.
|
|
151
|
+
|
|
152
|
+
**Primary flow: label the PR before merging.**
|
|
153
|
+
|
|
154
|
+
1. On the fix PR against `main`, add a label of the form
|
|
155
|
+
`backport-<MAJOR>.<MINOR>` for every line that needs the fix
|
|
156
|
+
(e.g. `backport-6.15`, `backport-6.16`). Multiple labels are supported.
|
|
157
|
+
2. Merge the PR. The normal release runs against `main` and publishes on
|
|
158
|
+
`@latest`. In parallel, the "Release Backport (on merge)" workflow reads
|
|
159
|
+
the labels and, for each one:
|
|
160
|
+
- Ensures the maintenance branch `<MAJOR>.<MINOR>.x` exists (creates it
|
|
161
|
+
from the highest existing `v<MAJOR>.<MINOR>.z` tag if not).
|
|
162
|
+
- Cherry-picks the PR's commits onto the branch, preserving Conventional
|
|
163
|
+
Commit messages so `semantic-release` derives the correct patch bump.
|
|
164
|
+
- Pushes; the resulting push triggers a release on the maintenance
|
|
165
|
+
branch and publishes a new patch on the `release-<MAJOR>.<MINOR>.x`
|
|
166
|
+
npm dist-tag.
|
|
167
|
+
|
|
168
|
+
**Fallback: manual dispatch.**
|
|
169
|
+
|
|
170
|
+
If a label was forgotten, or a port needs to be re-run after a conflict was
|
|
171
|
+
resolved:
|
|
172
|
+
|
|
173
|
+
1. Go to **Actions → Release Backport → Run workflow**.
|
|
174
|
+
2. Enter the merged **PR number** and the **target Major.Minor** (e.g. `6.15`).
|
|
175
|
+
3. The workflow does exactly what the label-driven path would have done.
|
|
146
176
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
- Cherry-pick the fix onto that branch
|
|
153
|
-
- Trigger an automated release to the `6.12.x` npm dist-tag
|
|
154
|
-
5. If the cherry-pick has conflicts, a draft PR is opened for manual resolution
|
|
177
|
+
**Conflicts.** If a cherry-pick can't apply cleanly, the workflow opens a
|
|
178
|
+
draft PR against the maintenance branch with resume instructions. Resolve
|
|
179
|
+
the conflicts locally — do not squash-merge and do not re-word the
|
|
180
|
+
cherry-picked commit messages, because `semantic-release` derives the next
|
|
181
|
+
patch version from those messages.
|
|
155
182
|
|
|
156
|
-
Consumers
|
|
183
|
+
Consumers pinned to that Major.Minor via a semver range (e.g. `"~6.15.0"`)
|
|
184
|
+
will pick up the patch automatically on the next install. To install the
|
|
185
|
+
current patch of that line explicitly by tag:
|
|
157
186
|
|
|
158
187
|
```
|
|
159
|
-
npm install @narmi/design_system@6.
|
|
188
|
+
npm install @narmi/design_system@release-6.15.x
|
|
160
189
|
```
|
|
161
190
|
|
|
162
191
|
### Commit Guidelines
|