@git.zone/cli 2.2.2 → 2.6.1

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 (41) hide show
  1. package/assets/templates/npmextra/npmextra.json +4 -2
  2. package/dist_ts/00_commitinfo_data.js +1 -1
  3. package/dist_ts/classes.gitzoneconfig.js +10 -4
  4. package/dist_ts/gitzone.cli.js +8 -1
  5. package/dist_ts/mod_commit/index.js +109 -7
  6. package/dist_ts/mod_commit/mod.ui.d.ts +14 -0
  7. package/dist_ts/mod_commit/mod.ui.js +56 -2
  8. package/dist_ts/mod_config/classes.releaseconfig.d.ts +60 -0
  9. package/dist_ts/mod_config/classes.releaseconfig.js +131 -0
  10. package/dist_ts/mod_config/index.d.ts +3 -0
  11. package/dist_ts/mod_config/index.js +253 -0
  12. package/dist_ts/mod_config/mod.plugins.d.ts +2 -0
  13. package/dist_ts/mod_config/mod.plugins.js +4 -0
  14. package/dist_ts/mod_format/format.npmextra.js +33 -1
  15. package/dist_ts/mod_format/index.d.ts +6 -0
  16. package/dist_ts/mod_format/index.js +34 -1
  17. package/dist_ts/mod_standard/index.d.ts +1 -1
  18. package/dist_ts/mod_standard/index.js +75 -27
  19. package/npmextra.json +12 -5
  20. package/package.json +33 -23
  21. package/ts/00_commitinfo_data.ts +1 -1
  22. package/ts/classes.gitzoneconfig.ts +13 -5
  23. package/ts/gitzone.cli.ts +8 -0
  24. package/ts/mod_commit/index.ts +112 -8
  25. package/ts/mod_commit/mod.ui.ts +69 -1
  26. package/ts/mod_config/classes.releaseconfig.ts +166 -0
  27. package/ts/mod_config/index.ts +282 -0
  28. package/ts/mod_config/mod.plugins.ts +3 -0
  29. package/ts/mod_format/format.npmextra.ts +39 -0
  30. package/ts/mod_format/index.ts +42 -0
  31. package/ts/mod_standard/index.ts +78 -31
  32. package/dist_ts/gitzone.config.d.ts +0 -28
  33. package/dist_ts/gitzone.config.js +0 -21
  34. package/dist_ts/gitzone.monitor.d.ts +0 -1
  35. package/dist_ts/gitzone.monitor.js +0 -2
  36. package/dist_ts/gitzone.paths.d.ts +0 -4
  37. package/dist_ts/gitzone.paths.js +0 -6
  38. package/dist_ts/gitzone.plugins.d.ts +0 -10
  39. package/dist_ts/gitzone.plugins.js +0 -11
  40. package/dist_ts/mod_format/format.classes.project.d.ts +0 -8
  41. package/dist_ts/mod_format/format.classes.project.js +0 -20
@@ -9,10 +9,12 @@
9
9
  "npmPackagename": "{{module.npmPackagename}}",
10
10
  "license": "{{module.license}}",
11
11
  "projectDomain": "{{module.projectDomain}}"
12
+ },
13
+ "release": {
14
+ "accessLevel": "{{module.npmAccessLevel}}"
12
15
  }
13
16
  },
14
17
  "@ship.zone/szci": {
15
- "npmGlobalTools": [],
16
- "npmAccessLevel": "{{module.npmAccessLevel}}"
18
+ "npmGlobalTools": []
17
19
  }
