fix: optimize package size and improve test reliability

Major improvements to build process, package optimization, and test infrastructure:

## Package Size Optimization (3.4MB → 2.2MB)
- Remove source maps from npm package (reduce size by 35%)
- Update package.json files field to exclude *.js.map and *.d.ts.map
- Enhanced .npmignore for better exclusion patterns
- Preserve all browser compatibility and universal shims

## Test Infrastructure Fixes
- Increase test timeouts to 120s for TensorFlow operations
- Improve memory management with garbage collection hooks
- Add proper cleanup between tests to prevent file accumulation
- Configure single-fork test execution to reduce memory usage
- Fix test parameter issues in intelligent verb scoring tests

## Bug Fixes
- Fix lock directory creation in FileSystemStorage
- Remove deprecated node-fetch import from api-integration tests
- Fix addVerb() and db.add() parameter usage throughout test suite
- Ensure proper vector dimensions (384) in all test vectors
- Add directory existence checks before lock file operations

## Build & Development
- Update vitest configuration for better concurrency and reliability
- Add comprehensive test cleanup in setup.ts
- Preserve all browser JavaScript functionality and universal compatibility layer

The package now meets size requirements while maintaining full functionality
for both browser and Node.js environments.
This commit is contained in:
David Snelling 2025-08-10 13:52:01 -07:00
parent 9019672ff0
commit 6e85468879
7 changed files with 128 additions and 58 deletions

View file

@ -962,6 +962,9 @@ export class FileSystemStorage extends BaseStorage {
ttl: number = 30000
): Promise<boolean> {
await this.ensureInitialized()
// Ensure lock directory exists
await this.ensureDirectoryExists(this.lockDir)
const lockFile = path.join(this.lockDir, `${lockKey}.lock`)
const lockValue = `${Date.now()}_${Math.random()}_${process.pid || 'unknown'}`