@callstack/brownfield-cli 3.5.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @callstack/brownfield-cli
2
2
 
3
+ ## 3.6.0
4
+
5
+ ### Patch Changes
6
+
7
+ - [#296](https://github.com/callstack/react-native-brownfield/pull/296) [`5ac357b`](https://github.com/callstack/react-native-brownfield/commit/5ac357bb8802ecf3562d92be191f6681ae94a055) Thanks [@hurali97](https://github.com/hurali97)! - fix duplicate symbols for react-brownfield
8
+
9
+ ## 3.5.1
10
+
3
11
  ## 3.5.0
4
12
 
5
13
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"packageIos.d.ts","sourceRoot":"","sources":["../../../src/brownfield/commands/packageIos.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAGL,YAAY,EACb,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,iBAAiB,SAqI7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,cAG7B,CAAC"}
1
+ {"version":3,"file":"packageIos.d.ts","sourceRoot":"","sources":["../../../src/brownfield/commands/packageIos.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAGL,YAAY,EACb,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,iBAAiB,SAgJ7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,cAG7B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import fs from 'node:fs';
1
2
  import path from 'node:path';
2
3
  import { getBuildOptions, mergeFrameworks, } from '@rock-js/platform-apple-helpers';
3
4
  import { packageIosAction } from '@rock-js/plugin-brownfield-ios';
@@ -53,6 +54,13 @@ export const packageIosCommand = curryOptions(new Command('package:ios').descrip
53
54
  packageDir, // the output directory for artifacts
54
55
  skipCache: true, // cache is dependent on existence of Rock config file
55
56
  }, platformConfig);
57
+ const reactBrownfieldXcframeworkPath = path.join(packageDir, 'ReactBrownfield.xcframework');
58
+ if (fs.existsSync(reactBrownfieldXcframeworkPath)) {
59
+ // Strip the binary from ReactBrownfield.xcframework to make it interface-only.
60
+ // This avoids duplicate symbols when consumer apps embed both BrownfieldLib
61
+ // (which contains ReactBrownfield symbols) and ReactBrownfield.xcframework.
62
+ stripFrameworkBinary(reactBrownfieldXcframeworkPath);
63
+ }
56
64
  if (hasBrownie) {
57
65
  const productsPath = path.join(options.buildFolder, 'Build', 'Products');
58
66
  const brownieOutputPath = path.join(packageDir, 'Brownie.xcframework');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@callstack/brownfield-cli",
3
- "version": "3.5.0",
3
+ "version": "3.6.0",
4
4
  "license": "MIT",
5
5
  "author": "Artur Morys-Magiera <artus9033@gmail.com>",
6
6
  "bin": {
@@ -1,3 +1,4 @@
1
+ import fs from 'node:fs';
1
2
  import path from 'node:path';
2
3
 
3
4
  import {
@@ -95,6 +96,17 @@ export const packageIosCommand = curryOptions(
95
96
  platformConfig
96
97
  );
97
98
 
99
+ const reactBrownfieldXcframeworkPath = path.join(
100
+ packageDir,
101
+ 'ReactBrownfield.xcframework'
102
+ );
103
+ if (fs.existsSync(reactBrownfieldXcframeworkPath)) {
104
+ // Strip the binary from ReactBrownfield.xcframework to make it interface-only.
105
+ // This avoids duplicate symbols when consumer apps embed both BrownfieldLib
106
+ // (which contains ReactBrownfield symbols) and ReactBrownfield.xcframework.
107
+ stripFrameworkBinary(reactBrownfieldXcframeworkPath);
108
+ }
109
+
98
110
  if (hasBrownie) {
99
111
  const productsPath = path.join(options.buildFolder, 'Build', 'Products');
100
112
  const brownieOutputPath = path.join(packageDir, 'Brownie.xcframework');