submodule-version 3.2.6 → 3.2.8

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 CHANGED
@@ -168,10 +168,10 @@ Root-level overrides (without `parent`) are applied to a copy of `rootDeps` that
168
168
 
169
169
  ### Publishing
170
170
 
171
- - `sv.publish({ module?, repoUrl?, message?, bump })` - Commit, tag and push a new version of a module (or the project itself). Returns the published version.
171
+ - `sv.publish({ module?, repoUrl?, message?, bump })` - Commit, tag and push a new version of a module (or the project itself). Returns the published version and invalidates cached repository metadata so the next resolution sees the new tag.
172
172
  - `bump: 'release' | 'minor' | 'major'` - How to bump the latest version (`1.2.3` → `1.2.4`, `1.3.0`, `2.0.0`)
173
173
  - For a module without a git remote, pass `repoUrl` — `sv` initializes the repo and sets the remote automatically
174
- - Publishing is only possible from the latest version (`GIT_NOT_LATEST_VERSION` error otherwise)
174
+ - Publishing from the latest version uses `bump`. Publishing from an older tag automatically creates a branch and prerelease tag named `<version>-patch.N` (for example `1.0.2-patch.4`); `N` is the next unused number in that patch line
175
175
  - Submodules are checked out on tags (detached `HEAD`) — `publish` creates a local branch bound to the remote branch before committing, and syncs with the remote (`pull --rebase --autostash`) when it is ahead
176
176
  - If the working tree is clean and `HEAD` already has a version tag, `publish` just pushes the branch and the tag without bumping
177
177
 
@@ -14,6 +14,7 @@ export declare const git: {
14
14
  currentBranch: (dir: string) => Promise<string | null>;
15
15
  defaultRemoteBranch: (dir: string) => Promise<string | null>;
16
16
  ensureBranch: (dir: string) => Promise<void>;
17
+ createBranch: (dir: string, branch: string) => Promise<void>;
17
18
  commitAll: (dir: string, message: string) => Promise<void>;
18
19
  addTag: (dir: string, version: string) => Promise<void>;
19
20
  push: (dir: string, tag?: string) => Promise<void>;
@@ -12,6 +12,7 @@ export declare const local: {
12
12
  currentBranch: (dir: string) => Promise<string | null>;
13
13
  defaultRemoteBranch: (dir: string) => Promise<string | null>;
14
14
  ensureBranch: (dir: string) => Promise<void>;
15
+ createBranch: (dir: string, branch: string) => Promise<void>;
15
16
  commitAll: (dir: string, message: string) => Promise<void>;
16
17
  addTag: (dir: string, version: string) => Promise<void>;
17
18
  push: (dir: string, tag?: string) => Promise<void>;
@@ -183,6 +183,9 @@ exports.local = {
183
183
  `git -C "${dir}" branch --set-upstream-to=origin/${remoteBranch} ${target}`, { cwd: runOptions_1.RunOptions.cwd });
184
184
  }
185
185
  },
