@git.zone/cli 1.9.98 → 1.9.100
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.
- package/dist_ts/00_commitinfo_data.d.ts +1 -1
- package/dist_ts/00_commitinfo_data.js +3 -3
- package/dist_ts/mod_commit/index.js +21 -5
- package/dist_ts/mod_commit/mod.plugins.d.ts +3 -1
- package/dist_ts/mod_commit/mod.plugins.js +4 -2
- package/dist_ts/mod_format/format.license.js +6 -1
- package/dist_ts/mod_format/format.readme.d.ts +1 -2
- package/dist_ts/mod_format/format.readme.js +19 -34
- package/dist_ts/mod_format/index.js +2 -2
- package/package.json +6 -5
- package/ts/00_commitinfo_data.ts +2 -2
- package/ts/mod_commit/index.ts +24 -4
- package/ts/mod_commit/mod.plugins.ts +4 -1
- package/ts/mod_format/format.license.ts +5 -0
- package/ts/mod_format/format.readme.ts +17 -39
- package/ts/mod_format/index.ts +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* autocreated commitinfo by @
|
|
2
|
+
* autocreated commitinfo by @push.rocks/commitinfo
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/cli',
|
|
6
|
-
version: '1.9.
|
|
6
|
+
version: '1.9.100',
|
|
7
7
|
description: 'A CLI toolbelt to streamline local development cycles by using various gitzone utilities.'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxlQUFlO0lBQ3JCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFdBQVcsRUFBRSwyRkFBMkY7Q0FDekcsQ0FBQSJ9
|
|
@@ -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:
|
|
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:
|
|
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:
|
|
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
|
+
let changelog = nextCommitObject.changelog;
|
|
67
|
+
changelog = changelog.replaceAll('{{nextVersion}}', (await commitInfo.getNextPlannedVersion()).versionString);
|
|
68
|
+
changelog = 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,
|
|
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
|
-
|
|
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
|
-
|
|
6
|
-
|
|
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,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmxpY2Vuc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2Zvcm1hdC5saWNlbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLG9CQUFvQixHQUFhO0lBQ3JDLE1BQU07SUFDTixLQUFLO0lBQ0wsTUFBTTtDQUNQLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLFVBQW1CLEVBQUUsRUFBRTtJQUMvQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNsSCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUMxQixNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSwrQ0FBK0MsQ0FBQyxDQUFDO1FBQ3BFLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdkUsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDMUcsSUFBSSxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25ELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLDZCQUE2QixDQUFDLENBQUM7SUFDcEQsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSx3Q0FBd0MsQ0FBQyxDQUFDO1FBQzlELEtBQUssTUFBTSxZQUFZLElBQUksa0JBQWtCLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxJQUFJLHVCQUF1QixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNqRixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQyJ9
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
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
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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,
|
|
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
|
-
|
|
28
|
+
await formatReadme.run();
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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.
|
|
4
|
+
"version": "1.9.100",
|
|
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://
|
|
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.
|
|
40
|
+
"@types/node": "^20.14.8"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@
|
|
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
|
|
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/)",
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* autocreated commitinfo by @
|
|
2
|
+
* autocreated commitinfo by @push.rocks/commitinfo
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/cli',
|
|
6
|
-
version: '1.9.
|
|
6
|
+
version: '1.9.100',
|
|
7
7
|
description: 'A CLI toolbelt to streamline local development cycles by using various gitzone utilities.'
|
|
8
8
|
}
|
package/ts/mod_commit/index.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
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:
|
|
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
|
+
let changelog = nextCommitObject.changelog;
|
|
74
|
+
changelog = changelog.replaceAll('{{nextVersion}}', (await commitInfo.getNextPlannedVersion()).versionString);
|
|
75
|
+
changelog = 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
|
-
|
|
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 (
|
|
4
|
+
export const run = async () => {
|
|
7
5
|
const readmePath = plugins.path.join(paths.cwd, 'readme.md');
|
|
8
|
-
const
|
|
6
|
+
const readmeHintsPath = plugins.path.join(paths.cwd, 'readme.hints.md');
|
|
9
7
|
|
|
10
|
-
//
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
+
};
|
package/ts/mod_format/index.ts
CHANGED