18
20
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@git.zone/cli',
6
- version: '2.2.1',
6
+ version: '2.6.1',
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
@@ -12,10 +12,16 @@ export class GitzoneConfig {
12
12
  async readConfigFromCwd() {
13
13
  const npmextraInstance = new plugins.npmextra.Npmextra(paths.cwd);
14
14
  this.data = npmextraInstance.dataFor('@git.zone/cli', {});
15
- this.data.npmciOptions = npmextraInstance.dataFor('@ship.zone/szci', {
16
- npmAccessLevel: 'public',
17
- });
15
+ // Read szci config for backward compatibility
16
+ const szciConfig = npmextraInstance.dataFor('@ship.zone/szci', {});
17
+ // Prefer accessLevel from @git.zone/cli.release, fallback to @ship.zone/szci.npmAccessLevel
18
+ const accessLevel = this.data?.release?.accessLevel ||
19
+ szciConfig?.npmAccessLevel ||
20
+ 'public';
21
+ this.data.npmciOptions = {
22
+ npmAccessLevel: accessLevel,
23
+ };
18
24
  }
19
25
  constructor() { }
20
26
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5naXR6b25lY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5naXR6b25lY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBMEJwQzs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ2pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTztRQUN6QixNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQzFDLE1BQU0sYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDeEMsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUlNLEtBQUssQ0FBQyxpQkFBaUI7UUFDNUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBcUIsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FFL0MsaUJBQWlCLEVBQUU7WUFDbkIsY0FBYyxFQUFFLFFBQVE7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFlLENBQUM7Q0FDakIifQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5naXR6b25lY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5naXR6b25lY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBMEJwQzs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ2pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTztRQUN6QixNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQzFDLE1BQU0sYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDeEMsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUlNLEtBQUssQ0FBQyxpQkFBaUI7UUFDNUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBcUIsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLDhDQUE4QztRQUM5QyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQU0saUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFeEUsNEZBQTRGO1FBQzVGLE1BQU0sV0FBVyxHQUNkLElBQUksQ0FBQyxJQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVc7WUFDeEMsVUFBVSxFQUFFLGNBQWM7WUFDMUIsUUFBUSxDQUFDO1FBRVgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDdkIsY0FBYyxFQUFFLFdBQVc7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZSxDQUFDO0NBQ2pCIn0=
@@ -106,6 +106,13 @@ export let run = async () => {
106
106
  const modHelpers = await import('./mod_helpers/index.js');
107
107
  modHelpers.run(argvArg);
108
108
  });
109
+ /**
110
+ * manage release configuration
111
+ */
112
+ gitzoneSmartcli.addCommand('config').subscribe(async (argvArg) => {
113
+ const modConfig = await import('./mod_config/index.js');
114
+ await modConfig.run(argvArg);
115
+ });
109
116
  /**
110
117
  * manage development services (MongoDB, S3/MinIO)
111
118
  */
@@ -117,4 +124,4 @@ export let run = async () => {
117
124
  gitzoneSmartcli.startParse();
118
125
  return await done.promise;
119
126
  };
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0em9uZS5jbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9naXR6b25lLmNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBRXhELE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxLQUFLLElBQUksRUFBRTtJQUMxQixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRTFDLGtCQUFrQjtJQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxRSxvQkFBb0I7SUFDcEIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEUsTUFBTSxtQkFBbUIsQ0FBQyxLQUFLLENBQzdCLFNBQVMsRUFDVCxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFDdkIsaURBQWlELENBQ2xELENBQUM7SUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFDN0QsZUFBZSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXBELGdDQUFnQztJQUVoQzs7T0FFRztJQUNILGVBQWUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQzVELE1BQU0sV0FBVyxHQUFHLE1BQU0sTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFD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
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0em9uZS5jbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9naXR6b25lLmNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBRXhELE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxLQUFLLElBQUksRUFBRTtJQUMxQixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRTFDLGtCQUFrQjtJQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxRSxvQkFBb0I7SUFDcEIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEUsTUFBTSxtQkFBbUIsQ0FBQyxLQUFLLENBQzdCLFNBQVMsRUFDVCxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFDdkIsaURBQWlELENBQ2xELENBQUM7SUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFDN0QsZUFBZSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXBELGdDQUFnQztJQUVoQzs7T0FFRztJQUNILGVBQWUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQzVELE1BQU0sV0FBVyxHQUFHLE1BQU0sTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFD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
@@ -4,7 +4,31 @@ import * as paths from '../paths.js';
4
4
  import { logger } from '../gitzone.logging.js';
5
5
  import * as helpers from './mod.helpers.js';
6
6
  import * as ui from './mod.ui.js';
