@mehmetsagir/git-ai 0.0.3 → 0.0.4

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/README.md CHANGED
@@ -277,6 +277,14 @@ git-ai reset
277
277
 
278
278
  Reset all configuration (deletes OpenAI key and all git users).
279
279
 
280
+ ### Update
281
+
282
+ ```bash
283
+ git-ai --update
284
+ ```
285
+
286
+ Check for updates and update to the latest version. The tool also automatically checks for updates in the background and will notify you if a new version is available.
287
+
280
288
  ## Example Scenario
281
289
 
282
290
  1. **Run setup:**
package/dist/index.js CHANGED
@@ -44,6 +44,7 @@ const commit = __importStar(require("./commit"));
44
44
  const users = __importStar(require("./users"));
45
45
  const reset = __importStar(require("./reset"));
46
46
  const add = __importStar(require("./add"));
47
+ const update = __importStar(require("./update"));
47
48
  const package_json_1 = __importDefault(require("../package.json"));
48
49
  const program = new commander_1.Command();
49
50
  /**
@@ -57,10 +58,29 @@ function handleError(error, showStack = false) {
57
58
  }
58
59
  process.exit(1);
59
60
  }
61
+ // Check for --update flag before parsing
62
+ if (process.argv.includes('--update')) {
63
+ (async () => {
64
+ try {
65
+ await update.checkAndUpdate();
66
+ process.exit(0);
67
+ }
68
+ catch (error) {
69
+ handleError(error);
70
+ }
71
+ })();
72
+ // Don't continue parsing if --update is used
73
+ process.exit(0);
74
+ }
75
+ // Check for updates silently in background (after a delay to not block startup)
76
+ setTimeout(() => {
77
+ update.checkForUpdates();
78
+ }, 1000);
60
79
  program
61
80
  .name('git-ai')
62
81
  .description('AI-powered git commit tool that analyzes diffs and creates conventional commit messages')
63
- .version(package_json_1.default.version);
82
+ .version(package_json_1.default.version)
83
+ .option('--update', 'Check for updates and update to latest version');
64
84
  program
65
85
  .command('setup')
66
86
  .description('Initial setup - OpenAI API key and git user configuration')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,+CAAiC;AACjC,iDAAmC;AACnC,+CAAiC;AACjC,+CAAiC;AACjC,2CAA6B;AAC7B,iDAAmC;AACnC,mEAA0C;AAE1C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B;;GAEG;AACH,SAAS,WAAW,CAAC,KAAc,EAAE,SAAS,GAAG,KAAK;IACpD,MAAM,GAAG,GAAG,KAAc,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACxD,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,yCAAyC;AACzC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IACtC,CAAC,KAAK,IAAI,EAAE;QACV,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,6CAA6C;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,gFAAgF;AAChF,UAAU,CAAC,GAAG,EAAE;IACd,MAAM,CAAC,eAAe,EAAE,CAAC;AAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,yFAAyF,CAAC;KACtG,OAAO,CAAC,sBAAW,CAAC,OAAO,CAAC;KAC5B,MAAM,CAAC,UAAU,EAAE,gDAAgD,CAAC,CAAC;AAExE,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,mBAAmB,EAAE,uDAAuD,CAAC;KACpF,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,KAAK,CAAC,UAAU,CAAC;KACjB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,OAAO,CAAC;KACd,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,GAAG,EAAE;IACX,IAAI,CAAC;QACH,KAAK,CAAC,SAAS,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,QAAQ,CAAC;KACf,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Check for updates and update the package
3
+ */
4
+ export declare function checkAndUpdate(): Promise<void>;
5
+ /**
6
+ * Check for updates silently (for update-notifier)
7
+ */
8
+ export declare function checkForUpdates(): void;
9
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAqDpD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAkBtC"}
package/dist/update.js ADDED
@@ -0,0 +1,114 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.checkAndUpdate = checkAndUpdate;
40
+ exports.checkForUpdates = checkForUpdates;
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const child_process_1 = require("child_process");
43
+ const package_json_1 = __importDefault(require("../package.json"));
44
+ /**
45
+ * Check for updates and update the package
46
+ */
47
+ async function checkAndUpdate() {
48
+ console.log(chalk_1.default.blue.bold('\nšŸ”„ Checking for updates...\n'));
49
+ try {
50
+ // Check latest version from npm
51
+ const latestVersion = (0, child_process_1.execSync)(`npm view @mehmetsagir/git-ai version`, { encoding: 'utf-8' }).trim();
52
+ const currentVersion = package_json_1.default.version;
53
+ if (latestVersion === currentVersion) {
54
+ console.log(chalk_1.default.green(`āœ“ You are using the latest version (${currentVersion})\n`));
55
+ return;
56
+ }
57
+ console.log(chalk_1.default.yellow(`Current version: ${currentVersion}`));
58
+ console.log(chalk_1.default.yellow(`Latest version: ${latestVersion}\n`));
59
+ const { default: inquirer } = await Promise.resolve().then(() => __importStar(require('inquirer')));
60
+ const { confirm } = await inquirer.prompt([
61
+ {
62
+ type: 'confirm',
63
+ name: 'confirm',
64
+ message: `Would you like to update to version ${latestVersion}?`,
65
+ default: true
66
+ }
67
+ ]);
68
+ if (!confirm) {
69
+ console.log(chalk_1.default.yellow('⚠ Update cancelled.\n'));
70
+ return;
71
+ }
72
+ console.log(chalk_1.default.blue('\nšŸ“¦ Updating package...\n'));
73
+ try {
74
+ // Update globally installed package
75
+ (0, child_process_1.execSync)('npm install -g @mehmetsagir/git-ai@latest', {
76
+ stdio: 'inherit'
77
+ });
78
+ console.log(chalk_1.default.green(`\nāœ“ Successfully updated to version ${latestVersion}!\n`));
79
+ }
80
+ catch (error) {
81
+ console.log(chalk_1.default.red('\nāŒ Update failed. Please run manually:\n'));
82
+ console.log(chalk_1.default.cyan(' npm install -g @mehmetsagir/git-ai@latest\n'));
83
+ }
84
+ }
85
+ catch (error) {
86
+ const err = error;
87
+ console.log(chalk_1.default.red(`āŒ Error checking for updates: ${err.message}\n`));
88
+ console.log(chalk_1.default.yellow('You can manually update with:\n'));
89
+ console.log(chalk_1.default.cyan(' npm install -g @mehmetsagir/git-ai@latest\n'));
90
+ }
91
+ }
92
+ /**
93
+ * Check for updates silently (for update-notifier)
94
+ */
95
+ function checkForUpdates() {
96
+ try {
97
+ // Use require to avoid TypeScript issues with update-notifier
98
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
99
+ const updateNotifier = require('update-notifier');
100
+ const notifier = updateNotifier({
101
+ pkg: package_json_1.default,
102
+ updateCheckInterval: 1000 * 60 * 60 * 24 // Check once per day
103
+ });
104
+ if (notifier.update) {
105
+ notifier.notify({
106
+ message: `Update available: ${notifier.update.current} → ${notifier.update.latest}\nRun 'git-ai --update' to update.`
107
+ });
108
+ }
109
+ }
110
+ catch (error) {
111
+ // Silently fail if update-notifier is not available
112
+ }
113
+ }
114
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mehmetsagir/git-ai",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "AI-powered git commit tool that analyzes diffs and creates conventional commit messages",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -33,7 +33,8 @@
33
33
  "inquirer": "^8.2.6",
34
34
  "openai": "^4.20.1",
35
35
  "ora": "^5.4.1",
36
- "simple-git": "^3.20.0"
36
+ "simple-git": "^3.20.0",
37
+ "update-notifier": "^7.0.0"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@types/inquirer": "^8.2.10",