@git.zone/cli 1.16.1 → 1.16.3
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.js +1 -1
- package/dist_ts/mod_format/classes.changecache.js +11 -3
- package/dist_ts/mod_format/formatters/prettier.formatter.js +17 -3
- package/dist_ts/mod_format/index.js +2 -2
- package/package.json +1 -1
- package/readme.md +317 -82
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/mod_format/classes.changecache.ts +14 -2
- package/ts/mod_format/formatters/prettier.formatter.ts +16 -2
- package/ts/mod_format/index.ts +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/cli',
|
|
6
|
-
version: '1.16.
|
|
6
|
+
version: '1.16.3',
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxlQUFlO0lBQ3JCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSwrTEFBK0w7Q0FDN00sQ0FBQSJ9
|
|
@@ -18,7 +18,7 @@ export class ChangeCache {
|
|
|
18
18
|
files: []
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
const content =
|
|
21
|
+
const content = plugins.smartfile.fs.toStringSync(this.manifestPath);
|
|
22
22
|
return JSON.parse(content);
|
|
23
23
|
}
|
|
24
24
|
async saveManifest(manifest) {
|
|
@@ -35,7 +35,11 @@ export class ChangeCache {
|
|
|
35
35
|
}
|
|
36
36
|
// Get current file stats
|
|
37
37
|
const stats = await plugins.smartfile.fs.stat(absolutePath);
|
|
38
|
-
|
|
38
|
+
// Skip directories
|
|
39
|
+
if (stats.isDirectory()) {
|
|
40
|
+
return false; // Directories are not processed
|
|
41
|
+
}
|
|
42
|
+
const content = plugins.smartfile.fs.toStringSync(absolutePath);
|
|
39
43
|
const currentChecksum = this.calculateChecksum(content);
|
|
40
44
|
// Get cached info
|
|
41
45
|
const manifest = await this.getManifest();
|
|
@@ -54,6 +58,10 @@ export class ChangeCache {
|
|
|
54
58
|
: plugins.path.join(paths.cwd, filePath);
|
|
55
59
|
// Get current file stats
|
|
56
60
|
const stats = await plugins.smartfile.fs.stat(absolutePath);
|
|
61
|
+
// Skip directories
|
|
62
|
+
if (stats.isDirectory()) {
|
|
63
|
+
return; // Don't cache directories
|
|
64
|
+
}
|
|
57
65
|
const content = await plugins.smartfile.fs.toStringSync(absolutePath);
|
|
58
66
|
const checksum = this.calculateChecksum(content);
|
|
59
67
|
// Update manifest
|
|
@@ -102,4 +110,4 @@ export class ChangeCache {
|
|
|
102
110
|
return plugins.crypto.createHash('sha256').update(content).digest('hex');
|
|
103
111
|
}
|
|
104
112
|
}
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jaGFuZ2VjYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL21vZF9mb3JtYXQvY2xhc3Nlcy5jaGFuZ2VjYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBZXJDLE1BQU0sT0FBTyxXQUFXO0lBS3RCO1FBRlEsaUJBQVksR0FBRyxPQUFPLENBQUM7UUFHN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVO1FBQ2QsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNmLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPO2dCQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDMUIsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxFQUFFLEVBQUU7YUFDVixDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFD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
|
|
@@ -10,8 +10,22 @@ export class PrettierFormatter extends BaseFormatter {
|
|
|
10
10
|
const globPattern = '**/*.{ts,tsx,js,jsx,json,md,css,scss,html,xml,yaml,yml}';
|
|
11
11
|
// Get all files that match the pattern
|
|
12
12
|
const files = await plugins.smartfile.fs.listFileTree('.', globPattern);
|
|
13
|
-
//
|
|
13
|
+
// Filter out any potential directories and ensure we only process files
|
|
14
|
+
const validFiles = [];
|
|
14
15
|
for (const file of files) {
|
|
16
|
+
try {
|
|
17
|
+
const stats = await plugins.smartfile.fs.stat(file);
|
|
18
|
+
if (!stats.isDirectory()) {
|
|
19
|
+
validFiles.push(file);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
// Skip files that can't be accessed
|
|
24
|
+
logVerbose(`Skipping ${file} - cannot access: ${error.message}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// Check which files need formatting
|
|
28
|
+
for (const file of validFiles) {
|
|
15
29
|
// Skip files that haven't changed
|
|
16
30
|
if (!await this.shouldProcessFile(file)) {
|
|
17
31
|
logVerbose(`Skipping ${file} - no changes detected`);
|
|
@@ -71,7 +85,7 @@ export class PrettierFormatter extends BaseFormatter {
|
|
|
71
85
|
return;
|
|
72
86
|
try {
|
|
73
87
|
// Read current content
|
|
74
|
-
const content =
|
|
88
|
+
const content = plugins.smartfile.fs.toStringSync(change.path);
|
|
75
89
|
// Format with prettier
|
|
76
90
|
const prettier = await import('prettier');
|
|
77
91
|
const formatted = await prettier.format(content, {
|
|
@@ -108,4 +122,4 @@ export class PrettierFormatter extends BaseFormatter {
|
|
|
108
122
|
});
|
|
109
123
|
}
|
|
110
124
|
}
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZXIuZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHMvbW9kX2Zvcm1hdC9mb3JtYXR0ZXJzL3ByZXR0aWVyLmZvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxLQUFLLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBQ2xELElBQUksSUFBSTtRQUNOLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sT0FBTyxHQUFxQixFQUFFLENBQUM7UUFDckMsTUFBTSxXQUFXLEdBQUcseURBQXlELENBQUM7UUFFOUUsdUNBQXVDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUV4RSx3RUFBd0U7UUFDeEUsTUFBTSxVQUFVLEdBQWEsRUFBRSxDQUFDO1FBQ2hDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDO2dCQUNILE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7b0JBQ3pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixvQ0FBb0M7Z0JBQ3BDLFVBQVUsQ0FB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
|
|
@@ -110,7 +110,7 @@ export let run = async (options = {}) => {
|
|
|
110
110
|
message: 'Proceed with formatting?',
|
|
111
111
|
default: true
|
|
112
112
|
});
|
|
113
|
-
if (!response.
|
|
113
|
+
if (!response.value) {
|
|
114
114
|
logger.log('info', 'Format operation cancelled by user');
|
|
115
115
|
return;
|
|
116
116
|
}
|
|
@@ -203,4 +203,4 @@ export const handleCleanBackups = async () => {
|
|
|
203
203
|
await rollbackManager.cleanOldBackups(retentionDays);
|
|
204
204
|
logger.log('success', `Cleaned backups older than ${retentionDays} days`);
|
|
205
205
|
};
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZm9ybWF0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRCx3Q0FBd0M7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUvRCxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsS0FBSyxFQUFFLFVBVXBCLEVBQUUsRUFBZ0IsRUFBRTtJQUN0QixnQ0FBZ0M7SUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@git.zone/cli",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.16.
|
|
4
|
+
"version": "1.16.3",
|
|
5
5
|
"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.",
|
|
6
6
|
"main": "dist_ts/index.ts",
|
|
7
7
|
"typings": "dist_ts/index.d.ts",
|
package/readme.md
CHANGED
|
@@ -1,155 +1,390 @@
|
|
|
1
|
-
# @git.zone/cli
|
|
1
|
+
# @git.zone/cli 🚀
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**The ultimate CLI toolbelt for modern TypeScript development workflows**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@git.zone/cli)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
## 🎯 What is gitzone?
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
gitzone is a powerful command-line interface that supercharges your development workflow with automated project management, intelligent code formatting, and seamless version control. Whether you're bootstrapping a new TypeScript project, maintaining code quality, or managing complex multi-repository setups, gitzone has got you covered.
|
|
11
|
+
|
|
12
|
+
## 🏃♂️ Quick Start
|
|
13
|
+
|
|
14
|
+
### Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Install globally via npm
|
|
10
18
|
npm install -g @git.zone/cli
|
|
19
|
+
|
|
20
|
+
# Or with pnpm (recommended)
|
|
21
|
+
pnpm add -g @git.zone/cli
|
|
11
22
|
```
|
|
12
23
|
|
|
13
|
-
|
|
24
|
+
Once installed, you can use either `gitzone` or the shorter `gzone` command from anywhere in your terminal.
|
|
14
25
|
|
|
15
|
-
|
|
26
|
+
### Your First Command
|
|
16
27
|
|
|
17
|
-
|
|
28
|
+
```bash
|
|
29
|
+
# Create a new TypeScript npm package
|
|
30
|
+
gitzone template npm
|
|
18
31
|
|
|
19
|
-
|
|
32
|
+
# Format your entire codebase
|
|
33
|
+
gitzone format
|
|
34
|
+
|
|
35
|
+
# Create a semantic commit
|
|
36
|
+
gitzone commit
|
|
37
|
+
```
|
|
20
38
|
|
|
21
|
-
|
|
39
|
+
## 🛠️ Core Features
|
|
22
40
|
|
|
23
|
-
|
|
24
|
-
|
|
41
|
+
### 📦 Project Templates
|
|
42
|
+
|
|
43
|
+
Instantly scaffold production-ready projects with best practices built-in:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
gitzone template [template-name]
|
|
25
47
|
```
|
|
26
48
|
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
49
|
+
**Available templates:**
|
|
50
|
+
- **`npm`** - TypeScript npm package with testing, CI/CD, and full tooling
|
|
51
|
+
- **`service`** - Microservice architecture with Docker support
|
|
52
|
+
- **`website`** - Modern web application with LitElement and service workers
|
|
53
|
+
- **`wcc`** - Web Component Collection for reusable UI components
|
|
31
54
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
3. Respond to the prompts to customize the project settings. This includes setting up essential metadata such as name and repository information.
|
|
55
|
+
Each template comes pre-configured with:
|
|
56
|
+
- ✅ TypeScript with modern configurations
|
|
57
|
+
- ✅ Automated testing setup
|
|
58
|
+
- ✅ CI/CD pipelines (GitLab/GitHub)
|
|
59
|
+
- ✅ Code formatting and linting
|
|
60
|
+
- ✅ Documentation structure
|
|
39
61
|
|
|
40
|
-
###
|
|
62
|
+
### 🎨 Intelligent Code Formatting
|
|
41
63
|
|
|
42
|
-
|
|
64
|
+
The most powerful feature of gitzone - automatically format and standardize your entire codebase:
|
|
43
65
|
|
|
44
|
-
```
|
|
45
|
-
|
|
66
|
+
```bash
|
|
67
|
+
# Preview changes without applying them
|
|
68
|
+
gitzone format --dry-run
|
|
69
|
+
|
|
70
|
+
# Format with automatic approval
|
|
71
|
+
gitzone format --yes
|
|
72
|
+
|
|
73
|
+
# Save formatting plan for later execution
|
|
74
|
+
gitzone format --save-plan format-plan.json
|
|
75
|
+
|
|
76
|
+
# Execute a saved plan
|
|
77
|
+
gitzone format --from-plan format-plan.json
|
|
78
|
+
|
|
79
|
+
# Enable verbose output for debugging
|
|
80
|
+
gitzone format --verbose
|
|
46
81
|
```
|
|
47
82
|
|
|
48
|
-
|
|
83
|
+
**Format features:**
|
|
84
|
+
- 🔄 **Smart caching** - Only processes changed files
|
|
85
|
+
- 🛡️ **Rollback support** - Undo formatting changes if needed
|
|
86
|
+
- 📊 **Detailed reporting** - See exactly what changed
|
|
87
|
+
- ⚡ **Parallel execution** - Format multiple files simultaneously
|
|
88
|
+
- 🎯 **Module-specific formatting** - Target specific formatters
|
|
49
89
|
|
|
50
|
-
|
|
90
|
+
**Rollback capabilities:**
|
|
91
|
+
```bash
|
|
92
|
+
# List all available backups
|
|
93
|
+
gitzone format --list-backups
|
|
51
94
|
|
|
52
|
-
|
|
95
|
+
# Rollback to the last operation
|
|
96
|
+
gitzone format --rollback
|
|
53
97
|
|
|
54
|
-
|
|
55
|
-
gitzone
|
|
98
|
+
# Rollback to a specific operation
|
|
99
|
+
gitzone format --rollback [operation-id]
|
|
100
|
+
|
|
101
|
+
# Clean old backups
|
|
102
|
+
gitzone format --clean-backups
|
|
56
103
|
```
|
|
57
104
|
|
|
58
|
-
|
|
105
|
+
**Formatters included:**
|
|
106
|
+
- **Prettier** - JavaScript/TypeScript code formatting
|
|
107
|
+
- **License** - Ensure proper licensing
|
|
108
|
+
- **Package.json** - Standardize package configurations
|
|
109
|
+
- **Tsconfig** - TypeScript configuration optimization
|
|
110
|
+
- **Readme** - Documentation formatting
|
|
111
|
+
- **Gitignore** - Repository ignore rules
|
|
112
|
+
- **Templates** - Project template updates
|
|
113
|
+
- **Npmextra** - Extended npm configurations
|
|
59
114
|
|
|
60
|
-
###
|
|
115
|
+
### 🔀 Semantic Commits & Versioning
|
|
61
116
|
|
|
62
|
-
|
|
117
|
+
Create standardized commits that automatically handle versioning:
|
|
63
118
|
|
|
64
|
-
```
|
|
65
|
-
gitzone
|
|
119
|
+
```bash
|
|
120
|
+
gitzone commit
|
|
66
121
|
```
|
|
67
122
|
|
|
68
|
-
|
|
123
|
+
Features:
|
|
124
|
+
- 📝 Interactive commit message builder
|
|
125
|
+
- 🏷️ Automatic version bumping (major/minor/patch)
|
|
126
|
+
- 📜 Changelog generation
|
|
127
|
+
- 🚀 Optional auto-push to origin
|
|
128
|
+
- 🎯 Conventional commit compliance
|
|
69
129
|
|
|
70
|
-
|
|
130
|
+
The commit wizard guides you through:
|
|
131
|
+
1. **Type selection** (feat/fix/docs/style/refactor/perf/test/chore)
|
|
132
|
+
2. **Scope definition** (component/module affected)
|
|
133
|
+
3. **Description crafting**
|
|
134
|
+
4. **Breaking change detection**
|
|
135
|
+
5. **Version bump determination**
|
|
71
136
|
|
|
72
|
-
|
|
137
|
+
### 🏗️ Meta Repository Management
|
|
73
138
|
|
|
74
|
-
|
|
75
|
-
|
|
139
|
+
Manage multiple related repositories as a cohesive unit:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Initialize a meta repository
|
|
143
|
+
gitzone meta init
|
|
144
|
+
|
|
145
|
+
# Add a sub-project
|
|
146
|
+
gitzone meta add [name] [git-url]
|
|
147
|
+
|
|
148
|
+
# Update all sub-projects
|
|
149
|
+
gitzone meta update
|
|
150
|
+
|
|
151
|
+
# Remove a sub-project
|
|
152
|
+
gitzone meta remove [name]
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Perfect for:
|
|
156
|
+
- Monorepo management
|
|
157
|
+
- Multi-package projects
|
|
158
|
+
- Coordinated deployments
|
|
159
|
+
- Synchronized versioning
|
|
160
|
+
|
|
161
|
+
### 🐳 Docker Management
|
|
162
|
+
|
|
163
|
+
Streamline your Docker workflow:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# Clean up all Docker resources
|
|
167
|
+
gitzone docker prune
|
|
76
168
|
```
|
|
77
169
|
|
|
78
|
-
This command
|
|
170
|
+
This command removes:
|
|
171
|
+
- Stopped containers
|
|
172
|
+
- Unused images
|
|
173
|
+
- Dangling volumes
|
|
174
|
+
- Unused networks
|
|
79
175
|
|
|
80
|
-
###
|
|
176
|
+
### 🔗 Quick CI/CD Access
|
|
81
177
|
|
|
82
|
-
|
|
178
|
+
Jump directly to your CI/CD configurations:
|
|
83
179
|
|
|
84
|
-
|
|
180
|
+
```bash
|
|
181
|
+
# Open CI/CD settings
|
|
182
|
+
gitzone open ci
|
|
85
183
|
|
|
86
|
-
|
|
87
|
-
gitzone
|
|
184
|
+
# Open pipelines view
|
|
185
|
+
gitzone open pipelines
|
|
88
186
|
```
|
|
89
187
|
|
|
90
|
-
|
|
188
|
+
Works with GitLab repositories to provide instant access to your deployment configurations.
|
|
91
189
|
|
|
92
|
-
|
|
190
|
+
### 📝 Package Deprecation
|
|
93
191
|
|
|
94
|
-
|
|
192
|
+
Smoothly transition users from old to new packages:
|
|
95
193
|
|
|
96
|
-
```
|
|
97
|
-
gitzone
|
|
194
|
+
```bash
|
|
195
|
+
gitzone deprecate
|
|
98
196
|
```
|
|
99
197
|
|
|
100
|
-
|
|
198
|
+
Interactive wizard for:
|
|
199
|
+
- Setting deprecation notices
|
|
200
|
+
- Guiding users to replacements
|
|
201
|
+
- Updating registry metadata
|
|
202
|
+
- Coordinating migration paths
|
|
101
203
|
|
|
102
|
-
###
|
|
204
|
+
### 🚦 Project Initialization
|
|
103
205
|
|
|
104
|
-
|
|
206
|
+
Prepare existing projects for development:
|
|
105
207
|
|
|
106
|
-
|
|
208
|
+
```bash
|
|
209
|
+
gitzone start
|
|
210
|
+
```
|
|
107
211
|
|
|
108
|
-
|
|
109
|
-
|
|
212
|
+
Automatically:
|
|
213
|
+
- Checks out master branch
|
|
214
|
+
- Pulls latest changes
|
|
215
|
+
- Installs dependencies
|
|
216
|
+
- Sets up development environment
|
|
217
|
+
|
|
218
|
+
### 🔧 Helper Utilities
|
|
219
|
+
|
|
220
|
+
Quick utilities for common tasks:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
# Generate a unique short ID
|
|
224
|
+
gitzone helpers shortid
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## 📋 Configuration
|
|
228
|
+
|
|
229
|
+
### npmextra.json Configuration
|
|
230
|
+
|
|
231
|
+
Customize gitzone behavior through `npmextra.json`:
|
|
232
|
+
|
|
233
|
+
```json
|
|
234
|
+
{
|
|
235
|
+
"gitzone": {
|
|
236
|
+
"format": {
|
|
237
|
+
"interactive": true,
|
|
238
|
+
"showDiffs": false,
|
|
239
|
+
"autoApprove": false,
|
|
240
|
+
"parallel": true,
|
|
241
|
+
"rollback": {
|
|
242
|
+
"enabled": true,
|
|
243
|
+
"autoRollbackOnError": true,
|
|
244
|
+
"backupRetentionDays": 7
|
|
245
|
+
},
|
|
246
|
+
"modules": {
|
|
247
|
+
"skip": ["prettier"],
|
|
248
|
+
"only": [],
|
|
249
|
+
"order": []
|
|
250
|
+
},
|
|
251
|
+
"cache": {
|
|
252
|
+
"enabled": true,
|
|
253
|
+
"clean": true
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
110
258
|
```
|
|
111
259
|
|
|
112
|
-
|
|
260
|
+
### Environment Variables
|
|
261
|
+
|
|
262
|
+
- `CI` - Detect CI environment for automated workflows
|
|
263
|
+
- `DEBUG` - Enable debug output
|
|
264
|
+
- `GITZONE_FORMAT_PARALLEL` - Control parallel formatting
|
|
113
265
|
|
|
114
|
-
|
|
266
|
+
## 🏆 Best Practices
|
|
115
267
|
|
|
116
|
-
|
|
268
|
+
### For New Projects
|
|
269
|
+
1. Start with a template: `gitzone template npm`
|
|
270
|
+
2. Customize the generated structure
|
|
271
|
+
3. Run initial format: `gitzone format`
|
|
272
|
+
4. Set up CI/CD: `gitzone open ci`
|
|
117
273
|
|
|
118
|
-
|
|
274
|
+
### For Existing Projects
|
|
275
|
+
1. Initialize: `gitzone start`
|
|
276
|
+
2. Format codebase: `gitzone format --dry-run` (preview first!)
|
|
277
|
+
3. Apply formatting: `gitzone format --yes`
|
|
278
|
+
4. Commit changes: `gitzone commit`
|
|
119
279
|
|
|
120
|
-
|
|
280
|
+
### For Teams
|
|
281
|
+
1. Document format preferences in `npmextra.json`
|
|
282
|
+
2. Use `--save-plan` for reviewable format changes
|
|
283
|
+
3. Enable rollback for safety
|
|
284
|
+
4. Standardize commit conventions
|
|
121
285
|
|
|
122
|
-
|
|
286
|
+
## 🎯 Common Workflows
|
|
123
287
|
|
|
124
|
-
|
|
125
|
-
|
|
288
|
+
### Clean Development Cycle
|
|
289
|
+
```bash
|
|
290
|
+
# 1. Start fresh
|
|
291
|
+
gitzone start
|
|
126
292
|
|
|
127
|
-
|
|
293
|
+
# 2. Make changes
|
|
294
|
+
# ... your development work ...
|
|
128
295
|
|
|
129
|
-
|
|
130
|
-
```shell
|
|
296
|
+
# 3. Format code
|
|
131
297
|
gitzone format
|
|
298
|
+
|
|
299
|
+
# 4. Commit with semantic versioning
|
|
300
|
+
gitzone commit
|
|
301
|
+
|
|
302
|
+
# 5. Deploy (if CI/CD configured)
|
|
303
|
+
# Automatic via git push
|
|
132
304
|
```
|
|
133
305
|
|
|
134
|
-
-
|
|
306
|
+
### Multi-Repository Management
|
|
307
|
+
```bash
|
|
308
|
+
# 1. Set up meta repository
|
|
309
|
+
gitzone meta init
|
|
310
|
+
|
|
311
|
+
# 2. Add all related projects
|
|
312
|
+
gitzone meta add frontend https://github.com/org/frontend.git
|
|
313
|
+
gitzone meta add backend https://github.com/org/backend.git
|
|
314
|
+
gitzone meta add shared https://github.com/org/shared.git
|
|
315
|
+
|
|
316
|
+
# 3. Synchronize updates
|
|
317
|
+
gitzone meta update
|
|
318
|
+
```
|
|
135
319
|
|
|
136
|
-
|
|
320
|
+
### Safe Formatting with Rollback
|
|
321
|
+
```bash
|
|
322
|
+
# 1. Preview changes
|
|
323
|
+
gitzone format --dry-run
|
|
324
|
+
|
|
325
|
+
# 2. Save plan for review
|
|
326
|
+
gitzone format --save-plan format-changes.json
|
|
327
|
+
|
|
328
|
+
# 3. Apply formatting
|
|
329
|
+
gitzone format --from-plan format-changes.json
|
|
330
|
+
|
|
331
|
+
# 4. If something goes wrong, rollback
|
|
332
|
+
gitzone format --rollback
|
|
333
|
+
```
|
|
137
334
|
|
|
138
|
-
|
|
139
|
-
- **Meta Initialization (`meta init`)**: Lay down a foundation for a meta repository that orchestrates multiple projects by overseeing them through a centralized metadata file.
|
|
140
|
-
- **Subproject Operations:** Commands such as `meta update`, `meta add`, `meta remove` enable dynamic management of subprojects, ensuring they remain updated with current features and aligned to the meta repository's standards.
|
|
335
|
+
## 🔌 Integrations
|
|
141
336
|
|
|
142
|
-
|
|
337
|
+
### CI/CD Platforms
|
|
338
|
+
- **GitLab CI** - Full pipeline support with templates
|
|
339
|
+
- **GitHub Actions** - Automated workflows
|
|
340
|
+
- **Docker** - Container-based deployments
|
|
143
341
|
|
|
144
|
-
|
|
342
|
+
### Development Tools
|
|
343
|
+
- **TypeScript** - First-class support
|
|
344
|
+
- **Prettier** - Code formatting
|
|
345
|
+
- **ESLint** - Linting (via format modules)
|
|
346
|
+
- **npm/pnpm** - Package management
|
|
145
347
|
|
|
146
|
-
|
|
348
|
+
### Version Control
|
|
349
|
+
- **Git** - Deep integration
|
|
350
|
+
- **Semantic Versioning** - Automatic version bumping
|
|
351
|
+
- **Conventional Commits** - Standardized commit messages
|
|
147
352
|
|
|
148
|
-
|
|
353
|
+
## 💡 Pro Tips
|
|
354
|
+
|
|
355
|
+
1. **Use aliases**: Add `alias gz='gitzone'` to your shell profile
|
|
356
|
+
2. **Combine commands**: `gitzone format --yes && gitzone commit`
|
|
357
|
+
3. **Leverage templates**: Start projects right with proven structures
|
|
358
|
+
4. **Enable caching**: Dramatically speeds up formatting operations
|
|
359
|
+
5. **Save format plans**: Review changes before applying in production
|
|
360
|
+
|
|
361
|
+
## 🐛 Troubleshooting
|
|
362
|
+
|
|
363
|
+
### Format Command Shows "Cancelled"
|
|
364
|
+
If the format command shows cancelled even after confirming:
|
|
365
|
+
- Check your `npmextra.json` configuration
|
|
366
|
+
- Try with `--yes` flag to skip confirmation
|
|
367
|
+
- Use `--verbose` for detailed output
|
|
368
|
+
|
|
369
|
+
### Docker Commands Fail
|
|
370
|
+
Ensure Docker daemon is running:
|
|
371
|
+
```bash
|
|
372
|
+
docker info
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
### Template Creation Issues
|
|
376
|
+
Verify npm/pnpm is properly configured:
|
|
377
|
+
```bash
|
|
378
|
+
npm config get registry
|
|
379
|
+
```
|
|
149
380
|
|
|
150
|
-
|
|
381
|
+
## 📈 Performance
|
|
151
382
|
|
|
152
|
-
|
|
383
|
+
gitzone is optimized for speed:
|
|
384
|
+
- **Parallel processing** for format operations
|
|
385
|
+
- **Smart caching** to avoid redundant work
|
|
386
|
+
- **Incremental updates** for meta repositories
|
|
387
|
+
- **Minimal dependencies** for fast installation
|
|
153
388
|
|
|
154
389
|
## License and Legal Information
|
|
155
390
|
|
|
@@ -168,4 +403,4 @@ Registered at District court Bremen HRB 35230 HB, Germany
|
|
|
168
403
|
|
|
169
404
|
For any legal inquiries or if you require further information, please contact us via email at hello@task.vc.
|
|
170
405
|
|
|
171
|
-
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
|
|
406
|
+
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/cli',
|
|
6
|
-
version: '1.16.
|
|
6
|
+
version: '1.16.3',
|
|
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
|
}
|
|
@@ -38,7 +38,7 @@ export class ChangeCache {
|
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
const content =
|
|
41
|
+
const content = plugins.smartfile.fs.toStringSync(this.manifestPath);
|
|
42
42
|
return JSON.parse(content);
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -59,7 +59,13 @@ export class ChangeCache {
|
|
|
59
59
|
|
|
60
60
|
// Get current file stats
|
|
61
61
|
const stats = await plugins.smartfile.fs.stat(absolutePath);
|
|
62
|
-
|
|
62
|
+
|
|
63
|
+
// Skip directories
|
|
64
|
+
if (stats.isDirectory()) {
|
|
65
|
+
return false; // Directories are not processed
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const content = plugins.smartfile.fs.toStringSync(absolutePath);
|
|
63
69
|
const currentChecksum = this.calculateChecksum(content);
|
|
64
70
|
|
|
65
71
|
// Get cached info
|
|
@@ -83,6 +89,12 @@ export class ChangeCache {
|
|
|
83
89
|
|
|
84
90
|
// Get current file stats
|
|
85
91
|
const stats = await plugins.smartfile.fs.stat(absolutePath);
|
|
92
|
+
|
|
93
|
+
// Skip directories
|
|
94
|
+
if (stats.isDirectory()) {
|
|
95
|
+
return; // Don't cache directories
|
|
96
|
+
}
|
|
97
|
+
|
|
86
98
|
const content = await plugins.smartfile.fs.toStringSync(absolutePath);
|
|
87
99
|
const checksum = this.calculateChecksum(content);
|
|
88
100
|
|
|
@@ -15,8 +15,22 @@ export class PrettierFormatter extends BaseFormatter {
|
|
|
15
15
|
// Get all files that match the pattern
|
|
16
16
|
const files = await plugins.smartfile.fs.listFileTree('.', globPattern);
|
|
17
17
|
|
|
18
|
-
//
|
|
18
|
+
// Filter out any potential directories and ensure we only process files
|
|
19
|
+
const validFiles: string[] = [];
|
|
19
20
|
for (const file of files) {
|
|
21
|
+
try {
|
|
22
|
+
const stats = await plugins.smartfile.fs.stat(file);
|
|
23
|
+
if (!stats.isDirectory()) {
|
|
24
|
+
validFiles.push(file);
|
|
25
|
+
}
|
|
26
|
+
} catch (error) {
|
|
27
|
+
// Skip files that can't be accessed
|
|
28
|
+
logVerbose(`Skipping ${file} - cannot access: ${error.message}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Check which files need formatting
|
|
33
|
+
for (const file of validFiles) {
|
|
20
34
|
// Skip files that haven't changed
|
|
21
35
|
if (!await this.shouldProcessFile(file)) {
|
|
22
36
|
logVerbose(`Skipping ${file} - no changes detected`);
|
|
@@ -85,7 +99,7 @@ export class PrettierFormatter extends BaseFormatter {
|
|
|
85
99
|
|
|
86
100
|
try {
|
|
87
101
|
// Read current content
|
|
88
|
-
const content =
|
|
102
|
+
const content = plugins.smartfile.fs.toStringSync(change.path);
|
|
89
103
|
|
|
90
104
|
// Format with prettier
|
|
91
105
|
const prettier = await import('prettier');
|
package/ts/mod_format/index.ts
CHANGED