@git.zone/cli 6.8.0 → 6.10.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.
@@ -3,10 +3,11 @@ import * as paths from "../paths.js";
3
3
  import { logger } from "../gitzone.logging.js";
4
4
  import { getCliMode, printJson } from "../helpers.climode.js";
5
5
  import { inferVersionTypeFromPending, movePendingToVersion, readPendingChangelog, } from "../helpers.changelog.js";
6
- import { resolveReleaseDockerConfiguration, resolveReleaseWorkflow, resolveReleaseResumeConfiguration, } from "../helpers.workflow.js";
6
+ import { resolveReleaseDockerConfiguration, resolveReleaseWorkflow, resolveReleaseResumeConfiguration, assertGiteaAssetsGitDestination, } from "../helpers.workflow.js";
7
7
  import * as commitHelpers from "../mod_commit/mod.helpers.js";
8
8
  import { inspectReleaseBranch, integrateReleaseBranch, prepareReleaseIntegration, revalidatePreparedReleaseBranch, revalidateReleasePublicationState, releaseGitEnv, resolveReleaseMergeFlag, } from "./helpers.releasebranch.js";
9
- import { ReleaseJournalStore, createInitialReleaseDockerJournal, createInitialTargetStatus, finalizeJournalCompletion, normalizeReleaseGitRemoteName, normalizeReleaseVersion, resolveGitCommonDirectory, getReleaseArtifacts, releasePackageArtifactFile, } from "./classes.releasejournal.js";
9
+ import { ReleaseJournalStore, createInitialReleaseDockerJournal, createInitialTargetStatus, finalizeJournalCompletion, normalizeReleaseGitRemoteName, normalizeReleaseVersion, resolveGitCommonDirectory, getReleaseArtifacts, hasReleasePackages, releasePackageArtifactFile, } from "./classes.releasejournal.js";
10
+ import { GiteaAssetsClient, prepareGiteaAssets, } from "./helpers.giteaassets.js";
10
11
  import { assertNoLegacyNpmPublisher, assertPnpmReleaseCapability, hashReleaseDestination, normalizeNpmRegistryUrl, packNpmArtifact, verifyStoredNpmArtifact, } from "./helpers.npmartifact.js";
11
12
  import { executeReleasePublication } from "./helpers.releasepublication.js";
12
13
  import { assertPackageReleaseRecovery, assertRecoveryUnpublished, withReleasePreparationRecovery, } from "./helpers.releasepreparation.js";
@@ -67,6 +68,8 @@ const runInternal = async (argvArg) => {
67
68
  mergeRequested,
68
69
  planMode: workflow.confirmation === "plan",
69
70
  });
71
+ if (workflow.giteaAssets)
72
+ assertGiteaAssetsGitDestination(workflow.giteaAssets, branchContext.pushUrl || "");
70
73
  printReleasePlan(workflow, branchContext);