7
+ import { ReleaseConfig } from '../mod_config/classes.releaseconfig.js';
7
8
  export const run = async (argvArg) => {
9
+ // Check if release flag is set and validate registries early
10
+ const wantsRelease = !!(argvArg.r || argvArg.release);
11
+ const wantsBuild = !!(argvArg.b || argvArg.build);
12
+ let releaseConfig = null;
13
+ if (wantsRelease) {
14
+ releaseConfig = await ReleaseConfig.fromCwd();
15
+ if (!releaseConfig.hasRegistries()) {
16
+ logger.log('error', 'No release registries configured.');
17
+ console.log('');
18
+ console.log(' Run `gitzone config add <registry-url>` to add registries.');
19
+ console.log('');
20
+ process.exit(1);
21
+ }
22
+ }
23
+ // Print execution plan at the start
24
+ ui.printExecutionPlan({
25
+ autoAccept: !!(argvArg.y || argvArg.yes),
26
+ push: !!(argvArg.p || argvArg.push),
27
+ build: wantsBuild,
28
+ release: wantsRelease,
29
+ format: !!argvArg.format,
30
+ registries: releaseConfig?.getRegistries(),
31
+ });
8
32
  if (argvArg.format) {
9
33
  const formatMod = await import('../mod_format/index.js');
10
34
  await formatMod.run();
@@ -45,6 +69,10 @@ export const run = async (argvArg) => {
45
69
  name: 'pushToOrigin',
46
70
  value: !!(argvArg.p || argvArg.push), // Only push if -p flag also provided
47
71
  });
72
+ answerBucket.addAnswer({
73
+ name: 'createRelease',
74
+ value: wantsRelease,
75
+ });
48
76
  }
49
77
  else {
50
78
  // Warn if --yes was provided but we're requiring confirmation due to breaking change
@@ -79,6 +107,12 @@ export const run = async (argvArg) => {
79
107
  message: `Do you want to push this version now?`,
80
108
  default: true,
81
109
  },
110
+ {
111
+ type: 'confirm',
112
+ name: `createRelease`,
113
+ message: `Do you want to publish to npm registries?`,
114
+ default: wantsRelease,
115
+ },
82
116
  ]);
83
117
  answerBucket = await commitInteract.runQueue();
84
118
  }
@@ -99,8 +133,27 @@ export const run = async (argvArg) => {
99
133
  executor: 'bash',
100
134
  sourceFilePaths: [],
101
135
  });
102
- // Determine total steps (6 if pushing, 5 if not)
103
- const totalSteps = answerBucket.getAnswerFor('pushToOrigin') && !(process.env.CI === 'true') ? 6 : 5;
136
+ // Load release config if user wants to release (interactively selected)
137
+ if (answerBucket.getAnswerFor('createRelease') && !releaseConfig) {
138
+ releaseConfig = await ReleaseConfig.fromCwd();
139
+ if (!releaseConfig.hasRegistries()) {
140
+ logger.log('error', 'No release registries configured.');
141
+ console.log('');
142
+ console.log(' Run `gitzone config add <registry-url>` to add registries.');
143
+ console.log('');
144
+ process.exit(1);
145
+ }
146
+ }
147
+ // Determine total steps based on options
148
+ const willPush = answerBucket.getAnswerFor('pushToOrigin') && !(process.env.CI === 'true');
149
+ const willRelease = answerBucket.getAnswerFor('createRelease') && releaseConfig?.hasRegistries();
150
+ let totalSteps = 5; // Base steps: commitinfo, changelog, staging, commit, version
151
+ if (wantsBuild)
152
+ totalSteps += 2; // build step + verification step
153
+ if (willPush)
154
+ totalSteps++;
155
+ if (willRelease)
156
+ totalSteps++;
104
157
  let currentStep = 0;
105
158
  // Step 1: Baking commitinfo
106
159
  currentStep++;
