Improve package configuration for better export#1
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request streamlines the build process, enhances the package configuration for broader compatibility, and adds improved cross-platform support for the build system. The main changes include consolidating the build steps into a single command, updating
package.jsonfor better module resolution and metadata, and introducing a robust configuration script that handles different build toolchains.Build process improvements:
generate:cmake,generate,build:ts) into a singlebuildscript (npm run build) that handles configuration, extraction, generation, and TypeScript compilation, simplifying the CI workflow and local development (.github/workflows/ci.yml,package.json). [1] [2]Package configuration and metadata enhancements:
package.jsonto include properexports,module, andtypesfields for modern ESM and TypeScript support, added author, repository, license, and keywords for better discoverability and compliance, and improved thecleanscript to userimraffor cross-platform compatibility.Cross-platform build configuration:
tools/configure.jsscript that detects the presence of the Ninja build system or falls back to Make, improving compatibility across Windows, Linux, and macOS environments. The script attempts to locate Ninja in common installation paths and provides clear feedback if not found.