@m3hti/commit-genie 1.2.5 → 1.2.7

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.
Files changed (101) hide show
  1. package/dist/commands/config.d.ts +3 -0
  2. package/dist/commands/config.d.ts.map +1 -0
  3. package/dist/commands/config.js +31 -0
  4. package/dist/commands/config.js.map +1 -0
  5. package/dist/commands/generate.d.ts +12 -0
  6. package/dist/commands/generate.d.ts.map +1 -0
  7. package/dist/commands/generate.js +550 -0
  8. package/dist/commands/generate.js.map +1 -0
  9. package/dist/commands/generate.test.d.ts +2 -0
  10. package/dist/commands/generate.test.d.ts.map +1 -0
  11. package/dist/commands/generate.test.js +168 -0
  12. package/dist/commands/generate.test.js.map +1 -0
  13. package/dist/commands/hook.d.ts +4 -0
  14. package/dist/commands/hook.d.ts.map +1 -0
  15. package/dist/commands/hook.js +62 -0
  16. package/dist/commands/hook.js.map +1 -0
  17. package/dist/commands/stats.d.ts +6 -0
  18. package/dist/commands/stats.d.ts.map +1 -0
  19. package/dist/commands/stats.js +39 -0
  20. package/dist/commands/stats.js.map +1 -0
  21. package/dist/data/wordlist.d.ts +11 -0
  22. package/dist/data/wordlist.d.ts.map +1 -0
  23. package/dist/data/wordlist.js +170 -0
  24. package/dist/data/wordlist.js.map +1 -0
  25. package/dist/index.d.ts +3 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +82 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/services/aiService.d.ts +42 -0
  30. package/dist/services/aiService.d.ts.map +1 -0
  31. package/dist/services/aiService.js +224 -0
  32. package/dist/services/aiService.js.map +1 -0
  33. package/dist/services/analyzerService.d.ts +139 -0
  34. package/dist/services/analyzerService.d.ts.map +1 -0
  35. package/dist/services/analyzerService.js +1811 -0
  36. package/dist/services/analyzerService.js.map +1 -0
  37. package/dist/services/analyzerService.test.d.ts +2 -0
  38. package/dist/services/analyzerService.test.d.ts.map +1 -0
  39. package/dist/services/analyzerService.test.js +577 -0
  40. package/dist/services/analyzerService.test.js.map +1 -0
  41. package/dist/services/configService.d.ts +25 -0
  42. package/dist/services/configService.d.ts.map +1 -0
  43. package/dist/services/configService.js +228 -0
  44. package/dist/services/configService.js.map +1 -0
  45. package/dist/services/configService.test.d.ts +2 -0
  46. package/dist/services/configService.test.d.ts.map +1 -0
  47. package/dist/services/configService.test.js +165 -0
  48. package/dist/services/configService.test.js.map +1 -0
  49. package/dist/services/gitService.d.ts +64 -0
  50. package/dist/services/gitService.d.ts.map +1 -0
  51. package/dist/services/gitService.js +303 -0
  52. package/dist/services/gitService.js.map +1 -0
  53. package/dist/services/gitService.test.d.ts +2 -0
  54. package/dist/services/gitService.test.d.ts.map +1 -0
  55. package/dist/services/gitService.test.js +140 -0
  56. package/dist/services/gitService.test.js.map +1 -0
  57. package/dist/services/historyService.d.ts +39 -0
  58. package/dist/services/historyService.d.ts.map +1 -0
  59. package/dist/services/historyService.js +195 -0
  60. package/dist/services/historyService.js.map +1 -0
  61. package/dist/services/historyService.test.d.ts +2 -0
  62. package/dist/services/historyService.test.d.ts.map +1 -0
  63. package/dist/services/historyService.test.js +157 -0
  64. package/dist/services/historyService.test.js.map +1 -0
  65. package/dist/services/hookService.d.ts +29 -0
  66. package/dist/services/hookService.d.ts.map +1 -0
  67. package/dist/services/hookService.js +164 -0
  68. package/dist/services/hookService.js.map +1 -0
  69. package/dist/services/lintService.d.ts +32 -0
  70. package/dist/services/lintService.d.ts.map +1 -0
  71. package/dist/services/lintService.js +191 -0
  72. package/dist/services/lintService.js.map +1 -0
  73. package/dist/services/spellService.d.ts +42 -0
  74. package/dist/services/spellService.d.ts.map +1 -0
  75. package/dist/services/spellService.js +175 -0
  76. package/dist/services/spellService.js.map +1 -0
  77. package/dist/services/splitService.d.ts +32 -0
  78. package/dist/services/splitService.d.ts.map +1 -0
  79. package/dist/services/splitService.js +184 -0
  80. package/dist/services/splitService.js.map +1 -0
  81. package/dist/services/statsService.d.ts +28 -0
  82. package/dist/services/statsService.d.ts.map +1 -0
  83. package/dist/services/statsService.js +204 -0
  84. package/dist/services/statsService.js.map +1 -0
  85. package/dist/types/index.d.ts +222 -0
  86. package/dist/types/index.d.ts.map +1 -0
  87. package/dist/types/index.js +3 -0
  88. package/dist/types/index.js.map +1 -0
  89. package/dist/utils/filePatterns.d.ts +5 -0
  90. package/dist/utils/filePatterns.d.ts.map +1 -0
  91. package/dist/utils/filePatterns.js +77 -0
  92. package/dist/utils/filePatterns.js.map +1 -0
  93. package/dist/utils/filePatterns.test.d.ts +2 -0
  94. package/dist/utils/filePatterns.test.d.ts.map +1 -0
  95. package/dist/utils/filePatterns.test.js +51 -0
  96. package/dist/utils/filePatterns.test.js.map +1 -0
  97. package/dist/utils/prompt.d.ts +4 -0
  98. package/dist/utils/prompt.d.ts.map +1 -0
  99. package/dist/utils/prompt.js +60 -0
  100. package/dist/utils/prompt.js.map +1 -0
  101. package/package.json +1 -1
