Skip to content

Feat/add js node binding - #1

Open
EdwinAlkins wants to merge 19 commits into
mainfrom
feat/add-js-node-binding
Open

EdwinAlkins wants to merge 19 commits into
mainfrom
feat/add-js-node-binding

Conversation

@EdwinAlkins

Copy link
Copy Markdown
Owner

No description provided.

William Nauroy added 7 commits June 19, 2026 16:17
…ser, including build script and examples for JSON/Protobuf conversion
…ng installation, usage, and advanced features like DescriptorCache and Zod integration
…es, including DescriptorCache and free function scenarios
…ks for JSON/Protobuf conversion, and enhance performance documentation
…ripts in package.json, and enhance README with build instructions
…rformance and consistency

- Updated benchmark scripts to use consistent iteration parameters and added warmup iterations.
- Enhanced benchmark descriptions for clarity and accuracy.
- Adjusted large message benchmarks to use a fixed number of records for reproducibility.
- Improved methodology documentation in README for better understanding of benchmark processes.
@EdwinAlkins
EdwinAlkins force-pushed the feat/add-js-node-binding branch from 6a9f608 to 132db2c Compare June 23, 2026 10:30
William Nauroy added 12 commits June 23, 2026 15:21
…mpilation

- Introduced compile_proto_from_sources to compile .proto files directly from memory without filesystem access.
- Updated documentation to include usage examples and detailed parameter descriptions for the new function.
- Enhanced existing guides to reference the new in-memory compilation capability.
- Added tests to validate the functionality of compile_proto_from_sources.
…gitignore for build artifacts

- Bumped version to 0.2.0 in Cargo.toml, Cargo.lock, package.json, pyproject.toml, and __init__.py.
- Updated .gitignore to exclude generated npm directories and release tarballs.
- Added GitHub Actions workflow for automated release packaging and distribution.
- Introduced npm-test.yml for running vitest on Node.js with native addon and WebAssembly support.
- Added python-test.yml for building Rust extension modules with maturin and running pytest for Python.
- Both workflows support multiple versions of Node.js and Python, enhancing CI coverage.
… versions

- Updated npm-test.yml to support Node.js version 26.
- Modified python-test.yml to include Python version 3.14.
- Enhances CI coverage by testing against the latest language versions.
- Added a new GitHub Actions workflow for Rust tests, including formatting checks, Clippy lints, and running the cargo test suite.
- Updated the Python test workflow to include type checking with mypy.
- Introduced a README for Rust benchmarks, detailing usage and performance measurement for core conversion functions.
- Introduced `pydantic_to_protobuf` and `protobuf_to_pydantic` methods for converting between Pydantic models and Protobuf messages.
- Updated documentation to include usage examples for the new methods.
- Added tests to validate the functionality of Pydantic conversions within the DescriptorCache.
…languages

- Changed the order of parameters in the protobuf_to_json function to place message_type before pretty, enhancing consistency across implementations.
- Updated related documentation and examples to reflect the new parameter order.
- Ensured all tests and benchmarks are aligned with the updated function signature.
…requirement

- Bumped package version to 0.2.0 in package-lock.json.
- Updated Node.js engine requirement from >=12 to >=18.
- Removed unnecessary libc entries from various dependencies.
- Bumped versions of several dependencies in Cargo.lock and Cargo.toml, including `prost`, `lru`, and `criterion`.
- Added new dependencies `alloca`, `cc`, and `find-msvc-tools`.
- Updated documentation to include new LLM usage prompts for Browser, Node.js, Python, and Rust.
- Introduced a JavaScript utility for copying prompts from documentation pages.
- Added a migration guide for updating from napi-rs 2 to 3.
- Enhanced CI workflows to support the latest versions and improve testing coverage.
- Updated .gitignore to include local graphify and Codex data directories.
- Added license information in LICENSE file and specified license in Cargo.toml and pyproject.toml.
- Enhanced CHANGELOG.md with new features, fixes, and performance improvements for version 0.2.0.
- Updated CI workflows to improve version verification and streamline the release process.
- Refactored benchmark tests to reflect changes in descriptor caching and performance metrics.
- Introduced scripts for version checking and wheel testing to ensure consistency across package versions.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant