git-slot-machine 2.3.0 → 2.3.2

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/CHANGELOG.md CHANGED
@@ -5,6 +5,28 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.3.2] - 2026-03-11
9
+
10
+ ### Fixed
11
+ - Skip slot machine animation in non-interactive environments (`CLAUDECODE=1`, `CI=1`)
12
+ - Animation skip is now built into the CLI itself — no hook changes needed
13
+ - Game still plays, balance updates, and API syncs normally
14
+ - Works automatically in all repos on upgrade
15
+ - `--version` flag now reads from `package.json` instead of a hardcoded string
16
+
17
+ ## [2.3.1] - 2026-03-11
18
+
19
+ ### Fixed
20
+ - Post-commit hook now suppresses animation frames when running under Claude Code (`CLAUDECODE=1`)
21
+ - Game still plays, balance updates, and API syncs normally
22
+ - Only the final result line is shown, saving LLM context tokens
23
+ - Normal terminal usage is completely unchanged
24
+
25
+ ## [2.3.0] - 2025-12-17
26
+
27
+ ### Added
28
+ - ???
29
+
8
30
  ## [2.2.0] - 2025-10-23
9
31
 
10
32
  ### Added
@@ -1 +1 @@
1
- {"version":3,"file":"slotMachine.d.ts","sourceRoot":"","sources":["../../src/animation/slotMachine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAO/C,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAgED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD1E;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBxE"}
1
+ {"version":3,"file":"slotMachine.d.ts","sourceRoot":"","sources":["../../src/animation/slotMachine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAO/C,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAgED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD1E;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BxE"}
@@ -61,63 +61,66 @@ function drawSlotMachine(chars, spinning, highlightIndices = [], flash = false)
61
61
  export async function animateSlotMachine(config) {
62
62
  const { finalHash, patternResult } = config;
63
63
  const highlightIndices = patternResult?.highlightIndices || [];
64
- // Clear screen
65
- console.clear();
66
- // Initialize with random characters
67
- let currentChars = Array(7).fill(0).map(() => getRandomHexChar());
68
- // Animate spinning
69
- for (let frame = 0; frame < FRAMES; frame++) {
70
- // Gradually slow down and settle on final hash
71
- const progress = frame / FRAMES;
72
- if (progress < 0.9) {
73
- // Still spinning - show random
74
- currentChars = currentChars.map(() => getRandomHexChar());
64
+ const isCI = !!process.env.CLAUDECODE || !!process.env.CI;
65
+ const finalChars = finalHash.split('');
66
+ if (!isCI) {
67
+ // Clear screen
68
+ console.clear();
69
+ // Initialize with random characters
70
+ let currentChars = Array(7).fill(0).map(() => getRandomHexChar());
71
+ // Animate spinning
72
+ for (let frame = 0; frame < FRAMES; frame++) {
73
+ // Gradually slow down and settle on final hash
74
+ const progress = frame / FRAMES;
75
+ if (progress < 0.9) {
76
+ // Still spinning - show random
77
+ currentChars = currentChars.map(() => getRandomHexChar());
78
+ }
79
+ else {
80
+ // Start settling - reveal characters one by one
81
+ const revealIndex = Math.floor((progress - 0.9) / 0.1 * 7);
82
+ for (let i = 0; i < revealIndex; i++) {
83
+ currentChars[i] = finalHash[i];
84
+ }
85
+ }
86
+ // Redraw
87
+ console.clear();
88
+ drawSlotMachine(currentChars, progress < 0.9);
89
+ // Wait for next frame
90
+ await new Promise(resolve => setTimeout(resolve, ANIMATION_SPEED));
75
91
  }
76
- else {
77
- // Start settling - reveal characters one by one
78
- const revealIndex = Math.floor((progress - 0.9) / 0.1 * 7);
79
- for (let i = 0; i < revealIndex; i++) {
80
- currentChars[i] = finalHash[i];
92
+ // Flash 3 times if there are highlighted characters
93
+ if (highlightIndices.length > 0) {
94
+ for (let flashCount = 0; flashCount < 3; flashCount++) {
95
+ console.clear();
96
+ drawSlotMachine(finalChars, false, highlightIndices, true);
97
+ await new Promise(resolve => setTimeout(resolve, 200));
98
+ console.clear();
99
+ drawSlotMachine(finalChars, false, highlightIndices, false);
100
+ await new Promise(resolve => setTimeout(resolve, 200));
81
101
  }
82
102
  }
83
- // Redraw
103
+ // Steady state
84
104
  console.clear();
85
- drawSlotMachine(currentChars, progress < 0.9);
86
- // Wait for next frame
87
- await new Promise(resolve => setTimeout(resolve, ANIMATION_SPEED));
88
105
  }
89
- // Final reveal with flashing
90
- const finalChars = finalHash.split('');
91
- // Flash 3 times if there are highlighted characters
92
- if (highlightIndices.length > 0) {
93
- for (let flashCount = 0; flashCount < 3; flashCount++) {
94
- // Flash on
95
- console.clear();
96
- drawSlotMachine(finalChars, false, highlightIndices, true);
97
- await new Promise(resolve => setTimeout(resolve, 200));
98
- // Flash off
99
- console.clear();
100
- drawSlotMachine(finalChars, false, highlightIndices, false);
101
- await new Promise(resolve => setTimeout(resolve, 200));
102
- }
103
- }
104
- // Steady state
105
- console.clear();
106
106
  drawSlotMachine(finalChars, false, highlightIndices, false);
107
107
  }
108
108
  export async function animateSmallMode(config) {
109
109
  const { finalHash, patternResult } = config;
110
110
  const highlightIndices = patternResult?.highlightIndices || [];
111
- // Single line, rapid character flicker
112
- process.stdout.write(chalk.cyan('🎰 '));
113
- for (let frame = 0; frame < 20; frame++) {
114
- const chars = Array(7).fill(0).map(() => getRandomHexChar()).join('');
111
+ const isCI = !!process.env.CLAUDECODE || !!process.env.CI;
112
+ if (!isCI) {
113
+ // Single line, rapid character flicker
114
+ process.stdout.write(chalk.cyan('🎰 '));
115
+ for (let frame = 0; frame < 20; frame++) {
116
+ const chars = Array(7).fill(0).map(() => getRandomHexChar()).join('');
117
+ clearLine();
118
+ process.stdout.write(chalk.cyan('🎰 ') + chalk.rgb(255, 255, 255)(chars));
119
+ await new Promise(resolve => setTimeout(resolve, 50));
120
+ }
115
121
  clearLine();
116
- process.stdout.write(chalk.cyan('🎰 ') + chalk.rgb(255, 255, 255)(chars));
117
- await new Promise(resolve => setTimeout(resolve, 50));
118
122
  }
119
123
  // Final with highlighting - don't add newline, let the caller add result info
120
- clearLine();
121
124
  const display = finalHash.split('').map((char, i) => {
122
125
  if (highlightIndices.includes(i)) {
123
126
  return chalk.bgRgb(255, 255, 0).rgb(0, 0, 0).bold(char);
@@ -1 +1 @@
1
- {"version":3,"file":"slotMachine.js","sourceRoot":"","sources":["../../src/animation/slotMachine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slotMachine.js","sourceRoot":"","sources":["../../src/animation/slotMachine.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,11 +9,14 @@ import { testCommand } from './commands/test.js';
9
9
  import { authLoginCommand, authLogoutCommand, authStatusCommand } from './commands/auth.js';
10
10
  import { syncCommand } from './commands/sync.js';
11
11
  import { configGetCommand, configSetCommand } from './commands/config.js';
12
+ import { createRequire } from 'module';
13
+ const require = createRequire(import.meta.url);
14
+ const { version } = require('../package.json');
12
15
  const program = new Command();
13
16
  program
14
17
  .name('git-slot-machine')
15
18
  .description('Git commit hash slot machine')
16
- .version('2.2.0', '-v, --version', 'Output the current version');
19
+ .version(version, '-v, --version', 'Output the current version');
17
20
  program
18
21
  .command('play')
19
22
  .description('Play the slot machine with a git hash')
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "git-slot-machine",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "Turn your git commits into a slot machine game! CLI tool with global leaderboards and win streaks.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -77,76 +77,81 @@ function drawSlotMachine(chars: string[], spinning: boolean, highlightIndices: n
77
77
  export async function animateSlotMachine(config: SlotConfig): Promise<void> {
78
78
  const { finalHash, patternResult } = config;
79
79
  const highlightIndices = patternResult?.highlightIndices || [];
80
+ const isCI = !!process.env.CLAUDECODE || !!process.env.CI;
80
81
 
81
- // Clear screen
82
- console.clear();
82
+ const finalChars = finalHash.split('');
83
83
 
84
- // Initialize with random characters
85
- let currentChars = Array(7).fill(0).map(() => getRandomHexChar());
84
+ if (!isCI) {
85
+ // Clear screen
86
+ console.clear();
86
87
 
87
- // Animate spinning
88
- for (let frame = 0; frame < FRAMES; frame++) {
89
- // Gradually slow down and settle on final hash
90
- const progress = frame / FRAMES;
88
+ // Initialize with random characters
89
+ let currentChars = Array(7).fill(0).map(() => getRandomHexChar());
91
90
 
92
- if (progress < 0.9) {
93
- // Still spinning - show random
94
- currentChars = currentChars.map(() => getRandomHexChar());
95
- } else {
96
- // Start settling - reveal characters one by one
97
- const revealIndex = Math.floor((progress - 0.9) / 0.1 * 7);
98
- for (let i = 0; i < revealIndex; i++) {
99
- currentChars[i] = finalHash[i];
100
- }
101
- }
91
+ // Animate spinning
92
+ for (let frame = 0; frame < FRAMES; frame++) {
93
+ // Gradually slow down and settle on final hash
94
+ const progress = frame / FRAMES;
102
95
 
103
- // Redraw
104
- console.clear();
105
- drawSlotMachine(currentChars, progress < 0.9);
96
+ if (progress < 0.9) {
97
+ // Still spinning - show random
98
+ currentChars = currentChars.map(() => getRandomHexChar());
99
+ } else {
100
+ // Start settling - reveal characters one by one
101
+ const revealIndex = Math.floor((progress - 0.9) / 0.1 * 7);
102
+ for (let i = 0; i < revealIndex; i++) {
103
+ currentChars[i] = finalHash[i];
104
+ }
105
+ }
106
106
 
107
- // Wait for next frame
108
- await new Promise(resolve => setTimeout(resolve, ANIMATION_SPEED));
109
- }
107
+ // Redraw
108
+ console.clear();
109
+ drawSlotMachine(currentChars, progress < 0.9);
110
110
 
111
- // Final reveal with flashing
112
- const finalChars = finalHash.split('');
111
+ // Wait for next frame
112
+ await new Promise(resolve => setTimeout(resolve, ANIMATION_SPEED));
113
+ }
113
114
 
114
- // Flash 3 times if there are highlighted characters
115
- if (highlightIndices.length > 0) {
116
- for (let flashCount = 0; flashCount < 3; flashCount++) {
117
- // Flash on
118
- console.clear();
119
- drawSlotMachine(finalChars, false, highlightIndices, true);
120
- await new Promise(resolve => setTimeout(resolve, 200));
115
+ // Flash 3 times if there are highlighted characters
116
+ if (highlightIndices.length > 0) {
117
+ for (let flashCount = 0; flashCount < 3; flashCount++) {
118
+ console.clear();
119
+ drawSlotMachine(finalChars, false, highlightIndices, true);
120
+ await new Promise(resolve => setTimeout(resolve, 200));
121
121
 
122
- // Flash off
123
- console.clear();
124
- drawSlotMachine(finalChars, false, highlightIndices, false);
125
- await new Promise(resolve => setTimeout(resolve, 200));
122
+ console.clear();
123
+ drawSlotMachine(finalChars, false, highlightIndices, false);
124
+ await new Promise(resolve => setTimeout(resolve, 200));
125
+ }
126
126
  }
127
+
128
+ // Steady state
129
+ console.clear();
127
130
  }
128
131
 
129
- // Steady state
130
- console.clear();
131
132
  drawSlotMachine(finalChars, false, highlightIndices, false);
132
133
  }
133
134
 
134
135
  export async function animateSmallMode(config: SlotConfig): Promise<void> {
135
136
  const { finalHash, patternResult } = config;
136
137
  const highlightIndices = patternResult?.highlightIndices || [];
138
+ const isCI = !!process.env.CLAUDECODE || !!process.env.CI;
137
139
 
138
- // Single line, rapid character flicker
139
- process.stdout.write(chalk.cyan('🎰 '));
140
+ if (!isCI) {
141
+ // Single line, rapid character flicker
142
+ process.stdout.write(chalk.cyan('🎰 '));
143
+
144
+ for (let frame = 0; frame < 20; frame++) {
145
+ const chars = Array(7).fill(0).map(() => getRandomHexChar()).join('');
146
+ clearLine();
147
+ process.stdout.write(chalk.cyan('🎰 ') + chalk.rgb(255, 255, 255)(chars));
148
+ await new Promise(resolve => setTimeout(resolve, 50));
149
+ }
140
150
 
141
- for (let frame = 0; frame < 20; frame++) {
142
- const chars = Array(7).fill(0).map(() => getRandomHexChar()).join('');
143
151
  clearLine();
144
- process.stdout.write(chalk.cyan('🎰 ') + chalk.rgb(255, 255, 255)(chars));
145
- await new Promise(resolve => setTimeout(resolve, 50));
146
152
  }
147
153
 
148
154
  // Final with highlighting - don't add newline, let the caller add result info
149
- clearLine();
150
155
  const display = finalHash.split('').map((char, i) => {
151
156
  if (highlightIndices.includes(i)) {
152
157
  return chalk.bgRgb(255, 255, 0).rgb(0, 0, 0).bold(char);
package/src/index.ts CHANGED
@@ -10,13 +10,17 @@ import { testCommand } from './commands/test.js';
10
10
  import { authLoginCommand, authLogoutCommand, authStatusCommand } from './commands/auth.js';
11
11
  import { syncCommand } from './commands/sync.js';
12
12
  import { configGetCommand, configSetCommand } from './commands/config.js';
13
+ import { createRequire } from 'module';
14
+
15
+ const require = createRequire(import.meta.url);
16
+ const { version } = require('../package.json');
13
17
 
14
18
  const program = new Command();
15
19
 
16
20
  program
17
21
  .name('git-slot-machine')
18
22
  .description('Git commit hash slot machine')
19
- .version('2.2.0', '-v, --version', 'Output the current version');
23
+ .version(version, '-v, --version', 'Output the current version');
20
24
 
21
25
  program
22
26
  .command('play')