**feat(cli, workers): introduce text encoding patches and worker improvements**
- Added `cli-package/brainy-wrapper.js` to patch global `TextEncoder` and `TextDecoder` for Node.js environments, ensuring compatibility with TensorFlow.js. - Implemented unified text encoding utilities in `cli-package/src/utils/textEncoding.ts` for cross-environment consistency. - Enhanced `src/worker.js` and introduced `src/worker.ts` to improve worker execution with better function serialization and error handling. - Updated `package.json`: - Modified the `build` script to include a patch for `TextEncoder`. - Added `test-all` script for multi-environment testing. - Introduced the Puppeteer dependency for browser testing. - Created a favicon generation script `scripts/create-favicon.js` using a base64-encoded icon. - Added `scripts/test-all-environments.js` to run automated tests across Node.js, browser, and CLI environments. - Enhanced `src/utils/workerUtils.ts` to support improved fallback mechanisms and robust worker pooling. This update improves the project's compatibility across environments, refines worker functionalities, and adds comprehensive testing support for reliability.
This commit is contained in:
parent
9293328e72
commit
da760a34ed
23 changed files with 2319 additions and 229 deletions
|
|
@ -10,6 +10,7 @@ This document contains detailed information for developers working with Brainy,
|
|||
|
||||
- [Build System](#build-system)
|
||||
- [Testing](#testing)
|
||||
- [Testing All Environments](#testing-all-environments)
|
||||
- [Testing the CLI Package Locally](#testing-the-cli-package-locally)
|
||||
- [Publishing](#publishing)
|
||||
- [Publishing the CLI Package](#publishing-the-cli-package)
|
||||
|
|
@ -60,6 +61,23 @@ Brainy uses a modern build system that optimizes for both Node.js and browser en
|
|||
|
||||
## Testing
|
||||
|
||||
### Testing All Environments
|
||||
|
||||
Brainy provides a comprehensive test script that verifies the library works correctly in all supported environments (browser, Node.js, and CLI):
|
||||
|
||||
```bash
|
||||
# Test the library in all environments
|
||||
npm run test-all
|
||||
```
|
||||
|
||||
This script:
|
||||
1. Builds all packages (main, browser, CLI)
|
||||
2. Runs Node.js tests (worker tests and unified text encoding test)
|
||||
3. Starts a local HTTP server and runs browser tests using Puppeteer (headless browser)
|
||||
4. Runs CLI tests by installing the CLI package locally and testing basic commands
|
||||
|
||||
The test results are displayed with color-coded output for better readability.
|
||||
|
||||
### Testing the CLI Package Locally
|
||||
|
||||
Before publishing the CLI package to npm, you can test it locally to ensure it works as expected:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue