@rnpack/utils 0.1.12 → 0.1.13

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.
Files changed (111) hide show
  1. package/README.md +5 -0
  2. package/android/CMakeLists.txt +3 -3
  3. package/android/build.gradle +2 -2
  4. package/android/src/main/cpp/cpp-adapter.cpp +2 -2
  5. package/android/src/main/java/com/margelo/nitro/{rnpack/utils → rnpackutils}/RNPackUtils.kt +1 -1
  6. package/android/src/main/java/com/margelo/nitro/{rnpack/utils → rnpackutils}/RNPackUtilsPackage.kt +2 -2
  7. package/lib/module/index.js +2 -2
  8. package/lib/module/index.js.map +1 -1
  9. package/nitro.json +5 -5
  10. package/nitrogen/generated/android/c++/JHybridRNPackUtilsSpec.cpp +2 -2
  11. package/nitrogen/generated/android/c++/JHybridRNPackUtilsSpec.hpp +3 -3
  12. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{rnpack/utils → rnpackutils}/HybridRNPackUtilsSpec.kt +1 -1
  13. package/nitrogen/generated/android/kotlin/com/margelo/nitro/{rnpack/utils/RNPackUtilsOnLoad.kt → rnpackutils/rnpackutilsOnLoad.kt} +9 -9
  14. package/nitrogen/generated/android/{RNPackUtils+autolinking.cmake → rnpackutils+autolinking.cmake} +8 -8
  15. package/nitrogen/generated/android/{RNPackUtils+autolinking.gradle → rnpackutils+autolinking.gradle} +3 -3
  16. package/nitrogen/generated/android/{RNPackUtilsOnLoad.cpp → rnpackutilsOnLoad.cpp} +8 -8
  17. package/nitrogen/generated/android/{RNPackUtilsOnLoad.hpp → rnpackutilsOnLoad.hpp} +5 -5
  18. package/nitrogen/generated/ios/RNPackUtils-Swift-Cxx-Bridge.cpp +4 -4
  19. package/nitrogen/generated/ios/RNPackUtils-Swift-Cxx-Bridge.hpp +3 -3
  20. package/nitrogen/generated/ios/RNPackUtils-Swift-Cxx-Umbrella.hpp +1 -1
  21. package/nitrogen/generated/ios/RNPackUtilsAutolinking.mm +1 -1
  22. package/nitrogen/generated/ios/RNPackUtilsAutolinking.swift +1 -1
  23. package/nitrogen/generated/ios/c++/HybridRNPackUtilsSpecSwift.cpp +2 -2
  24. package/nitrogen/generated/ios/c++/HybridRNPackUtilsSpecSwift.hpp +2 -2
  25. package/nitrogen/generated/ios/swift/HybridRNPackUtilsSpec_cxx.swift +2 -2
  26. package/nitrogen/generated/shared/c++/HybridRNPackUtilsSpec.cpp +2 -2
  27. package/nitrogen/generated/shared/c++/HybridRNPackUtilsSpec.hpp +2 -2
  28. package/package.json +44 -22
  29. package/src/index.tsx +2 -2
  30. package/__mocks__/jestSetupFile.js +0 -0
  31. package/__mocks__/rnpack-utils-mock.js +0 -17
  32. package/example/node_modules/react-native/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +0 -34
  33. package/example/node_modules/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec +0 -88
  34. package/example/node_modules/react-native/Libraries/Blob/React-RCTBlob.podspec +0 -59
  35. package/example/node_modules/react-native/Libraries/FBLazyVector/FBLazyVector.podspec +0 -31
  36. package/example/node_modules/react-native/Libraries/Image/React-RCTImage.podspec +0 -57
  37. package/example/node_modules/react-native/Libraries/LinkingIOS/React-RCTLinking.podspec +0 -51
  38. package/example/node_modules/react-native/Libraries/NativeAnimation/React-RCTAnimation.podspec +0 -54
  39. package/example/node_modules/react-native/Libraries/Network/React-RCTNetwork.podspec +0 -56
  40. package/example/node_modules/react-native/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +0 -53
  41. package/example/node_modules/react-native/Libraries/Required/RCTRequired.podspec +0 -30
  42. package/example/node_modules/react-native/Libraries/Settings/React-RCTSettings.podspec +0 -53
  43. package/example/node_modules/react-native/Libraries/Text/React-RCTText.podspec +0 -37
  44. package/example/node_modules/react-native/Libraries/TypeSafety/RCTTypeSafety.podspec +0 -39
  45. package/example/node_modules/react-native/Libraries/Vibration/React-RCTVibration.podspec +0 -53
  46. package/example/node_modules/react-native/React/CoreModules/React-CoreModules.podspec +0 -67
  47. package/example/node_modules/react-native/React/React-RCTFBReactNativeSpec.podspec +0 -95
  48. package/example/node_modules/react-native/React/React-RCTFabric.podspec +0 -107
  49. package/example/node_modules/react-native/React/Runtime/React-RCTRuntime.podspec +0 -70
  50. package/example/node_modules/react-native/React-Core-prebuilt.podspec +0 -78
  51. package/example/node_modules/react-native/React-Core.podspec +0 -137
  52. package/example/node_modules/react-native/React.podspec +0 -56
  53. package/example/node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +0 -25
  54. package/example/node_modules/react-native/ReactCommon/React-Fabric.podspec +0 -207
  55. package/example/node_modules/react-native/ReactCommon/React-FabricComponents.podspec +0 -170
  56. package/example/node_modules/react-native/ReactCommon/React-FabricImage.podspec +0 -79
  57. package/example/node_modules/react-native/ReactCommon/React-Mapbuffer.podspec +0 -40
  58. package/example/node_modules/react-native/ReactCommon/ReactCommon.podspec +0 -72
  59. package/example/node_modules/react-native/ReactCommon/callinvoker/React-callinvoker.podspec +0 -30
  60. package/example/node_modules/react-native/ReactCommon/cxxreact/React-cxxreact.podspec +0 -56
  61. package/example/node_modules/react-native/ReactCommon/hermes/React-hermes.podspec +0 -52
  62. package/example/node_modules/react-native/ReactCommon/hermes/executor/React-jsitracing.podspec +0 -38
  63. package/example/node_modules/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +0 -52
  64. package/example/node_modules/react-native/ReactCommon/jsi/React-jsi.podspec +0 -50
  65. package/example/node_modules/react-native/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +0 -45
  66. package/example/node_modules/react-native/ReactCommon/jsinspector-modern/React-jsinspector.podspec +0 -63
  67. package/example/node_modules/react-native/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +0 -48
  68. package/example/node_modules/react-native/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +0 -53
  69. package/example/node_modules/react-native/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +0 -51
  70. package/example/node_modules/react-native/ReactCommon/jsitooling/React-jsitooling.podspec +0 -47
  71. package/example/node_modules/react-native/ReactCommon/logger/React-logger.podspec +0 -34
  72. package/example/node_modules/react-native/ReactCommon/oscompat/React-oscompat.podspec +0 -31
  73. package/example/node_modules/react-native/ReactCommon/react/debug/React-debug.podspec +0 -34
  74. package/example/node_modules/react-native/ReactCommon/react/featureflags/React-featureflags.podspec +0 -44
  75. package/example/node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +0 -54
  76. package/example/node_modules/react-native/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +0 -54
  77. package/example/node_modules/react-native/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +0 -60
  78. package/example/node_modules/react-native/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +0 -53
  79. package/example/node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +0 -55
  80. package/example/node_modules/react-native/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +0 -52
  81. package/example/node_modules/react-native/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +0 -63
  82. package/example/node_modules/react-native/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +0 -50
  83. package/example/node_modules/react-native/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +0 -43
  84. package/example/node_modules/react-native/ReactCommon/react/renderer/css/React-renderercss.podspec +0 -47
  85. package/example/node_modules/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +0 -48
  86. package/example/node_modules/react-native/ReactCommon/react/renderer/graphics/React-graphics.podspec +0 -55
  87. package/example/node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +0 -56
  88. package/example/node_modules/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +0 -59
  89. package/example/node_modules/react-native/ReactCommon/react/runtime/React-RuntimeCore.podspec +0 -56
  90. package/example/node_modules/react-native/ReactCommon/react/runtime/React-RuntimeHermes.podspec +0 -53
  91. package/example/node_modules/react-native/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +0 -72
  92. package/example/node_modules/react-native/ReactCommon/react/timing/React-timing.podspec +0 -43
  93. package/example/node_modules/react-native/ReactCommon/react/utils/React-utils.podspec +0 -55
  94. package/example/node_modules/react-native/ReactCommon/reactperflogger/React-perflogger.podspec +0 -42
  95. package/example/node_modules/react-native/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +0 -56
  96. package/example/node_modules/react-native/ReactCommon/yoga/Yoga.podspec +0 -66
  97. package/example/node_modules/react-native/react-native.config.js +0 -139
  98. package/example/node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec +0 -165
  99. package/example/node_modules/react-native/third-party-podspecs/DoubleConversion.podspec +0 -34
  100. package/example/node_modules/react-native/third-party-podspecs/RCT-Folly.podspec +0 -132
  101. package/example/node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec +0 -99
  102. package/example/node_modules/react-native/third-party-podspecs/boost.podspec +0 -34
  103. package/example/node_modules/react-native/third-party-podspecs/fast_float.podspec +0 -29
  104. package/example/node_modules/react-native/third-party-podspecs/fmt.podspec +0 -29
  105. package/example/node_modules/react-native/third-party-podspecs/glog.podspec +0 -47
  106. package/example/node_modules/react-native-nitro-modules/NitroModules.podspec +0 -90
  107. package/example/node_modules/react-native-nitro-modules/react-native.config.js +0 -16
  108. package/example/react-native.config.js +0 -21
  109. package/lib/typescript/__tests__/utils/string.test.d.ts +0 -2
  110. package/lib/typescript/__tests__/utils/string.test.d.ts.map +0 -1
  111. /package/{Utils.podspec → RNPackUtils.podspec} +0 -0
