@nmakarov/cli-toolkit 0.63.0 → 0.65.0
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/dist/cli-runner.cjs +22 -14
- package/dist/cli-runner.cjs.map +1 -1
- package/dist/cli-runner.js +22 -14
- package/dist/cli-runner.js.map +1 -1
- package/dist/filedatabase.cjs +22 -14
- package/dist/filedatabase.cjs.map +1 -1
- package/dist/filedatabase.js +22 -14
- package/dist/filedatabase.js.map +1 -1
- package/dist/http-client2.cjs +22 -14
- package/dist/http-client2.cjs.map +1 -1
- package/dist/http-client2.js +22 -14
- package/dist/http-client2.js.map +1 -1
- package/dist/index.cjs +22 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +22 -14
- package/dist/index.js.map +1 -1
- package/dist/mock-server.cjs +22 -14
- package/dist/mock-server.cjs.map +1 -1
- package/dist/mock-server.js +22 -14
- package/dist/mock-server.js.map +1 -1
- package/dist/tasks.cjs +22 -14
- package/dist/tasks.cjs.map +1 -1
- package/dist/tasks.js +22 -14
- package/dist/tasks.js.map +1 -1
- package/package.json +1 -1
package/dist/mock-server.cjs
CHANGED
|
@@ -271,8 +271,13 @@ var FileDatabase = class _FileDatabase {
|
|
|
271
271
|
this.currentVersionFolder = await ensurePath(this.getDestinationPath(), version);
|
|
272
272
|
}
|
|
273
273
|
/**
|
|
274
|
-
* Create a new version folder with
|
|
275
|
-
* Only works in versioned mode
|
|
274
|
+
* Create a new version folder named with the current UTC second.
|
|
275
|
+
* Only works in versioned mode.
|
|
276
|
+
*
|
|
277
|
+
* Clash protection: if that name already exists (two writers in the same
|
|
278
|
+
* second, or wall clock behind the latest version), advance +1s until free.
|
|
279
|
+
* Do NOT always derive from max(existing)+1s — that made successive harvests
|
|
280
|
+
* hours apart still land one second apart on disk.
|
|
276
281
|
*/
|
|
277
282
|
async makeNewVersion() {
|
|
278
283
|
if (!this.versioned) {
|
|
@@ -280,19 +285,22 @@ var FileDatabase = class _FileDatabase {
|
|
|
280
285
|
}
|
|
281
286
|
this.metadata = this.getDefaultMetadata();
|
|
282
287
|
const existingVersions = await this.getVersions();
|
|
283
|
-
|
|
288
|
+
const existingSet = new Set(existingVersions);
|
|
289
|
+
let candidateMs = Date.now();
|
|
284
290
|
if (existingVersions.length > 0) {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
const
|
|
288
|
-
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
|
|
291
|
+
let maxMs = 0;
|
|
292
|
+
for (const version of existingVersions) {
|
|
293
|
+
const ms = new Date(version).getTime();
|
|
294
|
+
if (Number.isFinite(ms) && ms > maxMs) maxMs = ms;
|
|
295
|
+
}
|
|
296
|
+
if (candidateMs <= maxMs) {
|
|
297
|
+
candidateMs = maxMs + 1e3;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
let versionName = new Date(candidateMs).toISOString().split(".")[0] + "Z";
|
|
301
|
+
while (existingSet.has(versionName)) {
|
|
302
|
+
candidateMs += 1e3;
|
|
303
|
+
versionName = new Date(candidateMs).toISOString().split(".")[0] + "Z";
|
|
296
304
|
}
|
|
297
305
|
await this.setCurrentVersion(versionName);
|
|
298
306
|
this.currentFileNumber = 0;
|