Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions .changeset/chilly-trains-nail.md

This file was deleted.

15 changes: 0 additions & 15 deletions .changeset/gentle-pandas-learn.md

This file was deleted.

10 changes: 0 additions & 10 deletions .changeset/real-emus-jam.md

This file was deleted.

10 changes: 0 additions & 10 deletions .changeset/release-debug-logging.md

This file was deleted.

9 changes: 0 additions & 9 deletions .changeset/silent-vendor-hermes.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/silly-cobras-invite.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/wet-carrots-relax.md

This file was deleted.

44 changes: 44 additions & 0 deletions packages/cmake-rn/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,49 @@
# cmake-rn

## 0.8.0

### Minor Changes

- c17619d: Add support for building projects declaring multiple shared object libraries into Node-API addons.

Each addon is emitted next to the sources it was built from, so that a project
declaring many addons produces the same layout as building each of them on its
own. Both the location and the name of an artifact are derived from the target
that produced it:
- `--out` supports a new `{targetSourceDir}` placeholder, expanding to the source
directory of the target being emitted, and now defaults to
`{targetSourceDir}/build/{configuration}`. This resolves to the same path as
before, unless `--build` is pointed outside of the source directory.
- The artifact is named after the target's `OUTPUT_NAME` rather than the CMake
target name. These are the same unless `OUTPUT_NAME` is set explicitly, which is
how a project can give its targets the unique names CMake requires without
affecting the name of the addon.

Also adds `--concurrency`, limiting how many build tasks run at once. It defaults
to the available parallelism, or to 1 when `--verbose` is enabled, since
interleaved output from concurrent builds is hard to read.

- 3235633: Let a consumer override the Android `ANDROID_STL` CMake cache variable via
the existing `-D`/`--define` option (e.g. `--define ANDROID_STL=c++_static`).
It still defaults to `c++_shared`, matching what React Native itself uses,
but an addon that must match a prebuilt third-party dependency's STL, or one
that's genuinely self-contained, can now ask for a different value.

This also fixes an ordering bug where a `--define` targeting any of the
Android platform's own default CMake variables (including `ANDROID_STL`) was
silently discarded: our hardcoded defaults were appended to the CMake
command line _after_ the user-provided `-D` arguments, and CMake resolves a
cache variable set multiple times via `-D` to its last occurrence.

- 4dbd9b3: Add a `--code-signing-allowed` flag to `cmake-rn`. `CODE_SIGNING_ALLOWED=NO` remains the default (needed for the free-standing dynamic libraries we produce), but a consumer who needs signed binaries in the XCFramework can now pass `--code-signing-allowed` to opt in.

### Patch Changes

- Updated dependencies [7962f09]
- Updated dependencies [1d0e670]
- react-native-node-api@1.1.3
- weak-node-api@0.1.1

## 0.7.2

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/cmake-rn/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "cmake-rn",
"version": "0.7.2",
"version": "0.8.0",
"description": "Build React Native Node API modules with CMake",
"homepage": "https://github.com/callstackincubator/react-native-node-api",
"repository": {
Expand Down
10 changes: 10 additions & 0 deletions packages/ferric/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# ferric-cli

## 0.4.3

### Patch Changes

- 8a81b9b: Add `--dts-only` flag to `ferric build`, generating just the TypeScript declaration file and JS entrypoint without cross-compiling any Android/Apple binaries. It still runs a real host `cargo build` (napi-rs has no lighter typegen-only mode), so it's meant for regenerating a checked-in declarations fixture rather than for environments without a Rust toolchain.
- Updated dependencies [7962f09]
- Updated dependencies [1d0e670]
- react-native-node-api@1.1.3
- weak-node-api@0.1.1

## 0.4.2

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/ferric/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ferric-cli",
"version": "0.4.2",
"version": "0.4.3",
"description": "Rust Node-API Modules for React Native",
"homepage": "https://github.com/callstackincubator/react-native-node-api",
"repository": {
Expand Down
11 changes: 11 additions & 0 deletions packages/gyp-to-cmake/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# gyp-to-cmake

## 0.6.0

### Minor Changes

- c17619d: Add --namespaced-targets to allow a root project to add many sub-projects.

CMake requires target names to be unique across a project tree, so sub-projects
that each declare an `addon` target cannot be added to a single root project. This
prefixes the target name with the project name, while setting `OUTPUT_NAME` so the
artifact keeps the name a `require` resolves against.

## 0.5.5

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/gyp-to-cmake/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "gyp-to-cmake",
"version": "0.5.5",
"version": "0.6.0",
"description": "Convert binding.gyp files to CMakeLists.txt",
"homepage": "https://github.com/callstackincubator/react-native-node-api",
"repository": {
Expand Down
17 changes: 17 additions & 0 deletions packages/host/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# react-native-node-api

## 1.1.3

### Patch Changes

- 7962f09: Stop emitting `log_debug`'s per-addon diagnostic chatter (library
found/loaded, symbol resolution, ...) in release builds. It is now compiled
out in `NDEBUG` builds (CMake's `Release`/`MinSizeRel`/`RelWithDebInfo`
configurations, and Xcode's default `Release` configuration), mirroring React
Native's own dev/release logging split. `log_warning` and `log_error` are
unaffected and keep firing in every build type.
- 1d0e670: Make `vendor-hermes --silent` actually silent. The spinners were passed
`isEnabled: false`, which stops the animation but still writes the spinner text
and its final symbol to stderr. They now use `isSilent`, which suppresses the
output entirely, leaving the vendored Hermes path on stdout as the command's
only output.
- weak-node-api@0.1.1

## 1.1.2

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/host/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "react-native-node-api",
"version": "1.1.2",
"version": "1.1.3",
"description": "Node-API for React Native",
"homepage": "https://github.com/callstackincubator/react-native-node-api",
"repository": {
Expand Down
Loading