Compare commits

...

4 Commits

Author SHA1 Message Date
semantic-release-bot
eb56bc8b88 chore(release): 2.17.3 [skip ci]
## [2.17.3](https://github.com/antialias/soroban-abacus-flashcards/compare/v2.17.2...v2.17.3) (2025-10-10)

### Bug Fixes

* correct build-info.json import path in type declaration ([22f0be4](22f0be4d04))

### Documentation

* add plan for centralizing player ownership logic ([d3ff89a](d3ff89a0ee))
2025-10-10 13:51:00 +00:00
Thomas Hallock
9f90678151 chore: expand Claude Code auto-approved commands for tooling
Added additional tool commands to auto-approval list:
- npx tsc (TypeScript compiler direct invocation)
- npx @biomejs/biome format (direct Biome formatter)
- npx @biomejs/biome check (direct Biome checker)
- npm run lint:fix (linting with auto-fix)

This allows Claude Code to run these common development tools without
requiring manual approval for each invocation, improving workflow
efficiency during code quality checks.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 08:50:07 -05:00
Thomas Hallock
22f0be4d04 fix: correct build-info.json import path in type declaration
Changed from '@/generated/build-info.json' to '../generated/build-info.json'
to use correct relative path instead of alias.

This ensures the type declaration correctly resolves to the generated
build info file location.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 08:49:56 -05:00
Thomas Hallock
19bc0b65d9 chore: apply auto-formatting to LocalMemoryPairsProvider and tsconfig.server.json
Auto-formatter made minor formatting adjustments:
- Multi-line formatting for long function call arguments
- Single-line array formatting in tsconfig exclude

No functional changes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 08:49:48 -05:00
6 changed files with 34 additions and 12 deletions

View File

@@ -1,3 +1,15 @@
## [2.17.3](https://github.com/antialias/soroban-abacus-flashcards/compare/v2.17.2...v2.17.3) (2025-10-10)
### Bug Fixes
* correct build-info.json import path in type declaration ([22f0be4](https://github.com/antialias/soroban-abacus-flashcards/commit/22f0be4d045c6afdcb98b876f709d63a904f9449))
### Documentation
* add plan for centralizing player ownership logic ([d3ff89a](https://github.com/antialias/soroban-abacus-flashcards/commit/d3ff89a0ee53c32cc68ed01bf460919aa889d6a0))
## [2.17.2](https://github.com/antialias/soroban-abacus-flashcards/compare/v2.17.1...v2.17.2) (2025-10-10)

View File

@@ -11,7 +11,11 @@
"Bash(git stash:*)",
"Bash(npm run format:*)",
"Bash(npm run pre-commit:*)",
"Bash(npm run type-check:*)"
"Bash(npm run type-check:*)",
"Bash(npx tsc:*)",
"Bash(npx @biomejs/biome format:*)",
"Bash(npx @biomejs/biome check:*)",
"Bash(npm run lint:fix:*)"
],
"deny": [],
"ask": []

View File

@@ -68,7 +68,10 @@ function localMemoryPairsReducer(state: MemoryPairsState, action: LocalAction):
matchedPairs: 0,
moves: 0,
scores: action.activePlayers.reduce((acc: any, p: string) => ({ ...acc, [p]: 0 }), {}),
consecutiveMatches: action.activePlayers.reduce((acc: any, p: string) => ({ ...acc, [p]: 0 }), {}),
consecutiveMatches: action.activePlayers.reduce(
(acc: any, p: string) => ({ ...acc, [p]: 0 }),
{}
),
activePlayers: action.activePlayers,
playerMetadata: action.playerMetadata,
currentPlayer: action.activePlayers[0] || '',
@@ -97,7 +100,8 @@ function localMemoryPairsReducer(state: MemoryPairsState, action: LocalAction):
return {
...state,
flippedCards: newFlippedCards,
currentMoveStartTime: state.flippedCards.length === 0 ? Date.now() : state.currentMoveStartTime,
currentMoveStartTime:
state.flippedCards.length === 0 ? Date.now() : state.currentMoveStartTime,
isProcessingMove: newFlippedCards.length === 2,
showMismatchFeedback: false,
}
@@ -386,7 +390,14 @@ export function LocalMemoryPairsProvider({ children }: { children: ReactNode })
return true
},
[isGameActive, state.isProcessingMove, state.gameCards, state.flippedCards, state.currentPlayer, players]
[
isGameActive,
state.isProcessingMove,
state.gameCards,
state.flippedCards,
state.currentPlayer,
players,
]
)
const currentGameStatistics: GameStatistics = useMemo(

View File

@@ -1,4 +1,4 @@
declare module '@/generated/build-info.json' {
declare module '../generated/build-info.json' {
interface BuildInfo {
version: string
buildTime: string

View File

@@ -24,10 +24,5 @@
"src/app/games/matching/utils/matchValidation.ts",
"socket-server.ts"
],
"exclude": [
"node_modules",
"**/*.test.ts",
"**/*.test.tsx",
"**/*.spec.ts"
]
"exclude": ["node_modules", "**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts"]
}

View File

@@ -1,6 +1,6 @@
{
"name": "soroban-monorepo",
"version": "2.17.2",
"version": "2.17.3",
"private": true,
"description": "Beautiful Soroban Flashcard Generator - Monorepo",
"workspaces": [