This commit adds ES module versions of fundamental Ox utilities:
- Array utilities (api, compact, unique, zip, etc.)
- String utilities (capitalize, clean, truncate, wordwrap, etc.)
- Math utilities (trig functions, geographic calculations, etc.)
- Object utilities (clone, serialize, keys/values, etc.)
- Function utilities (cache, debounce, throttle, memoize, etc.)
- Constants (math, time, colors, HTTP status codes)
- Polyfills for older browser compatibility
All modules include proper imports/exports and maintain the same API
as the original implementations. Added comprehensive test coverage with
31 tests passing.
Next steps: Convert remaining core modules, set up build pipeline,
and test backward compatibility with existing examples.
🤖 Generated with AI assistance
This commit lays the foundation for migrating OxJS from its custom module
system to ES modules while maintaining backward compatibility.
Key changes:
- Set up npm project with Vite for modern build tooling
- Created ES module versions of core Ox utilities (Type, Collection, DOM, etc.)
- Implemented compatibility layer for legacy Ox.load() pattern
- Added Vitest for testing with initial test suite
- Created script to extract existing inline tests from documentation
- Updated .gitignore for Node.js/npm development
The migration preserves OxJS's innovative inline test system and maintains
backward compatibility. Original source files remain unchanged.
Next steps include migrating UI modules, replacing the Python build script,
and creating npm package distribution.
🤖 Generated with AI assistance