@git.zone/cli 2.13.13 → 2.14.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.
Files changed (39) hide show
  1. package/dist_ts/00_commitinfo_data.js +2 -2
  2. package/dist_ts/gitzone.cli.js +46 -35
  3. package/dist_ts/helpers.climode.d.ts +22 -0
  4. package/dist_ts/helpers.climode.js +158 -0
  5. package/dist_ts/helpers.smartconfig.d.ts +11 -0
  6. package/dist_ts/helpers.smartconfig.js +139 -0
  7. package/dist_ts/mod_commit/index.d.ts +2 -0
  8. package/dist_ts/mod_commit/index.js +204 -92
  9. package/dist_ts/mod_config/index.d.ts +7 -2
  10. package/dist_ts/mod_config/index.js +390 -176
  11. package/dist_ts/mod_format/classes.formatcontext.d.ts +11 -2
  12. package/dist_ts/mod_format/classes.formatcontext.js +14 -4
  13. package/dist_ts/mod_format/formatters/packagejson.formatter.js +1 -67
  14. package/dist_ts/mod_format/formatters/smartconfig.formatter.d.ts +2 -7
  15. package/dist_ts/mod_format/formatters/smartconfig.formatter.js +57 -93
  16. package/dist_ts/mod_format/index.d.ts +4 -1
  17. package/dist_ts/mod_format/index.js +235 -67
  18. package/dist_ts/mod_format/mod.plugins.d.ts +1 -2
  19. package/dist_ts/mod_format/mod.plugins.js +2 -3
  20. package/dist_ts/mod_services/index.d.ts +2 -0
  21. package/dist_ts/mod_services/index.js +366 -168
  22. package/dist_ts/mod_standard/index.d.ts +3 -1
  23. package/dist_ts/mod_standard/index.js +159 -59
  24. package/package.json +1 -1
  25. package/readme.hints.md +25 -32
  26. package/readme.md +87 -65
  27. package/ts/00_commitinfo_data.ts +1 -1
  28. package/ts/gitzone.cli.ts +50 -38
  29. package/ts/helpers.climode.ts +212 -0
  30. package/ts/helpers.smartconfig.ts +192 -0
  31. package/ts/mod_commit/index.ts +325 -98
  32. package/ts/mod_config/index.ts +490 -182
  33. package/ts/mod_format/classes.formatcontext.ts +20 -3
  34. package/ts/mod_format/formatters/packagejson.formatter.ts +0 -91
  35. package/ts/mod_format/formatters/smartconfig.formatter.ts +67 -94
  36. package/ts/mod_format/index.ts +294 -81
  37. package/ts/mod_format/mod.plugins.ts +0 -2
  38. package/ts/mod_services/index.ts +550 -183
  39. package/ts/mod_standard/index.ts +191 -58
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@git.zone/cli',
6
- version: '2.13.13',
6
+ version: '2.14.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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxlQUFlO0lBQ3JCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFdBQVcsRUFBRSwrTEFBK0w7Q0FDN00sQ0FBQSJ9
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxlQUFlO0lBQ3JCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSwrTEFBK0w7Q0FDN00sQ0FBQSJ9
@@ -1,61 +1,72 @@
1
- import * as plugins from './plugins.js';
2
- import * as paths from './paths.js';
3
- import { GitzoneConfig } from './classes.gitzoneconfig.js';
1
+ import * as plugins from "./plugins.js";
2
+ import * as paths from "./paths.js";
3
+ import { GitzoneConfig } from "./classes.gitzoneconfig.js";
4
+ import { getRawCliMode } from "./helpers.climode.js";
4
5
  const gitzoneSmartcli = new plugins.smartcli.Smartcli();
