@ridiormf/version-control 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +708 -0
- package/bin/smart-commit.js +201 -0
- package/bin/version-control.js +4 -0
- package/dist/analyzer.d.ts +7 -0
- package/dist/analyzer.d.ts.map +1 -0
- package/dist/analyzer.js +109 -0
- package/dist/analyzer.js.map +1 -0
- package/dist/changelog.d.ts +49 -0
- package/dist/changelog.d.ts.map +1 -0
- package/dist/changelog.js +219 -0
- package/dist/changelog.js.map +1 -0
- package/dist/colors.d.ts +6 -0
- package/dist/colors.d.ts.map +1 -0
- package/dist/colors.js +16 -0
- package/dist/colors.js.map +1 -0
- package/dist/commitGenerator.d.ts +27 -0
- package/dist/commitGenerator.d.ts.map +1 -0
- package/dist/commitGenerator.js +272 -0
- package/dist/commitGenerator.js.map +1 -0
- package/dist/config.d.ts +36 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +116 -0
- package/dist/config.js.map +1 -0
- package/dist/git.d.ts +7 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +18 -0
- package/dist/git.js.map +1 -0
- package/dist/gitCommands.d.ts +6 -0
- package/dist/gitCommands.d.ts.map +1 -0
- package/dist/gitCommands.js +55 -0
- package/dist/gitCommands.js.map +1 -0
- package/dist/i18n.d.ts +15 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +452 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +221 -0
- package/dist/index.js.map +1 -0
- package/dist/readline.d.ts +19 -0
- package/dist/readline.d.ts.map +1 -0
- package/dist/readline.js +129 -0
- package/dist/readline.js.map +1 -0
- package/dist/types.d.ts +28 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/updateChecker.d.ts +5 -0
- package/dist/updateChecker.d.ts.map +1 -0
- package/dist/updateChecker.js +117 -0
- package/dist/updateChecker.js.map +1 -0
- package/dist/updater.d.ts +22 -0
- package/dist/updater.d.ts.map +1 -0
- package/dist/updater.js +170 -0
- package/dist/updater.js.map +1 -0
- package/dist/version.d.ts +14 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +69 -0
- package/dist/version.js.map +1 -0
- package/package.json +61 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* Version Control System - Main CLI
|
|
5
|
+
* @version 1.0.0
|
|
6
|
+
*
|
|
7
|
+
* Intelligent version control system that analyzes Git commits
|
|
8
|
+
* and automates semantic versioning (SemVer).
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.getCurrentVersion = exports.bumpVersion = exports.analyzeChanges = void 0;
|
|
12
|
+
exports.main = main;
|
|
13
|
+
const colors_1 = require("./colors");
|
|
14
|
+
const git_1 = require("./git");
|
|
15
|
+
const version_1 = require("./version");
|
|
16
|
+
Object.defineProperty(exports, "getCurrentVersion", { enumerable: true, get: function () { return version_1.getCurrentVersion; } });
|
|
17
|
+
Object.defineProperty(exports, "bumpVersion", { enumerable: true, get: function () { return version_1.bumpVersion; } });
|
|
18
|
+
const analyzer_1 = require("./analyzer");
|
|
19
|
+
Object.defineProperty(exports, "analyzeChanges", { enumerable: true, get: function () { return analyzer_1.analyzeChanges; } });
|
|
20
|
+
const updater_1 = require("./updater");
|
|
21
|
+
const readline_1 = require("./readline");
|
|
22
|
+
const gitCommands_1 = require("./gitCommands");
|
|
23
|
+
const updateChecker_1 = require("./updateChecker");
|
|
24
|
+
const i18n_1 = require("./i18n");
|
|
25
|
+
const config_1 = require("./config");
|
|
26
|
+
/**
|
|
27
|
+
* Show language info
|
|
28
|
+
*/
|
|
29
|
+
function showLanguageInfo() {
|
|
30
|
+
const source = i18n_1.isLanguageConfigured
|
|
31
|
+
? (0, i18n_1.t)("configuredManually")
|
|
32
|
+
: (0, i18n_1.t)("detectedFromSystem");
|
|
33
|
+
console.log(`${colors_1.colors.cyan}ℹ${colors_1.colors.reset} ${(0, i18n_1.t)("currentLanguageIs")} ${colors_1.colors.bold}${i18n_1.currentLanguage.toUpperCase()}${colors_1.colors.reset} (${source})`);
|
|
34
|
+
console.log(` ${(0, i18n_1.t)("toChangeLanguage")} ${colors_1.colors.cyan}version-control config --lang <code>${colors_1.colors.reset}`);
|
|
35
|
+
console.log("");
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Handle config commands
|
|
39
|
+
*/
|
|
40
|
+
function handleConfigCommand(args) {
|
|
41
|
+
// version-control config --lang <code>
|
|
42
|
+
if (args[0] === "--lang" && args[1]) {
|
|
43
|
+
const lang = args[1].toLowerCase();
|
|
44
|
+
if (lang === "en" || lang === "pt" || lang === "es" || lang === "fr") {
|
|
45
|
+
(0, config_1.setLanguage)(lang);
|
|
46
|
+
console.log("");
|
|
47
|
+
console.log(`${colors_1.colors.green}✓${colors_1.colors.reset} ${(0, i18n_1.t)("languageSet")} ${colors_1.colors.bold}${lang.toUpperCase()}${colors_1.colors.reset}`);
|
|
48
|
+
console.log("");
|
|
49
|
+
console.log(`${(0, i18n_1.t)("availableLanguages")}`);
|
|
50
|
+
console.log("");
|
|
51
|
+
process.exit(0);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
console.log("");
|
|
55
|
+
console.log(`${colors_1.colors.red}✗${colors_1.colors.reset} ${(0, i18n_1.t)("invalidLanguage")}`);
|
|
56
|
+
console.log("");
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// version-control config --clear
|
|
61
|
+
if (args[0] === "--clear") {
|
|
62
|
+
(0, config_1.clearLanguage)();
|
|
63
|
+
console.log("");
|
|
64
|
+
console.log(`${colors_1.colors.green}✓${colors_1.colors.reset} ${(0, i18n_1.t)("languageCleared")}`);
|
|
65
|
+
console.log("");
|
|
66
|
+
process.exit(0);
|
|
67
|
+
}
|
|
68
|
+
// Show current config
|
|
69
|
+
console.log("");
|
|
70
|
+
console.log(`${colors_1.colors.bold}${colors_1.colors.cyan}Configuration${colors_1.colors.reset}`);
|
|
71
|
+
console.log("");
|
|
72
|
+
showLanguageInfo();
|
|
73
|
+
console.log(`${colors_1.colors.bold}Commands:${colors_1.colors.reset}`);
|
|
74
|
+
console.log(` ${colors_1.colors.cyan}version-control config --lang <code>${colors_1.colors.reset} - Set language (en, pt, es, fr)`);
|
|
75
|
+
console.log(` ${colors_1.colors.cyan}version-control config --clear${colors_1.colors.reset} - Clear language config`);
|
|
76
|
+
console.log("");
|
|
77
|
+
process.exit(0);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Main function
|
|
81
|
+
*/
|
|
82
|
+
async function main() {
|
|
83
|
+
// Check for config command
|
|
84
|
+
const args = process.argv.slice(2);
|
|
85
|
+
if (args[0] === "config") {
|
|
86
|
+
handleConfigCommand(args.slice(1));
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
// Check for updates (non-blocking)
|
|
90
|
+
(0, updateChecker_1.checkForUpdates)().catch(() => {
|
|
91
|
+
// Silently ignore errors
|
|
92
|
+
});
|
|
93
|
+
console.log("");
|
|
94
|
+
console.log(`${colors_1.colors.bold}${colors_1.colors.cyan}═══════════════════════════════════════════════════════════${colors_1.colors.reset}`);
|
|
95
|
+
console.log(`${colors_1.colors.bold}${colors_1.colors.cyan} ${(0, i18n_1.t)("versionControl")}${colors_1.colors.reset}`);
|
|
96
|
+
console.log(`${colors_1.colors.bold}${colors_1.colors.cyan}═══════════════════════════════════════════════════════════${colors_1.colors.reset}`);
|
|
97
|
+
console.log("");
|
|
98
|
+
// Show language info
|
|
99
|
+
showLanguageInfo();
|
|
100
|
+
// Check if there's a commit
|
|
101
|
+
const hasCommit = (0, git_1.git)("rev-parse HEAD 2>/dev/null");
|
|
102
|
+
if (!hasCommit) {
|
|
103
|
+
console.log(`${colors_1.colors.yellow}⚠${colors_1.colors.reset} ${(0, i18n_1.t)("noCommitFound")}`);
|
|
104
|
+
process.exit(0);
|
|
105
|
+
}
|
|
106
|
+
// Current version
|
|
107
|
+
const currentVersion = (0, version_1.getCurrentVersion)();
|
|
108
|
+
console.log(`${colors_1.colors.bold}${(0, i18n_1.t)("currentVersion")}${colors_1.colors.reset} ${colors_1.colors.cyan}${currentVersion}${colors_1.colors.reset}`);
|
|
109
|
+
console.log("");
|
|
110
|
+
// Analyze changes
|
|
111
|
+
console.log(`${colors_1.colors.bold}${(0, i18n_1.t)("analyzingCommit")}${colors_1.colors.reset}`);
|
|
112
|
+
const analysis = (0, analyzer_1.analyzeChanges)();
|
|
113
|
+
console.log("");
|
|
114
|
+
console.log(`${colors_1.colors.bold}${(0, i18n_1.t)("commitMessage")}${colors_1.colors.reset}`);
|
|
115
|
+
console.log(` "${analysis.commitMsg}"`);
|
|
116
|
+
console.log("");
|
|
117
|
+
console.log(`${colors_1.colors.bold}${(0, i18n_1.t)("filesModified")}${colors_1.colors.reset} ${analysis.filesChanged.length}`);
|
|
118
|
+
analysis.filesChanged.slice(0, 5).forEach((file) => {
|
|
119
|
+
console.log(` - ${file}`);
|
|
120
|
+
});
|
|
121
|
+
if (analysis.filesChanged.length > 5) {
|
|
122
|
+
console.log(` ... ${(0, i18n_1.t)("andMore")} ${analysis.filesChanged.length - 5} arquivo(s)`);
|
|
123
|
+
}
|
|
124
|
+
console.log("");
|
|
125
|
+
// Show analysis
|
|
126
|
+
console.log(`${colors_1.colors.bold}${(0, i18n_1.t)("changeAnalysis")}${colors_1.colors.reset}`);
|
|
127
|
+
analysis.reason.forEach((reason) => console.log(` ${reason}`));
|
|
128
|
+
console.log("");
|
|
129
|
+
// Suggest version
|
|
130
|
+
const suggestedVersion = (0, version_1.bumpVersion)(currentVersion, analysis.type);
|
|
131
|
+
const typeColors = {
|
|
132
|
+
major: colors_1.colors.red,
|
|
133
|
+
minor: colors_1.colors.yellow,
|
|
134
|
+
patch: colors_1.colors.green,
|
|
135
|
+
};
|
|
136
|
+
const typeEmojis = {
|
|
137
|
+
major: "🔴",
|
|
138
|
+
minor: "🟡",
|
|
139
|
+
patch: "🟢",
|
|
140
|
+
};
|
|
141
|
+
console.log(`${colors_1.colors.bold}${(0, i18n_1.t)("suggestedType")}${colors_1.colors.reset} ${typeEmojis[analysis.type]} ${typeColors[analysis.type]}${analysis.type.toUpperCase()}${colors_1.colors.reset}`);
|
|
142
|
+
console.log(`${colors_1.colors.bold}${(0, i18n_1.t)("newVersion")}${colors_1.colors.reset} ${colors_1.colors.cyan}${currentVersion}${colors_1.colors.reset} → ${colors_1.colors.green}${colors_1.colors.bold}${suggestedVersion}${colors_1.colors.reset}`);
|
|
143
|
+
console.log("");
|
|
144
|
+
// Ask user with validation
|
|
145
|
+
const rl = (0, readline_1.createInterface)();
|
|
146
|
+
let shouldUpdate = "";
|
|
147
|
+
while (true) {
|
|
148
|
+
shouldUpdate = await (0, readline_1.question)(rl, `${colors_1.colors.bold}${(0, i18n_1.t)("updateVersion")}${colors_1.colors.reset} `);
|
|
149
|
+
const answer = shouldUpdate.toLowerCase();
|
|
150
|
+
if (!shouldUpdate) {
|
|
151
|
+
console.log(`${colors_1.colors.red}${(0, i18n_1.t)("pleaseEnterYesNo")}${colors_1.colors.reset}`);
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
const yesOptions = (0, i18n_1.getYesOptions)();
|
|
155
|
+
const noOptions = (0, i18n_1.getNoOptions)();
|
|
156
|
+
if (yesOptions.includes(answer) || noOptions.includes(answer)) {
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
console.log(`${colors_1.colors.red}${(0, i18n_1.t)("invalidResponse")}${colors_1.colors.reset}`);
|
|
160
|
+
}
|
|
161
|
+
if (!(0, i18n_1.getYesOptions)().includes(shouldUpdate.toLowerCase())) {
|
|
162
|
+
console.log("");
|
|
163
|
+
console.log(`${colors_1.colors.yellow}${(0, i18n_1.t)("versionNotChanged")}${colors_1.colors.reset}`);
|
|
164
|
+
await (0, readline_1.closeInterface)(rl);
|
|
165
|
+
process.exit(0);
|
|
166
|
+
}
|
|
167
|
+
// Allow choosing a different type
|
|
168
|
+
console.log("");
|
|
169
|
+
console.log(`${colors_1.colors.bold}${(0, i18n_1.t)("confirmVersionType")}${colors_1.colors.reset}`);
|
|
170
|
+
console.log(` ${colors_1.colors.red}1${colors_1.colors.reset} - MAJOR (${(0, version_1.bumpVersion)(currentVersion, "major")}) - ${(0, i18n_1.t)("majorDesc")}`);
|
|
171
|
+
console.log(` ${colors_1.colors.yellow}2${colors_1.colors.reset} - MINOR (${(0, version_1.bumpVersion)(currentVersion, "minor")}) - ${(0, i18n_1.t)("minorDesc")}`);
|
|
172
|
+
console.log(` ${colors_1.colors.green}3${colors_1.colors.reset} - PATCH (${(0, version_1.bumpVersion)(currentVersion, "patch")}) - ${(0, i18n_1.t)("patchDesc")}`);
|
|
173
|
+
console.log("");
|
|
174
|
+
const defaultChoice = analysis.type === "major" ? "1" : analysis.type === "minor" ? "2" : "3";
|
|
175
|
+
let typeChoice = "";
|
|
176
|
+
while (true) {
|
|
177
|
+
typeChoice = await (0, readline_1.question)(rl, `${colors_1.colors.bold}${(0, i18n_1.t)("choose")} (1/2/3) [${(0, i18n_1.t)("defaultLabel")}: ${defaultChoice}]:${colors_1.colors.reset} `);
|
|
178
|
+
// If empty, use default
|
|
179
|
+
if (!typeChoice) {
|
|
180
|
+
typeChoice = defaultChoice;
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
// Validate if it's 1, 2 or 3
|
|
184
|
+
if (typeChoice === "1" || typeChoice === "2" || typeChoice === "3") {
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
console.log(`${colors_1.colors.red}${(0, i18n_1.t)("invalidOption")}${colors_1.colors.reset}`);
|
|
188
|
+
}
|
|
189
|
+
let finalType = analysis.type;
|
|
190
|
+
if (typeChoice === "1")
|
|
191
|
+
finalType = "major";
|
|
192
|
+
else if (typeChoice === "2")
|
|
193
|
+
finalType = "minor";
|
|
194
|
+
else if (typeChoice === "3")
|
|
195
|
+
finalType = "patch";
|
|
196
|
+
const finalVersion = (0, version_1.bumpVersion)(currentVersion, finalType);
|
|
197
|
+
// Update files
|
|
198
|
+
console.log("");
|
|
199
|
+
console.log(`${colors_1.colors.bold}${(0, i18n_1.t)("updatingFiles")}${colors_1.colors.reset}`);
|
|
200
|
+
console.log("");
|
|
201
|
+
(0, updater_1.updatePackageJson)(finalVersion);
|
|
202
|
+
(0, updater_1.updateIndexFile)(finalVersion);
|
|
203
|
+
(0, updater_1.updateChangelog)(finalVersion, finalType, analysis);
|
|
204
|
+
console.log("");
|
|
205
|
+
console.log(`${colors_1.colors.green}${colors_1.colors.bold}✓ ${(0, i18n_1.t)("versionUpdatedTo")} ${finalVersion}!${colors_1.colors.reset}`);
|
|
206
|
+
console.log("");
|
|
207
|
+
// Close readline interface
|
|
208
|
+
await (0, readline_1.closeInterface)(rl);
|
|
209
|
+
// Execute git commands automatically
|
|
210
|
+
(0, gitCommands_1.executeGitCommands)(finalVersion);
|
|
211
|
+
// Force immediate exit
|
|
212
|
+
process.exit(0);
|
|
213
|
+
}
|
|
214
|
+
// Run if executed directly
|
|
215
|
+
if (require.main === module) {
|
|
216
|
+
main().catch((error) => {
|
|
217
|
+
console.error(`${colors_1.colors.red}${(0, i18n_1.t)("error")}${colors_1.colors.reset}`, error.message);
|
|
218
|
+
process.exit(1);
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReadlineInterface } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Create readline interface that works in git hooks
|
|
4
|
+
* @returns Readline interface
|
|
5
|
+
*/
|
|
6
|
+
export declare function createInterface(): ReadlineInterface;
|
|
7
|
+
/**
|
|
8
|
+
* Ask question to user
|
|
9
|
+
* @param rl - Readline interface
|
|
10
|
+
* @param query - Question to ask
|
|
11
|
+
* @returns User's answer
|
|
12
|
+
*/
|
|
13
|
+
export declare function question(rl: ReadlineInterface, query: string): Promise<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Close readline interface and TTY resources
|
|
16
|
+
* @param rl - Readline interface to close
|
|
17
|
+
*/
|
|
18
|
+
export declare function closeInterface(rl: ReadlineInterface): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=readline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readline.d.ts","sourceRoot":"","sources":["../src/readline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAiCnD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,iBAAiB,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCzE"}
|
package/dist/readline.js
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.createInterface = createInterface;
|
|
37
|
+
exports.question = question;
|
|
38
|
+
exports.closeInterface = closeInterface;
|
|
39
|
+
const readline = __importStar(require("readline"));
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
/**
|
|
42
|
+
* Create readline interface that works in git hooks
|
|
43
|
+
* @returns Readline interface
|
|
44
|
+
*/
|
|
45
|
+
function createInterface() {
|
|
46
|
+
// Try to use /dev/tty if available (necessary for git hooks)
|
|
47
|
+
let input = process.stdin;
|
|
48
|
+
let output = process.stdout;
|
|
49
|
+
let ttyFd = null;
|
|
50
|
+
try {
|
|
51
|
+
ttyFd = fs.openSync("/dev/tty", "r+");
|
|
52
|
+
// autoClose: false to manually control closing the FD
|
|
53
|
+
input = fs.createReadStream("", {
|
|
54
|
+
fd: ttyFd,
|
|
55
|
+
autoClose: false,
|
|
56
|
+
});
|
|
57
|
+
output = fs.createWriteStream("", {
|
|
58
|
+
fd: ttyFd,
|
|
59
|
+
autoClose: false,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
// If it fails, use default stdin/stdout
|
|
64
|
+
}
|
|
65
|
+
const rl = readline.createInterface({
|
|
66
|
+
input,
|
|
67
|
+
output,
|
|
68
|
+
terminal: true,
|
|
69
|
+
});
|
|
70
|
+
// Store FD and streams to close later
|
|
71
|
+
rl._ttyFd = ttyFd ?? undefined;
|
|
72
|
+
rl._ttyInput = input !== process.stdin ? input : null;
|
|
73
|
+
rl._ttyOutput = output !== process.stdout ? output : null;
|
|
74
|
+
return rl;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Ask question to user
|
|
78
|
+
* @param rl - Readline interface
|
|
79
|
+
* @param query - Question to ask
|
|
80
|
+
* @returns User's answer
|
|
81
|
+
*/
|
|
82
|
+
function question(rl, query) {
|
|
83
|
+
return new Promise((resolve) => {
|
|
84
|
+
rl.question(query, (answer) => {
|
|
85
|
+
resolve(answer.trim());
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Close readline interface and TTY resources
|
|
91
|
+
* @param rl - Readline interface to close
|
|
92
|
+
*/
|
|
93
|
+
async function closeInterface(rl) {
|
|
94
|
+
const ttyFd = rl._ttyFd;
|
|
95
|
+
const ttyInput = rl._ttyInput;
|
|
96
|
+
const ttyOutput = rl._ttyOutput;
|
|
97
|
+
// 1. Close readline interface
|
|
98
|
+
rl.removeAllListeners();
|
|
99
|
+
rl.close();
|
|
100
|
+
// 2. Wait for readline to process closure
|
|
101
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
102
|
+
// 3. Close streams (don't close FD because of autoClose: false)
|
|
103
|
+
if (ttyInput) {
|
|
104
|
+
try {
|
|
105
|
+
ttyInput.destroy();
|
|
106
|
+
}
|
|
107
|
+
catch (e) {
|
|
108
|
+
// Ignore error
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (ttyOutput) {
|
|
112
|
+
try {
|
|
113
|
+
ttyOutput.destroy();
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
// Ignore error
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// 4. Manually close file descriptor
|
|
120
|
+
if (ttyFd !== undefined) {
|
|
121
|
+
try {
|
|
122
|
+
fs.closeSync(ttyFd);
|
|
123
|
+
}
|
|
124
|
+
catch (e) {
|
|
125
|
+
// Ignore error
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=readline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readline.js","sourceRoot":"","sources":["../src/readline.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for version control system
|
|
3
|
+
*/
|
|
4
|
+
export type VersionType = "major" | "minor" | "patch";
|
|
5
|
+
export interface ChangeAnalysis {
|
|
6
|
+
type: VersionType;
|
|
7
|
+
reason: string[];
|
|
8
|
+
filesChanged: string[];
|
|
9
|
+
commitMsg: string;
|
|
10
|
+
}
|
|
11
|
+
export interface Colors {
|
|
12
|
+
reset: string;
|
|
13
|
+
bold: string;
|
|
14
|
+
red: string;
|
|
15
|
+
green: string;
|
|
16
|
+
yellow: string;
|
|
17
|
+
blue: string;
|
|
18
|
+
cyan: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ReadlineInterface {
|
|
21
|
+
question(query: string, callback: (answer: string) => void): void;
|
|
22
|
+
close(): void;
|
|
23
|
+
removeAllListeners(): void;
|
|
24
|
+
_ttyFd?: number;
|
|
25
|
+
_ttyInput?: NodeJS.ReadStream | null;
|
|
26
|
+
_ttyOutput?: NodeJS.WriteStream | null;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAClE,KAAK,IAAI,IAAI,CAAC;IACd,kBAAkB,IAAI,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;CACxC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateChecker.d.ts","sourceRoot":"","sources":["../src/updateChecker.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA0CrD"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.checkForUpdates = checkForUpdates;
|
|
37
|
+
const https = __importStar(require("https"));
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const colors_1 = require("./colors");
|
|
41
|
+
/**
|
|
42
|
+
* Check if a new version is available on npm
|
|
43
|
+
*/
|
|
44
|
+
async function checkForUpdates() {
|
|
45
|
+
try {
|
|
46
|
+
// Get current version
|
|
47
|
+
const packagePath = path.join(__dirname, "../package.json");
|
|
48
|
+
const packageJson = JSON.parse(fs.readFileSync(packagePath, "utf8"));
|
|
49
|
+
const currentVersion = packageJson.version;
|
|
50
|
+
const packageName = packageJson.name;
|
|
51
|
+
// Fetch latest version from npm
|
|
52
|
+
const latestVersion = await getLatestVersion(packageName);
|
|
53
|
+
if (!latestVersion) {
|
|
54
|
+
return; // Silently fail if can't fetch
|
|
55
|
+
}
|
|
56
|
+
// Compare versions
|
|
57
|
+
if (isNewerVersion(latestVersion, currentVersion)) {
|
|
58
|
+
console.log("");
|
|
59
|
+
console.log(`${colors_1.colors.yellow}╭${"─".repeat(57)}╮${colors_1.colors.reset}`);
|
|
60
|
+
console.log(`${colors_1.colors.yellow}│${colors_1.colors.reset} ${colors_1.colors.bold}Update available:${colors_1.colors.reset} ${colors_1.colors.cyan}${currentVersion}${colors_1.colors.reset} → ${colors_1.colors.green}${colors_1.colors.bold}${latestVersion}${colors_1.colors.reset}${" ".repeat(57 - 35 - currentVersion.length - latestVersion.length)}${colors_1.colors.yellow}│${colors_1.colors.reset}`);
|
|
61
|
+
console.log(`${colors_1.colors.yellow}│${colors_1.colors.reset} Run: ${colors_1.colors.cyan}yarn global add ${packageName}${colors_1.colors.reset}${" ".repeat(57 - 13 - packageName.length)}${colors_1.colors.yellow}│${colors_1.colors.reset}`);
|
|
62
|
+
console.log(`${colors_1.colors.yellow}╰${"─".repeat(57)}╯${colors_1.colors.reset}`);
|
|
63
|
+
console.log("");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
// Silently fail - don't interrupt user's workflow
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Fetch latest version from npm registry
|
|
73
|
+
*/
|
|
74
|
+
function getLatestVersion(packageName) {
|
|
75
|
+
return new Promise((resolve) => {
|
|
76
|
+
const url = `https://registry.npmjs.org/${packageName}/latest`;
|
|
77
|
+
https
|
|
78
|
+
.get(url, (res) => {
|
|
79
|
+
let data = "";
|
|
80
|
+
res.on("data", (chunk) => {
|
|
81
|
+
data += chunk;
|
|
82
|
+
});
|
|
83
|
+
res.on("end", () => {
|
|
84
|
+
try {
|
|
85
|
+
const json = JSON.parse(data);
|
|
86
|
+
resolve(json.version || null);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
resolve(null);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
})
|
|
93
|
+
.on("error", () => {
|
|
94
|
+
resolve(null);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Compare two semantic versions
|
|
100
|
+
* @returns true if newVersion is greater than currentVersion
|
|
101
|
+
*/
|
|
102
|
+
function isNewerVersion(newVersion, currentVersion) {
|
|
103
|
+
const newParts = newVersion.split(".").map(Number);
|
|
104
|
+
const currentParts = currentVersion.split(".").map(Number);
|
|
105
|
+
for (let i = 0; i < 3; i++) {
|
|
106
|
+
const newPart = newParts[i] || 0;
|
|
107
|
+
const currentPart = currentParts[i] || 0;
|
|
108
|
+
if (newPart > currentPart) {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
else if (newPart < currentPart) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=updateChecker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateChecker.js","sourceRoot":"","sources":["../src/updateChecker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ChangeAnalysis, VersionType } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Update version in package.json
|
|
4
|
+
* @param newVersion - New version string
|
|
5
|
+
* @param projectRoot - Root directory of the project
|
|
6
|
+
*/
|
|
7
|
+
export declare function updatePackageJson(newVersion: string, projectRoot?: string): void;
|
|
8
|
+
/**
|
|
9
|
+
* Update version in index file (if exists and has @version tag)
|
|
10
|
+
* @param newVersion - New version string
|
|
11
|
+
* @param projectRoot - Root directory of the project
|
|
12
|
+
*/
|
|
13
|
+
export declare function updateIndexFile(newVersion: string, projectRoot?: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Add entry to CHANGELOG.md
|
|
16
|
+
* @param version - New version string
|
|
17
|
+
* @param _type - Version bump type (not used, kept for API compatibility)
|
|
18
|
+
* @param _analysis - Change analysis data (not used, kept for API compatibility)
|
|
19
|
+
* @param projectRoot - Root directory of the project
|
|
20
|
+
*/
|
|
21
|
+
export declare function updateChangelog(version: string, _type: VersionType, _analysis: ChangeAnalysis, projectRoot?: string): void;
|
|
22
|
+
//# sourceMappingURL=updater.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAStD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,MAAsB,GAClC,IAAI,CAMN;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,MAAsB,GAClC,IAAI,CA0BN;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,cAAc,EACzB,WAAW,GAAE,MAAsB,GAClC,IAAI,CAuGN"}
|