Repository navigation
Conversation
- packages/ecr17-kit (@padosoft/ecr17-kit) and packages/react-native-ecr17 (@padosoft/react-native-ecr17); apps/example (workspace) and apps/example-windows (npm, outside the workspace: RNW pins an older React Native). - Workspaces packages/* + apps/example; CI, release (mirrors every package to GitHub Packages), changesets, biome, scripts and docs follow the new paths. - README roadmap: native Swift and Kotlin APIs, C API + .NET, POSIX transport, prebuilt binaries, publishing, Windows verification. Verified: kit tests 100/100 from the new path, TS typecheck, nitrogen, README sync, workflow YAML, Expo prebuild + pod install from apps/example. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
47PADO47
added this pull request to stack #27
October 5, 2026 19:29
…pps/docs, TS scripts - @padosoft/ecr17-kit -> @padosoft/ecr17 (2.0.0), packages/ecr17: pod and Swift product Ecr17, headers <ecr17/...>, CMake ecr17::ecr17. The podspec uses native_kit. - The RN binding's pod is now ReactNativeEcr17 (nitro.json iosModuleName), so the core keeps the name Ecr17. Android (libEcr17.so) is unchanged. - SwiftPM: root Package.swift (product Ecr17 over packages/ecr17/cpp). ReactNativeEcr17 links the core through native_dependency with this repo as spm_url, and the minimum version is read from its @padosoft/ecr17 range. The release workflow tags each core version X.Y.Z. @padosoft/ecr17 opts out of autolinking; its Expo plugin declares the pod unless SwiftPM is on. - docs-site/ -> apps/docs/. Every .mjs script is now .ts (root: bun; docs: node 24). - Docs, AGENTS.md, LESSON.md, README and the changeset are updated. Verified locally: core tests (CMake), `swift build` of the root package plus a dependent package that includes <ecr17/...>, and an iOS simulator build of apps/example through the Ecr17 pod (default) and through the Ecr17 Swift package (SwiftPM forced, local path). The SwiftPM run needed a local shim: @padosoft/native-modules 1.5.0 calls a Pod::Specification#spm_dependency that doesn't exist (an upstream fix is needed). Docs check and build pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Stacked on #25.
packages/ecr17(@padosoft/ecr17, was@padosoft/ecr17-kit),packages/react-native-ecr17,apps/example(bun workspace),apps/example-windowsandapps/docs(npm, outside the workspace).@padosoft/ecr172.0.0, with the pod and Swift productEcr17, headers<ecr17/…>, and CMakeecr17::ecr17. The RN binding's pod is nowReactNativeEcr17(nitro.jsoniosModuleName). Android stayslibEcr17.so.Package.swiftsits at the repo root, because SwiftPM resolves remote packages only from there.ReactNativeEcr17.podspeclinks the core throughnative_dependency: the Swift package when the app turns SwiftPM on, theEcr17pod otherwise. The release workflow tags each core versionX.Y.Z; it starts at 2.0.0, so the old 1.x tags never match. The core opts out of autolinking, and its Expo plugin skips the pod when SwiftPM is on..mjsscript is now.ts(bun at the root, node 24 inapps/docs).Verified locally (macOS):
swift buildof the root package, plus a throwaway dependent package that includes<ecr17/…>.apps/example, both through theEcr17pod (default) and through theEcr17Swift package (SwiftPM forced, local path).checkandbuild, and the converted docs scripts.@padosoft/native-modules1.5.0'snative_dependencycallsspec.spm_dependency(...), which neither CocoaPods nor RN defines. RN's helper is the top-levelspm_dependency(spec, …). The SPM run above needed a three-line local shim. The fix belongs in react-native-support. Until then, the default CocoaPods path works and forcing SwiftPM fails atpod install.Not verified: Android (
android-build) and Windows builds.Next, a separate PR: the
@padosoft/ecr17Node.js entry, a Node-API addon over the C++ client with a tsdown TypeScript API.🤖 Generated with Claude Code