71
74
  if (workflow.targets.includes("npm") &&
72
75
  workflow.npmPackageSource === "tspublish") {
@@ -81,7 +84,7 @@ const runInternal = async (argvArg) => {
81
84
  const preflightTsdocker = workflow.targets.includes("docker")
82
85
  ? new TsdockerReleaseClient(smartshellInstance, branchContext.sourceCwd)
83
86
  : undefined;
84
- await assertFreshReleaseCapabilities(smartshellInstance, workflow, branchContext.sourceCwd, branchContext.pushUrl, preflightTsdocker);
87
+ const pnpmCapability = await assertFreshReleaseCapabilities(smartshellInstance, workflow, branchContext.sourceCwd, branchContext.pushUrl, preflightTsdocker);
85
88
  const pending = await readPendingChangelog(plugins.path.join(branchContext.sourceCwd, workflow.changelogFile), workflow.changelogPendingSection);
86
89
  if (pending.isEmpty && !argvArg["allow-empty"] && !argvArg.allowEmpty) {
87
90
  throw new Error("No pending changelog entries. Nothing to release.");
@@ -90,6 +93,18 @@ const runInternal = async (argvArg) => {
90
93
  const projectType = await commitHelpers.detectProjectType(branchContext.sourceCwd);
91
94
  const currentVersion = await commitHelpers.readCurrentVersion(projectType, branchContext.sourceCwd);
92
95
  const plannedVersion = commitHelpers.calculateNewVersion(currentVersion, versionType);
96
+ if (workflow.giteaAssets) {
97
+ const { tokenEnv, manifestPath, ...destination } = workflow.giteaAssets;
98
+ const token = process.env[tokenEnv];
99
+ if (!token)
100
+ throw new Error(`Gitea assets require the configured credential in ${tokenEnv}.`);
101
+ await new GiteaAssetsClient({
102
+ destination,
103
+ tag: `v${plannedVersion}`,
104
+ commit: branchContext.sourceOid,
105
+ token,
106
+ }).preflight();
107
+ }
93
108
  if (preflightTsdocker) {
94
109
  await preflightTsdocker.validate(createDockerQualificationRequest(workflow, branchContext.sourceCwd, plannedVersion, branchContext.sourceOid));
95
110
  }
@@ -142,6 +157,7 @@ const runInternal = async (argvArg) => {
142
157
  ? createDockerQualificationRequest(workflow, releaseCwd, newVersion, releaseRefs.mainOid)
143
158
  : undefined;
144
159
  const journalContext = await createReleaseJournal({
160
+ pnpmCapability,
145
161
  smartshell: smartshellInstance,
146
162
  workflow,
147
163
  releaseCwd,
@@ -154,6 +170,7 @@ const runInternal = async (argvArg) => {
154
170
  ensurePublicationState,
155
171
  });
156
172
  const finalJournal = await executeReleasePublication({
173
+ pnpmCapability,
157
174
  smartshell: smartshellInstance,
158
175
  cwd: releaseCwd,
159
176
  store: journalContext.store,
@@ -179,10 +196,18 @@ const assertFreshReleaseCapabilities = async (smartshellArg, workflowArg, cwdArg
179
196
  await assertNoLegacyNpmPublisher(cwdArg);
180
197
  }
181
198
  if (workflowArg.targets.includes("npm")) {
182
- await assertPnpmReleaseCapability(smartshellArg, cwdArg);
199
+ return assertPnpmReleaseCapability(smartshellArg, cwdArg);
183
200
  }
184
201
  };
185
202
  const assertReleaseConfiguration = (workflowArg, mergeRequestedArg) => {
203
+ if (workflowArg.targets.includes("giteaAssets") &&
204
+ (!workflowArg.giteaAssets ||
205
+ !workflowArg.targets.includes("git") ||
206
+ !workflowArg.pushBranch ||
207
+ !workflowArg.pushTags ||
208
+ workflowArg.targets.includes("docker") ||
209
+ mergeRequestedArg))
210
+ throw new Error("Gitea asset releases require integrated main and Git branch/tag publication without Docker.");
186
211
  if (workflowArg.targets.includes("docker")) {
187
212
  if (mergeRequestedArg) {
188
213
  throw new Error("Docker releases cannot use --merge because qualification must precede every remote publication.");
@@ -270,7 +295,7 @@ export const createReleaseJournal = async (optionsArg) => {
270
295
  throw new Error("tspublish package plan changed during preparation.");
271
296
  }
272
297
  for (const module of prepared) {
273
- const packed = await packNpmArtifact(optionsArg.smartshell, module.directory, temporaryDirectory, optionsArg.version, releasePackageArtifactFile(module.name));
298
+ const packed = await packNpmArtifact(optionsArg.smartshell, module.directory, temporaryDirectory, optionsArg.version, optionsArg.pnpmCapability, releasePackageArtifactFile(module.name));
274
299
  if (packed.packageName !== module.name)
275
300
  throw new Error("Prepared package identity changed during packing.");
276
301
  packages.push({ folder: module.folder, artifact: packed });
@@ -278,7 +303,7 @@ export const createReleaseJournal = async (optionsArg) => {
278
303
  await plugins.fs.rm(outputDirectory, { recursive: true, force: true });
279
304
  }
280
305
  else {
281
- artifact = await packNpmArtifact(optionsArg.smartshell, npmSourceCwd, temporaryDirectory, optionsArg.version);
306
+ artifact = await packNpmArtifact(optionsArg.smartshell, npmSourceCwd, temporaryDirectory, optionsArg.version, optionsArg.pnpmCapability);
282
307
  }
283
308
  await verifyCleanTree(optionsArg.smartshell, npmSourceCwd, "npm pack lifecycle scripts changed the release worktree. Aborting release.");
284
309
  await optionsArg.ensurePublicationState();
@@ -290,9 +315,41 @@ export const createReleaseJournal = async (optionsArg) => {
290
315
  }
291
316
  const now = new Date().toISOString();
292
317
  const gitStatus = createInitialTargetStatus(gitEnabled);
318
+ const assetConfiguration = optionsArg.workflow.giteaAssets;
319
+ let giteaAssets;
320
+ if (optionsArg.workflow.targets.includes("giteaAssets")) {
321
+ if (!assetConfiguration || !gitEnabled || optionsArg.dockerRequest)
322
+ throw new Error("Invalid Gitea asset target combination.");
323
+ assertGiteaAssetsGitDestination(assetConfiguration, optionsArg.releasePushUrl);
324
+ const { tokenEnv, manifestPath, ...destination } = assetConfiguration;
325
+ const assets = await prepareGiteaAssets({
326
+ repositoryRoot: npmSourceCwd,
327
+ manifestPath,
328
+ version: optionsArg.version,
329
+ tag: `v${optionsArg.version}`,
330
+ artifactDirectory: temporaryDirectory,
331
+ destination,
332
+ });
333
+ giteaAssets = {
334
+ destination,
335
+ tokenEnv,
336
+ manifestPath,
337
+ release: { ...createInitialTargetStatus(true), id: null },
338
+ assets: assets.map((asset) => ({
339
+ ...createInitialTargetStatus(true),
340
+ asset,
341
+ })),
342
+ };
343
+ }
293
344
  const journal = finalizeJournalCompletion({
294
345
  kind: "gitzone-release-journal",
295
- schemaVersion: packages.length ? 3 : optionsArg.dockerRequest ? 2 : 1,
346
+ schemaVersion: giteaAssets
347
+ ? 4
348
+ : packages.length
349
+ ? 3
350
+ : optionsArg.dockerRequest
351
+ ? 2
352
+ : 1,
296
353
  revision: 1,
297
354
  release: {
298
355
  version: optionsArg.version,
@@ -301,7 +358,7 @@ export const createReleaseJournal = async (optionsArg) => {
301
358
  tagOid: optionsArg.refs.tagOid,
302
359
  },
303
360
  artifact,
304
- ...(packages.length ? { packages } : {}),
361
+ ...(packages.length || giteaAssets ? { packages } : {}),
305
362
  git: {
306
363
  state: gitStatus.state,
307
364
  attempts: gitStatus.attempts,
@@ -340,6 +397,7 @@ export const createReleaseJournal = async (optionsArg) => {
340
397
  })
341
398
  : [],
342
399
  },
400
+ ...(giteaAssets ? { giteaAssets } : {}),
343
401
  ...(optionsArg.dockerRequest
344
402
  ? {
345
403
  docker: createInitialReleaseDockerJournal(optionsArg.dockerRequest),
@@ -455,7 +513,7 @@ const runReleaseRecover = async (argvArg, mode) => {
455
513
  console.log(`Recover existing ${packageName}@${version}\ncommit: ${refs.mainOid}\ntag object: ${refs.tagOid}\nGit destination: ${branch.gitRemote}\nnpm registries: ${workflow.npmRegistries.join(", ")}\nBuild and pack an isolated checkout, install its journal, then publish configured targets.`);
456
514
  if (argvArg.plan)
457
515
  return;
458
- await assertFreshReleaseCapabilities(shell, workflow, paths.cwd, branch.pushUrl);
516
+ const pnpmCapability = await assertFreshReleaseCapabilities(shell, workflow, paths.cwd, branch.pushUrl);
459
517
  if (!mode.yes) {
460
518
  if (!mode.interactive)
461
519
  throw new Error("Release recovery requires an interactive terminal or -y.");
@@ -473,6 +531,7 @@ const runReleaseRecover = async (argvArg, mode) => {
473
531
  await assertRecoveryUnpublished(options, packageName);
474
532
  };
475
533
  const context = await withReleasePreparationRecovery(options, ensureUnpublished, async (checkout, ensureCheckout) => createReleaseJournal({
534
+ pnpmCapability,
476
535
  smartshell: shell,
477
536
  workflow,
478
537
  releaseCwd: paths.cwd,
@@ -487,6 +546,7 @@ const runReleaseRecover = async (argvArg, mode) => {
487
546
  },
488
547
  }));
489
548
  const result = await executeReleasePublication({
549
+ pnpmCapability,
490
550
  smartshell: shell,
491
551
  cwd: paths.cwd,
492
552
  store: context.store,
@@ -547,6 +607,7 @@ const runReleaseResume = async (argvArg, modeArg) => {
547
607
  const resumeConfiguration = await resolveReleaseResumeConfiguration({
548
608
  git: gitEnabled,
549
609
  npm: journal.npm.registries.length > 0,
610
+ giteaAssets: journal.schemaVersion === 4,
550
611
  });
551
612
  await assertResumeConfiguration(resumeConfiguration, journal, paths.cwd);
552
613
  let tsdocker;
@@ -575,8 +636,9 @@ const runReleaseResume = async (argvArg, modeArg) => {
575
636
  await tsdocker.assertCapabilities();
576
637
  await tsdocker.validate(journal.docker.request);
577
638
  }
639
+ let pnpmCapability;
578
640
  if (getReleaseArtifacts(journal).length) {
579
- await assertPnpmReleaseCapability(smartshellInstance, paths.cwd);
641
+ pnpmCapability = await assertPnpmReleaseCapability(smartshellInstance, paths.cwd);
580
642
  await assertNoLegacyNpmPublisher(paths.cwd);
581
643
  for (const artifact of getReleaseArtifacts(journal)) {
582
644
  await verifyStoredNpmArtifact(store.getArtifactPath(version, artifact.file), artifact);
@@ -620,6 +682,7 @@ const runReleaseResume = async (argvArg, modeArg) => {
620
682
  await revalidateReleasePublicationState(smartshellInstance, branchContext, journal.release.mainOid, expectedRemoteMainOidArg);
621
683
  };
622
684
  const finalJournal = await executeReleasePublication({
685
+ pnpmCapability,
623
686
  smartshell: smartshellInstance,
624
687
  cwd: paths.cwd,
625
688
  store,
@@ -644,10 +707,17 @@ const assertResumeConfiguration = async (workflowArg, journalArg, cwdArg) => {
644
707
  ]) ||
645
708
  workflowArg.npmAccessLevel !== journalArg.npm.access ||
646
709
  workflowArg.npmPackageSource !==
647
- (journalArg.schemaVersion === 3 ? "tspublish" : "root") ||
710
+ (hasReleasePackages(journalArg) ? "tspublish" : "root") ||
648
711
  workflowArg.npmAlreadyPublished !== journalArg.npm.alreadyPublished)) {
649
712
  throw new Error("Current npm release configuration does not match the journal.");
650
713
  }
714
+ if (journalArg.schemaVersion === 4) {
715
+ const { destination, tokenEnv, manifestPath } = journalArg.giteaAssets;
716
+ if (JSON.stringify(workflowArg.giteaAssets) !==
717
+ JSON.stringify({ ...destination, tokenEnv, manifestPath })) {
718
+ throw new Error("Current Gitea asset configuration does not match the journal.");
719
+ }
720
+ }
651
721
  if (journalArg.git.state !== "skipped" ||
652
722
  getReleaseArtifacts(journalArg).length) {
653
723
  await assertNoLegacyNpmPublisher(cwdArg);
@@ -662,10 +732,15 @@ const printReleaseJournalSummary = (journalArg) => {
662
732
  for (const registry of journalArg.npm.registries) {
663
733
  console.log(`npm ${registry.packageName ? `${registry.packageName} ` : ""}${registry.registry}: ${registry.state}`);
664
734
  }
665
- if (journalArg.schemaVersion === 3) {
735
+ if (hasReleasePackages(journalArg)) {
666
736
  for (const { artifact } of journalArg.packages)
667
737
  console.log(`artifact ${artifact.packageName}: ${artifact.integrity} (${artifact.sha256})`);
668
738
  }
739
+ if (journalArg.schemaVersion === 4) {
740
+ console.log(`Gitea release: ${journalArg.giteaAssets.release.state}`);
741
+ for (const entry of journalArg.giteaAssets.assets)
742
+ console.log(`asset ${entry.asset.name}: ${entry.state} (${entry.asset.sha256})`);
743
+ }
669
744
  if (journalArg.schemaVersion === 2) {
670
745
  console.log(`docker qualification ${journalArg.docker.request.candidateId}: ${journalArg.docker.qualification.state}`);
671
746
  for (const promotion of journalArg.docker.promotions) {
@@ -852,6 +927,12 @@ function printReleasePlan(workflow, branchContextArg) {
852
927
  console.log(`npm package source: ${workflow.npmPackageSource}`);
853
928
  console.log(`npm registries: ${workflow.npmRegistries.length > 0 ? workflow.npmRegistries.join(", ") : "none"}`);
854
929
  }
930
+ if (workflow.giteaAssets) {
931
+ const assets = workflow.giteaAssets;
932
+ console.log(`Gitea assets: ${assets.apiOrigin}/${assets.owner}/${assets.repository}`);
933
+ console.log(`asset manifest: ${assets.manifestPath}`);
934
+ console.log(`asset credential variable: ${assets.tokenEnv}`);
935
+ }
855
936
  if (workflow.targets.includes("docker")) {
856
937
  console.log(`docker engine: ${workflow.dockerEngine}`);
857
938
  console.log(`docker registry: ${workflow.dockerRegistry || "all configured registries"}`);
@@ -902,7 +983,7 @@ export function showHelp(mode) {
902
983
  { flag: "-p, --push", description: "Explicitly select the git target" },
903
984
  {
904
985
  flag: "--target <names>",
905
- description: "Replace configured targets with a non-empty subset of git,npm,docker",
986
+ description: "Replace configured targets with a non-empty subset of git,giteaAssets,npm,docker",
906
987
  },
907
988
  { flag: "--npm", description: "Explicitly select the npm target" },
908
989
  {
@@ -911,7 +992,7 @@ export function showHelp(mode) {
911
992
  },
912
993
  {
913
994
  flag: "--no-publish",
914
- description: "Remove npm and Docker without implicitly enabling Git",
995
+ description: "Remove Gitea assets, npm and Docker without implicitly enabling Git",
915
996
  },
916
997
  {
917
998
  flag: "--merge",
@@ -952,10 +1033,10 @@ export function showHelp(mode) {
952
1033
  console.log(" -b, --build Build after creating local release metadata");
953
1034
  console.log(" --no-build Disable the post-metadata release build");
954
1035
  console.log(" -p, --push Explicitly select the git target");
955
- console.log(" --target <names> Replace configured targets with a non-empty subset of git,npm,docker");
1036
+ console.log(" --target <names> Replace configured targets with a non-empty subset of git,giteaAssets,npm,docker");
956
1037
  console.log(" --npm Explicitly select the npm target");
957
1038
  console.log(" --docker Select digest-qualified Docker publication through project-local tSDocker >= 3.5.1");
958
- console.log(" --no-publish Remove npm and Docker without implicitly enabling Git");
1039
+ console.log(" --no-publish Remove Gitea assets, npm and Docker without implicitly enabling Git");
959
1040
  console.log(" --merge Fast-forward and lease-push a cleanly rebased feature branch before release metadata");
960
1041
  console.log(" --major|--minor|--patch Override inferred semver level");
961
1042
  console.log(" --plan Show workflow without fetching or mutating refs, files, index, or worktrees");
@@ -965,4 +1046,4 @@ export function showHelp(mode) {
965
1046
  console.log(" --recover-attempt Recover one exact 32-character hexadecimal attempt ID after proving its publisher stopped");
966
1047
  console.log("");
967
1048
  }
968
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb2RfcmVsZWFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isb0JBQW9CLEVBQ3BCLG9CQUFvQixHQUNyQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsc0JBQXNCLEVBQ3RCLGlDQUFpQyxHQUdsQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sS0FBSyxhQUFhLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIseUJBQXlCLEVBQ3pCLCtCQUErQixFQUMvQixpQ0FBaUMsRUFDakMsYUFBYSxFQUNiLHVCQUF1QixHQUV4QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsaUNBQWlDLEVBQ2pDLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsNkJBQTZCLEVBQzdCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLDBCQUEwQixHQU0zQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsZUFBZSxFQUNmLHVCQUF1QixHQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9B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
1049
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb2RfcmVsZWFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isb0JBQW9CLEVBQ3BCLG9CQUFvQixHQUNyQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsc0JBQXNCLEVBQ3RCLGlDQUFpQyxFQUNqQywrQkFBK0IsR0FHaEMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssYUFBYSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QiwrQkFBK0IsRUFDL0IsaUNBQWlDLEVBQ2pDLGFBQWEsRUFDYix1QkFBdUIsR0FFeEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyx5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsMEJBQTBCLEdBTTNCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixrQkFBa0IsR0FDbkIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFD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
@@ -0,0 +1,50 @@
1
+ export interface IGiteaAssetDestination {
2
+ apiOrigin: string;
3
+ owner: string;
4
+ repository: string;
5
+ }
6
+ export interface IGiteaFrozenAsset {
7
+ name: string;
8
+ size: number;
9
+ sha256: string;
10
+ fileName: string;
11
+ publicUrl: string;
12
+ }
13
+ export interface IPrepareGiteaAssetsOptions {
14
+ repositoryRoot: string;
15
+ manifestPath: string;
16
+ version: string;
17
+ tag: string;
18
+ artifactDirectory: string;
19
+ destination: IGiteaAssetDestination;
20
+ }
21
+ export interface IGiteaRelease {
22
+ id: number;
23
+ tag: string;
24
+ publicUrl: string;
25
+ }
26
+ export interface IGiteaAssetInspection {
27
+ present: IGiteaFrozenAsset[];
28
+ missing: IGiteaFrozenAsset[];
29
+ }
30
+ export interface IGiteaAssetsClientOptions {
31
+ destination: IGiteaAssetDestination;
32
+ tag: string;
33
+ commit: string;
34
+ token: string;
35
+ fetchImplementation?: typeof fetch;
36
+ timeoutMs?: number;
37
+ }
38
+ export interface IGiteaAssetPreflight {
39
+ repositoryId: number;
40
+ /** Issue-attachment setting; Gitea's release FILE_MAX_SIZE is separate. */
41
+ generalAttachmentMaximumBytes: number;
42
+ }
43
+ export interface IGiteaAssetsClient {
44
+ preflight(): Promise<IGiteaAssetPreflight>;
45
+ inspectRelease(): Promise<IGiteaRelease | null>;
46
+ createRelease(): Promise<IGiteaRelease>;
47
+ inspectAssets(releaseId: number, expected: IGiteaFrozenAsset[]): Promise<IGiteaAssetInspection>;
48
+ uploadAsset(releaseId: number, asset: IGiteaFrozenAsset, artifactDirectory: string): Promise<void>;
49
+ verifyComplete(releaseId: number, expected: IGiteaFrozenAsset[]): Promise<void>;
50
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5naXRlYWFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL21vZF9yZWxlYXNlL2ludGVyZmFjZXMuZ2l0ZWFhc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@git.zone/cli",
3
3
  "private": false,
4
- "version": "6.8.0",
4
+ "version": "6.10.0",
5
5
  "description": "A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.",
6
6
  "main": "dist_ts/index.js",
7
7
  "typings": "dist_ts/index.d.ts",
@@ -42,14 +42,14 @@
42
42
  "@git.zone/tsbuild": "^4.4.2",
43
43
  "@git.zone/tspack": "1.3.0",
44
44
  "@git.zone/tsrun": "^2.0.6",
45
- "@git.zone/tstest": "^5.0.0",
45
+ "@git.zone/tstest": "6.0.0",
46
46
  "@types/node": "26.4.1"
47
47
  },
48
48
  "dependencies": {
49
49
  "@aws-sdk/client-s3": "3.1095.0",
50
50
  "@git.zone/tsdoc": "^2.1.1",
51
51
  "@git.zone/tsdocker": "3.5.2",
52
- "@git.zone/tspublish": "^1.12.1",
52
+ "@git.zone/tspublish": "^1.14.0",
53
53
  "@push.rocks/commitinfo": "^1.0.13",
54
54
  "@push.rocks/early": "^4.0.4",
55
55
  "@push.rocks/projectinfo": "^5.1.0",