5
6
  export let run = async () => {
6
7
  const done = plugins.smartpromise.defer();
8
+ const rawCliMode = await getRawCliMode();
7
9
  // get packageInfo
8
10
  const projectInfo = new plugins.projectinfo.ProjectInfo(paths.packageDir);
9
11
  // check for updates
10
- const smartupdateInstance = new plugins.smartupdate.SmartUpdate();
11
- await smartupdateInstance.check('gitzone', projectInfo.npm.version, 'http://gitzone.gitlab.io/gitzone/changelog.html');
12
- console.log('---------------------------------------------');
12
+ if (rawCliMode.checkUpdates) {
13
+ const smartupdateInstance = new plugins.smartupdate.SmartUpdate();
14
+ await smartupdateInstance.check("gitzone", projectInfo.npm.version, "http://gitzone.gitlab.io/gitzone/changelog.html");
15
+ }
16
+ if (rawCliMode.output === "human") {
17
+ console.log("---------------------------------------------");
18
+ }
13
19
  gitzoneSmartcli.addVersion(projectInfo.npm.version);
14
20
  // ======> Standard task <======
15
21
  /**
16
22
  * standard task
17
23
  */
18
24
  gitzoneSmartcli.standardCommand().subscribe(async (argvArg) => {
19
- const modStandard = await import('./mod_standard/index.js');
20
- await modStandard.run();
25
+ const modStandard = await import("./mod_standard/index.js");
26
+ await modStandard.run(argvArg);
27
+ });
28
+ gitzoneSmartcli.addCommand("help").subscribe(async (argvArg) => {
29
+ const modStandard = await import("./mod_standard/index.js");
30
+ await modStandard.run(argvArg);
21
31
  });
22
32
  // ======> Specific tasks <======
23
33
  /**
24
34
  * commit something
25
35
  */
26
- gitzoneSmartcli.addCommand('commit').subscribe(async (argvArg) => {
27
- const modCommit = await import('./mod_commit/index.js');
36
+ gitzoneSmartcli.addCommand("commit").subscribe(async (argvArg) => {
37
+ const modCommit = await import("./mod_commit/index.js");
28
38
  await modCommit.run(argvArg);
29
39
  });
30
40
  /**
31
41
  * deprecate a package on npm
32
42
  */
33
- gitzoneSmartcli.addCommand('deprecate').subscribe(async (argvArg) => {
34
- const modDeprecate = await import('./mod_deprecate/index.js');
43
+ gitzoneSmartcli.addCommand("deprecate").subscribe(async (argvArg) => {
44
+ const modDeprecate = await import("./mod_deprecate/index.js");
35
45
  await modDeprecate.run();
36
46
  });
37
47
  /**
38
48
  * docker
39
49
  */
40
- gitzoneSmartcli.addCommand('docker').subscribe(async (argvArg) => {
41
- const modDocker = await import('./mod_docker/index.js');
50
+ gitzoneSmartcli.addCommand("docker").subscribe(async (argvArg) => {
51
+ const modDocker = await import("./mod_docker/index.js");
42
52
  await modDocker.run(argvArg);
43
53
  });
44
54
  /**
45
55
  * Update all files that comply with the gitzone standard
46
56
  */
47
- gitzoneSmartcli.addCommand('format').subscribe(async (argvArg) => {
57
+ gitzoneSmartcli.addCommand("format").subscribe(async (argvArg) => {
48
58
  const config = GitzoneConfig.fromCwd();
49
- const modFormat = await import('./mod_format/index.js');
59
+ const modFormat = await import("./mod_format/index.js");
50
60
  // Handle format with options
51
61
  // Default is dry-mode, use --write/-w to apply changes
52
62
  await modFormat.run({
63
+ ...argvArg,
53
64
  write: argvArg.write || argvArg.w,
54
- dryRun: argvArg['dry-run'],
65
+ dryRun: argvArg["dry-run"],
55
66
  yes: argvArg.yes,
56
- planOnly: argvArg['plan-only'],
57
- savePlan: argvArg['save-plan'],
58
- fromPlan: argvArg['from-plan'],
67
+ planOnly: argvArg["plan-only"],
68
+ savePlan: argvArg["save-plan"],
69
+ fromPlan: argvArg["from-plan"],
59
70
  detailed: argvArg.detailed,
60
71
  interactive: argvArg.interactive !== false,
61
72
  verbose: argvArg.verbose,
@@ -65,52 +76,52 @@ export let run = async () => {
65
76
  /**
66
77
  * run meta commands
67
78
  */
68
- gitzoneSmartcli.addCommand('meta').subscribe(async (argvArg) => {
79
+ gitzoneSmartcli.addCommand("meta").subscribe(async (argvArg) => {
69
80
  const config = GitzoneConfig.fromCwd();
70
- const modMeta = await import('./mod_meta/index.js');
81
+ const modMeta = await import("./mod_meta/index.js");
71
82
  modMeta.run(argvArg);
72
83
  });
73
84
  /**
74
85
  * open assets
75
86
  */
76
- gitzoneSmartcli.addCommand('open').subscribe(async (argvArg) => {
77
- const modOpen = await import('./mod_open/index.js');
87
+ gitzoneSmartcli.addCommand("open").subscribe(async (argvArg) => {
88
+ const modOpen = await import("./mod_open/index.js");
78
89
  modOpen.run(argvArg);
79
90
  });
80
91
  /**
81
92
  * add a readme to a project
82
93
  */
83
- gitzoneSmartcli.addCommand('template').subscribe(async (argvArg) => {
84
- const modTemplate = await import('./mod_template/index.js');
94
+ gitzoneSmartcli.addCommand("template").subscribe(async (argvArg) => {
95
+ const modTemplate = await import("./mod_template/index.js");
85
96
  modTemplate.run(argvArg);
86
97
  });
87
98
  /**
88
99
  * start working on a project
89
100
  */
90
- gitzoneSmartcli.addCommand('start').subscribe(async (argvArg) => {
91
- const modTemplate = await import('./mod_start/index.js');
101
+ gitzoneSmartcli.addCommand("start").subscribe(async (argvArg) => {
102
+ const modTemplate = await import("./mod_start/index.js");
92
103
  modTemplate.run(argvArg);
93
104
  });
94
- gitzoneSmartcli.addCommand('helpers').subscribe(async (argvArg) => {
95
- const modHelpers = await import('./mod_helpers/index.js');
105
+ gitzoneSmartcli.addCommand("helpers").subscribe(async (argvArg) => {
106
+ const modHelpers = await import("./mod_helpers/index.js");
96
107
  modHelpers.run(argvArg);
97
108
  });
98
109
  /**
99
110
  * manage release configuration
100
111
  */
101
- gitzoneSmartcli.addCommand('config').subscribe(async (argvArg) => {
102
- const modConfig = await import('./mod_config/index.js');
112
+ gitzoneSmartcli.addCommand("config").subscribe(async (argvArg) => {
113
+ const modConfig = await import("./mod_config/index.js");
103
114
  await modConfig.run(argvArg);
104
115
  });
105
116
  /**
106
117
  * manage development services (MongoDB, S3/MinIO)
107
118
  */
108
- gitzoneSmartcli.addCommand('services').subscribe(async (argvArg) => {
109
- const modServices = await import('./mod_services/index.js');
119
+ gitzoneSmartcli.addCommand("services").subscribe(async (argvArg) => {
120
+ const modServices = await import("./mod_services/index.js");
110
121
  await modServices.run(argvArg);
111
122
  });
112
123
  // start parsing of the cli
113
124
  gitzoneSmartcli.startParse();
114
125
  return await done.promise;
115
126
  };
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0em9uZS5jbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9naXR6b25lLmNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBRXhELE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxLQUFLLElBQUksRUFBRTtJQUMxQixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRTFDLGtCQUFrQjtJQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxRSxvQkFBb0I7SUFDcEIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEUsTUFBTSxtQkFBbUIsQ0FBQyxLQUFLLENBQzdCLFNBQVMsRUFDVCxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFDdkIsaURBQWlELENBQ2xELENBQUM7SUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFDN0QsZUFBZSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXBELGdDQUFnQztJQUVoQzs7T0FFRztJQUNILGVBQWUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQzVELE1BQU0sV0FBVyxHQUFHLE1BQU0sTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFD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
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0em9uZS5jbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9naXR6b25lLmNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE1BQU0sZUFBZSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUV4RCxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDMUIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQyxNQUFNLFVBQVUsR0FBRyxNQUFNLGFBQWEsRUFBRSxDQUFDO0lBRXpDLGtCQUFrQjtJQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxRSxvQkFBb0I7SUFDcEIsSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEUsTUFBTSxtQkFBbUIsQ0FBQyxLQUFLLENBQzdCLFNBQVMsRUFDVCxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFDdkIsaURBQWlELENBQ2xELENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0NBQStDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsZUFBZSxDQUFDLFVBQVUs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
@@ -0,0 +1,22 @@
1
+ export type TCliOutputMode = "human" | "plain" | "json";
2
+ export interface ICliMode {
3
+ output: TCliOutputMode;
4
+ interactive: boolean;
5
+ json: boolean;
6
+ plain: boolean;
7
+ quiet: boolean;
8
+ yes: boolean;
9
+ help: boolean;
10
+ agent: boolean;
11
+ checkUpdates: boolean;
12
+ isTty: boolean;
13
+ command?: string;
14
+ }
15
+ type TArgSource = Record<string, any> & {
16
+ _?: string[];
17
+ };
18
+ export declare const getCliMode: (argvArg?: TArgSource) => Promise<ICliMode>;
19
+ export declare const getRawCliMode: () => Promise<ICliMode>;
20
+ export declare const printJson: (data: unknown) => void;
21
+ export declare const runWithSuppressedOutput: <T>(fn: () => Promise<T>) => Promise<T>;
22
+ export {};
@@ -0,0 +1,158 @@
1
+ import { getCliConfigValue } from "./helpers.smartconfig.js";
2
+ const camelCase = (value) => {
3
+ return value.replace(/-([a-z])/g, (_match, group) => group.toUpperCase());
4
+ };
5
+ const getArgValue = (argvArg, key) => {
6
+ const keyVariants = [key, camelCase(key), key.replace(/-/g, "")];
7
+ for (const keyVariant of keyVariants) {
8
+ if (argvArg[keyVariant] !== undefined) {
9
+ return argvArg[keyVariant];
10
+ }
11
+ }
12
+ return undefined;
13
+ };
14
+ const parseRawArgv = (argv) => {
15
+ const parsedArgv = { _: [] };
16
+ for (let i = 0; i < argv.length; i++) {
17
+ const currentArg = argv[i];
18
+ if (currentArg.startsWith("--no-")) {
19
+ const key = currentArg.slice(5);
20
+ parsedArgv[key] = false;
21
+ parsedArgv[camelCase(key)] = false;
22
+ continue;
23
+ }
24
+ if (currentArg.startsWith("--")) {
25
+ const withoutPrefix = currentArg.slice(2);
26
+ const [rawKey, inlineValue] = withoutPrefix.split("=", 2);
27
+ if (inlineValue !== undefined) {
28
+ parsedArgv[rawKey] = inlineValue;
29
+ parsedArgv[camelCase(rawKey)] = inlineValue;
30
+ continue;
31
+ }
32
+ const nextArg = argv[i + 1];
33
+ if (nextArg && !nextArg.startsWith("-")) {
34
+ parsedArgv[rawKey] = nextArg;
35
+ parsedArgv[camelCase(rawKey)] = nextArg;
36
+ i++;
37
+ }
38
+ else {
39
+ parsedArgv[rawKey] = true;
40
+ parsedArgv[camelCase(rawKey)] = true;
41
+ }
42
+ continue;
43
+ }
44
+ if (currentArg.startsWith("-") && currentArg.length > 1) {
45
+ for (const shortFlag of currentArg.slice(1).split("")) {
46
+ parsedArgv[shortFlag] = true;
47
+ }
48
+ continue;
49
+ }
50
+ parsedArgv._ = parsedArgv._ || [];
51
+ parsedArgv._.push(currentArg);
52
+ }
53
+ return parsedArgv;
54
+ };
55
+ const normalizeOutputMode = (value) => {
56
+ if (value === "human" || value === "plain" || value === "json") {
57
+ return value;
58
+ }
59
+ return undefined;
60
+ };
61
+ const resolveCliMode = (argvArg, cliConfig) => {
62
+ const isTty = Boolean(process.stdout?.isTTY && process.stdin?.isTTY);
63
+ const agentMode = Boolean(getArgValue(argvArg, "agent"));
64
+ const outputOverride = normalizeOutputMode(getArgValue(argvArg, "output"));
65
+ let output = normalizeOutputMode(cliConfig.output) || (isTty ? "human" : "plain");
66
+ if (agentMode || getArgValue(argvArg, "json")) {
67
+ output = "json";
68
+ }
69
+ else if (getArgValue(argvArg, "plain")) {
70
+ output = "plain";
71
+ }
72
+ else if (outputOverride) {
73
+ output = outputOverride;
74
+ }
75
+ const interactiveSetting = getArgValue(argvArg, "interactive");
76
+ let interactive = cliConfig.interactive ?? isTty;
77
+ if (interactiveSetting === true) {
78
+ interactive = true;
79
+ }
80
+ else if (interactiveSetting === false) {
81
+ interactive = false;
82
+ }
83
+ if (!isTty || output !== "human" || agentMode) {
84
+ interactive = false;
85
+ }
86
+ const checkUpdatesSetting = getArgValue(argvArg, "check-updates");
87
+ let checkUpdates = cliConfig.checkUpdates ?? output === "human";
88
+ if (checkUpdatesSetting === true) {
89
+ checkUpdates = true;
90
+ }
91
+ else if (checkUpdatesSetting === false) {
92
+ checkUpdates = false;
93
+ }
94
+ if (output !== "human" || agentMode) {
95
+ checkUpdates = false;
96
+ }
97
+ return {
98
+ output,
99
+ interactive,
100
+ json: output === "json",
101
+ plain: output === "plain",
102
+ quiet: Boolean(getArgValue(argvArg, "quiet") ||
103
+ getArgValue(argvArg, "q") ||
104
+ output === "json"),
105
+ yes: Boolean(getArgValue(argvArg, "yes") || getArgValue(argvArg, "y")),
106
+ help: Boolean(getArgValue(argvArg, "help") ||
107
+ getArgValue(argvArg, "h") ||
108
+ argvArg._?.[0] === "help"),
109
+ agent: agentMode,
110
+ checkUpdates,
111
+ isTty,
112
+ command: argvArg._?.[0],
113
+ };
114
+ };
115
+ const getCliModeConfig = async () => {
116
+ return await getCliConfigValue("cli", {});
117
+ };
118
+ export const getCliMode = async (argvArg = {}) => {
119
+ const cliConfig = await getCliModeConfig();
120
+ return resolveCliMode(argvArg, cliConfig);
121
+ };
122
+ export const getRawCliMode = async () => {
123
+ const cliConfig = await getCliModeConfig();
124
+ const rawArgv = parseRawArgv(process.argv.slice(2));
125
+ return resolveCliMode(rawArgv, cliConfig);
126
+ };
127
+ export const printJson = (data) => {
128
+ console.log(JSON.stringify(data, null, 2));
129
+ };
130
+ export const runWithSuppressedOutput = async (fn) => {
131
+ const originalConsole = {
132
+ log: console.log,
133
+ info: console.info,
134
+ warn: console.warn,
135
+ error: console.error,
136
+ };
137
+ const originalStdoutWrite = process.stdout.write.bind(process.stdout);
138
+ const originalStderrWrite = process.stderr.write.bind(process.stderr);
139
+ const noop = () => undefined;
140
+ console.log = noop;
141
+ console.info = noop;
142
+ console.warn = noop;
143
+ console.error = noop;
144
+ process.stdout.write = (() => true);
145
+ process.stderr.write = (() => true);
146
+ try {
147
+ return await fn();
148
+ }
149
+ finally {
150
+ console.log = originalConsole.log;
151
+ console.info = originalConsole.info;
152
+ console.warn = originalConsole.warn;
153
+ console.error = originalConsole.error;
154
+ process.stdout.write = originalStdoutWrite;
155
+ process.stderr.write = originalStderrWrite;
156
+ }
157
+ };
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5jbGltb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvaGVscGVycy5jbGltb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBMEI3RCxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFO0lBQzFDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBYSxFQUFFLEVBQUUsQ0FDMUQsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUNwQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQUcsQ0FBQyxPQUFtQixFQUFFLEdBQVcsRUFBTyxFQUFFO0lBQzVELE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRyxDQUFDLElBQWMsRUFBYyxFQUFFO0lBQ2xELE1BQU0sVUFBVSxHQUFlLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBRXpDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FB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
@@ -0,0 +1,11 @@
1
+ export declare const CLI_NAMESPACE = "@git.zone/cli";
2
+ export declare const getSmartconfigPath: (cwd?: string) => string;
3
+ export declare const readSmartconfigFile: (cwd?: string) => Promise<Record<string, any>>;
4
+ export declare const writeSmartconfigFile: (data: Record<string, any>, cwd?: string) => Promise<void>;
5
+ export declare const normalizeCliConfigPath: (configPath: string) => string;
6
+ export declare const getCliConfigPathSegments: (configPath: string) => string[];
7
+ export declare const getCliNamespaceConfig: (smartconfigData: Record<string, any>) => Record<string, any>;
8
+ export declare const getCliConfigValueFromData: (smartconfigData: Record<string, any>, configPath: string) => any;
9
+ export declare const getCliConfigValue: <T>(configPath: string, defaultValue: T, cwd?: string) => Promise<T>;
10
+ export declare const setCliConfigValueInData: (smartconfigData: Record<string, any>, configPath: string, value: any) => Record<string, any>;
11
+ export declare const unsetCliConfigValueInData: (smartconfigData: Record<string, any>, configPath: string) => boolean;
@@ -0,0 +1,139 @@
1
+ import * as plugins from "./plugins.js";
2
+ import { rename, writeFile } from "fs/promises";
3
+ export const CLI_NAMESPACE = "@git.zone/cli";
4
+ const isPlainObject = (value) => {
5
+ return typeof value === "object" && value !== null && !Array.isArray(value);
6
+ };
7
+ export const getSmartconfigPath = (cwd = process.cwd()) => {
8
+ return plugins.path.join(cwd, ".smartconfig.json");
9
+ };
10
+ export const readSmartconfigFile = async (cwd = process.cwd()) => {
11
+ const smartconfigPath = getSmartconfigPath(cwd);
12
+ if (!(await plugins.smartfs.file(smartconfigPath).exists())) {
13
+ return {};
14
+ }
15
+ const content = (await plugins.smartfs
16
+ .file(smartconfigPath)
17
+ .encoding("utf8")
18
+ .read());
19
+ if (content.trim() === "") {
20
+ return {};
21
+ }
22
+ return JSON.parse(content);
23
+ };
24
+ export const writeSmartconfigFile = async (data, cwd = process.cwd()) => {
25
+ const smartconfigPath = getSmartconfigPath(cwd);
26
+ const tempPath = `${smartconfigPath}.tmp-${Date.now()}`;
27
+ const content = JSON.stringify(data, null, 2);
28
+ await writeFile(tempPath, content, "utf8");
29
+ await rename(tempPath, smartconfigPath);
30
+ };
31
+ export const normalizeCliConfigPath = (configPath) => {
32
+ const trimmedPath = configPath.trim();
33
+ if (!trimmedPath || trimmedPath === CLI_NAMESPACE) {
34
+ return "";
35
+ }
36
+ if (trimmedPath.startsWith(`${CLI_NAMESPACE}.`)) {
37
+ return trimmedPath.slice(`${CLI_NAMESPACE}.`.length);
38
+ }
39
+ return trimmedPath;
40
+ };
41
+ export const getCliConfigPathSegments = (configPath) => {
42
+ const normalizedPath = normalizeCliConfigPath(configPath);
43
+ if (!normalizedPath) {
44
+ return [];
45
+ }
46
+ return normalizedPath
47
+ .split(".")
48
+ .map((segment) => segment.trim())
49
+ .filter(Boolean);
50
+ };
51
+ export const getCliNamespaceConfig = (smartconfigData) => {
52
+ const cliConfig = smartconfigData[CLI_NAMESPACE];
53
+ if (isPlainObject(cliConfig)) {
54
+ return cliConfig;
55
+ }
56
+ return {};
57
+ };
58
+ export const getCliConfigValueFromData = (smartconfigData, configPath) => {
59
+ const segments = getCliConfigPathSegments(configPath);
60
+ let currentValue = getCliNamespaceConfig(smartconfigData);
61
+ for (const segment of segments) {
62
+ if (!isPlainObject(currentValue) && !Array.isArray(currentValue)) {
63
+ return undefined;
64
+ }
65
+ currentValue = currentValue?.[segment];
66
+ }
67
+ return currentValue;
68
+ };
69
+ export const getCliConfigValue = async (configPath, defaultValue, cwd = process.cwd()) => {
70
+ const smartconfigData = await readSmartconfigFile(cwd);
71
+ const configValue = getCliConfigValueFromData(smartconfigData, configPath);
72
+ if (configValue === undefined) {
73
+ return defaultValue;
74
+ }
75
+ if (isPlainObject(defaultValue) && isPlainObject(configValue)) {
76
+ return {
77
+ ...defaultValue,
78
+ ...configValue,
79
+ };
80
+ }
81
+ return configValue;
82
+ };
83
+ export const setCliConfigValueInData = (smartconfigData, configPath, value) => {
84
+ const segments = getCliConfigPathSegments(configPath);
85
+ if (!isPlainObject(smartconfigData[CLI_NAMESPACE])) {
86
+ smartconfigData[CLI_NAMESPACE] = {};
87
+ }
88
+ if (segments.length === 0) {
89
+ smartconfigData[CLI_NAMESPACE] = value;
90
+ return smartconfigData;
91
+ }
92
+ let currentValue = smartconfigData[CLI_NAMESPACE];
93
+ for (const segment of segments.slice(0, -1)) {
94
+ if (!isPlainObject(currentValue[segment])) {
95
+ currentValue[segment] = {};
96
+ }
97
+ currentValue = currentValue[segment];
98
+ }
99
+ currentValue[segments[segments.length - 1]] = value;
100
+ return smartconfigData;
101
+ };
102
+ export const unsetCliConfigValueInData = (smartconfigData, configPath) => {
103
+ const segments = getCliConfigPathSegments(configPath);
104
+ if (segments.length === 0) {
105
+ if (smartconfigData[CLI_NAMESPACE] !== undefined) {
106
+ delete smartconfigData[CLI_NAMESPACE];
107
+ return true;
108
+ }
109
+ return false;
110
+ }
111
+ const parentSegments = segments.slice(0, -1);
112
+ let currentValue = getCliNamespaceConfig(smartconfigData);
113
+ const objectPath = [currentValue];
114
+ for (const segment of parentSegments) {
115
+ if (!isPlainObject(currentValue[segment])) {
116
+ return false;
117
+ }
118
+ currentValue = currentValue[segment];
119
+ objectPath.push(currentValue);
120
+ }
121
+ const lastSegment = segments[segments.length - 1];
122
+ if (!(lastSegment in currentValue)) {
123
+ return false;
124
+ }
125
+ delete currentValue[lastSegment];
126
+ for (let i = objectPath.length - 1; i >= 1; i--) {
127
+ if (Object.keys(objectPath[i]).length > 0) {
128
+ break;
129
+ }
130
+ const parentObject = objectPath[i - 1];
131
+ const parentKey = parentSegments[i - 1];
132
+ delete parentObject[parentKey];
133
+ }
134
+ if (Object.keys(getCliNamespaceConfig(smartconfigData)).length === 0) {
135
+ delete smartconfigData[CLI_NAMESPACE];
136
+ }
137
+ return true;
138
+ };
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5zbWFydGNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2hlbHBlcnMuc21hcnRjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQztBQUU3QyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWMsRUFBZ0MsRUFBRTtJQUNyRSxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQWMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFVLEVBQUU7SUFDeEUsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEVBQ3RDLE1BQWMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUNHLEVBQUU7SUFDaEMsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsSUFBSSxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDNUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxPQUFPO1NBQ25DLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDckIsUUFBUSxD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
@@ -1 +1,3 @@
1
+ import type { ICliMode } from "../helpers.climode.js";
1
2
  export declare const run: (argvArg: any) => Promise<void>;
3
+ export declare function showHelp(mode?: ICliMode): void;