@git.zone/cli 1.9.98 → 1.9.99

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: '1.9.98',
6
+ version: '1.9.99',
7
7
  description: 'A CLI toolbelt to streamline local development cycles by using various gitzone utilities.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxlQUFlO0lBQ3JCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSwyRkFBMkY7Q0FDekcsQ0FBQSJ9
@@ -3,6 +3,17 @@ import * as plugins from './mod.plugins.js';
3
3
  import * as paths from '../paths.js';
4
4
  import { logger } from '../gitzone.logging.js';
5
5
  export const run = async (argvArg) => {
6
+ logger.log('info', `gathering facts...`);
7
+ const aidoc = new plugins.tsdoc.AiDoc();
8
+ await aidoc.start();
9
+ const nextCommitObject = await aidoc.buildNextCommitObject(paths.cwd);
10
+ logger.log('info', `---------
11
+ Next recommended commit would be:
12
+ ===========
13
+ -> ${nextCommitObject.recommendedNextVersion}:
14
+ -> ${nextCommitObject.recommendedNextVersionLevel}(${nextCommitObject.recommendedNextVersionScope}): ${nextCommitObject.recommendedNextVersionMessage}
15
+ ===========
16
+ `);
6
17
  const commitInteract = new plugins.smartinteract.SmartInteract();
7
18
  commitInteract.addQuestions([
8
19
  {
@@ -10,19 +21,19 @@ export const run = async (argvArg) => {
10
21
  name: `commitType`,
11
22
  message: `Choose TYPE of the commit:`,
12
23
  choices: [`fix`, `feat`, `BREAKING CHANGE`],
13
- default: `fix`,
24
+ default: nextCommitObject.recommendedNextVersionLevel,
14
25
  },
15
26
  {
16
27
  type: 'input',
17
28
  name: `commitScope`,
18
29
  message: `What is the SCOPE of the commit:`,
19
- default: `core`,
30
+ default: nextCommitObject.recommendedNextVersionScope,
20
31
  },
21
32
  {
22
33
  type: `input`,
23
34
  name: `commitDescription`,
24
35
  message: `What is the DESCRIPTION of the commit?`,
25
- default: `update`,
36
+ default: nextCommitObject.recommendedNextVersionMessage,
26
37
  },
27
38
  {
28
39
  type: 'confirm',
@@ -48,9 +59,14 @@ export const run = async (argvArg) => {
48
59
  executor: 'bash',
49
60
  sourceFilePaths: [],
50
61
  });
51
- logger.log('info', `Baking commitinfo into code`);
62
+ logger.log('info', `Baking commitinfo into code ...`);
52
63
  const commitInfo = new plugins.commitinfo.CommitInfo(paths.cwd, commitVersionType);
53
64
  await commitInfo.writeIntoPotentialDirs();
65
+ logger.log('info', `Writing changelog.md ...`);
66
+ const changelog = nextCommitObject.changelog;
67
+ changelog.replaceAll('{{nextVersion}}', (await commitInfo.getNextPlannedVersion()).versionString);
68
+ changelog.replaceAll('{{nextVersionMessage}}', commitString);
69
+ await plugins.smartfile.memory.toFs(changelog, plugins.path.join(paths.cwd, `changelog.md`));
54
70
  logger.log('info', `Staging files for commit:`);
55
71
  await smartshellInstance.exec(`git add -A`);
56
72
  await smartshellInstance.exec(`git commit -m "${commitString}"`);
@@ -65,4 +81,4 @@ const createCommitStringFromAnswerBucket = (answerBucket) => {
65
81
  const commitDescription = answerBucket.getAnswerFor('commitDescription');
66
82
  return `${commitType}(${commitScope}): ${commitDescription}`;
67
83
  };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfY29tbWl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUVoRSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQ3hDLE1BQU0sY0FBYyxHQUFHLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqRSxjQUFjLENBQUMsWUFBWSxDQUFDO1FBQzFCO1lBQ0UsSUFBSSxFQUFFLE1BQU07WUFDWixJQUFJLEVBQUUsWUFBWTtZQUNsQixPQUFPLEVBQUUsNEJBQTRCO1lBQ3JDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUM7WUFDM0MsT0FBTyxFQUFFLEtBQUs7U0FDZjtRQUNEO1lBQ0UsSUFBSSxFQUFFLE9BQU87WUFDYixJQUFJLEVBQUUsYUFBYTtZQUNuQixPQUFPLEVBQUUsa0NBQWtDO1lBQzNDLE9BQU8sRUFBRSxNQUFNO1NBQ2hCO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsT0FBTztZQUNiLElBQUksRUFBRSxtQkFBbUI7WUFDekIsT0FBTyxFQUFFLHdDQUF3QztZQUNqRCxPQUFPLEVBQUUsUUFBUTtTQUNsQjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsY0FBYztZQUNwQixPQUFPLEVBQUUsdUNBQXVDO1lBQ2hELE9BQU8sRUFBRSxJQUFJO1NBQ2Q7S0FDRixDQUFDLENBQUM7SUFDSCxNQUFNLFlBQVksR0FBRyxNQUFNLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRCxNQUFNLFlBQVksR0FBRyxrQ0FBa0MsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0RSxNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBRyxFQUFFO1FBQzlCLFFBQVEsWUFBWSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ2hELEtBQUssS0FBSztnQkFDUixPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxPQUFPLENBQUM7WUFDakIsS0FBSyxpQkFBaUI7Z0JBQ3BCLE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRUwsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUscUNBQXFDLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDekUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQzNELFFBQVEsRUFBRSxNQUFNO1FBQ2hCLGVBQWUsRUFBRSxFQUFFO0tBQ3BCLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLDZCQUE2QixDQUFDLENBQUM7SUFDbEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDbkYsTUFBTSxVQUFVLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUUxQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVDLE1BQU0sa0JBQWtCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM5RSxNQUFNLGtCQUFrQixDQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLGtDQUFrQyxHQUFHLENBQUMsWUFBZ0QsRUFBRSxFQUFFO0lBQzlGLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0QsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3RCxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RSxPQUFPLEdBQUcsVUFBVSxJQUFJLFdBQVcsTUFBTSxpQkFBaUIsRUFBRSxDQUFDO0FBQy9ELENBQUMsQ0FBQyJ9
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfY29tbWl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUVoRSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQ3hDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hDLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRXBCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxLQUFLLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXRFLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFOzs7U0FHWixnQkFBZ0IsQ0FBQyxzQkFBc0I7U0FDdkMsZ0JBQWdCLENBQUMsMkJBQTJCLElBQUksZ0JBQWdCLENBQUMsMkJBQTJCLE1BQU0sZ0JBQWdCLENBQUMsNkJBQTZCOztHQUV0SixDQUFDLENBQUM7SUFDSCxNQUFNLGNBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDakUsY0FBYyxDQUFDLFlBQVksQ0FBQztRQUMxQjtZQUNFLElBQUksRUFBRSxNQUFNO1lBQ1osSUFBSSxFQUFFLFlBQVk7WUFDbEIsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixDQUFDO1lBQzNDLE9BQU8sRUFBRSxn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
@@ -1,5 +1,7 @@
1
1
  export * from '../plugins.js';
2
2
  import * as commitinfo from '@push.rocks/commitinfo';
3
+ import * as smartfile from '@push.rocks/smartfile';
3
4
  import * as smartinteract from '@push.rocks/smartinteract';
4
5
  import * as smartshell from '@push.rocks/smartshell';
5
- export { commitinfo, smartinteract, smartshell };
6
+ import * as tsdoc from '@git.zone/tsdoc';
7
+ export { commitinfo, smartfile, smartinteract, smartshell, tsdoc };
@@ -1,6 +1,8 @@
1
1
  export * from '../plugins.js';
2
2
  import * as commitinfo from '@push.rocks/commitinfo';
3
+ import * as smartfile from '@push.rocks/smartfile';
3
4
  import * as smartinteract from '@push.rocks/smartinteract';
4
5
  import * as smartshell from '@push.rocks/smartshell';
5
- export { commitinfo, smartinteract, smartshell };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kLnBsdWdpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfY29tbWl0L21vZC5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBRTlCLE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssVUFBVSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxDQUFDIn0=
6
+ import * as tsdoc from '@git.zone/tsdoc';
7
+ export { commitinfo, smartfile, smartinteract, smartshell, tsdoc };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kLnBsdWdpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfY29tbWl0L21vZC5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBRTlCLE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssYUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDIn0=
@@ -8,6 +8,11 @@ const incompatibleLicenses = [
8
8
  "SSPL",
9
9
  ];
10
10
  export const run = async (projectArg) => {
11
+ const nodeModulesInstalled = await plugins.smartfile.fs.isDirectory(plugins.path.join(paths.cwd, 'node_modules'));
12
+ if (!nodeModulesInstalled) {
13
+ logger.log('warn', 'No node_modules found. Skipping license check');
14
+ return;
15
+ }
11
16
  const licenseChecker = await plugins.smartlegal.createLicenseChecker();
12
17
  const licenseCheckResult = await licenseChecker.excludeLicenseWithinPath(paths.cwd, incompatibleLicenses);
13
18
  if (licenseCheckResult.failingModules.length === 0) {
@@ -20,4 +25,4 @@ export const run = async (projectArg) => {
20
25
  }
21
26
  }
22
27
  };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmxpY2Vuc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2Zvcm1hdC5saWNlbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLG9CQUFvQixHQUFhO0lBQ3JDLE1BQU07SUFDTixLQUFLO0lBQ0wsTUFBTTtDQUNQLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLFVBQW1CLEVBQUUsRUFBRTtJQUMvQyxNQUFNLGNBQWMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN2RSxNQUFNLGtCQUFrQixHQUFHLE1BQU0sY0FBYyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUMxRyxJQUFJLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztJQUNwRCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLHdDQUF3QyxDQUFDLENBQUM7UUFDOUQsS0FBSyxNQUFNLFlBQVksSUFBSSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLElBQUksdUJBQXVCLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyxDQUFDIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmxpY2Vuc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2Zvcm1hdC5saWNlbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLG9CQUFvQixHQUFhO0lBQ3JDLE1BQU07SUFDTixLQUFLO0lBQ0wsTUFBTTtDQUNQLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLFVBQW1CLEVBQUUsRUFBRTtJQUMvQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNsSCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUMxQixNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSwrQ0FBK0MsQ0FBQyxDQUFDO1FBQ3BFLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdkUsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDMUcsSUFBSSxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25ELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLDZCQUE2QixDQUFDLENBQUM7SUFDcEQsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSx3Q0FBd0MsQ0FBQyxDQUFDO1FBQzlELEtBQUssTUFBTSxZQUFZLElBQUksa0JBQWtCLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxJQUFJLHVCQUF1QixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNqRixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQyJ9
@@ -1,2 +1 @@
1
- import { Project } from '../classes.project.js';
2
- export declare const run: (projectArg: Project) => Promise<void>;
1
+ export declare const run: () => Promise<void>;
@@ -1,40 +1,25 @@
1
1
  import * as plugins from './mod.plugins.js';
2
2
  import * as paths from '../paths.js';
3
- import { GitzoneConfig } from '../classes.gitzoneconfig.js';
4
- import { Project } from '../classes.project.js';
5
- export const run = async (projectArg) => {
3
+ export const run = async () => {
6
4
  const readmePath = plugins.path.join(paths.cwd, 'readme.md');
7
- const readmeFile = await plugins.smartfile.SmartFile.fromFilePath(readmePath);
8
- // lets do our transformation
9
- let usageInfo = '';
10
- const gitzoneConfig = await GitzoneConfig.fromCwd();
11
- if (readmeFile) {
12
- const readmeFileString = readmeFile.contentBuffer.toString();
13
- const stringArray1 = readmeFileString.split('## Usage\n');
14
- if (stringArray1[1]) {
15
- const stringArray2 = stringArray1[1].split('\nFor further information read the linked docs at the top of this readme.');
16
- const stringArray3 = stringArray2[0].split('\n\n## Contribution');
17
- usageInfo = stringArray3[0];
18
- }
5
+ const readmeHintsPath = plugins.path.join(paths.cwd, 'readme.hints.md');
6
+ // Check and initialize readme.md if it doesn't exist
7
+ const readmeExists = await plugins.smartfile.fs.fileExists(readmePath);
8
+ if (!readmeExists) {
9
+ await plugins.smartfile.fs.toFs('# Project Readme\n\nThis is the initial readme file.', readmePath);
10
+ console.log('Initialized readme.md');
19
11
  }
20
- if (gitzoneConfig.data.module && gitzoneConfig.data.module.license === 'MIT') {
21
- usageInfo +=
22
- '\n\n## Contribution\n\n' +
23
- 'We are always happy for code contributions. If you are not the code contributing type that is ok. ' +
24
- 'Still, maintaining Open Source repositories takes considerable time and thought. ' +
25
- 'If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: ' +
26
- 'You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)\n';
12
+ else {
13
+ console.log('readme.md already exists');
14
+ }
15
+ // Check and initialize readme.hints.md if it doesn't exist
16
+ const readmeHintsExists = await plugins.smartfile.fs.fileExists(readmeHintsPath);
17
+ if (!readmeHintsExists) {
18
+ await plugins.smartfile.fs.toFs('# Project Readme Hints\n\nThis is the initial readme hints file.', readmeHintsPath);
19
+ console.log('Initialized readme.hints.md');
20
+ }
21
+ else {
22
+ console.log('readme.hints.md already exists');
27
23
  }
28
- const templateModule = await import('../mod_template/index.js');
29
- const readmeTemplate = await templateModule.getTemplate('readme');
30
- console.log(gitzoneConfig.data);
31
- await readmeTemplate.supplyVariables({
32
- module: {
33
- ...gitzoneConfig.data.module,
34
- },
35
- usageInfo,
36
- });
37
- await readmeTemplate.askCliForMissingVariables();
38
- await readmeTemplate.writeToDisk(paths.cwd);
39
24
  };
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnJlYWRtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL21vZF9mb3JtYXQvZm9ybWF0LnJlYWRtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxVQUFtQixFQUFFLEVBQUU7SUFDL0MsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM3RCxNQUFNLFVBQVUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUU5RSw2QkFBNkI7SUFFN0IsSUFBSSxTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQzNCLE1BQU0sYUFBYSxHQUFHLE1BQU0sYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRXBELElBQUksVUFBVSxFQUFFLENBQUM7UUFDZixNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0QsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFELElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDcEIsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FDeEMsMkVBQTJFLENBQzVFLENBQUM7WUFDRixNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDbEUsU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQzdFLFNBQVM7WUFDUCx5QkFBeUI7Z0JBQ3pCLG9HQUFvRztnQkFDcEcsbUZBQW1GO2dCQUNuRiw2SEFBNkg7Z0JBQzdILHlJQUF5SSxDQUFDO0lBQzlJLENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxNQUFNLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxNQUFNLGNBQWMsQ0FBQyxlQUFlLENBQUM7UUFDbkMsTUFBTSxFQUFFO1lBQ04sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU07U0FDN0I7UUFDRCxTQUFTO0tBQ1YsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxjQUFjLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNqRCxNQUFNLGNBQWMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyJ9
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnJlYWRtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL21vZF9mb3JtYXQvZm9ybWF0LnJlYWRtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBRXJDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLElBQUksRUFBRTtJQUM1QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzdELE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUV4RSxxREFBcUQ7SUFDckQsTUFBTSxZQUFZLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNEQUFzRCxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3BHLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsMkRBQTJEO0lBQzNELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakYsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdkIsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0VBQWtFLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDckgsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ2hELENBQUM7QUFDSCxDQUFDLENBQUMifQ==
@@ -25,6 +25,6 @@ export let run = async (write = true) => {
25
25
  await formatPrettier.run(project);
26
26
  // format readme.md
27
27
  const formatReadme = await import('./format.readme.js');
28
- // await formatReadme.run();
28
+ await formatReadme.run();
29
29
  };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxLQUFLLEVBQUUsUUFBaUIsSUFBSSxFQUFnQixFQUFFO0lBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRXhDLFVBQVU7SUFDVixNQUFNLGFBQWEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzFELE1BQU0sYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVqQyxXQUFXO0lBQ1gsTUFBTSxjQUFjLEdBQUcsTUFBTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM1RCxNQUFNLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbEMsVUFBVTtJQUNWLE1BQU0sYUFBYSxHQUFHLE1BQU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDMUQsTUFBTSxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWpDLHNCQUFzQjtJQUN0QixNQUFNLGlCQUFpQixHQUFHLE1BQU0sTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDbEUsTUFBTSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFckMsd0JBQXdCO0lBQ3hCLE1BQU0sZUFBZSxHQUFHLE1BQU0sTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDOUQsTUFBTSxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRW5DLG9CQUFvQjtJQUNwQixNQUFNLGVBQWUsR0FBRyxNQUFNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzlELE1BQU0sZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVuQyxvQkFBb0I7SUFDcEIsTUFBTSxjQUFjLEdBQUcsTUFBTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM1RCxNQUFNLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbEMsbUJBQW1CO0lBQ25CLE1BQU0sWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDeEQsNEJBQTRCO0FBQzlCLENBQUMsQ0FBQyJ9
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxLQUFLLEVBQUUsUUFBaUIsSUFBSSxFQUFnQixFQUFFO0lBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRXhDLFVBQVU7SUFDVixNQUFNLGFBQWEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzFELE1BQU0sYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVqQyxXQUFXO0lBQ1gsTUFBTSxjQUFjLEdBQUcsTUFBTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM1RCxNQUFNLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbEMsVUFBVTtJQUNWLE1BQU0sYUFBYSxHQUFHLE1BQU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDMUQsTUFBTSxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWpDLHNCQUFzQjtJQUN0QixNQUFNLGlCQUFpQixHQUFHLE1BQU0sTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDbEUsTUFBTSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFckMsd0JBQXdCO0lBQ3hCLE1BQU0sZUFBZSxHQUFHLE1BQU0sTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDOUQsTUFBTSxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRW5DLG9CQUFvQjtJQUNwQixNQUFNLGVBQWUsR0FBRyxNQUFNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzlELE1BQU0sZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVuQyxvQkFBb0I7SUFDcEIsTUFBTSxjQUFjLEdBQUcsTUFBTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM1RCxNQUFNLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbEMsbUJBQW1CO0lBQ25CLE1BQU0sWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDeEQsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDM0IsQ0FBQyxDQUFDIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@git.zone/cli",
3
3
  "private": false,
4
- "version": "1.9.98",
4
+ "version": "1.9.99",
5
5
  "description": "A CLI toolbelt to streamline local development cycles by using various gitzone utilities.",
6
6
  "main": "dist_ts/index.ts",
7
7
  "typings": "dist_ts/index.d.ts",
@@ -30,17 +30,18 @@
30
30
  "author": "Task Venture Capital GmbH",
31
31
  "license": "MIT",
32
32
  "bugs": {
33
- "url": "https://gitlab.com/gitzone/private/gitzone/issues"
33
+ "url": "https://code.foss.global/git.zone/cli/issues"
34
34
  },
35
35
  "homepage": "https://pages.foss.global/git.zone/cli",
36
36
  "devDependencies": {
37
37
  "@git.zone/tsbuild": "^2.1.80",
38
38
  "@git.zone/tsrun": "^1.2.46",
39
39
  "@git.zone/tstest": "^1.0.90",
40
- "@types/node": "^20.14.7"
40
+ "@types/node": "^20.14.8"
41
41
  },
42
42
  "dependencies": {
43
- "@push.rocks/commitinfo": "^1.0.11",
43
+ "@git.zone/tsdoc": "^1.1.40",
44
+ "@push.rocks/commitinfo": "^1.0.12",
44
45
  "@push.rocks/early": "^4.0.4",
45
46
  "@push.rocks/gulp-function": "^3.0.7",
46
47
  "@push.rocks/lik": "^6.0.15",
@@ -87,7 +88,7 @@
87
88
  "last 1 chrome versions"
88
89
  ],
89
90
  "scripts": {
90
- "test": "(npm run clean && npm run prepareTest && npm run testCli && npm run testCommit && npm run testDeprecate && npm run testVersion && npm run testReadme && npm run testFormat && npm run testUpdate && npm run testTemplateNpm && npm run testTemplateLit) && rm -rf test",
91
+ "test": "(npm run clean && npm run prepareTest && npm run testCli && npm run testFormat && npm run testCommit && npm run testDeprecate && npm run testVersion && npm run testReadme && npm run testUpdate && npm run testTemplateNpm && npm run testTemplateLit) && rm -rf test",
91
92
  "build": "(tsbuild --web --allowimplicitany)",
92
93
  "clean": "(rm -rf test/)",
93
94
  "prepareTest": "(git clone https://gitlab.com/sandboxzone/sandbox-npmts.git test/)",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@git.zone/cli',
6
- version: '1.9.98',
6
+ version: '1.9.99',
7
7
  description: 'A CLI toolbelt to streamline local development cycles by using various gitzone utilities.'
8
8
  }
@@ -5,6 +5,19 @@ import * as paths from '../paths.js';
5
5
  import { logger } from '../gitzone.logging.js';
6
6
 
7
7
  export const run = async (argvArg: any) => {
8
+ logger.log('info', `gathering facts...`);
9
+ const aidoc = new plugins.tsdoc.AiDoc();
10
+ await aidoc.start();
11
+
12
+ const nextCommitObject = await aidoc.buildNextCommitObject(paths.cwd);
13
+
14
+ logger.log('info', `---------
15
+ Next recommended commit would be:
16
+ ===========
17
+ -> ${nextCommitObject.recommendedNextVersion}:
18
+ -> ${nextCommitObject.recommendedNextVersionLevel}(${nextCommitObject.recommendedNextVersionScope}): ${nextCommitObject.recommendedNextVersionMessage}
19
+ ===========
20
+ `);
8
21
  const commitInteract = new plugins.smartinteract.SmartInteract();
9
22
  commitInteract.addQuestions([
10
23
  {
@@ -12,19 +25,19 @@ export const run = async (argvArg: any) => {
12
25
  name: `commitType`,
13
26
  message: `Choose TYPE of the commit:`,
14
27
  choices: [`fix`, `feat`, `BREAKING CHANGE`],
15
- default: `fix`,
28
+ default: nextCommitObject.recommendedNextVersionLevel,
16
29
  },
17
30
  {
18
31
  type: 'input',
19
32
  name: `commitScope`,
20
33
  message: `What is the SCOPE of the commit:`,
21
- default: `core`,
34
+ default: nextCommitObject.recommendedNextVersionScope,
22
35
  },
23
36
  {
24
37
  type: `input`,
25
38
  name: `commitDescription`,
26
39
  message: `What is the DESCRIPTION of the commit?`,
27
- default: `update`,
40
+ default: nextCommitObject.recommendedNextVersionMessage,
28
41
  },
29
42
  {
30
43
  type: 'confirm',
@@ -52,10 +65,17 @@ export const run = async (argvArg: any) => {
52
65
  sourceFilePaths: [],
53
66
  });
54
67
 
55
- logger.log('info', `Baking commitinfo into code`);
68
+ logger.log('info', `Baking commitinfo into code ...`);
56
69
  const commitInfo = new plugins.commitinfo.CommitInfo(paths.cwd, commitVersionType);
57
70
  await commitInfo.writeIntoPotentialDirs();
58
71
 
72
+ logger.log('info', `Writing changelog.md ...`);
73
+ const changelog = nextCommitObject.changelog;
74
+ changelog.replaceAll('{{nextVersion}}', (await commitInfo.getNextPlannedVersion()).versionString);
75
+ changelog.replaceAll('{{nextVersionMessage}}', commitString);
76
+
77
+ await plugins.smartfile.memory.toFs(changelog, plugins.path.join(paths.cwd, `changelog.md`));
78
+
59
79
  logger.log('info', `Staging files for commit:`);
60
80
  await smartshellInstance.exec(`git add -A`);
61
81
  await smartshellInstance.exec(`git commit -m "${commitString}"`);
@@ -1,7 +1,10 @@
1
1
  export * from '../plugins.js';
2
2
 
3
3
  import * as commitinfo from '@push.rocks/commitinfo';
4
+ import * as smartfile from '@push.rocks/smartfile';
4
5
  import * as smartinteract from '@push.rocks/smartinteract';
5
6
  import * as smartshell from '@push.rocks/smartshell';
6
7
 
7
- export { commitinfo, smartinteract, smartshell };
8
+ import * as tsdoc from '@git.zone/tsdoc';
9
+
10
+ export { commitinfo, smartfile, smartinteract, smartshell, tsdoc };
@@ -11,6 +11,11 @@ const incompatibleLicenses: string[] = [
11
11
  ];
12
12
 
13
13
  export const run = async (projectArg: Project) => {
14
+ const nodeModulesInstalled = await plugins.smartfile.fs.isDirectory(plugins.path.join(paths.cwd, 'node_modules'));
15
+ if (!nodeModulesInstalled) {
16
+ logger.log('warn', 'No node_modules found. Skipping license check');
17
+ return;
18
+ }
14
19
  const licenseChecker = await plugins.smartlegal.createLicenseChecker();
15
20
  const licenseCheckResult = await licenseChecker.excludeLicenseWithinPath(paths.cwd, incompatibleLicenses);
16
21
  if (licenseCheckResult.failingModules.length === 0) {
@@ -1,47 +1,25 @@
1
1
  import * as plugins from './mod.plugins.js';
2
2
  import * as paths from '../paths.js';
3
- import { GitzoneConfig } from '../classes.gitzoneconfig.js';
4
- import { Project } from '../classes.project.js';
5
3
 
6
- export const run = async (projectArg: Project) => {
4
+ export const run = async () => {
7
5
  const readmePath = plugins.path.join(paths.cwd, 'readme.md');
8
- const readmeFile = await plugins.smartfile.SmartFile.fromFilePath(readmePath);
6
+ const readmeHintsPath = plugins.path.join(paths.cwd, 'readme.hints.md');
9
7
 
10
- // lets do our transformation
11
-
12
- let usageInfo: string = '';
13
- const gitzoneConfig = await GitzoneConfig.fromCwd();
14
-
15
- if (readmeFile) {
16
- const readmeFileString = readmeFile.contentBuffer.toString();
17
- const stringArray1 = readmeFileString.split('## Usage\n');
18
- if (stringArray1[1]) {
19
- const stringArray2 = stringArray1[1].split(
20
- '\nFor further information read the linked docs at the top of this readme.'
21
- );
22
- const stringArray3 = stringArray2[0].split('\n\n## Contribution');
23
- usageInfo = stringArray3[0];
24
- }
8
+ // Check and initialize readme.md if it doesn't exist
9
+ const readmeExists = await plugins.smartfile.fs.fileExists(readmePath);
10
+ if (!readmeExists) {
11
+ await plugins.smartfile.fs.toFs('# Project Readme\n\nThis is the initial readme file.', readmePath);
12
+ console.log('Initialized readme.md');
13
+ } else {
14
+ console.log('readme.md already exists');
25
15
  }
26
16
 
27
- if (gitzoneConfig.data.module && gitzoneConfig.data.module.license === 'MIT') {
28
- usageInfo +=
29
- '\n\n## Contribution\n\n' +
30
- 'We are always happy for code contributions. If you are not the code contributing type that is ok. ' +
31
- 'Still, maintaining Open Source repositories takes considerable time and thought. ' +
32
- 'If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: ' +
33
- 'You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)\n';
17
+ // Check and initialize readme.hints.md if it doesn't exist
18
+ const readmeHintsExists = await plugins.smartfile.fs.fileExists(readmeHintsPath);
19
+ if (!readmeHintsExists) {
20
+ await plugins.smartfile.fs.toFs('# Project Readme Hints\n\nThis is the initial readme hints file.', readmeHintsPath);
21
+ console.log('Initialized readme.hints.md');
22
+ } else {
23
+ console.log('readme.hints.md already exists');
34
24
  }
35
-
36
- const templateModule = await import('../mod_template/index.js');
37
- const readmeTemplate = await templateModule.getTemplate('readme');
38
- console.log(gitzoneConfig.data);
39
- await readmeTemplate.supplyVariables({
40
- module: {
41
- ...gitzoneConfig.data.module,
42
- },
43
- usageInfo,
44
- });
45
- await readmeTemplate.askCliForMissingVariables();
46
- await readmeTemplate.writeToDisk(paths.cwd);
47
- };
25
+ };
@@ -34,5 +34,5 @@ export let run = async (write: boolean = true): Promise<any> => {
34
34
 
35
35
  // format readme.md
36
36
  const formatReadme = await import('./format.readme.js');
37
- // await formatReadme.run();
37
+ await formatReadme.run();
38
38
  };