@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.
Files changed (2) hide show
  1. package/README.md +47 -18
  2. 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.12`). They are **not**
127
- forwarded to other minor versions. If `6.13` and `6.14` also need the fix,
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
- | Goal | Version specifier | Example |
138
- | ------------------------------- | ----------------------------- | ------------------------------------------- |
139
- | Track latest within your major | `^6` | Always resolves to the newest `6.x` |
140
- | Stay pinned to a specific minor | `~6.12` or `6.12.x` dist-tag | Only receive patch-level updates for `6.12` |
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 merged to `main` needs to be applied to an older Major.Minor version
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
- 1. Merge the fix PR to `main` as usual (this releases the fix on the `@latest` release channel)
148
- 2. Go to **Actions Release Backport Run workflow**
149
- 3. Enter the **PR number** of the fix you'd like to backport. Enter the **target major.minor** (e.g. `6.12`).
150
- 4. The workflow will:
151
- - Create `maintenance/6.12.x` from the latest `v6.12.*` tag (if it doesn't exist yet)
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 on the older version install the patch via:
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.12.x
188
+ npm install @narmi/design_system@release-6.15.x
160
189
  ```
161
190
 
162
191
  ### Commit Guidelines
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@narmi/design_system",
3
- "version": "6.22.0",
3
+ "version": "6.22.2",
4
4
  "description": "⚡ A consistent look-and-feel and extensible interface for Narmi experiences 🔥",
5
5
  "main": "dist/index.js",
6
6
  "style": "dist/style.css",