@rock-js/plugin-brownfield-ios 0.11.14 → 0.12.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.
@@ -1,4 +1,5 @@
1
- export declare function copyHermesXcframework({ sourceDir, destinationDir, }: {
1
+ export declare function copyHermesXcframework({ sourceDir, destinationDir, reactNativeVersion, }: {
2
2
  sourceDir: string;
3
3
  destinationDir: string;
4
+ reactNativeVersion: string;
4
5
  }): void;
@@ -1,15 +1,18 @@
1
1
  import fs, { existsSync } from 'node:fs';
2
2
  import path from 'node:path';
3
- import { color, logger, spinner } from '@rock-js/tools';
4
- export function copyHermesXcframework({ sourceDir, destinationDir, }) {
3
+ import { color, logger, spinner, versionCompare } from '@rock-js/tools';
4
+ export function copyHermesXcframework({ sourceDir, destinationDir, reactNativeVersion, }) {
5
5
  const loader = spinner();
6
- loader.start(`Copying ${color.bold('hermes.xcframework')}`);
7
- const hermesDestination = path.join(destinationDir, 'hermes.xcframework');
6
+ const hermesFrameworkName = versionCompare(reactNativeVersion, '0.82.0') >= 0
7
+ ? 'hermesvm.xcframework'
8
+ : 'hermes.xcframework';
9
+ loader.start(`Copying ${color.bold(hermesFrameworkName)}`);
10
+ const hermesDestination = path.join(destinationDir, hermesFrameworkName);
8
11
  if (existsSync(hermesDestination)) {
9
12
  logger.debug(`Removing old hermes copy`);
10
13
  fs.rmSync(hermesDestination, { recursive: true, force: true });
11
14
  }
12
- fs.cpSync(path.join(sourceDir, 'Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework'), hermesDestination, { recursive: true, force: true });
13
- loader.stop(`Copied ${color.bold('hermes.xcframework')}`);
15
+ fs.cpSync(path.join(sourceDir, `Pods/hermes-engine/destroot/Library/Frameworks/universal/${hermesFrameworkName}`), hermesDestination, { recursive: true, force: true });
16
+ loader.stop(`Copied ${color.bold(hermesFrameworkName)}`);
14
17
  }
15
18
  //# sourceMappingURL=copyHermesXcframework.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copyHermesXcframework.js","sourceRoot":"","sources":["../../../src/lib/copyHermesXcframework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,qBAAqB,CAAC,EACpC,SAAS,EACT,cAAc,GAIf;IACC,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;IAEzB,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;IAE1E,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzC,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,EAAE,CAAC,MAAM,CACP,IAAI,CAAC,IAAI,CACP,SAAS,EACT,6EAA6E,CAC9E,EACD,iBAAiB,EACjB,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CACjC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"copyHermesXcframework.js","sourceRoot":"","sources":["../../../src/lib/copyHermesXcframework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,UAAU,qBAAqB,CAAC,EACpC,SAAS,EACT,cAAc,EACd,kBAAkB,GAKnB;IACC,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;IACzB,MAAM,mBAAmB,GACvB,cAAc,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC/C,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,oBAAoB,CAAC;IAE3B,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAEzE,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzC,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,EAAE,CAAC,MAAM,CACP,IAAI,CAAC,IAAI,CACP,SAAS,EACT,4DAA4D,mBAAmB,EAAE,CAClF,EACD,iBAAiB,EACjB,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CACjC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC"}
@@ -56,6 +56,7 @@ export const pluginBrownfieldIos = (pluginConfig) => (api) => {
56
56
  copyHermesXcframework({
57
57
  sourceDir,
58
58
  destinationDir: frameworkTargetOutputDir,
59
+ reactNativeVersion: api.getReactNativeVersion(),
59
60
  });
60
61
  // 5) Inform the user
61
62
  logger.log(`XCFrameworks are available at: ${colorLink(relativeToCwd(frameworkTargetOutputDir))}`);
@@ -1 +1 @@
1
- {"version":3,"file":"pluginBrownfieldIos.js","sourceRoot":"","sources":["../../../src/lib/pluginBrownfieldIos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginBrownfieldIos.js","sourceRoot":"","sources":["../../../src/lib/pluginBrownfieldIos.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rock-js/plugin-brownfield-ios",
3
- "version": "0.11.14",
3
+ "version": "0.12.0",
4
4
  "description": "Plugin for integrating Rock projects with existing iOS apps",
5
5
  "type": "module",
6
6
  "types": "./dist/src/index.d.ts",
@@ -22,12 +22,12 @@
22
22
  "dependencies": {
23
23
  "@react-native-community/cli-config-apple": "^20.0.0",
24
24
  "@react-native-community/cli-types": "^20.0.0",
25
- "@rock-js/tools": "^0.11.14",
26
- "@rock-js/platform-apple-helpers": "^0.11.14",
25
+ "@rock-js/tools": "^0.12.0",
26
+ "@rock-js/platform-apple-helpers": "^0.12.0",
27
27
  "tslib": "^2.3.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@rock-js/config": "^0.11.14"
30
+ "@rock-js/config": "^0.12.0"
31
31
  },
32
32
  "publishConfig": {
33
33
  "access": "public"
@@ -1,18 +1,24 @@
1
1
  import fs, { existsSync } from 'node:fs';
2
2
  import path from 'node:path';
3
- import { color, logger, spinner } from '@rock-js/tools';
3
+ import { color, logger, spinner, versionCompare } from '@rock-js/tools';
4
4
 
5
5
  export function copyHermesXcframework({
6
6
  sourceDir,
7
7
  destinationDir,
8
+ reactNativeVersion,
8
9
  }: {
9
10
  sourceDir: string;
10
11
  destinationDir: string;
12
+ reactNativeVersion: string;
11
13
  }) {
12
14
  const loader = spinner();
15
+ const hermesFrameworkName =
16
+ versionCompare(reactNativeVersion, '0.82.0') >= 0
17
+ ? 'hermesvm.xcframework'
18
+ : 'hermes.xcframework';
13
19
 
14
- loader.start(`Copying ${color.bold('hermes.xcframework')}`);
15
- const hermesDestination = path.join(destinationDir, 'hermes.xcframework');
20
+ loader.start(`Copying ${color.bold(hermesFrameworkName)}`);
21
+ const hermesDestination = path.join(destinationDir, hermesFrameworkName);
16
22
 
17
23
  if (existsSync(hermesDestination)) {
18
24
  logger.debug(`Removing old hermes copy`);
@@ -22,11 +28,11 @@ export function copyHermesXcframework({
22
28
  fs.cpSync(
23
29
  path.join(
24
30
  sourceDir,
25
- 'Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework',
31
+ `Pods/hermes-engine/destroot/Library/Frameworks/universal/${hermesFrameworkName}`,
26
32
  ),
27
33
  hermesDestination,
28
34
  { recursive: true, force: true },
29
35
  );
30
36
 
31
- loader.stop(`Copied ${color.bold('hermes.xcframework')}`);
37
+ loader.stop(`Copied ${color.bold(hermesFrameworkName)}`);
32
38
  }
@@ -105,6 +105,7 @@ export const pluginBrownfieldIos =
105
105
  copyHermesXcframework({
106
106
  sourceDir,
107
107
  destinationDir: frameworkTargetOutputDir,
108
+ reactNativeVersion: api.getReactNativeVersion(),
108
109
  });
109
110
 
110
111
  // 5) Inform the user
@@ -28,7 +28,6 @@ target 'HelloWorld' do
28
28
  end
29
29
 
30
30
  post_install do |installer|
31
- # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
32
31
  react_native_post_install(
33
32
  installer,
34
33
  config[:reactNativePath],
@@ -7,6 +7,6 @@
7
7
  "@callstack/react-native-brownfield": "^2.0.0"
8
8
  },
9
9
  "devDependencies": {
10
- "@rock-js/plugin-brownfield-ios": "^0.11.14"
10
+ "@rock-js/plugin-brownfield-ios": "^0.12.0"
11
11
  }
12
12
  }