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:
parent
3f90f1c511
commit
69c3a1d5a0
7 changed files with 128 additions and 58 deletions
|
|
@ -3,7 +3,9 @@
|
|||
* No direct TensorFlow references - patches are handled internally by Brainy
|
||||
*/
|
||||
|
||||
import { beforeEach } from 'vitest'
|
||||
import { beforeEach, afterEach, afterAll } from 'vitest'
|
||||
import { existsSync, rmSync } from 'fs'
|
||||
import { join } from 'path'
|
||||
|
||||
// Define the test utilities type for reuse
|
||||
type TestUtilsType = {
|
||||
|
|
@ -34,6 +36,37 @@ beforeEach(() => {
|
|||
if (typeof global !== 'undefined' && global.__ENV__) {
|
||||
delete global.__ENV__
|
||||
}
|
||||
|
||||
// Clean up test data directory to prevent file accumulation
|
||||
const testDataDir = join(process.cwd(), 'brainy-data')
|
||||
if (existsSync(testDataDir)) {
|
||||
try {
|
||||
rmSync(testDataDir, { recursive: true, force: true })
|
||||
} catch (error) {
|
||||
// Ignore errors during cleanup
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// Clean up after each test
|
||||
afterEach(() => {
|
||||
// Force garbage collection if available (requires --expose-gc flag)
|
||||
if (global.gc) {
|
||||
global.gc()
|
||||
}
|
||||
})
|
||||
|
||||
// Final cleanup after all tests
|
||||
afterAll(() => {
|
||||
// Clean up test data directory
|
||||
const testDataDir = join(process.cwd(), 'brainy-data')
|
||||
if (existsSync(testDataDir)) {
|
||||
try {
|
||||
rmSync(testDataDir, { recursive: true, force: true })
|
||||
} catch (error) {
|
||||
// Ignore errors during cleanup
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// Add simple test utilities to both global and globalThis for compatibility
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue