cabloy 5.1.79 → 5.1.80

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.1.80
4
+
5
+ ### Bug Fixes
6
+
7
+ - Harden the `zova-core` release compensation flow.
8
+
3
9
  ## 5.1.79
4
10
 
5
11
  ### Improvements
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cabloy",
3
- "version": "5.1.79",
3
+ "version": "5.1.80",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "A Node.js fullstack framework",
6
6
  "keywords": [
@@ -159,8 +159,8 @@ function readLocalZovaCoreVersion(): string {
159
159
  return version;
160
160
  }
161
161
 
162
- function normalizeVonaPatchedDependency(version: string): void {
163
- const patchLine = ` zova-core@${version}: patches/zova-core@${version}.patch`;
162
+ function updateVonaPatchedDependency(version?: string): void {
163
+ const patchLine = version ? ` zova-core@${version}: patches/zova-core@${version}.patch` : null;
164
164
  const lines = readFileSync(VONA_WORKSPACE_PATH, 'utf-8').split('\n');
165
165
  const patchedDependenciesIndex = lines.findIndex(line => line.trim() === 'patchedDependencies:');
166
166
  if (patchedDependenciesIndex === -1) {
@@ -180,13 +180,19 @@ function normalizeVonaPatchedDependency(version: string): void {
180
180
  );
181
181
  const newLines = [
182
182
  ...lines.slice(0, patchedDependenciesIndex + 1),
183
- patchLine,
183
+ ...(patchLine ? [patchLine] : []),
184
184
  ...preservedBlockLines,
185
185
  ...lines.slice(blockEndIndex),
186
186
  ];
187
187
  writeFileSync(VONA_WORKSPACE_PATH, `${newLines.join('\n').replace(/\n+$/, '\n')}\n`);
188
188
  }
189
189
 
190
+ function ensureFileExists(filePath: string): void {
191
+ if (!existsSync(filePath)) {
192
+ writeFileSync(filePath, '');
193
+ }
194
+ }
195
+
190
196
  function replaceOrThrow(
191
197
  content: string,
192
198
  search: RegExp,
@@ -222,7 +228,7 @@ function applyKnownZovaCorePatchEdits(editDir: string): void {
222
228
  const envContent = readFileSync(envPath, 'utf-8');
223
229
  const envNext = replaceOrThrow(
224
230
  envContent,
225
- /declare global \{\n {4}namespace NodeJS \{\n interface ProcessEnv \{[\s\S]*?\n \}\n \}\n\}\n?/,
231
+ /declare global \{\n {4}namespace NodeJS \{\n {8}interface ProcessEnv \{[\s\S]*?\n \}\n \}\n\}\n?/,
226
232
  '',
227
233
  'the NodeJS.ProcessEnv augmentation',
228
234
  );
@@ -231,7 +237,7 @@ function applyKnownZovaCorePatchEdits(editDir: string): void {
231
237
  const moduleContent = readFileSync(modulePath, 'utf-8');
232
238
  const moduleNext = replaceOrThrow(
233
239
  moduleContent,
234
- /declare module '@cabloy\/module-info' \{\n {4}interface IModule \{[\s\S]*?\n \}\n\}\n?/,
240
+ /declare module '@cabloy\/module-info' \{\n {4}interface IModule \{[\s\S]*?\n {4}\}\n\}\n?/,
235
241
  '',
236
242
  'the @cabloy/module-info augmentation',
237
243
  );
@@ -275,17 +281,28 @@ function regenerateVonaZovaCorePatch(
275
281
  console.log(`\n🩹 Regenerating the Vona zova-core patch for ${targetVersion}...`);
276
282
 
277
283
  if (dryRun) {
284
+ // eslint-disable-next-line
285
+ console.log(
286
+ ' [dry-run] Temporarily remove the current zova-core patched dependency registration',
287
+ );
288
+ exec(`pnpm --dir "${VONA_DIR}" install`, true);
278
289
  exec(
279
290
  `pnpm --dir "${VONA_DIR}" patch zova-core@${targetVersion} --edit-dir "${editDir}" --ignore-existing`,
280
291
  true,
281
292
  );
282
293
  // eslint-disable-next-line
283
294
  console.log(' [dry-run] Apply the known zova-core declaration-file patch edits');
284
- exec(`pnpm --dir "${VONA_DIR}" patch-commit "${editDir}"`, true);
285
295
  // eslint-disable-next-line
286
- console.log(` [dry-run] Normalize ${VONA_WORKSPACE_PATH}`);
296
+ console.log(` [dry-run] Ensure ${newPatchFilePath} exists before patch-commit`);
297
+ exec(
298
+ `pnpm --dir "${VONA_DIR}" patch-commit "${editDir}" --patches-dir "${VONA_PATCHES_DIR}"`,
299
+ true,
300
+ );
301
+ // eslint-disable-next-line
302
+ console.log(` [dry-run] Restore ${VONA_WORKSPACE_PATH} to point at ${newPatchFilePath}`);
287
303
  // eslint-disable-next-line
288
304
  console.log(` [dry-run] Remove ${oldPatchFilePath} if it still exists`);
305
+ exec(`pnpm --dir "${VONA_DIR}" install`, true);
289
306
  return;
290
307
  }
291
308
 
@@ -293,20 +310,27 @@ function regenerateVonaZovaCorePatch(
293
310
  mkdirSync(dirname(editDir), { recursive: true });
294
311
 
295
312
  try {
313
+ updateVonaPatchedDependency();
314
+ execInherited(`pnpm --dir "${VONA_DIR}" install`);
315
+
296
316
  execInherited(
297
317
  `pnpm --dir "${VONA_DIR}" patch zova-core@${targetVersion} --edit-dir "${editDir}" --ignore-existing`,
298
318
  );
299
319
  applyKnownZovaCorePatchEdits(editDir);
300
- execInherited(`pnpm --dir "${VONA_DIR}" patch-commit "${editDir}"`);
301
320
 
302
- normalizeVonaPatchedDependency(targetVersion);
321
+ ensureFileExists(newPatchFilePath);
322
+ execInherited(
323
+ `pnpm --dir "${VONA_DIR}" patch-commit "${editDir}" --patches-dir "${VONA_PATCHES_DIR}"`,
324
+ );
303
325
 
326
+ updateVonaPatchedDependency(targetVersion);
304
327
  if (!existsSync(newPatchFilePath)) {
305
328
  throw new Error(`Expected regenerated patch file is missing: ${newPatchFilePath}`);
306
329
  }
307
330
  if (currentPatchedVersion !== targetVersion && existsSync(oldPatchFilePath)) {
308
331
  rmSync(oldPatchFilePath);
309
332
  }
333
+ execInherited(`pnpm --dir "${VONA_DIR}" install`);
310
334
  } finally {
311
335
  rmSync(editDir, { recursive: true, force: true });
312
336
  }
@@ -380,12 +404,6 @@ async function postReleaseCompensation(options: ReleaseOptions): Promise<void> {
380
404
  return;
381
405
  }
382
406
 
383
- if (compareVersions(localZovaCoreVersion, currentPatchedVersion) <= 0) {
384
- // eslint-disable-next-line
385
- console.log('No newer local zova-core version needs patch compensation. Skipping.');
386
- return;
387
- }
388
-
389
407
  regenerateVonaZovaCorePatch(currentPatchedVersion, localZovaCoreVersion, options.dryRun);
390
408
  refreshVonaLockfile(options.dryRun);
391
409
  verifyCompensationPatch(options.dryRun);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-jsx",
3
- "version": "1.1.69",
3
+ "version": "1.1.70",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "Zova JSX",
6
6
  "keywords": [
@@ -50,7 +50,7 @@
50
50
  "@cabloy/word-utils": "^2.1.14",
51
51
  "typestyle": "^2.4.0",
52
52
  "vue": "^3.5.38",
53
- "zova-core": "^5.1.64"
53
+ "zova-core": "^5.1.66"
54
54
  },
55
55
  "devDependencies": {
56
56
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova",
3
- "version": "5.1.121",
3
+ "version": "5.1.122",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "A vue3 framework with ioc",
6
6
  "keywords": [
@@ -45,8 +45,8 @@
45
45
  "postpack": "clean-package restore"
46
46
  },
47
47
  "dependencies": {
48
- "zova-core": "^5.1.64",
49
- "zova-suite-a-zova": "^5.1.120"
48
+ "zova-core": "^5.1.66",
49
+ "zova-suite-a-zova": "^5.1.121"
50
50
  },
51
51
  "devDependencies": {
52
52
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-core",
3
- "version": "5.1.64",
3
+ "version": "5.1.66",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "A vue3 framework with ioc",
6
6
  "keywords": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-zova",
3
- "version": "5.1.84",
3
+ "version": "5.1.85",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "zova",
6
6
  "keywords": [
@@ -43,7 +43,7 @@
43
43
  "@cabloy/word-utils": "^2.1.14",
44
44
  "defu": "^6.1.7",
45
45
  "luxon": "^3.7.2",
46
- "zova-jsx": "^1.1.69"
46
+ "zova-jsx": "^1.1.70"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@cabloy/cli": "^3.1.27",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-suite-a-zova",
3
- "version": "5.1.120",
3
+ "version": "5.1.121",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "zova",
6
6
  "license": "MIT",
@@ -32,7 +32,7 @@
32
32
  "zova-module-a-style": "^5.1.32",
33
33
  "zova-module-a-table": "^5.1.37",
34
34
  "zova-module-a-zod": "^5.1.35",
35
- "zova-module-a-zova": "^5.1.84"
35
+ "zova-module-a-zova": "^5.1.85"
36
36
  },
37
37
  "title": "a-zova"
38
38
  }