@@ -1,55 +0,0 @@
1
- # Copyright (c) Meta Platforms, Inc. and affiliates.
2
- #
3
- # This source code is licensed under the MIT license found in the
4
- # LICENSE file in the root directory of this source tree.
5
-
6
- require "json"
7
-
8
- package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
9
- version = package['version']
10
-
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
12
- if version == '1000.0.0'
13
- # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
- source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
15
- else
16
- source[:tag] = "v#{version}"
17
- end
18
-
19
- Pod::Spec.new do |s|
20
- source_files = ["*.{m,mm,cpp,h}", "platform/ios/**/*.{m,mm,cpp,h}"]
21
- header_search_paths = [
22
- "\"$(PODS_TARGET_SRCROOT)/../../\"",
23
- ]
24
-
25
- s.name = "React-utils"
26
- s.version = version
27
- s.summary = "-" # TODO
28
- s.homepage = "https://reactnative.dev/"
29
- s.license = package["license"]
30
- s.author = "Meta Platforms, Inc. and its affiliates"
31
- s.platforms = min_supported_versions
32
- s.source = source
33
- s.source_files = podspec_sources(source_files, ["*.h", "platform/ios/**/*.h"])
34
- s.header_dir = "react/utils"
35
- s.exclude_files = "tests"
36
-
37
- if ENV['USE_FRAMEWORKS']
38
- header_search_paths = header_search_paths + ["\"$(PODS_TARGET_SRCROOT)/platform/ios\""]
39
- end
40
-
41
- resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: "React_utils")
42
-
43
- s.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
44
- "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
45
- "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
46
- "DEFINES_MODULE" => "YES" }
47
-
48
- s.dependency "React-jsi", version
49
-
50
- depend_on_js_engine(s)
51
- add_rn_third_party_dependencies(s)
52
- add_rncore_dependency(s)
53
-
54
- add_dependency(s, "React-debug")
55
- end
@@ -1,42 +0,0 @@
1
- # Copyright (c) Meta Platforms, Inc. and affiliates.
2
- #
3
- # This source code is licensed under the MIT license found in the
4
- # LICENSE file in the root directory of this source tree.
5
-
6
- require "json"
7
-
8
- package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
- version = package['version']
10
-
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
12
- if version == '1000.0.0'
13
- # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
- source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
15
- else
16
- source[:tag] = "v#{version}"
17
- end
18
-
19
- header_search_paths = [
20
- "\"$(PODS_TARGET_SRCROOT)/..\""
21
- ]
22
-
23
- Pod::Spec.new do |s|
24
- s.name = "React-perflogger"
25
- s.version = version
26
- s.summary = "-" # TODO
27
- s.homepage = "https://reactnative.dev/"
28
- s.license = package["license"]
29
- s.author = "Meta Platforms, Inc. and its affiliates"
30
- s.platforms = min_supported_versions
31
- s.source = source
32
- s.source_files = podspec_sources(["reactperflogger/*.{cpp,h}", "fusebox/*.{cpp,h}"], ["reactperflogger/*.h", "fusebox/*.h"])
33
- s.header_dir = "reactperflogger"
34
- s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() }
35
- s.pod_target_xcconfig = {
36
- "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
37
- "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
38
- }
39
-
40
- add_rn_third_party_dependencies(s)
41
- add_rncore_dependency(s)
42
- end
@@ -1,56 +0,0 @@
1
- # Copyright (c) Meta Platforms, Inc. and affiliates.
2
- #
3
- # This source code is licensed under the MIT license found in the
4
- # LICENSE file in the root directory of this source tree.
5
-
6
- require "json"
7
-
8
- package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
- version = package['version']
10
-
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
12
- if version == '1000.0.0'
13
- # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
- source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
15
- else
16
- source[:tag] = "v#{version}"
17
- end
18
-
19
- Pod::Spec.new do |s|
20
- header_search_paths = [
21
- "\"$(PODS_TARGET_SRCROOT)\"",
22
- ]
23
-
24
- s.name = "React-runtimeexecutor"
25
- s.module_name = "React_runtimeexecutor"
26
- s.version = version
27
- s.summary = "-" # TODO
28
- s.homepage = "https://reactnative.dev/"
29
- s.license = package["license"]
30
- s.author = "Meta Platforms, Inc. and its affiliates"
31
- s.platforms = min_supported_versions
32
- s.source = source
33
- s.source_files = podspec_sources(["ReactCommon/*.{m,mm,cpp,h}", "platform/ios/**/*.{m,mm,cpp,h}"], ["ReactCommon/*.h", "platform/ios/**/*.h"])
34
- s.header_dir = "ReactCommon"
35
-
36
- if ENV['USE_FRAMEWORKS']
37
- header_search_paths = header_search_paths + ["\"$(PODS_TARGET_SRCROOT)/platform/ios\""]
38
- end
39
-
40
- resolve_use_frameworks(s, header_mappings_dir: ".")
41
-
42
- s.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
43
- "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
44
- "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
45
- "DEFINES_MODULE" => "YES" }
46
-
47
- add_rn_third_party_dependencies(s)
48
- add_rncore_dependency(s)
49
-
50
- s.dependency "React-jsi", version
51
- add_dependency(s, "React-featureflags")
52
- add_dependency(s, "React-debug")
53
- add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
54
-
55
-
56
- end
@@ -1,66 +0,0 @@
1
- # Copyright (c) Meta Platforms, Inc. and affiliates.
2
- #
3
- # This source code is licensed under the MIT license found in the
4
- # LICENSE file in the root directory of this source tree.
5
-
6
- package = JSON.parse(File.read(File.expand_path('../../package.json', __dir__)))
7
- version = package['version']
8
-
9
- source = { :git => ENV['INSTALL_YOGA_FROM_LOCATION'] || 'https://github.com/facebook/react-native.git' }
10
- if version == '1000.0.0'
11
- # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
12
- source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
13
- else
14
- source[:tag] = "v#{version}"
15
- end
16
-
17
- Pod::Spec.new do |spec|
18
- spec.name = 'Yoga'
19
- spec.version = '0.0.0'
20
- spec.license = { :type => 'MIT' }
21
- spec.homepage = 'https://yogalayout.dev'
22
- spec.documentation_url = 'https://yogalayout.dev/docs/'
23
-
24
- spec.summary = 'Yoga is a cross-platform layout engine which implements Flexbox.'
25
- spec.description = 'Yoga is a cross-platform layout engine enabling maximum collaboration within your team by implementing an API many designers are familiar with, and opening it up to developers across different platforms.'
26
-
27
- spec.authors = 'Facebook'
28
- spec.source = source
29
-
30
- spec.module_name = 'yoga'
31
- spec.header_dir = 'yoga'
32
- spec.requires_arc = false
33
- spec.pod_target_xcconfig = {
34
- 'DEFINES_MODULE' => 'YES'
35
- }.merge!(ENV['USE_FRAMEWORKS'] != nil ? {
36
- 'HEADER_SEARCH_PATHS' => '"$(PODS_TARGET_SRCROOT)"'
37
- } : {})
38
- spec.compiler_flags = [
39
- '-fno-omit-frame-pointer',
40
- '-fexceptions',
41
- '-Wall',
42
- '-Werror',
43
- '-std=c++20',
44
- '-fPIC'
45
- ]
46
-
47
- # Pinning to the same version as React.podspec.
48
- spec.platforms = min_supported_versions
49
-
50
- # Set this environment variable when *not* using the `:path` option to install the pod.
51
- # E.g. when publishing this spec to a spec repo.
52
- source_files = 'yoga/**/*.{cpp,h}'
53
- source_files = File.join('ReactCommon/yoga', source_files) if ENV['INSTALL_YOGA_WITHOUT_PATH_OPTION']
54
- spec.source_files = podspec_sources(source_files, "yoga/**/*.h")
55
- spec.header_mappings_dir = 'yoga'
56
-
57
- public_header_files = 'yoga/*.h'
58
- public_header_files = File.join('ReactCommon/yoga', public_header_files) if ENV['INSTALL_YOGA_WITHOUT_PATH_OPTION']
59
- spec.public_header_files = public_header_files
60
-
61
- # Fabric must be able to access private headers (which should not be included in the umbrella header)
62
- all_header_files = 'yoga/**/*.h'
63
- all_header_files = File.join('ReactCommon/yoga', all_header_files) if ENV['INSTALL_YOGA_WITHOUT_PATH_OPTION']
64
- spec.private_header_files = Dir.glob(all_header_files) - Dir.glob(public_header_files)
65
- spec.preserve_paths = [all_header_files]
66
- end
@@ -1,139 +0,0 @@
1
- /**
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @flow strict-local
8
- * @format
9
- */
10
-
11
- 'use strict';
12
-
13
- /*::
14
- import type {Command} from '@react-native-community/cli-types';
15
- */
16
-
17
- // React Native shouldn't be exporting itself like this, the Community Template should be be directly
18
- // depending on and injecting:
19
- // - @react-native-community/cli-platform-android
20
- // - @react-native-community/cli-platform-ios
21
- // - @react-native/community-cli-plugin (via the @react-native/core-cli-utils package)
22
- // - codegen command should be inhoused into @react-native-community/cli
23
- //
24
- // This is a temporary workaround.
25
-
26
- const verbose = Boolean(process.env.DEBUG?.includes('react-native'));
27
-
28
- function findCommunityPlatformPackage(
29
- spec /*: string */,
30
- startDir /*: string */ = process.cwd(),
31
- ) {
32
- // In monorepos, we cannot make any assumptions on where
33
- // `@react-native-community/*` gets installed. The safest way to find it
34
- // (barring adding an optional peer dependency) is to start from the project
35
- // root.
36
- //
37
- // Note that we're assuming that the current working directory is the project
38
- // root. This is also what `@react-native-community/cli` assumes (see
39
- // https://github.com/react-native-community/cli/blob/14.x/packages/cli-tools/src/findProjectRoot.ts).
40
- const main = require.resolve(spec, {paths: [startDir]});
41
- // $FlowIgnore[unsupported-syntax]
42
- return require(main);
43
- }
44
-
45
- let android;
46
- try {
47
- android = findCommunityPlatformPackage(
48
- '@react-native-community/cli-platform-android',
49
- );
50
- } catch {
51
- if (verbose) {
52
- console.warn(
53
- '@react-native-community/cli-platform-android not found, the react-native.config.js may be unusable.',
54
- );
55
- }
56
- }
57
-
58
- let ios;
59
- try {
60
- ios = findCommunityPlatformPackage(
61
- '@react-native-community/cli-platform-ios',
62
- );
63
- } catch {
64
- if (verbose) {
65
- console.warn(
66
- '@react-native-community/cli-platform-ios not found, the react-native.config.js may be unusable.',
67
- );
68
- }
69
- }
70
-
71
- const commands /*: Array<Command> */ = [];
72
-
73
- const {
74
- bundleCommand,
75
- startCommand,
76
- } = require('@react-native/community-cli-plugin');
77
-
78
- commands.push(bundleCommand, startCommand);
79
-
80
- const codegenCommand /*: Command */ = {
81
- name: 'codegen',
82
- options: [
83
- {
84
- name: '--path <path>',
85
- description: 'Path to the React Native project root.',
86
- default: process.cwd(),
87
- },
88
- {
89
- name: '--platform <string>',
90
- description:
91
- 'Target platform. Supported values: "android", "ios", "all".',
92
- default: 'all',
93
- },
94
- {
95
- name: '--outputPath <path>',
96
- description: 'Path where generated artifacts will be output to.',
97
- },
98
- {
99
- name: '--source <string>',
100
- description: 'Whether the script is invoked from an `app` or a `library`',
101
- default: 'app',
102
- },
103
- ],
104
- func: (argv, config, args) =>
105
- require('./scripts/codegen/generate-artifacts-executor').execute(
106
- args.path,
107
- args.platform,
108
- args.outputPath,
109
- args.source,
110
- ),
111
- };
112
-
113
- commands.push(codegenCommand);
114
-
115
- const config = {
116
- commands,
117
- platforms: {} /*:: as {[string]: $ReadOnly<{
118
- projectConfig: mixed,
119
- dependencyConfig: mixed,
120
- }>} */,
121
- };
122
-
123
- if (ios != null) {
124
- config.commands.push(...ios.commands);
125
- config.platforms.ios = {
126
- projectConfig: ios.projectConfig,
127
- dependencyConfig: ios.dependencyConfig,
128
- };
129
- }
130
-
131
- if (android != null) {
132
- config.commands.push(...android.commands);
133
- config.platforms.android = {
134
- projectConfig: android.projectConfig,
135
- dependencyConfig: android.dependencyConfig,
136
- };
137
- }
138
-
139
- module.exports = config;
@@ -1,165 +0,0 @@
1
- # Copyright (c) Meta Platforms, Inc. and affiliates.
2
- #
3
- # This source code is licensed under the MIT license found in the
4
- # LICENSE file in the root directory of this source tree.
5
-
6
- require "json"
7
- require_relative "./hermes-utils.rb"
8
-
9
- begin
10
- react_native_path = File.dirname(Pod::Executable.execute_command('node', ['-p',
11
- 'require.resolve(
12
- "react-native",
13
- {paths: [process.argv[1]]},
14
- )', __dir__]).strip
15
- )
16
- rescue => e
17
- # Fallback to the parent directory if the above command fails (e.g when building locally in OOT Platform)
18
- react_native_path = File.join(__dir__, "..", "..")
19
- end
20
-
21
- # package.json
22
- package = JSON.parse(File.read(File.join(react_native_path, "package.json")))
23
- version = package['version']
24
-
25
- source_type = hermes_source_type(version, react_native_path)
26
- source = podspec_source(source_type, version, react_native_path)
27
-
28
- Pod::Spec.new do |spec|
29
- spec.name = "hermes-engine"
30
- spec.version = version
31
- spec.summary = "Hermes is a small and lightweight JavaScript engine optimized for running React Native."
32
- spec.description = "Hermes is a JavaScript engine optimized for fast start-up of React Native apps. It features ahead-of-time static optimization and compact bytecode."
33
- spec.homepage = "https://hermesengine.dev"
34
- spec.license = package['license']
35
- spec.author = "Facebook"
36
- spec.source = source
37
- spec.platforms = { :osx => "10.13", :ios => "15.1", :visionos => "1.0", :tvos => "15.1" }
38
-
39
- spec.preserve_paths = '**/*.*'
40
- spec.source_files = ''
41
-
42
- spec.pod_target_xcconfig = {
43
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
44
- "CLANG_CXX_LIBRARY" => "compiler-default",
45
- "GCC_WARN_INHIBIT_ALL_WARNINGS" => "YES" # Disable warnings because we don't control this library
46
- }
47
-
48
- spec.ios.vendored_frameworks = "destroot/Library/Frameworks/ios/hermes.framework"
49
- spec.tvos.vendored_frameworks = "destroot/Library/Frameworks/tvos/hermes.framework"
50
- spec.osx.vendored_frameworks = "destroot/Library/Frameworks/macosx/hermes.framework"
51
- spec.visionos.vendored_frameworks = "destroot/Library/Frameworks/xros/hermes.framework"
52
-
53
- if HermesEngineSourceType::isPrebuilt(source_type) then
54
-
55
- spec.subspec 'Pre-built' do |ss|
56
- ss.preserve_paths = ["destroot/bin/*"].concat(["**/*.{h,c,cpp}"])
57
- ss.source_files = "destroot/include/hermes/**/*.h"
58
- ss.header_mappings_dir = "destroot/include"
59
- ss.ios.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
60
- ss.visionos.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
61
- ss.tvos.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
62
- ss.osx.vendored_frameworks = "destroot/Library/Frameworks/macosx/hermes.framework"
63
- end
64
-
65
-
66
- # Right now, even reinstalling pods with the PRODUCTION flag turned on, does not change the version of hermes that is downloaded
67
- # To remove the PRODUCTION flag, we want to download the right version of hermes on the flight
68
- # we do so in a pre-build script we invoke from the Xcode build pipeline
69
- # We use this only for Apps created using the template. RNTester and Nightlies should not be used to build for Release.
70
- # We ignore this if we provide a specific tarball: the assumption here is that if you are providing a tarball, is because you want to
71
- # test something specific for that tarball.
72
- if source_type == HermesEngineSourceType::DOWNLOAD_PREBUILD_RELEASE_TARBALL
73
- spec.script_phase = {
74
- :name => "[Hermes] Replace Hermes for the right configuration, if needed",
75
- :execution_position => :before_compile,
76
- :script => <<-EOS
77
- . "$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh"
78
-
79
- CONFIG="Release"
80
- if echo $GCC_PREPROCESSOR_DEFINITIONS | grep -q "DEBUG=1"; then
81
- CONFIG="Debug"
82
- fi
83
-
84
- "$NODE_BINARY" "$REACT_NATIVE_PATH/sdks/hermes-engine/utils/replace_hermes_version.js" -c "$CONFIG" -r "#{version}" -p "$PODS_ROOT"
85
- EOS
86
- }
87
- end
88
-
89
- elsif HermesEngineSourceType::isFromSource(source_type) then
90
-
91
- spec.subspec 'Hermes' do |ss|
92
- ss.source_files = ''
93
- ss.public_header_files = 'API/hermes/*.h'
94
- ss.header_dir = 'hermes'
95
- end
96
-
97
- spec.subspec 'cdp' do |ss|
98
- ss.source_files = ''
99
- ss.public_header_files = 'API/hermes/cdp/*.h'
100
- ss.header_dir = 'hermes/cdp'
101
- end
102
-
103
- spec.subspec 'inspector' do |ss|
104
- ss.source_files = ''
105
- ss.public_header_files = 'API/hermes/inspector/*.h'
106
- ss.header_dir = 'hermes/inspector'
107
- end
108
-
109
- spec.subspec 'inspector_chrome' do |ss|
110
- ss.source_files = ''
111
- ss.public_header_files = 'API/hermes/inspector/chrome/*.h'
112
- ss.header_dir = 'hermes/inspector/chrome'
113
- end
114
-
115
- spec.subspec 'Public' do |ss|
116
- ss.source_files = ''
117
- ss.public_header_files = 'public/hermes/Public/*.h'
118
- ss.header_dir = 'hermes/Public'
119
- end
120
-
121
- hermesc_path = "${PODS_ROOT}/hermes-engine/build_host_hermesc"
122
-
123
- if ENV.has_key?('HERMES_OVERRIDE_HERMESC_PATH') && File.exist?(ENV['HERMES_OVERRIDE_HERMESC_PATH']) then
124
- hermesc_path = ENV['HERMES_OVERRIDE_HERMESC_PATH']
125
- end
126
-
127
- spec.user_target_xcconfig = {
128
- 'HERMES_CLI_PATH' => "#{hermesc_path}/bin/hermesc"
129
- }
130
-
131
- spec.prepare_command = ". '#{react_native_path}/sdks/hermes-engine/utils/create-dummy-hermes-xcframework.sh'"
132
-
133
- # This podspec is also run in CI to build Hermes without using Pod install
134
- # and sometimes CI fails because `Pod::Executable` does not exist if it is not run with Pod Install.
135
- if defined?(Pod::Executable.to_s)
136
- CMAKE_BINARY = Pod::Executable::which!('cmake')
137
- # NOTE: Script phases are sorted alphabetically inside Xcode project
138
- spec.script_phases = [
139
- {
140
- :name => '[RN] [1] Build Hermesc',
141
- :output_files => [
142
- "#{hermesc_path}/ImportHermesc.cmake"
143
- ],
144
- :script => <<-EOS
145
- . "${REACT_NATIVE_PATH}/scripts/xcode/with-environment.sh"
146
- export CMAKE_BINARY=${CMAKE_BINARY:-#{CMAKE_BINARY}}
147
- . ${REACT_NATIVE_PATH}/sdks/hermes-engine/utils/build-hermesc-xcode.sh #{hermesc_path} ${REACT_NATIVE_PATH}/ReactCommon/jsi
148
- EOS
149
- },
150
- {
151
- :name => '[RN] [2] Build Hermes',
152
- :input_files => ["#{hermesc_path}/ImportHermesc.cmake"],
153
- :output_files => [
154
- "${PODS_ROOT}/hermes-engine/build/iphonesimulator/API/hermes/hermes.framework/hermes"
155
- ],
156
- :script => <<-EOS
157
- . "${REACT_NATIVE_PATH}/scripts/xcode/with-environment.sh"
158
- export CMAKE_BINARY=${CMAKE_BINARY:-#{CMAKE_BINARY}}
159
- . ${REACT_NATIVE_PATH}/sdks/hermes-engine/utils/build-hermes-xcode.sh #{version} #{hermesc_path}/ImportHermesc.cmake ${REACT_NATIVE_PATH}/ReactCommon/jsi
160
- EOS
161
- }
162
- ]
163
- end
164
- end
165
- end
@@ -1,34 +0,0 @@
1
- # Copyright (c) Meta Platforms, Inc. and affiliates.
2
- #
3
- # This source code is licensed under the MIT license found in the
4
- # LICENSE file in the root directory of this source tree.
5
-
6
- double_conversion_config = get_double_conversion_config()
7
- double_conversion_git_url = double_conversion_config[:git]
8
-
9
- Pod::Spec.new do |spec|
10
- spec.name = 'DoubleConversion'
11
- spec.version = '1.1.6'
12
- spec.license = { :type => 'MIT' }
13
- spec.homepage = 'https://github.com/google/double-conversion'
14
- spec.summary = 'Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles'
15
- spec.authors = 'Google'
16
- spec.prepare_command = 'mv src double-conversion'
17
- spec.source = { :git => double_conversion_git_url,
18
- :tag => "v#{spec.version}" }
19
- spec.module_name = 'DoubleConversion'
20
- spec.header_dir = 'double-conversion'
21
- spec.source_files = 'double-conversion/*.{h,cc}'
22
- spec.compiler_flags = '-Wno-unreachable-code'
23
-
24
- spec.user_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/DoubleConversion\"" }
25
-
26
- spec.pod_target_xcconfig = {
27
- "DEFINES_MODULE" => "YES",
28
- "GCC_WARN_INHIBIT_ALL_WARNINGS" => "YES" # Disable warnings because we don't control this library
29
- }
30
-
31
- # Pinning to the same version as React.podspec.
32
- spec.platforms = min_supported_versions
33
-
34
- end