@@ -140,15 +193,62 @@ export const run = async (argvArg) => {
140
193
  currentStep++;
141
194
  const projectType = await helpers.detectProjectType();
142
195
  const newVersion = await helpers.bumpProjectVersion(projectType, commitVersionType, currentStep, totalSteps);
143
- // Step 6: Push to remote (optional)
196
+ // Step 6: Run build (optional)
197
+ if (wantsBuild) {
198
+ currentStep++;
199
+ ui.printStep(currentStep, totalSteps, '🔨 Running build', 'in-progress');
200
+ const buildResult = await smartshellInstance.exec('pnpm build');
201
+ if (buildResult.exitCode !== 0) {
202
+ ui.printStep(currentStep, totalSteps, '🔨 Running build', 'error');
203
+ logger.log('error', 'Build failed. Aborting release.');
204
+ process.exit(1);
205
+ }
206
+ ui.printStep(currentStep, totalSteps, '🔨 Running build', 'done');
207
+ // Step 7: Verify no uncommitted changes
208
+ currentStep++;
209
+ ui.printStep(currentStep, totalSteps, '🔍 Verifying clean working tree', 'in-progress');
210
+ const statusResult = await smartshellInstance.exec('git status --porcelain');
211
+ if (statusResult.stdout.trim() !== '') {
212
+ ui.printStep(currentStep, totalSteps, '🔍 Verifying clean working tree', 'error');
213
+ logger.log('error', 'Build produced uncommitted changes. This usually means build output is not gitignored.');
214
+ logger.log('error', 'Uncommitted files:');
215
+ console.log(statusResult.stdout);
216
+ logger.log('error', 'Aborting release. Please ensure build artifacts are in .gitignore');
217
+ process.exit(1);
218
+ }
219
+ ui.printStep(currentStep, totalSteps, '🔍 Verifying clean working tree', 'done');
220
+ }
221
+ // Step: Push to remote (optional)
144
222
  const currentBranch = await helpers.detectCurrentBranch();
145
- if (answerBucket.getAnswerFor('pushToOrigin') &&
146
- !(process.env.CI === 'true')) {
223
+ if (willPush) {
147
224
  currentStep++;
148
225
  ui.printStep(currentStep, totalSteps, `🚀 Pushing to origin/${currentBranch}`, 'in-progress');
149
226
  await smartshellInstance.exec(`git push origin ${currentBranch} --follow-tags`);
150
227
  ui.printStep(currentStep, totalSteps, `🚀 Pushing to origin/${currentBranch}`, 'done');
151
228
  }
229
+ // Step 7: Publish to npm registries (optional)
230
+ let releasedRegistries = [];
231
+ if (willRelease && releaseConfig) {
232
+ currentStep++;
233
+ const registries = releaseConfig.getRegistries();
234
+ ui.printStep(currentStep, totalSteps, `📦 Publishing to ${registries.length} registr${registries.length === 1 ? 'y' : 'ies'}`, 'in-progress');
235
+ const accessLevel = releaseConfig.getAccessLevel();
236
+ for (const registry of registries) {
237
+ try {
238
+ await smartshellInstance.exec(`npm publish --registry=${registry} --access=${accessLevel}`);
239
+ releasedRegistries.push(registry);
240
+ }
241
+ catch (error) {
242
+ logger.log('error', `Failed to publish to ${registry}: ${error}`);
243
+ }
244
+ }
245
+ if (releasedRegistries.length === registries.length) {
246
+ ui.printStep(currentStep, totalSteps, `📦 Publishing to ${registries.length} registr${registries.length === 1 ? 'y' : 'ies'}`, 'done');
247
+ }
248
+ else {
249
+ ui.printStep(currentStep, totalSteps, `📦 Publishing to ${registries.length} registr${registries.length === 1 ? 'y' : 'ies'}`, 'error');
250
+ }
251
+ }
152
252
  console.log(''); // Add spacing before summary
153
253
  // Get commit SHA for summary
154
254
  const commitShaResult = await smartshellInstance.exec('git rev-parse --short HEAD');
@@ -162,7 +262,9 @@ export const run = async (argvArg) => {
162
262
  commitMessage: answerBucket.getAnswerFor('commitDescription'),
163
263
  newVersion: newVersion,
164
264
  commitSha: commitSha,
165
- pushed: answerBucket.getAnswerFor('pushToOrigin') && !(process.env.CI === 'true'),
265
+ pushed: willPush,
266
+ released: releasedRegistries.length > 0,
267
+ releasedRegistries: releasedRegistries.length > 0 ? releasedRegistries : undefined,
166
268
  });
167
269
  };
