spectrum-cli 6.0.0 → 6.0.1
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/CHANGELOG.md +6 -0
- package/README.md +3 -0
- package/package.json +1 -1
- package/src/changelog/open-release.js +20 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,12 @@ This is the changelog of the `spectrum-cli` npm package. Its version comes from
|
|
|
9
9
|
`package.json`; the release commands use Git tags and `CHANGELOG.md` in the
|
|
10
10
|
**target project** and do not update that project's `package.json`.
|
|
11
11
|
|
|
12
|
+
## 🚀 [6.0.1] - 2026-10-29
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- `release start -n` больше не выполняет проверку единственного открытого релиза при чтении локального CHANGELOG.md. Команда дополняет верхний релиз и сохраняет остальные разделы без проверки их количества, порядка и исторических заголовков. Обычный запуск сохраняет строгий preflight.
|
|
17
|
+
|
|
12
18
|
## 🚀 [6.0.0] - 2026-10-29
|
|
13
19
|
|
|
14
20
|
### Breaking change
|
package/README.md
CHANGED
|
@@ -97,6 +97,9 @@ preflight и проверку обновлений CLI, затем запуск
|
|
|
97
97
|
Прежний короткий флаг `chart start -n` теперь означает `--no-verify`.
|
|
98
98
|
Release/hotfix используют локальные теги и сохранённые refs `origin/*`
|
|
99
99
|
для определения базовой версии, без preflight fetch и сверки с сервером.
|
|
100
|
+
`release start -n` дополняет верхний версионный раздел, если он новее локальной
|
|
101
|
+
stable-версии. Число и порядок более старых разделов не проверяются;
|
|
102
|
+
их содержимое сохраняется без пересборки.
|
|
100
103
|
|
|
101
104
|
```bash
|
|
102
105
|
spectrum release start -n
|
package/package.json
CHANGED
|
@@ -42,7 +42,26 @@ function requireReleaseState(context) {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
function readLocalReleaseState(context) {
|
|
45
|
-
const
|
|
45
|
+
const text = stripLegacyUnreleasedBlock(fs.readFileSync(CHANGELOG_FILE, 'utf8'));
|
|
46
|
+
const heading = /^##[ \t]+(?:(?:🚀|🩹)[ \t]*)?\[(\d+\.\d+\.\d+)\][^\r\n]*/m.exec(text);
|
|
47
|
+
let tailStart = heading?.index ?? text.length;
|
|
48
|
+
let open = null;
|
|
49
|
+
if (heading && compareVersions(heading[1], context.stableVersion) > 0) {
|
|
50
|
+
const afterHeading = heading.index + heading[0].length;
|
|
51
|
+
const nextHeading = /^## /m.exec(text.slice(afterHeading));
|
|
52
|
+
tailStart = nextHeading ? afterHeading + nextHeading.index : text.length;
|
|
53
|
+
// Only the block we will amend needs parsing. The rest is opaque history:
|
|
54
|
+
// do not validate pending-version counts, ordering or historical headings.
|
|
55
|
+
open = parseChangelog(text.slice(heading.index, tailStart)).releases[0];
|
|
56
|
+
}
|
|
57
|
+
const local = {
|
|
58
|
+
document: {
|
|
59
|
+
intro: text.slice(0, heading?.index ?? text.length),
|
|
60
|
+
releases: tailStart < text.length ? [{ text: text.slice(tailStart) }] : []
|
|
61
|
+
},
|
|
62
|
+
open,
|
|
63
|
+
entries: open ? releaseEntries(open) : []
|
|
64
|
+
};
|
|
46
65
|
return { ok: true, data: {
|
|
47
66
|
openReleaseVersion: local.open?.version || null,
|
|
48
67
|
releaseChangelogState: { local, production: { ...local, open: null, entries: [] } }
|