186
+ createBranch: async (dir, branch) => {
187
+ await execAsync(`git -C "${dir}" checkout -b ${JSON.stringify(branch)}`, { cwd: runOptions_1.RunOptions.cwd });
188
+ },
186
189
  commitAll: async (dir, message) => {
187
190
  await execAsync(`git -C "${dir}" add -A`, { cwd: runOptions_1.RunOptions.cwd });
188
191
  await execAsync(`git -C "${dir}" commit -m ${JSON.stringify(message)}`, { cwd: runOptions_1.RunOptions.cwd });
@@ -193,7 +196,7 @@ exports.local = {
193
196
  push: async (dir, tag) => {
194
197
  await execAsync(`git -C "${dir}" push -u origin HEAD`, { cwd: runOptions_1.RunOptions.cwd });
195
198
  if (tag) {
196
- await execAsync(`git -C "${dir}" push origin ${tag}`, { cwd: runOptions_1.RunOptions.cwd });
199
+ await execAsync(`git -C "${dir}" push origin refs/tags/${tag}`, { cwd: runOptions_1.RunOptions.cwd });
197
200
  }
198
201
  },
199
202
  fetch: async (dir) => {
@@ -248,7 +251,7 @@ exports.local = {
248
251
  currentVersion: async (name) => {
249
252
  const module = path_1.default.join(runOptions_1.RunOptions.modulesDir, name);
250
253
  const tags = await exports.local.tagsAtHead(module);
251
- return versionUtil_1.versionUtil.latest(tags) || null;
254
+ return versionUtil_1.versionUtil.sort(tags)[0] || null;
252
255
  },
253
256
  listTags: async (dir) => {
254
257
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../src/git/local/local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../src/git/local/local.ts"],"names":[],"mappings":"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"}
package/dist/src/sv.d.ts CHANGED
@@ -2,6 +2,7 @@ import { TPubGrubResult } from './PubGrub';
2
2
  export declare class SV {
3
3
  private resolution;
4
4
  private verifiedResolution;
5
+ private failedPut;
5
6
  private store;
6
7
  private explicitModulesDir?;
7
8
  constructor(projectDir: string, modulesDir?: string, options?: {
package/dist/src/sv.js CHANGED
@@ -85,6 +85,11 @@ class SV {
85
85
  this.resolution = null;
86
86
  /* Safe put передаёт сюда уже выбранную PubGrub версию на время мутации. */
87
87
  this.verifiedResolution = null;
88
+ /* Если safe put не смог разрешить предложенный override, PubGrub уже
89
+ * оставил partial resolution. Следующий dangerousPut с теми же аргументами
90
+ * (явный Use anyway вызывающей стороны) должен применить mutation, не
91
+ * запуская тот же конфликтный resolve повторно. */
92
+ this.failedPut = null;
88
93
  this.store = new entryStore_1.EntryStore();
89
94
  /*
90
95
  * Директория модулей: явно переданная (CLI/JS) → записанная в
@@ -227,6 +232,7 @@ class SV {
227
232
  * версия, если это валидный semver-диапазон, иначе имя родителя.
228
233
  */
229
234
  this.put = async (url, versionOrParent, parentName) => {
235
+ this.failedPut = null;
230
236
  const { range, parent } = parsePutArgs(versionOrParent, parentName);
231
237
  const baseJson = await pkgJSONManager_1.pkgJSONManager.read();
232
238
  if (!baseJson)
@@ -240,11 +246,25 @@ class SV {
240
246
  if (parent && !this.getResolution()[parent]) {
241
247
  throw new errors_1.SVError('ADDON_NOT_FOUND', { name: parent });
242
248
  }
243
- const resolution = await this.verify(baseJson, {
244
- parent,
245
- add: moduleUrl,
246
- version: range,
247
- });
249
+ let resolution;
250
+ try {
251
+ resolution = await this.verify(baseJson, {
252
+ parent,
253
+ add: moduleUrl,
254
+ version: range,
255
+ });
256
+ }
257
+ catch (error) {
258
+ if (error instanceof errors_1.SVError && error.error === 'VERSION_CONFLICT') {
259
+ this.failedPut = {
260
+ url: moduleUrl,
261
+ range,
262
+ parent,
263
+ resolution: this.resolution || {},
264
+ };
265
+ }
266
+ throw error;
267
+ }
248
268
  const previousResolution = this.resolution || {};
249
269
  this.resolution = resolution;
250
270
  await this.syncModules(resolution, previousResolution);
@@ -270,6 +290,14 @@ class SV {
270
290
  const baseChanged = await this.prepareBaseJson(baseJson);
271
291
  const moduleUrl = await this.findModuleUrl(url, parent);
272
292
  const { name } = git_1.git.parseUrl(moduleUrl);
293
+ const failedPut = this.failedPut;
294
+ this.failedPut = null;
295
+ const failedResolution = failedPut
296
+ && failedPut.url === moduleUrl
297
+ && failedPut.range === range
298
+ && failedPut.parent === parent
299
+ ? failedPut.resolution
300
+ : null;
273
301
  const targetJson = parent
274
302
  ? await pkgJSONManager_1.pkgJSONManager.read(parent)
275
303
  : baseJson;
@@ -297,7 +325,12 @@ class SV {
297
325
  }
298
326
  if (parent && baseChanged)
299
327
  await pkgJSONManager_1.pkgJSONManager.write(baseJson);
300
- await this.refreshBestEffortResolution(parent ? baseJson : nextTargetJson);
328
+ if (failedResolution) {
329
+ this.resolution = failedResolution;
330
+ }
331
+ else {
332
+ await this.refreshBestEffortResolution(parent ? baseJson : nextTargetJson);
333
+ }
301
334
  await npm_1.npm.install();
302
335
  };
303
336
  /* Удаление модуля из родителя (без parentName — из корня проекта). */
@@ -398,7 +431,7 @@ class SV {
398
431
  ? path_1.default.join(runOptions_1.RunOptions.modulesDir, module)
399
432
  : runOptions_1.RunOptions.cwd;
400
433
  const tags = await git_1.git.local.tagsAtHead(dir);
401
- return versionUtil_1.versionUtil.latest(tags) || null;
434
+ return versionUtil_1.versionUtil.sort(tags)[0] || null;
402
435
  };
403
436
  // eslint-disable-next-line class-methods-use-this
404
437
  this.latestVersion = async (module) => {
@@ -451,22 +484,31 @@ class SV {
451
484
  await git_1.git.local.init(dir);
452
485
  await git_1.git.local.addRemote(dir, repoUrl);
453
486
  }
487
+ const versions = await git_1.git.local.listTags(dir);
454
488
  const currentTag = await this.currentVersion(module);
455
- const latestKnown = await this.latestVersion(module);
456
- if (currentTag && latestKnown && currentTag !== latestKnown) {
457
- throw new git_1.GitError('GIT_NOT_LATEST_VERSION');
489
+ const latestKnown = versionUtil_1.versionUtil.latest(versions) || '0.0.0';
490
+ const fromOldVersion = !!currentTag && currentTag !== latestKnown;
491
+ const next = fromOldVersion
492
+ ? versionUtil_1.versionUtil.nextPatchVersion(currentTag, versions)
493
+ : versionUtil_1.versionUtil.bump(latestKnown, bump);
494
+ if (fromOldVersion) {
495
+ /* Старую стабильную линию не смешиваем с основной веткой: имя ветки
496
+ * совпадает с автоматически рассчитанной prerelease-версией. */
497
+ await git_1.git.local.createBranch(dir, next);
458
498
  }
459
- await git_1.git.local.ensureBranch(dir);
460
- if (await git_1.git.local.isRemoteAhead(dir)) {
461
- await git_1.git.local.pullRebaseAutostash(dir);
462
- }
463
- const dirty = await git_1.git.local.hasChanges(dir);
464
- const headTag = await this.currentVersion(module);
465
- if (!dirty && headTag) {
466
- await git_1.git.local.push(dir, headTag);
467
- return headTag;
499
+ else {
500
+ await git_1.git.local.ensureBranch(dir);
501
+ if (await git_1.git.local.isRemoteAhead(dir)) {
502
+ await git_1.git.local.pullRebaseAutostash(dir);
503
+ }
504
+ const dirty = await git_1.git.local.hasChanges(dir);
505
+ const headTag = await this.currentVersion(module);
506
+ if (!dirty && headTag) {
507
+ await git_1.git.local.push(dir, headTag);
508
+ this.store.clear();
509
+ return headTag;
510
+ }
468
511
  }
469
- const next = versionUtil_1.versionUtil.bump(await this.latestVersion(module), bump);
470
512
  const pkg = await pkgJSONManager_1.pkgJSONManager.read(module);
471
513
  if (pkg) {
472
514
  pkg.version = next;
@@ -477,6 +519,9 @@ class SV {
477
519
  }
478
520
  await git_1.git.local.addTag(dir, next);
479
521
  await git_1.git.local.push(dir, next);
522
+ /* publish меняет набор доступных тегов вне EntryStore. Следующий put
523
+ * обязан загрузить новый каталог, а не получить snapshot до публикации. */
524
+ this.store.clear();
480
525
  return next;
481
526
  };
482
527
  runOptions_1.RunOptions.cwd = projectDir;
@@ -1 +1 @@
1
- {"version":3,"file":"sv.js","sourceRoot":"","sources":["../../src/sv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sv.js","sourceRoot":"","sources":["../../src/sv.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,5 @@ export declare const versionUtil: {
13
13
  intersects: (left: string[], right: string[]) => boolean;
14
14
  isSubset: (subset: string[], superset: string[]) => boolean;
15
15
  bump: (version: string, kind: "release" | "minor" | "major") => string;
16
+ nextPatchVersion: (version: string, versions: string[]) => string;
16
17
  };
@@ -52,6 +52,23 @@ const bump = (version, kind) => {
52
52
  throw new Error(`Invalid semantic version: ${version}`);
53
53
  return next;
54
54
  };
55
+ /* Публикация с не последнего тега образует отдельную patch-линейку:
56
+ * 1.0.2 -> 1.0.2-patch.1, затем автоматически .2, .3 и т.д. */
57
+ const nextPatchVersion = (version, versions) => {
58
+ const parsed = semver_1.default.parse(version);
59
+ if (!parsed)
60
+ throw new Error(`Invalid semantic version: ${version}`);
61
+ const base = `${parsed.major}.${parsed.minor}.${parsed.patch}`;
62
+ const prefix = `${base}-patch.`;
63
+ const numbers = versions.flatMap(candidate => {
64
+ if (!candidate.startsWith(prefix))
65
+ return [];
66
+ const value = candidate.slice(prefix.length);
67
+ return /^\d+$/.test(value) ? [Number(value)] : [];
68
+ });
69
+ const next = (numbers.length ? Math.max(...numbers) : 0) + 1;
70
+ return `${prefix}${next}`;
71
+ };
55
72
  exports.versionUtil = {
56
73
  normalizeConstraint,
57
74
  validate,
@@ -66,5 +83,6 @@ exports.versionUtil = {
66
83
  intersects,
67
84
  isSubset,
68
85
  bump,
86
+ nextPatchVersion,
69
87
  };
70
88
  //# sourceMappingURL=versionUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versionUtil.js","sourceRoot":"","sources":["../../../src/versionUtil/versionUtil.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAI5B,MAAM,mBAAmB,GAAG,CAAC,UAAU,GAAG,GAAG,EAAiB,EAAE;IAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAEhC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAK,GAAG,KAAK,EAAW,EAAE;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE3B,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,IAAI,KAAK;QAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAEtD,OAAO,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,gBAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEvE,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,UAAU,GAAG,GAAG,EAAW,EAAE;IAC/D,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE9C,OAAO,KAAK,KAAK,IAAI,IAAI,gBAAM,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,QAAkB,EAAY,EAAE,CAAC,CAC7C,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM,CAAC,QAAQ,CAAC,CAC7D,CAAC;AAEF,MAAM,MAAM,GAAG,CACb,QAAkB,EAClB,cAAwB,CAAC,GAAG,CAAC,EACnB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAC9C,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAChE,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CACb,QAAkB,EAClB,cAAwB,CAAC,GAAG,CAAC,EACrB,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAEpD,MAAM,YAAY,GAAG,CAAC,GAAG,IAAgB,EAAY,EAAE;IACrD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CACpC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAClD,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,GAAG,IAAgB,EAAY,EAAE,CAAC,CAC/C,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAChC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,KAAe,EAAY,EAAE;IAC/D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAEhC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,KAAe,EAAW,EAAE;IAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAEhC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,MAAgB,EAAE,QAAkB,EAAW,EAAE;IACjE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,CACX,OAAe,EACf,IAAmC,EAC3B,EAAE;IACV,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,MAAM,IAAI,GAAG,gBAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1C,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;IAEnE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEW,QAAA,WAAW,GAAG;IACzB,mBAAmB;IACnB,QAAQ;IACR,OAAO;IACP,SAAS;IACT,IAAI;IACJ,MAAM;IACN,MAAM;IACN,YAAY;IACZ,KAAK;IACL,UAAU;IACV,UAAU;IACV,QAAQ;IACR,IAAI;CACL,CAAC"}
1
+ {"version":3,"file":"versionUtil.js","sourceRoot":"","sources":["../../../src/versionUtil/versionUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "submodule-version",
3
3
  "description": "Git <S>ubmodule <V>ersioning tool",
4
- "version": "3.2.6",
4
+ "version": "3.2.8",
5
5
  "repository": "github:guljeny/submodule-version",
6
6
  "main": "dist/src/index.js",
7
7
  "bin": {
@@ -0,0 +1,86 @@
1
+ import { execFileSync } from 'child_process';
2
+ import fs from 'fs';
3
+ import os from 'os';
4
+ import path from 'path';
5
+ import { SV } from '../sv';
6
+
7
+ const git = (cwd: string, args: string[]): string => execFileSync(
8
+ 'git',
9
+ args,
10
+ { cwd, encoding: 'utf8' },
11
+ ).trim();
12
+
13
+ const writePackage = (dir: string, version: string): void => {
14
+ fs.writeFileSync(
15
+ path.join(dir, 'package.json'),
16
+ `${JSON.stringify({ name: 'fixture', version }, null, 2)}\n`,
17
+ );
18
+ };
19
+
20
+ describe('SV.publish git integration', () => {
21
+ it(
22
+ 'pushes an automatic patch.4 branch and tag from an old version',
23
+ async () => {
24
+ const fixture = fs.mkdtempSync(path.join(os.tmpdir(), 'sv-publish-'));
25
+ const remote = path.join(fixture, 'remote.git');
26
+ const project = path.join(fixture, 'project');
27
+
28
+ try {
29
+ fs.mkdirSync(project);
30
+ git(fixture, ['init', '--bare', remote]);
31
+ git(project, ['init', '-b', 'main']);
32
+ git(project, ['config', 'user.name', 'SV Test']);
33
+ git(project, ['config', 'user.email', 'sv@example.test']);
34
+ git(project, ['remote', 'add', 'origin', remote]);
35
+
36
+ writePackage(project, '1.0.2');
37
+ git(project, ['add', 'package.json']);
38
+ git(project, ['commit', '-m', 'version 1.0.2']);
39
+ git(project, ['tag', '1.0.2']);
40
+ git(project, ['tag', '1.0.2-patch.1']);
41
+ git(project, ['tag', '1.0.2-patch.2']);
42
+ git(project, ['tag', '1.0.2-patch.3']);
43
+
44
+ writePackage(project, '2.0.0');
45
+ git(project, ['add', 'package.json']);
46
+ git(project, ['commit', '-m', 'version 2.0.0']);
47
+ git(project, ['tag', '2.0.0']);
48
+ git(project, ['push', '-u', 'origin', 'main']);
49
+ git(project, ['push', 'origin', '--tags']);
50
+
51
+ git(project, ['checkout', '--detach', '1.0.2']);
52
+ fs.writeFileSync(path.join(project, 'fix.txt'), 'backport\n');
53
+
54
+ const version = await new SV(project).publish({
55
+ /* bump игнорируется, потому что HEAD находится на старом теге. */
56
+ bump: 'major',
57
+ message: 'backport fix',
58
+ });
59
+
60
+ expect(version).toBe('1.0.2-patch.4');
61
+ expect(git(project, ['branch', '--show-current']))
62
+ .toBe('1.0.2-patch.4');
63
+ expect(git(project, ['tag', '--points-at', 'HEAD']))
64
+ .toContain('1.0.2-patch.4');
65
+ expect(JSON.parse(
66
+ fs.readFileSync(path.join(project, 'package.json'), 'utf8'),
67
+ ).version).toBe('1.0.2-patch.4');
68
+ expect(git(project, [
69
+ 'ls-remote',
70
+ '--heads',
71
+ 'origin',
72
+ '1.0.2-patch.4',
73
+ ])).toContain('refs/heads/1.0.2-patch.4');
74
+ expect(git(project, [
75
+ 'ls-remote',
76
+ '--tags',
77
+ 'origin',
78
+ '1.0.2-patch.4',
79
+ ])).toContain('refs/tags/1.0.2-patch.4');
80
+ } finally {
81
+ fs.rmSync(fixture, { recursive: true, force: true });
82
+ }
83
+ },
84
+ 20000,
85
+ );
86
+ });
@@ -4,6 +4,7 @@ import { git } from '../git';
4
4
  import { npm } from '../npm';
5
5
  import { pkgJSONManager } from '../pkgJSONManager';
6
6
  import { readFile } from 'fs/promises';
7
+ import { SVError } from '../errors';
7
8
 
8
9
  jest.mock('../PubGrub', () => ({
9
10
  PubGrub: jest.fn(),
@@ -28,6 +29,19 @@ jest.mock('../git', () => {
28
29
  currentVersion: jest.fn(async () => null),
29
30
  listVersions: jest.fn(async () => []),
30
31
  getRemote: jest.fn(async () => null),
32
+ tagsAtHead: jest.fn(async () => []),
33
+ listTags: jest.fn(async () => []),
34
+ hasChanges: jest.fn(async () => false),
35
+ hasUnpushedCommits: jest.fn(async () => false),
36
+ ensureBranch: jest.fn(async () => undefined),
37
+ createBranch: jest.fn(async () => undefined),
38
+ isRemoteAhead: jest.fn(async () => false),
39
+ pullRebaseAutostash: jest.fn(async () => undefined),
40
+ commitAll: jest.fn(async () => undefined),
41
+ addTag: jest.fn(async () => undefined),
42
+ push: jest.fn(async () => undefined),
43
+ init: jest.fn(async () => undefined),
44
+ addRemote: jest.fn(async () => undefined),
31
45
  },
32
46
  api: {
33
47
  setToken: jest.fn(),
@@ -84,6 +98,11 @@ beforeEach(() => {
84
98
  localMock.isGitRepo.mockResolvedValue(true);
85
99
  localMock.currentVersion.mockResolvedValue(null);
86
100
  localMock.listVersions.mockResolvedValue([]);
101
+ localMock.tagsAtHead.mockResolvedValue([]);
102
+ localMock.listTags.mockResolvedValue([]);
103
+ localMock.hasChanges.mockResolvedValue(false);
104
+ localMock.hasUnpushedCommits.mockResolvedValue(false);
105
+ localMock.isRemoteAhead.mockResolvedValue(false);
87
106
  });
88
107
 
89
108
  afterEach(() => {
@@ -486,6 +505,31 @@ describe('SV.put', () => {
486
505
  });
487
506
 
488
507
  describe('SV.dangerousPut', () => {
508
+ it('reuses the failed put partial resolution without resolving again',
509
+ async () => {
510
+ const partial = {
511
+ B: entry('B', { '2.1.0': {} }, '2.1.0'),
512
+ };
513
+
514
+ readMock.mockResolvedValue({ sv: { [url('B')]: '^1.0.0' } });
515
+ resolveMock.mockRejectedValueOnce(new SVError('VERSION_CONFLICT'));
516
+ getResolutionMock.mockReturnValue(partial);
517
+ const sv = new SV('/project');
518
+
519
+ await expect(sv.put('B', '^2.0.0'))
520
+ .rejects.toMatchObject({ error: 'VERSION_CONFLICT' });
521
+ await sv.dangerousPut('B', '^2.0.0');
522
+
523
+ expect(resolveMock).toHaveBeenCalledTimes(1);
524
+ expect(sv.getResolution()).toBe(partial);
525
+ expect(writeMock).toHaveBeenCalledWith({
526
+ sv: { [url('B')]: '^2.0.0' },
527
+ workspaces: ['modules/*'],
528
+ 'sv-dir': 'modules',
529
+ });
530
+ expect(npmInstallMock).toHaveBeenCalledTimes(1);
531
+ });
532
+
489
533
  it('adds a module and keeps partial resolution on a conflict', async () => {
490
534
  const partial = {
491
535
  B: entry('B', { '2.1.0': {} }, '2.1.0'),
@@ -750,3 +794,88 @@ describe('SV.listVersions', () => {
750
794
  );
751
795
  });
752
796
  });
797
+
798
+ describe('SV.publish', () => {
799
+ it(
800
+ 'publishes an old version on the next automatic patch branch',
801
+ async () => {
802
+ const versions = [
803
+ '2.0.0',
804
+ '1.0.2',
805
+ '1.0.2-patch.1',
806
+ '1.0.2-patch.3',
807
+ ];
808
+
809
+ localMock.getRemote.mockResolvedValue(url('A'));
810
+ localMock.tagsAtHead.mockResolvedValue(['1.0.2']);
811
+ localMock.listTags.mockResolvedValue(versions);
812
+ localMock.hasChanges.mockResolvedValue(true);
813
+ readMock.mockResolvedValue({ version: '1.0.2', sv: {} });
814
+ const sv = new SV('/project');
815
+ const clear = jest.spyOn((sv as any).store, 'clear');
816
+
817
+ await expect(sv.publish({
818
+ module: 'A',
819
+ /* Старый релиз игнорирует выбранный bump. */
820
+ bump: 'major',
821
+ message: 'backport fix',
822
+ })).resolves.toBe('1.0.2-patch.4');
823
+
824
+ expect(localMock.createBranch).toHaveBeenCalledWith(
825
+ 'modules/A',
826
+ '1.0.2-patch.4',
827
+ );
828
+ expect(localMock.ensureBranch).not.toHaveBeenCalled();
829
+ expect(writeMock).toHaveBeenCalledWith({
830
+ version: '1.0.2-patch.4',
831
+ sv: {},
832
+ }, 'A');
833
+ expect(localMock.commitAll).toHaveBeenCalledWith(
834
+ 'modules/A',
835
+ 'backport fix',
836
+ );
837
+ expect(localMock.addTag).toHaveBeenCalledWith(
838
+ 'modules/A',
839
+ '1.0.2-patch.4',
840
+ );
841
+ expect(localMock.push).toHaveBeenCalledWith(
842
+ 'modules/A',
843
+ '1.0.2-patch.4',
844
+ );
845
+ expect(clear).toHaveBeenCalledTimes(1);
846
+ },
847
+ );
848
+
849
+ it(
850
+ 'continues a patch line and commits the generated version',
851
+ async () => {
852
+ localMock.getRemote.mockResolvedValue(url('A'));
853
+ localMock.tagsAtHead.mockResolvedValue(['1.0.2-patch.4']);
854
+ localMock.listTags.mockResolvedValue([
855
+ '2.0.0',
856
+ '1.0.2',
857
+ '1.0.2-patch.4',
858
+ ]);
859
+ localMock.hasChanges.mockResolvedValue(true);
860
+ readMock.mockResolvedValue({ version: '1.0.2-patch.4' });
861
+ const sv = new SV('/project');
862
+
863
+ await expect(sv.publish({
864
+ module: 'A',
865
+ bump: 'release',
866
+ })).resolves.toBe('1.0.2-patch.5');
867
+
868
+ expect(localMock.createBranch).toHaveBeenCalledWith(
869
+ 'modules/A',
870
+ '1.0.2-patch.5',
871
+ );
872
+ expect(writeMock).toHaveBeenCalledWith({
873
+ version: '1.0.2-patch.5',
874
+ }, 'A');
875
+ expect(localMock.commitAll).toHaveBeenCalledWith(
876
+ 'modules/A',
877
+ 'Update',
878
+ );
879
+ },
880
+ );
881
+ });
@@ -261,6 +261,13 @@ export const local = {
261
261
  }
262
262
  },
263
263
 
264
+ createBranch: async (dir: string, branch: string): Promise<void> => {
265
+ await execAsync(
266
+ `git -C "${dir}" checkout -b ${JSON.stringify(branch)}`,
267
+ { cwd: RunOptions.cwd },
268
+ );
269
+ },
270
+
264
271
  commitAll: async (dir: string, message: string): Promise<void> => {
265
272
  await execAsync(
266
273
  `git -C "${dir}" add -A`,
@@ -288,7 +295,7 @@ export const local = {
288
295
 
289
296
  if (tag) {
290
297
  await execAsync(
291
- `git -C "${dir}" push origin ${tag}`,
298
+ `git -C "${dir}" push origin refs/tags/${tag}`,
292
299
  { cwd: RunOptions.cwd },
293
300
  );
294
301
  }
@@ -368,7 +375,7 @@ export const local = {
368
375
  const module = path.join(RunOptions.modulesDir, name);
369
376
  const tags = await local.tagsAtHead(module);
370
377
 
371
- return versionUtil.latest(tags) || null;
378
+ return versionUtil.sort(tags)[0] || null;
372
379
  },
373
380
 
374
381
  listTags: async (dir: string): Promise<string[]> => {
package/src/sv.ts CHANGED
@@ -111,6 +111,17 @@ export class SV {
111
111
  /* Safe put передаёт сюда уже выбранную PubGrub версию на время мутации. */
112
112
  private verifiedResolution: TPubGrubResult | null = null;
113
113
 
114
+ /* Если safe put не смог разрешить предложенный override, PubGrub уже
115
+ * оставил partial resolution. Следующий dangerousPut с теми же аргументами
116
+ * (явный Use anyway вызывающей стороны) должен применить mutation, не
117
+ * запуская тот же конфликтный resolve повторно. */
118
+ private failedPut: {
119
+ url: string;
120
+ range: string;
121
+ parent?: string;
122
+ resolution: TPubGrubResult;
123
+ } | null = null;
124
+
114
125
  private store = new EntryStore();
115
126
 
116
127
  private explicitModulesDir?: string;
@@ -333,6 +344,7 @@ export class SV {
333
344
  versionOrParent?: string,
334
345
  parentName?: string,
335
346
  ): Promise<void> => {
347
+ this.failedPut = null;
336
348
  const { range, parent } = parsePutArgs(versionOrParent, parentName);
337
349
  const baseJson = await pkgJSONManager.read();
338
350
 
@@ -350,11 +362,25 @@ export class SV {
350
362
  throw new SVError('ADDON_NOT_FOUND', { name: parent });
351
363
  }
352
364
 
353
- const resolution = await this.verify(baseJson, {
354
- parent,
355
- add: moduleUrl,
356
- version: range,
357
- });
365
+ let resolution: TPubGrubResult;
366
+
367
+ try {
368
+ resolution = await this.verify(baseJson, {
369
+ parent,
370
+ add: moduleUrl,
371
+ version: range,
372
+ });
373
+ } catch (error) {
374
+ if (error instanceof SVError && error.error === 'VERSION_CONFLICT') {
375
+ this.failedPut = {
376
+ url: moduleUrl,
377
+ range,
378
+ parent,
379
+ resolution: this.resolution || {},
380
+ };
381
+ }
382
+ throw error;
383
+ }
358
384
 
359
385
  const previousResolution = this.resolution || {};
360
386
 
@@ -388,6 +414,15 @@ export class SV {
388
414
  const baseChanged = await this.prepareBaseJson(baseJson);
389
415
  const moduleUrl = await this.findModuleUrl(url, parent);
390
416
  const { name } = git.parseUrl(moduleUrl);
417
+ const failedPut = this.failedPut;
418
+ this.failedPut = null;
419
+
420
+ const failedResolution = failedPut
421
+ && failedPut.url === moduleUrl
422
+ && failedPut.range === range
423
+ && failedPut.parent === parent
424
+ ? failedPut.resolution
425
+ : null;
391
426
 
392
427
  const targetJson = parent
393
428
  ? await pkgJSONManager.read(parent)
@@ -426,9 +461,13 @@ export class SV {
426
461
 
427
462
  if (parent && baseChanged) await pkgJSONManager.write(baseJson);
428
463
 
429
- await this.refreshBestEffortResolution(
430
- parent ? baseJson : nextTargetJson,
431
- );
464
+ if (failedResolution) {
465
+ this.resolution = failedResolution;
466
+ } else {
467
+ await this.refreshBestEffortResolution(
468
+ parent ? baseJson : nextTargetJson,
469
+ );
470
+ }
432
471
  await npm.install();
433
472
  };
434
473
 
@@ -563,7 +602,7 @@ export class SV {
563
602
 
564
603
  const tags = await git.local.tagsAtHead(dir);
565
604
 
566
- return versionUtil.latest(tags) || null;
605
+ return versionUtil.sort(tags)[0] || null;
567
606
  };
568
607
 
569
608
  // eslint-disable-next-line class-methods-use-this
@@ -636,29 +675,37 @@ export class SV {
636
675
  await git.local.addRemote(dir, repoUrl);
637
676
  }
638
677
 
678
+ const versions = await git.local.listTags(dir);
639
679
  const currentTag = await this.currentVersion(module);
640
- const latestKnown = await this.latestVersion(module);
680
+ const latestKnown = versionUtil.latest(versions) || '0.0.0';
681
+ const fromOldVersion = !!currentTag && currentTag !== latestKnown;
641
682
 
642
- if (currentTag && latestKnown && currentTag !== latestKnown) {
643
- throw new GitError('GIT_NOT_LATEST_VERSION');
644
- }
683
+ const next = fromOldVersion
684
+ ? versionUtil.nextPatchVersion(currentTag, versions)
685
+ : versionUtil.bump(latestKnown, bump);
645
686
 
646
- await git.local.ensureBranch(dir);
687
+ if (fromOldVersion) {
688
+ /* Старую стабильную линию не смешиваем с основной веткой: имя ветки
689
+ * совпадает с автоматически рассчитанной prerelease-версией. */
690
+ await git.local.createBranch(dir, next);
691
+ } else {
692
+ await git.local.ensureBranch(dir);
647
693
 
648
- if (await git.local.isRemoteAhead(dir)) {
649
- await git.local.pullRebaseAutostash(dir);
650
- }
694
+ if (await git.local.isRemoteAhead(dir)) {
695
+ await git.local.pullRebaseAutostash(dir);
696
+ }
651
697
 
652
- const dirty = await git.local.hasChanges(dir);
653
- const headTag = await this.currentVersion(module);
698
+ const dirty = await git.local.hasChanges(dir);
699
+ const headTag = await this.currentVersion(module);
654
700
 
655
- if (!dirty && headTag) {
656
- await git.local.push(dir, headTag);
701
+ if (!dirty && headTag) {
702
+ await git.local.push(dir, headTag);
703
+ this.store.clear();
657
704
 
658
- return headTag;
705
+ return headTag;
706
+ }
659
707
  }
660
708
 
661
- const next = versionUtil.bump(await this.latestVersion(module), bump);
662
709
  const pkg = await pkgJSONManager.read(module);
663
710
 
664
711
  if (pkg) {
@@ -672,6 +719,9 @@ export class SV {
672
719
 
673
720
  await git.local.addTag(dir, next);
674
721
  await git.local.push(dir, next);
722
+ /* publish меняет набор доступных тегов вне EntryStore. Следующий put
723
+ * обязан загрузить новый каталог, а не получить snapshot до публикации. */
724
+ this.store.clear();
675
725
 
676
726
  return next;
677
727
  };
@@ -59,4 +59,20 @@ describe('versionUtil.bump', () => {
59
59
  ] as const)('bumps %s', (kind, expected) => {
60
60
  expect(versionUtil.bump('1.2.3', kind)).toBe(expected);
61
61
  });
62
+
63
+ it('increments the patch branch suffix for a non-latest release', () => {
64
+ expect(versionUtil.nextPatchVersion('1.0.2', [
65
+ '2.0.0',
66
+ '1.0.2-patch.1',
67
+ '1.0.2-patch.3',
68
+ '1.0.1-patch.9',
69
+ ])).toBe('1.0.2-patch.4');
70
+ });
71
+
72
+ it('continues the same patch line from a patch tag', () => {
73
+ expect(versionUtil.nextPatchVersion('1.0.2-patch.4', [
74
+ '2.0.0',
75
+ '1.0.2-patch.4',
76
+ ])).toBe('1.0.2-patch.5');
77
+ });
62
78
  });
@@ -86,6 +86,29 @@ const bump = (
86
86
  return next;
87
87
  };
88
88
 
89
+ /* Публикация с не последнего тега образует отдельную patch-линейку:
90
+ * 1.0.2 -> 1.0.2-patch.1, затем автоматически .2, .3 и т.д. */
91
+ const nextPatchVersion = (version: string, versions: string[]): string => {
92
+ const parsed = semver.parse(version);
93
+
94
+ if (!parsed) throw new Error(`Invalid semantic version: ${version}`);
95
+
96
+ const base = `${parsed.major}.${parsed.minor}.${parsed.patch}`;
97
+ const prefix = `${base}-patch.`;
98
+
99
+ const numbers = versions.flatMap(candidate => {
100
+ if (!candidate.startsWith(prefix)) return [];
101
+
102
+ const value = candidate.slice(prefix.length);
103
+
104
+ return /^\d+$/.test(value) ? [Number(value)] : [];
105
+ });
106
+
107
+ const next = (numbers.length ? Math.max(...numbers) : 0) + 1;
108
+
109
+ return `${prefix}${next}`;
110
+ };
111
+
89
112
  export const versionUtil = {
90
113
  normalizeConstraint,
91
114
  validate,
@@ -100,4 +123,5 @@ export const versionUtil = {
100
123
  intersects,
101
124
  isSubset,
102
125
  bump,
126
+ nextPatchVersion,
103
127
  };