Repository navigation
build: publish the package with its native artifacts - #8
Merged
Merged
Conversation
Replace .npmignore with a files allowlist so the tarball carries build/, src/, the Android and iOS sources with their generated bindings, and the Expo config, while keeping the Rust workspace, the example app and the build outputs out. Bump to 0.1.0 and read the Gradle version from package.json so the two cannot drift.
The .prettierrc was in place but the sources were never run through it. Add a format:check script, ignore generated and vendored paths, and gate pull requests on the check.
Build the xcframework with its Swift bindings on macOS and the jniLibs with their Kotlin bindings on Linux, then assemble, verify and publish from a single job. Triggered by a v* tag or by hand with a dist-tag, and signed with provenance.
A prepare script also runs for consumers who install the tarball, where the internal build scripts it calls are absent. prepack covers publish, pack and git dependencies without touching a plain install, and the CI jobs now build the module explicitly.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
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.
Makes the npm package installable: a files allowlist ships the TypeScript build, the iOS xcframework and Swift bindings, and the Android libraries and Kotlin bindings, which git ignores because CI builds them. Version 0.1.0.
A release workflow (manual dispatch or a v* tag) builds iOS on macOS and Android on Linux, collects both into one tree, fails if any native artifact is missing, logs the npm pack contents and publishes with provenance. It needs an NPM_TOKEN secret.
Also formats the repository with its Prettier config and adds a format check to CI.
Verified on a Linux VM: the packed tarball holds the Android libraries and bindings and no Rust, example or test files; the example app builds against the tarball and its APK carries both libraries. The iOS half of the tarball is checked by the release workflow.