@git.zone/cli 3.0.2 → 3.2.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,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@git.zone/cli',
6
- version: '3.0.2',
6
+ version: '3.2.0',
7
7
  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.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxlQUFlO0lBQ3JCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSwrTEFBK0w7Q0FDN00sQ0FBQSJ9
@@ -0,0 +1,3 @@
1
+ export type TTsdockerBinaryAccess = (binaryPathArg: string) => Promise<void>;
2
+ export declare const getProjectTsdockerBinPath: (projectRootArg: string, platformArg?: NodeJS.Platform) => string;
3
+ export declare const hasInstalledProjectTsdockerBinary: (projectRootArg: string, platformArg?: NodeJS.Platform, accessArg?: TTsdockerBinaryAccess) => Promise<boolean>;
@@ -0,0 +1,16 @@
1
+ import * as plugins from './plugins.js';
2
+ export const getProjectTsdockerBinPath = (projectRootArg, platformArg = process.platform) => {
3
+ return plugins.path.join(projectRootArg, 'node_modules', '.bin', platformArg === 'win32' ? 'tsdocker.CMD' : 'tsdocker');
4
+ };
5
+ export const hasInstalledProjectTsdockerBinary = async (projectRootArg, platformArg = process.platform, accessArg = async (binaryPathArg) => {
6
+ await plugins.fs.access(binaryPathArg);
7
+ }) => {
8
+ try {
9
+ await accessArg(getProjectTsdockerBinPath(projectRootArg, platformArg));
10
+ return true;
11
+ }
12
+ catch {
13
+ return false;
14
+ }
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy50c2RvY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2hlbHBlcnMudHNkb2NrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFJeEMsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsY0FBc0IsRUFDdEIsY0FBK0IsT0FBTyxDQUFDLFFBQVEsRUFDdkMsRUFBRTtJQUNWLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3RCLGNBQWMsRUFDZCxjQUFjLEVBQ2QsTUFBTSxFQUNOLFdBQVcsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUN0RCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsS0FBSyxFQUNwRCxjQUFzQixFQUN0QixjQUErQixPQUFPLENBQUMsUUFBUSxFQUMvQyxZQUFtQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7SUFDekQsTUFBTSxPQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN6QyxDQUFDLEVBQ2lCLEVBQUU7SUFDcEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxTQUFTLENBQUMseUJBQXlCLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDeEUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQyxDQUFDIn0=
@@ -38,6 +38,9 @@ export interface IReleaseNpmTargetConfig {
38
38
  export interface IReleaseDockerTargetConfig {
39
39
  enabled?: boolean;
40
40
  engine?: "tsdocker";
41
+ registry?: string;
42
+ buildRegistries?: string[];
43
+ test?: boolean;
41
44
  patterns?: string[];
42
45
  cached?: boolean;
43
46
  parallel?: boolean | number;
@@ -98,11 +101,20 @@ export interface IResolvedReleaseWorkflow {
98
101
  npmAlreadyPublished: "success" | "error";
99
102
  dockerEnabled: boolean;
100
103
  dockerEngine: "tsdocker";
104
+ dockerRegistry?: string;
105
+ dockerBuildRegistries: string[];
106
+ dockerTest: boolean;
101
107
  dockerPatterns: string[];
102
108
  dockerCached: boolean;
103
109
  dockerParallel: boolean | number;
104
110
  dockerContext?: string;
105
111
  dockerNoBuild: boolean;
106
112
  }
113
+ export type TTsdockerMinimumVersion = readonly [number, number, number];
114
+ export declare const getTsdockerMinimumVersion: (buildRegistriesRequestedArg: boolean, imageTestsRequestedArg: boolean) => TTsdockerMinimumVersion | undefined;
115
+ export declare const formatTsdockerMinimumVersion: (minimumVersionArg: TTsdockerMinimumVersion) => string;
116
+ export declare const supportsTsdockerMinimumVersion: (versionOutputArg: string, minimumVersionArg: TTsdockerMinimumVersion) => boolean;
117
+ export declare const resolveDockerTestSetting: (valueArg: unknown) => boolean;
118
+ export declare const getDeclaredTsdockerRange: (packageJsonArg: unknown) => string | undefined;
107
119
  export declare const resolveCommitWorkflow: (argvArg: any) => Promise<IResolvedCommitWorkflow>;
108
120
  export declare const resolveReleaseWorkflow: (argvArg: any) => Promise<IResolvedReleaseWorkflow>;
@@ -14,6 +14,60 @@ const unique = (items) => {
14
14
  }
15
15
  return result;
16
16
  };
17
+ export const getTsdockerMinimumVersion = (buildRegistriesRequestedArg, imageTestsRequestedArg) => {
18
+ if (imageTestsRequestedArg) {
19
+ return [3, 4, 0];
20
+ }
21
+ if (buildRegistriesRequestedArg) {
22
+ return [3, 3, 0];
23
+ }
24
+ return undefined;
25
+ };
26
+ export const formatTsdockerMinimumVersion = (minimumVersionArg) => minimumVersionArg.join(".");
27
+ export const supportsTsdockerMinimumVersion = (versionOutputArg, minimumVersionArg) => {
28
+ const match = versionOutputArg.trim().match(/(?:^|\s)(\d+)\.(\d+)\.(\d+)(?:\s|$)/);
29
+ if (!match) {
30
+ return false;
31
+ }
32
+ const actualVersion = [Number(match[1]), Number(match[2]), Number(match[3])];
33
+ for (let index = 0; index < actualVersion.length; index += 1) {
34
+ if (actualVersion[index] > minimumVersionArg[index]) {
35
+ return true;
36
+ }
37
+ if (actualVersion[index] < minimumVersionArg[index]) {
38
+ return false;
39
+ }
40
+ }
41
+ return true;
42
+ };
43
+ export const resolveDockerTestSetting = (valueArg) => {
44
+ if (valueArg === undefined) {
45
+ return false;
46
+ }
47
+ if (typeof valueArg !== "boolean") {
48
+ throw new Error("release.targets.docker.test must be true or false");
49
+ }
50
+ return valueArg;
51
+ };
52
+ const isStringRecord = (valueArg) => {
53
+ return typeof valueArg === "object" && valueArg !== null && !Array.isArray(valueArg);
54
+ };
55
+ export const getDeclaredTsdockerRange = (packageJsonArg) => {
56
+ if (!isStringRecord(packageJsonArg)) {
57
+ return undefined;
58
+ }
59
+ for (const dependencyField of ["devDependencies", "dependencies"]) {
60
+ const dependencies = packageJsonArg[dependencyField];
61
+ if (!isStringRecord(dependencies)) {
62
+ continue;
63
+ }
64
+ const versionRange = dependencies["@git.zone/tsdocker"];
65
+ if (typeof versionRange === "string" && versionRange.trim()) {
66
+ return versionRange.trim();
67
+ }
68
+ }
69
+ return undefined;
70
+ };
17
71
  const normalizeConfirmation = (value, fallback) => {
18
72
  if (value === "prompt" || value === "auto" || value === "plan") {
19
73
  return value;
@@ -254,6 +308,16 @@ export const resolveReleaseWorkflow = async (argvArg) => {
254
308
  npmAlreadyPublished: npmConfig.alreadyPublished || "success",
255
309
  dockerEnabled,
256
310
  dockerEngine: "tsdocker",
311
+ dockerRegistry: typeof dockerConfig.registry === "string" && dockerConfig.registry.trim()
312
+ ? dockerConfig.registry.trim()
313
+ : undefined,
314
+ dockerBuildRegistries: Array.isArray(dockerConfig.buildRegistries)
315
+ ? dockerConfig.buildRegistries
316
+ .filter((registryArg) => typeof registryArg === "string")
317
+ .map((registryArg) => registryArg.trim())
318
+ .filter(Boolean)
319
+ : [],
320
+ dockerTest: resolveDockerTestSetting(dockerConfig.test),
257
321
  dockerPatterns: Array.isArray(dockerConfig.patterns) ? dockerConfig.patterns : [],
258
322
  dockerCached: dockerConfig.cached ?? false,
259
323
  dockerParallel: dockerConfig.parallel ?? false,
@@ -263,4 +327,4 @@ export const resolveReleaseWorkflow = async (argvArg) => {
263
327
  dockerNoBuild: dockerConfig.noBuild ?? false,
264
328
  };
265
329
  };
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2hlbHBlcnMud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFrSTdELE1BQU0sZ0JBQWdCLEdBQTRDO0lBQ2hFLENBQUMsRUFBRSxRQUFRO0lBQ1gsQ0FBQyxFQUFFLE1BQU07SUFDVCxDQUFDLEVBQUUsT0FBTztJQUNWLENBQUMsRUFBRSxNQUFNO0NBQ1YsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFHLENBQUksS0FBVSxFQUFPLEVBQUU7SUFDcEMsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO0lBQ3ZCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixLQUFjLEVBQ2QsUUFBMkIsRUFDUixFQUFFO0lBQ3JCLElBQUksS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssTUFBTSxJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUMvRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUU7SUFDbkQsSUFBSSxhQUFhLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVB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
330
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2hlbHBlcnMud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUF3STdELE1BQU0sZ0JBQWdCLEdBQTRDO0lBQ2hFLENBQUMsRUFBRSxRQUFRO0lBQ1gsQ0FBQyxFQUFFLE1BQU07SUFDVCxDQUFDLEVBQUUsT0FBTztJQUNWLENBQUMsRUFBRSxNQUFNO0NBQ1YsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFHLENBQUksS0FBVSxFQUFPLEVBQUU7SUFDcEMsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO0lBQ3ZCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBSUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsMkJBQW9DLEVBQ3BDLHNCQUErQixFQUNNLEVBQUU7SUFDdkMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLDJCQUEyQixFQUFFLENBQUM7UUFDaEMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQzFDLGlCQUEwQyxFQUNsQyxFQUFFLENBQUMsaUJBQWlCLENB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