168
270
  const createCommitStringFromAnswerBucket = (answerBucket) => {
@@ -171,4 +273,4 @@ const createCommitStringFromAnswerBucket = (answerBucket) => {
171
273
  const commitDescription = answerBucket.getAnswerFor('commitDescription');
172
274
  return `${commitType}(${commitScope}): ${commitDescription}`;
173
275
  };
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfY29tbWl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUVoRSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsT0FBWSxFQUFFLEVBQUU7SUFDeEMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkIsTUFBTSxTQUFTLEdBQUcsTUFBTSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN6RCxNQUFNLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsRUFBRSxDQUFDLFdBQVcsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBRXJELE1BQU0sS0FBSyxHQUFHLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUVwQixNQUFNLGdCQUFnQixHQUFHLE1BQU0sS0FBSyxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV0RSxNQUFNLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVuQixFQUFFLENBQUMsbUJBQW1CLENBQUM7UUFDckIsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUMsc0JBQXNCO1FBQy9ELDJCQUEyQixFQUFFLGdCQUFnQixDQUFDLDJCQUEyQjtRQUN6RSwyQkFBMkIsRUFBRSxnQkFBZ0IsQ0FBQywyQkFBMkI7UUFD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
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfY29tbWl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUVoRSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQ3hDLDZEQUE2RDtJQUM3RCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxJQUFJLGFBQWEsR0FBeUIsSUFBSSxDQUFDO0lBRS9DLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakIsYUFBYSxHQUFHLE1BQU0sYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUNuQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxtQ0FBbUMsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO1lBQzVFLE9BQU8sQ0FBQyxHQUFHLENB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
@@ -11,6 +11,16 @@ interface ICommitSummary {
11
11
  commitSha?: string;
12
12
  pushed: boolean;
13
13
  repoUrl?: string;
14
+ released?: boolean;
15
+ releasedRegistries?: string[];
16
+ }
17
+ interface IExecutionPlanOptions {
18
+ autoAccept: boolean;
19
+ push: boolean;
20
+ build: boolean;
21
+ release: boolean;
22
+ format: boolean;
23
+ registries?: string[];
14
24
  }
15
25
  interface IRecommendation {
16
26
  recommendedNextVersion: string;
@@ -22,6 +32,10 @@ interface IRecommendation {
22
32
  * Print a header with a box around it
23
33
  */
24
34
  export declare function printHeader(title: string): void;
35
+ /**
36
+ * Print execution plan at the start of commit
37
+ */
38
+ export declare function printExecutionPlan(options: IExecutionPlanOptions): void;
25
39
  /**
26
40
  * Print a section with a border
27
41
  */
@@ -13,6 +13,51 @@ export function printHeader(title) {
13
13
  console.log('╰─' + '─'.repeat(width) + '─╯');
14
14
  console.log('');
15
15
  }
16
+ /**
17
+ * Print execution plan at the start of commit
18
+ */
19
+ export function printExecutionPlan(options) {
20
+ console.log('');
21
+ console.log('╭───────────────────────────────────────────────────────────────╮');
22
+ console.log('│ gitzone commit - Execution Plan │');
23
+ console.log('╰───────────────────────────────────────────────────────────────╯');
24
+ console.log('');
25
+ // Show active options
26
+ console.log(' Options:');
27
+ console.log(` Auto-accept ${options.autoAccept ? '✓ enabled (-y)' : '○ interactive mode'}`);
28
+ console.log(` Push to remote ${options.push ? '✓ enabled (-p)' : '○ disabled'}`);
29
+ console.log(` Build & verify ${options.build ? '✓ enabled (-b)' : '○ disabled'}`);
30
+ console.log(` Release to npm ${options.release ? '✓ enabled (-r)' : '○ disabled'}`);
31
+ if (options.format) {
32
+ console.log(` Format first ✓ enabled (--format)`);
33
+ }
34
+ console.log('');
35
+ // Show steps
36
+ console.log(' Steps:');
37
+ let stepNum = 1;
38
+ if (options.format) {
39
+ console.log(` ${stepNum++}. Format project files`);
40
+ }
41
+ console.log(` ${stepNum++}. Analyze repository changes`);
42
+ console.log(` ${stepNum++}. Bake commit info into code`);
43
+ console.log(` ${stepNum++}. Generate changelog.md`);
44
+ console.log(` ${stepNum++}. Stage and commit files`);
45
+ console.log(` ${stepNum++}. Bump version`);
46
+ if (options.build) {
47
+ console.log(` ${stepNum++}. Run build`);
48
+ console.log(` ${stepNum++}. Verify clean working tree`);
49
+ }
50
+ if (options.push) {
51
+ console.log(` ${stepNum++}. Push to remote`);
52
+ }
53
+ if (options.release) {
54
+ console.log(` ${stepNum++}. Publish to npm registries`);
55
+ if (options.registries && options.registries.length > 0) {
56
+ options.registries.forEach(r => console.log(` → ${r}`));
57
+ }
58
+ }
59
+ console.log('');
60
+ }
16
61
  /**
17
62
  * Print a section with a border
18
63
  */
@@ -102,12 +147,21 @@ export function printSummary(summary) {
102
147
  else {
103
148
  lines.push(`Remote: ⊘ Not pushed (local only)`);
104
149
  }
150
+ if (summary.released && summary.releasedRegistries && summary.releasedRegistries.length > 0) {
151
+ lines.push(`Published: ✓ Released to ${summary.releasedRegistries.length} registr${summary.releasedRegistries.length === 1 ? 'y' : 'ies'}`);
152
+ summary.releasedRegistries.forEach((registry) => {
153
+ lines.push(` → ${registry}`);
154
+ });
155
+ }
105
156
  if (summary.repoUrl && summary.commitSha) {
106
157
  lines.push('');
107
158
  lines.push(`View at: ${summary.repoUrl}/commit/${summary.commitSha}`);
108
159
  }
109
160
  printSection('✅ Commit Summary', lines);
110
- if (summary.pushed) {
161
+ if (summary.released) {
162
+ console.log('🎉 All done! Your changes are committed, pushed, and released.\n');
163
+ }
164
+ else if (summary.pushed) {
111
165
  console.log('🎉 All done! Your changes are committed and pushed.\n');
112
166
  }
113
167
  else {
@@ -144,4 +198,4 @@ export function printError(message) {
144
198
  export function printCommitMessage(commitString) {
145
199
  console.log(`\n 📝 Commit: ${commitString}\n`);
146
200
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kLnVpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbW9kX2NvbW1pdC9tb2QudWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBeUIvQzs7R0FFRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBYTtJQUN2QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUVuQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWEsRUFBRSxLQUFlO0lBQ3pELE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUVqQixPQUFPLENB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
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kLnVpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbW9kX2NvbW1pdC9tb2QudWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBb0MvQzs7R0FFRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBYTtJQUN2QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUVuQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBOEI7SUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQixPQUFP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
@@ -0,0 +1,60 @@
1
+ export type TAccessLevel = 'public' | 'private';
2
+ export interface IReleaseConfig {
3
+ registries: string[];
4
+ accessLevel: TAccessLevel;
5
+ }
6
+ /**
7
+ * Manages release configuration stored in npmextra.json
8
+ * under @git.zone/cli.release namespace
9
+ */
10
+ export declare class ReleaseConfig {
11
+ private cwd;
12
+ private config;
13
+ constructor(cwd?: string);
14
+ /**
15
+ * Create a ReleaseConfig instance from current working directory
16
+ */
17
+ static fromCwd(cwd?: string): Promise<ReleaseConfig>;
18
+ /**
19
+ * Load configuration from npmextra.json
20
+ */
21
+ load(): Promise<void>;
22
+ /**
23
+ * Save configuration to npmextra.json
24
+ */
25
+ save(): Promise<void>;
26
+ /**
27
+ * Get all configured registries
28
+ */
29
+ getRegistries(): string[];
30
+ /**
31
+ * Check if any registries are configured
32
+ */
33
+ hasRegistries(): boolean;
34
+ /**
35
+ * Add a registry URL
36
+ * @returns true if added, false if already exists
37
+ */
38
+ addRegistry(url: string): boolean;
39
+ /**
40
+ * Remove a registry URL
41
+ * @returns true if removed, false if not found
42
+ */
43
+ removeRegistry(url: string): boolean;
44
+ /**
45
+ * Clear all registries
46
+ */
47
+ clearRegistries(): void;
48
+ /**
49
+ * Get the npm access level
50
+ */
51
+ getAccessLevel(): TAccessLevel;
52
+ /**
53
+ * Set the npm access level
54
+ */
55
+ setAccessLevel(level: TAccessLevel): void;
56
+ /**
57
+ * Normalize a registry URL (ensure it has https:// prefix)
58
+ */
59
+ private normalizeUrl;
60
+ }
@@ -0,0 +1,131 @@
1
+ import * as plugins from './mod.plugins.js';
2
+ /**
3
+ * Manages release configuration stored in npmextra.json
4
+ * under @git.zone/cli.release namespace
5
+ */
6
+ export class ReleaseConfig {
7
+ constructor(cwd = process.cwd()) {
8
+ this.cwd = cwd;
9
+ this.config = { registries: [], accessLevel: 'public' };
10
+ }
11
+ /**
12
+ * Create a ReleaseConfig instance from current working directory
13
+ */
14
+ static async fromCwd(cwd = process.cwd()) {
15
+ const instance = new ReleaseConfig(cwd);
16
+ await instance.load();
17
+ return instance;
18
+ }
19
+ /**
20
+ * Load configuration from npmextra.json
21
+ */
22
+ async load() {
23
+ const npmextraInstance = new plugins.npmextra.Npmextra(this.cwd);
24
+ const gitzoneConfig = npmextraInstance.dataFor('@git.zone/cli', {});
25
+ // Also check szci for backward compatibility
26
+ const szciConfig = npmextraInstance.dataFor('@ship.zone/szci', {});
27
+ this.config = {
28
+ registries: gitzoneConfig?.release?.registries || [],
29
+ accessLevel: gitzoneConfig?.release?.accessLevel || szciConfig?.npmAccessLevel || 'public',
30
+ };
31
+ }
32
+ /**
33
+ * Save configuration to npmextra.json
34
+ */
35
+ async save() {
36
+ const npmextraPath = plugins.path.join(this.cwd, 'npmextra.json');
37
+ let npmextraData = {};
38
+ // Read existing npmextra.json
39
+ if (await plugins.smartfs.file(npmextraPath).exists()) {
40
+ const content = await plugins.smartfs.file(npmextraPath).encoding('utf8').read();
41
+ npmextraData = JSON.parse(content);
42
+ }
43
+ // Ensure @git.zone/cli namespace exists
44
+ if (!npmextraData['@git.zone/cli']) {
45
+ npmextraData['@git.zone/cli'] = {};
46
+ }
47
+ // Ensure release object exists
48
+ if (!npmextraData['@git.zone/cli'].release) {
49
+ npmextraData['@git.zone/cli'].release = {};
50
+ }
51
+ // Update registries and accessLevel
52
+ npmextraData['@git.zone/cli'].release.registries = this.config.registries;
53
+ npmextraData['@git.zone/cli'].release.accessLevel = this.config.accessLevel;
54
+ // Write back to file
55
+ await plugins.smartfs
56
+ .file(npmextraPath)
57
+ .encoding('utf8')
58
+ .write(JSON.stringify(npmextraData, null, 2));
59
+ }
60
+ /**
61
+ * Get all configured registries
62
+ */
63
+ getRegistries() {
64
+ return [...this.config.registries];
65
+ }
66
+ /**
67
+ * Check if any registries are configured
68
+ */
69
+ hasRegistries() {
70
+ return this.config.registries.length > 0;
71
+ }
72
+ /**
73
+ * Add a registry URL
74
+ * @returns true if added, false if already exists
75
+ */
76
+ addRegistry(url) {
77
+ const normalizedUrl = this.normalizeUrl(url);
78
+ if (this.config.registries.includes(normalizedUrl)) {
79
+ return false;
80
+ }
81
+ this.config.registries.push(normalizedUrl);
82
+ return true;
83
+ }
84
+ /**
85
+ * Remove a registry URL
86
+ * @returns true if removed, false if not found
87
+ */
88
+ removeRegistry(url) {
89
+ const normalizedUrl = this.normalizeUrl(url);
90
+ const index = this.config.registries.indexOf(normalizedUrl);
91
+ if (index === -1) {
92
+ return false;
93
+ }
94
+ this.config.registries.splice(index, 1);
95
+ return true;
96
+ }
97
+ /**
98
+ * Clear all registries
99
+ */
100
+ clearRegistries() {
101
+ this.config.registries = [];
102
+ }
103
+ /**
104
+ * Get the npm access level
105
+ */
106
+ getAccessLevel() {
107
+ return this.config.accessLevel;
108
+ }
109
+ /**
110
+ * Set the npm access level
111
+ */
112
+ setAccessLevel(level) {
113
+ this.config.accessLevel = level;
114
+ }
115
+ /**
116
+ * Normalize a registry URL (ensure it has https:// prefix)
117
+ */
118
+ normalizeUrl(url) {
119
+ let normalized = url.trim();
120
+ // Add https:// if no protocol specified
121
+ if (!normalized.startsWith('http://') && !normalized.startsWith('https://')) {
122
+ normalized = `https://${normalized}`;
123
+ }
124
+ // Remove trailing slash
125
+ if (normalized.endsWith('/')) {
126
+ normalized = normalized.slice(0, -1);
127
+ }
128
+ return normalized;
129
+ }
130
+ }
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5yZWxlYXNlY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbW9kX2NvbmZpZy9jbGFzc2VzLnJlbGVhc2Vjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQVM1Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUFZLE1BQWMsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUNyQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFjLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUk7UUFDZixNQUFNLGdCQUFnQixHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBTSxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFekUsNkNBQTZDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBTSxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osVUFBVSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsVUFBVSxJQUFJLEVB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