@@ -0,0 +1,168 @@
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
+ const gitService_1 = require("../services/gitService");
37
+ const analyzerService_1 = require("../services/analyzerService");
38
+ // Mock dependencies
39
+ jest.mock('../services/gitService');
40
+ jest.mock('../services/analyzerService');
41
+ jest.mock('../utils/prompt', () => ({
42
+ prompt: jest.fn(),
43
+ }));
44
+ const mockedGitService = gitService_1.GitService;
45
+ const mockedAnalyzerService = analyzerService_1.AnalyzerService;
46
+ describe('generate command', () => {
47
+ let consoleLogSpy;
48
+ let consoleErrorSpy;
49
+ let processExitSpy;
50
+ beforeEach(() => {
51
+ jest.clearAllMocks();
52
+ consoleLogSpy = jest.spyOn(console, 'log').mockImplementation();
53
+ consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation();
54
+ processExitSpy = jest.spyOn(process, 'exit').mockImplementation(() => undefined);
55
+ // Default mocks
56
+ mockedGitService.isGitRepository.mockReturnValue(true);
57
+ mockedGitService.getStatus.mockReturnValue({
58
+ hasStagedChanges: true,
59
+ staged: [{ status: 'A', path: 'src/newFile.ts' }],
60
+ unstaged: [],
61
+ });
62
+ mockedGitService.getDiffStats.mockReturnValue({
63
+ filesChanged: 1,
64
+ insertions: 10,
65
+ deletions: 0,
66
+ });
67
+ mockedAnalyzerService.generateMultipleSuggestions.mockReturnValue([
68
+ {
69
+ id: 1,
70
+ label: 'Recommended',
71
+ message: {
72
+ type: 'feat',
73
+ description: 'add newFile.ts',
74
+ full: '✨ feat: add newFile.ts',
75
+ },
76
+ },
77
+ ]);
78
+ });
79
+ afterEach(() => {
80
+ consoleLogSpy.mockRestore();
81
+ consoleErrorSpy.mockRestore();
82
+ processExitSpy.mockRestore();
83
+ });
84
+ describe('GenerateOptions interface', () => {
85
+ it('should have dryRun as optional property', () => {
86
+ const options = {
87
+ dryRun: true,
88
+ };
89
+ expect(options.dryRun).toBe(true);
90
+ });
91
+ it('should have all optional properties', () => {
92
+ const options = {};
93
+ expect(options.commit).toBeUndefined();
94
+ expect(options.dryRun).toBeUndefined();
95
+ expect(options.interactive).toBeUndefined();
96
+ expect(options.messageOnly).toBeUndefined();
97
+ expect(options.single).toBeUndefined();
98
+ });
99
+ });
100
+ describe('dry run mode', () => {
101
+ it('should display DRY RUN header', async () => {
102
+ const { generateCommand } = await Promise.resolve().then(() => __importStar(require('./generate')));
103
+ await generateCommand({ dryRun: true });
104
+ expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('DRY RUN'));
105
+ });
106
+ it('should display files to be committed', async () => {
107
+ const { generateCommand } = await Promise.resolve().then(() => __importStar(require('./generate')));
108
+ await generateCommand({ dryRun: true });
109
+ expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('Files to be committed'));
110
+ });
111
+ it('should display commit message', async () => {
112
+ const { generateCommand } = await Promise.resolve().then(() => __importStar(require('./generate')));
113
+ await generateCommand({ dryRun: true });
114
+ expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('Commit message'));
115
+ });
116
+ it('should not call GitService.commit in dry run mode', async () => {
117
+ const { generateCommand } = await Promise.resolve().then(() => __importStar(require('./generate')));
118
+ await generateCommand({ dryRun: true });
119
+ expect(mockedGitService.commit).not.toHaveBeenCalled();
120
+ });
121
+ it('should display next steps after dry run', async () => {
122
+ const { generateCommand } = await Promise.resolve().then(() => __importStar(require('./generate')));
123
+ await generateCommand({ dryRun: true });
124
+ expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('commit-genie -c'));
125
+ });
126
+ it('should show message breakdown in dry run', async () => {
127
+ const { generateCommand } = await Promise.resolve().then(() => __importStar(require('./generate')));
128
+ await generateCommand({ dryRun: true });
129
+ expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('Breakdown'));
130
+ expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('Type:'));
131
+ });
132
+ it('should show command that would be executed', async () => {
133
+ const { generateCommand } = await Promise.resolve().then(() => __importStar(require('./generate')));
134
+ await generateCommand({ dryRun: true });
135
+ expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('Command that would be executed'));
136
+ });
137
+ });
138
+ describe('error handling', () => {
139
+ it('should exit when not in git repository', async () => {
140
+ mockedGitService.isGitRepository.mockReturnValue(false);
141
+ const { generateCommand } = await Promise.resolve().then(() => __importStar(require('./generate')));
142
+ await generateCommand({});
143
+ expect(consoleErrorSpy).toHaveBeenCalledWith('Error: Not a git repository');
144
+ expect(processExitSpy).toHaveBeenCalledWith(1);
145
+ });
146
+ it('should exit when no staged changes', async () => {
147
+ mockedGitService.getStatus.mockReturnValue({
148
+ hasStagedChanges: false,
149
+ staged: [],
150
+ unstaged: [],
151
+ });
152
+ const { generateCommand } = await Promise.resolve().then(() => __importStar(require('./generate')));
153
+ await generateCommand({});
154
+ expect(consoleErrorSpy).toHaveBeenCalledWith('Error: No staged changes found');
155
+ expect(processExitSpy).toHaveBeenCalledWith(1);
156
+ });
157
+ });
158
+ describe('message-only mode', () => {
159
+ it('should output only the commit message', async () => {
160
+ const { generateCommand } = await Promise.resolve().then(() => __importStar(require('./generate')));
161
+ await generateCommand({ messageOnly: true });
162
+ expect(consoleLogSpy).toHaveBeenCalledWith('✨ feat: add newFile.ts');
163
+ // Should only be called once with just the message
164
+ expect(consoleLogSpy).toHaveBeenCalledTimes(1);
165
+ });
166
+ });
167
+ });
168
+ //# sourceMappingURL=generate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.test.js","sourceRoot":"","sources":["../../src/commands/generate.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function hookInstallCommand(): void;
2
+ export declare function hookUninstallCommand(): void;
3
+ export declare function hookStatusCommand(): void;
4
+ //# sourceMappingURL=hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,SAoBjC;AAED,wBAAgB,oBAAoB,SAkBnC;AAED,wBAAgB,iBAAiB,SAkBhC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hookInstallCommand = hookInstallCommand;
4
+ exports.hookUninstallCommand = hookUninstallCommand;
5
+ exports.hookStatusCommand = hookStatusCommand;
6
+ const hookService_1 = require("../services/hookService");
7
+ const gitService_1 = require("../services/gitService");
8
+ function hookInstallCommand() {
9
+ // Check if in a git repository
10
+ if (!gitService_1.GitService.isGitRepository()) {
11
+ console.error('Error: Not a git repository');
12
+ console.log('Please run this command inside a git repository.');
13
+ process.exit(1);
14
+ }
15
+ console.log('Installing CommitGenie git hook...\n');
16
+ const result = hookService_1.HookService.install();
17
+ if (result.success) {
18
+ console.log(`✓ ${result.message}`);
19
+ console.log('\nThe hook will automatically suggest commit messages when you run:');
20
+ console.log(' git commit');
21
+ }
22
+ else {
23
+ console.error(`✗ ${result.message}`);
24
+ process.exit(1);
25
+ }
26
+ }
27
+ function hookUninstallCommand() {
28
+ // Check if in a git repository
29
+ if (!gitService_1.GitService.isGitRepository()) {
30
+ console.error('Error: Not a git repository');
31
+ console.log('Please run this command inside a git repository.');
32
+ process.exit(1);
33
+ }
34
+ console.log('Uninstalling CommitGenie git hook...\n');
35
+ const result = hookService_1.HookService.uninstall();
36
+ if (result.success) {
37
+ console.log(`✓ ${result.message}`);
38
+ }
39
+ else {
40
+ console.error(`✗ ${result.message}`);
41
+ process.exit(1);
42
+ }
43
+ }
44
+ function hookStatusCommand() {
45
+ // Check if in a git repository
46
+ if (!gitService_1.GitService.isGitRepository()) {
47
+ console.error('Error: Not a git repository');
48
+ console.log('Please run this command inside a git repository.');
49
+ process.exit(1);
50
+ }
51
+ const isInstalled = hookService_1.HookService.isInstalled();
52
+ if (isInstalled) {
53
+ console.log('✓ CommitGenie hook is installed');
54
+ console.log(` Location: ${hookService_1.HookService.getHookPath()}`);
55
+ }
56
+ else {
57
+ console.log('✗ CommitGenie hook is not installed');
58
+ console.log('\nTo install, run:');
59
+ console.log(' commit-genie hook install');
60
+ }
61
+ }
62
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":";;AAGA,gDAoBC;AAED,oDAkBC;AAED,8CAkBC;AA/DD,yDAAsD;AACtD,uDAAoD;AAEpD,SAAgB,kBAAkB;IAChC,+BAA+B;IAC/B,IAAI,CAAC,uBAAU,CAAC,eAAe,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,yBAAW,CAAC,OAAO,EAAE,CAAC;IAErC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB;IAClC,+BAA+B;IAC/B,IAAI,CAAC,uBAAU,CAAC,eAAe,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,yBAAW,CAAC,SAAS,EAAE,CAAC;IAEvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB;IAC/B,+BAA+B;IAC/B,IAAI,CAAC,uBAAU,CAAC,eAAe,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,yBAAW,CAAC,WAAW,EAAE,CAAC;IAE9C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,yBAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface StatsOptions {
2
+ count?: number;
3
+ json?: boolean;
4
+ }
5
+ export declare function statsCommand(options?: StatsOptions): void;
6
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,YAAiB,QAkCtD"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.statsCommand = statsCommand;
4
+ const gitService_1 = require("../services/gitService");
5
+ const statsService_1 = require("../services/statsService");
6
+ function statsCommand(options = {}) {
7
+ try {
8
+ // Check if in a git repository
9
+ if (!gitService_1.GitService.isGitRepository()) {
10
+ console.error('Error: Not a git repository');
11
+ console.log('Please run this command inside a git repository.');
12
+ process.exit(1);
13
+ }
14
+ const commitCount = options.count || 100;
15
+ console.log(`\nAnalyzing last ${commitCount} commits...`);
16
+ const stats = statsService_1.StatsService.getCommitStats(commitCount);
17
+ if (stats.totalCommits === 0) {
18
+ console.log('\nNo commits found in this repository.');
19
+ console.log('Make some commits first to see statistics.');
20
+ return;
21
+ }
22
+ if (options.json) {
23
+ console.log(JSON.stringify(stats, null, 2));
24
+ }
25
+ else {
26
+ console.log(statsService_1.StatsService.formatStats(stats));
27
+ }
28
+ }
29
+ catch (error) {
30
+ if (error instanceof Error) {
31
+ console.error(`Error: ${error.message}`);
32
+ }
33
+ else {
34
+ console.error('An unexpected error occurred');
35
+ }
36
+ process.exit(1);
37
+ }
38
+ }
39
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":";;AAQA,oCAkCC;AA1CD,uDAAoD;AACpD,2DAAwD;AAOxD,SAAgB,YAAY,CAAC,UAAwB,EAAE;IACrD,IAAI,CAAC;QACH,+BAA+B;QAC/B,IAAI,CAAC,uBAAU,CAAC,eAAe,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QAEzC,OAAO,CAAC,GAAG,CAAC,oBAAoB,WAAW,aAAa,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,2BAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,2BAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Bundled wordlist for spell checking commit messages
3
+ * Contains common English words and programming terminology
4
+ */
5
+ export declare const COMMON_WORDS: Set<string>;
6
+ export declare const PROGRAMMING_TERMS: Set<string>;
7
+ /**
8
+ * Combined wordlist for efficient lookup
9
+ */
10
+ export declare const WORDLIST: Set<string>;
11
+ //# sourceMappingURL=wordlist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wordlist.d.ts","sourceRoot":"","sources":["../../src/data/wordlist.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,YAAY,aAmGvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,aAoE5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,QAAQ,aAAmD,CAAC"}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ /**
3
+ * Bundled wordlist for spell checking commit messages
4
+ * Contains common English words and programming terminology
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.WORDLIST = exports.PROGRAMMING_TERMS = exports.COMMON_WORDS = void 0;
8
+ exports.COMMON_WORDS = new Set([
9
+ // Common verbs (imperative form)
10
+ 'add', 'remove', 'update', 'fix', 'change', 'create', 'delete', 'modify',
11
+ 'implement', 'improve', 'refactor', 'optimize', 'enhance', 'enable', 'disable',
12
+ 'move', 'rename', 'replace', 'merge', 'split', 'extract', 'inline', 'wrap',
13
+ 'handle', 'process', 'validate', 'check', 'verify', 'ensure', 'prevent',
14
+ 'allow', 'support', 'use', 'set', 'get', 'fetch', 'load', 'save', 'store',
15
+ 'read', 'write', 'send', 'receive', 'show', 'hide', 'display', 'render',
16
+ 'parse', 'format', 'convert', 'transform', 'normalize', 'serialize', 'deserialize',
17
+ 'encode', 'decode', 'encrypt', 'decrypt', 'compress', 'decompress',
18
+ 'start', 'stop', 'run', 'execute', 'call', 'invoke', 'trigger', 'emit',
19
+ 'listen', 'subscribe', 'unsubscribe', 'register', 'unregister', 'bind', 'unbind',
20
+ 'connect', 'disconnect', 'open', 'close', 'init', 'initialize', 'setup',
21
+ 'configure', 'reset', 'clear', 'clean', 'cleanup', 'destroy', 'dispose',
22
+ 'include', 'exclude', 'filter', 'sort', 'group', 'aggregate', 'reduce',
23
+ 'map', 'find', 'search', 'query', 'select', 'insert', 'upsert',
24
+ 'bump', 'upgrade', 'downgrade', 'migrate', 'rollback', 'revert', 'restore',
25
+ 'deploy', 'publish', 'release', 'build', 'compile', 'bundle', 'package',
26
+ 'test', 'mock', 'stub', 'spy', 'assert', 'expect', 'describe',
27
+ 'log', 'debug', 'trace', 'warn', 'error', 'throw', 'catch', 'retry',
28
+ // Common nouns
29
+ 'file', 'files', 'folder', 'directory', 'path', 'name', 'value', 'key',
30
+ 'data', 'info', 'information', 'content', 'text', 'string', 'number', 'boolean',
31
+ 'array', 'list', 'object', 'map', 'set', 'queue', 'stack', 'tree', 'graph',
32
+ 'node', 'element', 'item', 'entry', 'record', 'row', 'column', 'field',
33
+ 'type', 'types', 'class', 'interface', 'struct', 'enum', 'union', 'trait',
34
+ 'function', 'method', 'property', 'attribute', 'variable', 'constant', 'parameter',
35
+ 'argument', 'option', 'options', 'config', 'configuration', 'setting', 'settings',
36
+ 'module', 'package', 'library', 'framework', 'plugin', 'extension', 'addon',
37
+ 'component', 'widget', 'element', 'block', 'section', 'page', 'view', 'screen',
38
+ 'form', 'input', 'output', 'button', 'link', 'image', 'icon', 'logo',
39
+ 'header', 'footer', 'sidebar', 'navbar', 'menu', 'dropdown', 'modal', 'dialog',
40
+ 'table', 'grid', 'card', 'panel', 'tab', 'tabs', 'accordion', 'carousel',
41
+ 'error', 'warning', 'message', 'notification', 'alert', 'toast', 'popup',
42
+ 'request', 'response', 'status', 'code', 'result', 'return', 'output',
43
+ 'user', 'users', 'account', 'profile', 'session', 'token', 'auth', 'authentication',
44
+ 'authorization', 'permission', 'role', 'access', 'login', 'logout', 'signup',
45
+ 'email', 'password', 'username', 'credential', 'credentials', 'secret',
46
+ 'api', 'endpoint', 'route', 'router', 'controller', 'service', 'handler',
47
+ 'middleware', 'interceptor', 'filter', 'guard', 'resolver', 'provider',
48
+ 'model', 'schema', 'entity', 'repository', 'store', 'state', 'reducer', 'action',
49
+ 'event', 'listener', 'observer', 'subscriber', 'publisher', 'emitter',
50
+ 'hook', 'hooks', 'callback', 'promise', 'async', 'await', 'future', 'task',
51
+ 'thread', 'process', 'worker', 'job', 'queue', 'scheduler', 'timer',
52
+ 'cache', 'memory', 'storage', 'database', 'db', 'sql', 'nosql', 'redis',
53
+ 'connection', 'pool', 'transaction', 'query', 'index', 'migration',
54
+ 'server', 'client', 'host', 'port', 'url', 'uri', 'domain', 'protocol',
55
+ 'http', 'https', 'websocket', 'socket', 'tcp', 'udp', 'rest', 'graphql',
56
+ 'json', 'xml', 'yaml', 'csv', 'html', 'css', 'markdown', 'template',
57
+ 'script', 'style', 'styles', 'theme', 'color', 'font', 'size', 'width', 'height',
58
+ 'margin', 'padding', 'border', 'layout', 'flex', 'grid', 'responsive',
59
+ 'test', 'tests', 'spec', 'specs', 'suite', 'case', 'coverage', 'snapshot',
60
+ 'unit', 'integration', 'end', 'e2e', 'acceptance', 'regression', 'performance',
61
+ 'bug', 'issue', 'ticket', 'task', 'feature', 'story', 'epic', 'sprint',
62
+ 'version', 'release', 'changelog', 'readme', 'docs', 'documentation',
63
+ 'comment', 'comments', 'annotation', 'decorator', 'metadata', 'tag', 'label',
64
+ 'commit', 'branch', 'merge', 'rebase', 'cherry', 'pick', 'stash', 'diff',
65
+ 'ci', 'cd', 'pipeline', 'workflow', 'action', 'actions', 'job', 'step',
66
+ 'env', 'environment', 'dev', 'development', 'prod', 'production', 'staging',
67
+ 'local', 'remote', 'origin', 'upstream', 'downstream', 'master', 'main',
68
+ // Common adjectives
69
+ 'new', 'old', 'first', 'last', 'next', 'previous', 'current', 'default',
70
+ 'custom', 'base', 'core', 'main', 'primary', 'secondary', 'optional', 'required',
71
+ 'public', 'private', 'protected', 'internal', 'external', 'global', 'local',
72
+ 'static', 'dynamic', 'async', 'sync', 'lazy', 'eager', 'strict', 'loose',
73
+ 'valid', 'invalid', 'active', 'inactive', 'enabled', 'disabled', 'visible', 'hidden',
74
+ 'empty', 'full', 'null', 'undefined', 'missing', 'unknown', 'invalid',
75
+ 'small', 'large', 'min', 'max', 'short', 'long', 'single', 'multiple',
76
+ 'simple', 'complex', 'basic', 'advanced', 'common', 'rare', 'special',
77
+ 'safe', 'unsafe', 'secure', 'insecure', 'trusted', 'untrusted',
78
+ 'correct', 'incorrect', 'right', 'wrong', 'true', 'false', 'yes', 'no',
79
+ 'success', 'failure', 'pending', 'complete', 'incomplete', 'partial',
80
+ 'initial', 'final', 'temporary', 'permanent', 'transient', 'persistent',
81
+ 'breaking', 'deprecated', 'obsolete', 'legacy', 'experimental', 'stable',
82
+ // Common prepositions and conjunctions
83
+ 'for', 'from', 'to', 'in', 'on', 'at', 'by', 'with', 'without', 'into',
84
+ 'of', 'as', 'or', 'and', 'but', 'if', 'when', 'where', 'while', 'after', 'before',
85
+ 'between', 'through', 'during', 'until', 'unless', 'instead', 'rather', 'than',
86
+ // Common articles and pronouns
87
+ 'a', 'an', 'the', 'this', 'that', 'these', 'those', 'it', 'its', 'all', 'some',
88
+ 'any', 'each', 'every', 'both', 'either', 'neither', 'other', 'another',
89
+ // Common adverbs
90
+ 'not', 'now', 'only', 'also', 'just', 'still', 'already', 'always', 'never',
91
+ 'again', 'once', 'twice', 'here', 'there', 'up', 'down', 'out', 'off',
92
+ 'properly', 'correctly', 'safely', 'automatically', 'manually', 'currently',
93
+ // Numbers
94
+ 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten',
95
+ 'zero', 'many', 'few', 'several', 'more', 'less', 'most', 'least',
96
+ // Misc common words
97
+ 'etc', 'ie', 'eg', 'via', 'per', 'vs', 'todo', 'fixme', 'hack', 'note',
98
+ 'see', 'ref', 'refs', 'related', 'based', 'using', 'according', 'following',
99
+ 'issue', 'issues', 'pr', 'pull', 'push', 'wip', 'draft', 'final',
100
+ ]);
101
+ exports.PROGRAMMING_TERMS = new Set([
102
+ // Languages and runtimes
103
+ 'javascript', 'typescript', 'python', 'java', 'kotlin', 'swift', 'rust', 'go',
104
+ 'golang', 'ruby', 'php', 'csharp', 'cpp', 'scala', 'elixir', 'erlang', 'haskell',
105
+ 'clojure', 'lua', 'perl', 'dart', 'flutter', 'react', 'vue', 'angular', 'svelte',
106
+ 'nodejs', 'node', 'deno', 'bun', 'npm', 'yarn', 'pnpm', 'pip', 'cargo', 'maven',
107
+ 'gradle', 'webpack', 'vite', 'rollup', 'esbuild', 'parcel', 'babel', 'swc',
108
+ 'eslint', 'prettier', 'tslint', 'stylelint', 'lint', 'linter', 'formatter',
109
+ // Frameworks and libraries
110
+ 'express', 'fastify', 'koa', 'nest', 'nestjs', 'nextjs', 'nuxt', 'gatsby',
111
+ 'remix', 'astro', 'django', 'flask', 'fastapi', 'rails', 'laravel', 'spring',
112
+ 'dotnet', 'aspnet', 'blazor', 'electron', 'tauri', 'capacitor', 'cordova',
113
+ 'redux', 'mobx', 'zustand', 'jotai', 'recoil', 'pinia', 'vuex', 'ngrx',
114
+ 'axios', 'fetch', 'superagent', 'got', 'ky', 'undici', 'playwright', 'cypress',
115
+ 'jest', 'mocha', 'vitest', 'ava', 'tap', 'jasmine', 'karma', 'puppeteer',
116
+ 'selenium', 'webdriver', 'storybook', 'chromatic', 'ladle',
117
+ 'prisma', 'typeorm', 'sequelize', 'knex', 'mongoose', 'drizzle', 'kysely',
118
+ 'tailwind', 'tailwindcss', 'bootstrap', 'mui', 'chakra', 'antd', 'radix',
119
+ 'shadcn', 'headless', 'styled', 'emotion', 'sass', 'scss', 'less', 'postcss',
120
+ // Platforms and services
121
+ 'aws', 'azure', 'gcp', 'google', 'firebase', 'supabase', 'vercel', 'netlify',
122
+ 'heroku', 'digitalocean', 'linode', 'cloudflare', 'fastly', 'akamai',
123
+ 'docker', 'kubernetes', 'k8s', 'helm', 'terraform', 'ansible', 'pulumi',
124
+ 'jenkins', 'travis', 'circleci', 'gitlab', 'github', 'bitbucket', 'codecov',
125
+ 'sentry', 'datadog', 'newrelic', 'grafana', 'prometheus', 'kibana', 'elastic',
126
+ 'postgres', 'postgresql', 'mysql', 'mariadb', 'sqlite', 'mongodb', 'dynamodb',
127
+ 'cassandra', 'couchdb', 'neo4j', 'influxdb', 'timescaledb', 'clickhouse',
128
+ 'rabbitmq', 'kafka', 'nats', 'pulsar', 'zeromq', 'mqtt', 'amqp',
129
+ 'nginx', 'apache', 'caddy', 'traefik', 'haproxy', 'envoy', 'istio',
130
+ 'oauth', 'jwt', 'saml', 'oidc', 'ldap', 'keycloak', 'auth0', 'okta',
131
+ 'stripe', 'paypal', 'braintree', 'twilio', 'sendgrid', 'mailgun', 'postmark',
132
+ 'algolia', 'elasticsearch', 'meilisearch', 'typesense', 'solr', 'lucene',
133
+ 's3', 'gcs', 'blob', 'cdn', 'cloudfront', 'imgix', 'cloudinary',
134
+ // Concepts and patterns
135
+ 'mvc', 'mvvm', 'mvp', 'oop', 'fp', 'ddd', 'cqrs', 'saga', 'tdd', 'bdd',
136
+ 'solid', 'dry', 'kiss', 'yagni', 'grasp', 'acid', 'cap', 'rest', 'rpc',
137
+ 'crud', 'ssr', 'ssg', 'csr', 'isr', 'spa', 'pwa', 'mpa', 'jamstack',
138
+ 'monorepo', 'monolith', 'microservice', 'microservices', 'serverless', 'faas',
139
+ 'ci', 'cd', 'devops', 'devsecops', 'gitops', 'mlops', 'aiops', 'sre',
140
+ 'agile', 'scrum', 'kanban', 'xp', 'lean', 'waterfall', 'sdlc',
141
+ 'uml', 'erd', 'dfd', 'bpmn', 'openapi', 'swagger', 'raml', 'wsdl',
142
+ 'regex', 'regexp', 'glob', 'xpath', 'jsonpath', 'jmespath', 'jq',
143
+ 'utf', 'ascii', 'unicode', 'base64', 'hex', 'binary', 'octal',
144
+ 'sha', 'md5', 'hmac', 'aes', 'rsa', 'ecdsa', 'tls', 'ssl', 'https',
145
+ 'cors', 'csrf', 'xss', 'sqli', 'dos', 'ddos', 'mitm', 'owasp',
146
+ // Abbreviations
147
+ 'api', 'sdk', 'cli', 'gui', 'ui', 'ux', 'dx', 'qa', 'qe', 'pm',
148
+ 'db', 'orm', 'odm', 'dao', 'dto', 'vo', 'pojo', 'poco', 'di', 'ioc',
149
+ 'id', 'uuid', 'guid', 'slug', 'sku', 'ean', 'isbn', 'url', 'uri', 'urn',
150
+ 'html', 'css', 'js', 'ts', 'jsx', 'tsx', 'json', 'yaml', 'yml', 'toml',
151
+ 'xml', 'svg', 'png', 'jpg', 'jpeg', 'gif', 'webp', 'avif', 'ico', 'pdf',
152
+ 'md', 'mdx', 'rst', 'txt', 'csv', 'tsv', 'xls', 'xlsx', 'doc', 'docx',
153
+ 'zip', 'tar', 'gz', 'bz2', 'xz', 'rar', '7z', 'iso', 'dmg',
154
+ 'exe', 'dll', 'so', 'dylib', 'bin', 'elf', 'msi', 'deb', 'rpm', 'apk',
155
+ 'env', 'rc', 'cfg', 'ini', 'conf', 'log', 'tmp', 'bak', 'lock',
156
+ 'src', 'lib', 'dist', 'build', 'out', 'bin', 'obj', 'gen', 'vendor',
157
+ 'pkg', 'mod', 'deps', 'modules', 'packages', 'components', 'utils', 'helpers',
158
+ 'http', 'ftp', 'sftp', 'ssh', 'smtp', 'imap', 'pop', 'dns', 'dhcp',
159
+ 'tcp', 'udp', 'ip', 'ipv4', 'ipv6', 'mac', 'nat', 'vpn', 'lan', 'wan',
160
+ 'cpu', 'gpu', 'ram', 'rom', 'ssd', 'hdd', 'nvme', 'raid', 'nas', 'san',
161
+ 'os', 'vm', 'vps', 'ec2', 'ecs', 'eks', 'aks', 'gke', 'rds', 'elb', 'alb',
162
+ 'iam', 'rbac', 'abac', 'acl', 'mfa', '2fa', 'otp', 'sso', 'cas',
163
+ 'ai', 'ml', 'dl', 'nlp', 'cv', 'gan', 'rnn', 'cnn', 'lstm', 'gpt', 'llm',
164
+ 'etl', 'elt', 'oltp', 'olap', 'dwh', 'dw', 'bi', 'kpi', 'roi', 'mrr', 'arr',
165
+ ]);
166
+ /**
167
+ * Combined wordlist for efficient lookup
168
+ */
169
+ exports.WORDLIST = new Set([...exports.COMMON_WORDS, ...exports.PROGRAMMING_TERMS]);
170
+ //# sourceMappingURL=wordlist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wordlist.js","sourceRoot":"","sources":["../../src/data/wordlist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}