@rnpack/utils 0.1.9 → 0.1.11

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 (86) hide show
  1. package/example/node_modules/react-native/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +34 -0
  2. package/example/node_modules/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec +88 -0
  3. package/example/node_modules/react-native/Libraries/Blob/React-RCTBlob.podspec +59 -0
  4. package/example/node_modules/react-native/Libraries/FBLazyVector/FBLazyVector.podspec +31 -0
  5. package/example/node_modules/react-native/Libraries/Image/React-RCTImage.podspec +57 -0
  6. package/example/node_modules/react-native/Libraries/LinkingIOS/React-RCTLinking.podspec +51 -0
  7. package/example/node_modules/react-native/Libraries/NativeAnimation/React-RCTAnimation.podspec +54 -0
  8. package/example/node_modules/react-native/Libraries/Network/React-RCTNetwork.podspec +56 -0
  9. package/example/node_modules/react-native/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +53 -0
  10. package/example/node_modules/react-native/Libraries/Required/RCTRequired.podspec +30 -0
  11. package/example/node_modules/react-native/Libraries/Settings/React-RCTSettings.podspec +53 -0
  12. package/example/node_modules/react-native/Libraries/Text/React-RCTText.podspec +37 -0
  13. package/example/node_modules/react-native/Libraries/TypeSafety/RCTTypeSafety.podspec +39 -0
  14. package/example/node_modules/react-native/Libraries/Vibration/React-RCTVibration.podspec +53 -0
  15. package/example/node_modules/react-native/React/CoreModules/React-CoreModules.podspec +67 -0
  16. package/example/node_modules/react-native/React/React-RCTFBReactNativeSpec.podspec +95 -0
  17. package/example/node_modules/react-native/React/React-RCTFabric.podspec +107 -0
  18. package/example/node_modules/react-native/React/Runtime/React-RCTRuntime.podspec +70 -0
  19. package/example/node_modules/react-native/React-Core-prebuilt.podspec +78 -0
  20. package/example/node_modules/react-native/React-Core.podspec +137 -0
  21. package/example/node_modules/react-native/React.podspec +56 -0
  22. package/example/node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +25 -0
  23. package/example/node_modules/react-native/ReactCommon/React-Fabric.podspec +207 -0
  24. package/example/node_modules/react-native/ReactCommon/React-FabricComponents.podspec +170 -0
  25. package/example/node_modules/react-native/ReactCommon/React-FabricImage.podspec +79 -0
  26. package/example/node_modules/react-native/ReactCommon/React-Mapbuffer.podspec +40 -0
  27. package/example/node_modules/react-native/ReactCommon/ReactCommon.podspec +72 -0
  28. package/example/node_modules/react-native/ReactCommon/callinvoker/React-callinvoker.podspec +30 -0
  29. package/example/node_modules/react-native/ReactCommon/cxxreact/React-cxxreact.podspec +56 -0
  30. package/example/node_modules/react-native/ReactCommon/hermes/React-hermes.podspec +52 -0
  31. package/example/node_modules/react-native/ReactCommon/hermes/executor/React-jsitracing.podspec +38 -0
  32. package/example/node_modules/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +52 -0
  33. package/example/node_modules/react-native/ReactCommon/jsi/React-jsi.podspec +50 -0
  34. package/example/node_modules/react-native/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +45 -0
  35. package/example/node_modules/react-native/ReactCommon/jsinspector-modern/React-jsinspector.podspec +63 -0
  36. package/example/node_modules/react-native/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +48 -0
  37. package/example/node_modules/react-native/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +53 -0
  38. package/example/node_modules/react-native/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +51 -0
  39. package/example/node_modules/react-native/ReactCommon/jsitooling/React-jsitooling.podspec +47 -0
  40. package/example/node_modules/react-native/ReactCommon/logger/React-logger.podspec +34 -0
  41. package/example/node_modules/react-native/ReactCommon/oscompat/React-oscompat.podspec +31 -0
  42. package/example/node_modules/react-native/ReactCommon/react/debug/React-debug.podspec +34 -0
  43. package/example/node_modules/react-native/ReactCommon/react/featureflags/React-featureflags.podspec +44 -0
  44. package/example/node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +54 -0
  45. package/example/node_modules/react-native/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +54 -0
  46. package/example/node_modules/react-native/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +60 -0
  47. package/example/node_modules/react-native/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +53 -0
  48. package/example/node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +55 -0
  49. package/example/node_modules/react-native/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +52 -0
  50. package/example/node_modules/react-native/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +63 -0
  51. package/example/node_modules/react-native/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +50 -0
  52. package/example/node_modules/react-native/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +43 -0
  53. package/example/node_modules/react-native/ReactCommon/react/renderer/css/React-renderercss.podspec +47 -0
  54. package/example/node_modules/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +48 -0
  55. package/example/node_modules/react-native/ReactCommon/react/renderer/graphics/React-graphics.podspec +55 -0
  56. package/example/node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +56 -0
  57. package/example/node_modules/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +59 -0
  58. package/example/node_modules/react-native/ReactCommon/react/runtime/React-RuntimeCore.podspec +56 -0
  59. package/example/node_modules/react-native/ReactCommon/react/runtime/React-RuntimeHermes.podspec +53 -0
  60. package/example/node_modules/react-native/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +72 -0
  61. package/example/node_modules/react-native/ReactCommon/react/timing/React-timing.podspec +43 -0
  62. package/example/node_modules/react-native/ReactCommon/react/utils/React-utils.podspec +55 -0
  63. package/example/node_modules/react-native/ReactCommon/reactperflogger/React-perflogger.podspec +42 -0
  64. package/example/node_modules/react-native/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +56 -0
  65. package/example/node_modules/react-native/ReactCommon/yoga/Yoga.podspec +66 -0
  66. package/example/node_modules/react-native/react-native.config.js +139 -0
  67. package/example/node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec +165 -0
  68. package/example/node_modules/react-native/third-party-podspecs/DoubleConversion.podspec +34 -0
  69. package/example/node_modules/react-native/third-party-podspecs/RCT-Folly.podspec +132 -0
  70. package/example/node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec +99 -0
  71. package/example/node_modules/react-native/third-party-podspecs/boost.podspec +34 -0
  72. package/example/node_modules/react-native/third-party-podspecs/fast_float.podspec +29 -0
  73. package/example/node_modules/react-native/third-party-podspecs/fmt.podspec +29 -0
  74. package/example/node_modules/react-native/third-party-podspecs/glog.podspec +47 -0
  75. package/example/node_modules/react-native-nitro-modules/NitroModules.podspec +90 -0
  76. package/example/node_modules/react-native-nitro-modules/react-native.config.js +16 -0
  77. package/example/react-native.config.js +21 -0
  78. package/lib/typescript/__tests__/utils/string.test.d.ts +2 -0
  79. package/lib/typescript/__tests__/utils/string.test.d.ts.map +1 -0
  80. package/package.json +3 -2
  81. package/lib/module/__mock__/jestSetupFile.js +0 -2
  82. package/lib/module/__mock__/jestSetupFile.js.map +0 -1
  83. package/lib/module/__mock__/rnpack-utils-mock.js +0 -23
  84. package/lib/module/__mock__/rnpack-utils-mock.js.map +0 -1
  85. /package/{src/__mock__ → __mocks__}/jestSetupFile.js +0 -0
  86. /package/{src/__mock__ → __mocks__}/rnpack-utils-mock.js +0 -0
@@ -0,0 +1,53 @@
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_ROOT}/Headers/Public/ReactCodegen/react/renderer/components\"",
21
+ ]
22
+
23
+ Pod::Spec.new do |s|
24
+ s.name = "React-RCTVibration"
25
+ s.version = version
26
+ s.summary = "An API for controlling the vibration hardware of the device."
27
+ s.homepage = "https://reactnative.dev/"
28
+ s.documentation_url = "https://reactnative.dev/docs/vibration"
29
+ s.license = package["license"]
30
+ s.author = "Meta Platforms, Inc. and its affiliates"
31
+ s.platforms = min_supported_versions
32
+ s.compiler_flags = '-Wno-nullability-completeness'
33
+ s.source = source
34
+ s.source_files = podspec_sources("*.{m,mm}", "**/*.h")
35
+ s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs"
36
+ s.header_dir = "RCTVibration"
37
+ s.pod_target_xcconfig = {
38
+ "USE_HEADERMAP" => "YES",
39
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
40
+ "HEADER_SEARCH_PATHS" => header_search_paths.join(' ')
41
+ }
42
+ s.frameworks = "AudioToolbox"
43
+
44
+ s.dependency "React-jsi"
45
+ s.dependency "React-Core/RCTVibrationHeaders"
46
+
47
+ add_dependency(s, "React-RCTFBReactNativeSpec")
48
+ add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
49
+ add_dependency(s, "React-NativeModulesApple")
50
+
51
+ add_rn_third_party_dependencies(s)
52
+ add_rncore_dependency(s)
53
+ end
@@ -0,0 +1,67 @@
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)/React/CoreModules\"",
21
+ "\"${PODS_ROOT}/Headers/Public/ReactCodegen/react/renderer/components\"",
22
+ ]
23
+
24
+ Pod::Spec.new do |s|
25
+ s.name = "React-CoreModules"
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.compiler_flags = '-Wno-nullability-completeness'
33
+ s.source = source
34
+
35
+ s.source_files = podspec_sources("**/*.{c,m,mm,cpp}", "**/*.h")
36
+
37
+ s.ios.exclude_files = "PlatformStubs/**/*"
38
+ exclude_files = ["RCTStatusBarManager.mm"]
39
+ s.macos.exclude_files = exclude_files
40
+ s.visionos.exclude_files = exclude_files
41
+ s.tvos.exclude_files = exclude_files
42
+
43
+ s.header_dir = "CoreModules"
44
+ s.pod_target_xcconfig = {
45
+ "USE_HEADERMAP" => "YES",
46
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
47
+ "HEADER_SEARCH_PATHS" => header_search_paths.join(" ")
48
+ }
49
+ s.framework = "UIKit"
50
+ s.dependency "RCTTypeSafety", version
51
+ s.dependency "React-Core/CoreModulesHeaders", version
52
+ s.dependency "React-RCTImage", version
53
+ s.dependency "React-jsi", version
54
+ s.dependency 'React-RCTBlob'
55
+
56
+ add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
57
+ add_dependency(s, "React-jsinspector", :framework_name => 'jsinspector_modern')
58
+ add_dependency(s, "React-jsinspectorcdp", :framework_name => 'jsinspector_moderncdp')
59
+ add_dependency(s, "React-jsinspectortracing", :framework_name => 'jsinspector_moderntracing')
60
+
61
+ add_dependency(s, "React-RCTFBReactNativeSpec")
62
+ add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
63
+ add_dependency(s, "React-NativeModulesApple")
64
+
65
+ add_rn_third_party_dependencies(s)
66
+ add_rncore_dependency(s)
67
+ end
@@ -0,0 +1,95 @@
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
+ # This Podspec wraps the code generated by Codegen that defines all the interfaces for the
9
+ # internal Native Modules that React Native depends on.
10
+
11
+ package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
12
+ version = package['version']
13
+
14
+ source = { :git => 'https://github.com/facebook/react-native.git' }
15
+ if version == '1000.0.0'
16
+ # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
17
+ source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
18
+ else
19
+ source[:tag] = "v#{version}"
20
+ end
21
+
22
+ header_search_paths = [
23
+ "\"$(PODS_TARGET_SRCROOT)/FBReactNativeSpec\"",
24
+ "\"$(PODS_ROOT)/Headers/Private/Yoga\"",
25
+ ]
26
+
27
+ new_arch_flags = ENV['RCT_NEW_ARCH_ENABLED'] == '1' ? ' -DRCT_NEW_ARCH_ENABLED=1' : ''
28
+
29
+ Pod::Spec.new do |s|
30
+ s.name = "React-RCTFBReactNativeSpec"
31
+ s.version = version
32
+ s.summary = "FBReactNativeSpec for React Native."
33
+ s.homepage = "https://reactnative.dev/"
34
+ s.license = package["license"]
35
+ s.author = "Meta Platforms, Inc. and its affiliates"
36
+ s.platforms = min_supported_versions
37
+ s.source = source
38
+ s.source_files = podspec_sources("FBReactNativeSpec/**/*.{c,h,m,mm,cpp}", "FBReactNativeSpec/**/*.{h}")
39
+ s.exclude_files = "FBReactNativeSpec/react/renderer/components",
40
+ s.compiler_flags = new_arch_flags
41
+ s.header_dir = 'FBReactNativeSpec'
42
+ s.pod_target_xcconfig = {
43
+ "USE_HEADERMAP" => "NO",
44
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
45
+ "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
46
+ }
47
+
48
+ resolve_use_frameworks(s, header_mappings_dir: 'FBReactNativeSpec', module_name: "React_RCTFBReactNativeSpec")
49
+
50
+ s.dependency "React-jsi"
51
+ s.dependency "RCTRequired"
52
+ s.dependency "RCTTypeSafety"
53
+ s.dependency "React-Core"
54
+ s.dependency "React-NativeModulesApple"
55
+
56
+ add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
57
+ add_dependency(s, "ReactCommon", :subspec => "turbomodule/bridging", :additional_framework_paths => ["react/nativemodule/bridging"])
58
+
59
+ depend_on_js_engine(s)
60
+ add_rn_third_party_dependencies(s)
61
+ add_rncore_dependency(s)
62
+
63
+ s.subspec "components" do |ss|
64
+ ss.source_files = podspec_sources("FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/**/*.{m,mm,cpp,h}", "FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/**/*.{h}")
65
+ ss.header_dir = "react/renderer/components/FBReactNativeSpec"
66
+
67
+ add_dependency(ss, "React-featureflags")
68
+ add_dependency(ss, "React-debug")
69
+ add_dependency(ss, "React-rendererdebug")
70
+ add_dependency(ss, "React-utils")
71
+ add_dependency(ss, "React-graphics", :additional_framework_paths => ["react/renderer/graphics/platform/ios"])
72
+ add_dependency(ss, "React-Fabric", :additional_framework_paths => [
73
+ "react/renderer/components/view/platform/cxx",
74
+ ])
75
+
76
+ ss.dependency "Yoga"
77
+ end
78
+
79
+ s.script_phases = [
80
+ {
81
+ :name => '[RN]Check FBReactNativeSpec',
82
+ :execution_position => :before_compile,
83
+ :always_out_of_date => '1',
84
+ :script => <<-EOS
85
+ echo "Checking whether Codegen has run..."
86
+ fbReactNativeSpecPath="$REACT_NATIVE_PATH/React/FBReactNativeSpec"
87
+
88
+ if [[ ! -d "$fbReactNativeSpecPath" ]]; then
89
+ echo 'error: Codegen did not run properly in your project. Please reinstall cocoapods with `bundle exec pod install`.'
90
+ exit 1
91
+ fi
92
+ EOS
93
+ }
94
+ ]
95
+ end
@@ -0,0 +1,107 @@
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
+ new_arch_flags = ENV['RCT_NEW_ARCH_ENABLED'] == '1' ? ' -DRCT_NEW_ARCH_ENABLED=1' : ''
20
+
21
+ header_search_paths = [
22
+ "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"",
23
+ "\"$(PODS_ROOT)/Headers/Private/React-Core\"",
24
+ "\"$(PODS_ROOT)/Headers/Private/Yoga\"",
25
+ "\"$(PODS_ROOT)/Headers/Public/ReactCodegen\"",
26
+ ]
27
+
28
+ if ENV['USE_FRAMEWORKS']
29
+ create_header_search_path_for_frameworks("React-RCTFabric", :framework_name => "RCTFabric")
30
+ .each { |search_path| header_search_paths << "\"#{search_path}\""}
31
+ end
32
+
33
+ module_name = "RCTFabric"
34
+ header_dir = "React"
35
+
36
+ Pod::Spec.new do |s|
37
+ s.name = "React-RCTFabric"
38
+ s.version = version
39
+ s.summary = "RCTFabric for React Native."
40
+ s.homepage = "https://reactnative.dev/"
41
+ s.license = package["license"]
42
+ s.author = "Meta Platforms, Inc. and its affiliates"
43
+ s.platforms = min_supported_versions
44
+ s.source = source
45
+ s.source_files = podspec_sources("Fabric/**/*.{c,h,m,mm,S,cpp}", "Fabric/**/*.{h}")
46
+ s.exclude_files = "**/tests/*",
47
+ "**/android/*",
48
+ s.compiler_flags = new_arch_flags
49
+ s.header_dir = header_dir
50
+ s.module_name = module_name
51
+ s.weak_framework = "JavaScriptCore"
52
+ s.framework = "MobileCoreServices"
53
+ s.pod_target_xcconfig = {
54
+ "HEADER_SEARCH_PATHS" => header_search_paths,
55
+ "OTHER_CFLAGS" => "$(inherited) " + new_arch_flags,
56
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard()
57
+ }.merge!(ENV['USE_FRAMEWORKS'] != nil ? {
58
+ "PUBLIC_HEADERS_FOLDER_PATH" => "#{module_name}.framework/Headers/#{header_dir}"
59
+ }: {})
60
+
61
+ s.dependency "React-Core"
62
+ s.dependency "React-RCTImage"
63
+ s.dependency "Yoga"
64
+ s.dependency "React-RCTText"
65
+ s.dependency "React-jsi"
66
+
67
+ add_dependency(s, "React-FabricImage")
68
+ add_dependency(s, "React-Fabric", :additional_framework_paths => [
69
+ "react/renderer/components/scrollview/platform/cxx",
70
+ "react/renderer/components/view/platform/cxx",
71
+ "react/renderer/imagemanager/platform/ios",
72
+ ])
73
+ add_dependency(s, "React-FabricComponents", :additional_framework_paths => [
74
+ "react/renderer/textlayoutmanager/platform/ios",
75
+ "react/renderer/components/scrollview/platform/cxx",
76
+ "react/renderer/components/text/platform/cxx",
77
+ "react/renderer/components/textinput/platform/ios",
78
+ "react/renderer/components/switch/iosswitch",
79
+ ]);
80
+
81
+ add_dependency(s, "React-graphics", :additional_framework_paths => ["react/renderer/graphics/platform/ios"])
82
+ add_dependency(s, "React-ImageManager")
83
+ add_dependency(s, "React-featureflags")
84
+ add_dependency(s, "React-debug")
85
+ add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
86
+ add_dependency(s, "React-performancetimeline")
87
+ add_dependency(s, "React-rendererdebug")
88
+ add_dependency(s, "React-rendererconsistency")
89
+ add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
90
+ add_dependency(s, "React-runtimescheduler")
91
+ add_dependency(s, "React-RCTAnimation", :framework_name => 'RCTAnimation')
92
+ add_dependency(s, "React-jsinspector", :framework_name => 'jsinspector_modern')
93
+ add_dependency(s, "React-jsinspectorcdp", :framework_name => 'jsinspector_moderncdp')
94
+ add_dependency(s, "React-jsinspectornetwork", :framework_name => 'jsinspector_modernnetwork')
95
+ add_dependency(s, "React-jsinspectortracing", :framework_name => 'jsinspector_moderntracing')
96
+ add_dependency(s, "React-renderercss")
97
+ add_dependency(s, "React-RCTFBReactNativeSpec")
98
+
99
+ depend_on_js_engine(s)
100
+ add_rn_third_party_dependencies(s)
101
+ add_rncore_dependency(s)
102
+
103
+ s.test_spec 'Tests' do |test_spec|
104
+ test_spec.source_files = podspec_sources("Tests/**/*.{mm}", "")
105
+ test_spec.framework = "XCTest"
106
+ end
107
+ end
@@ -0,0 +1,70 @@
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
+ new_arch_flags = ENV['RCT_NEW_ARCH_ENABLED'] == '1' ? ' -DRCT_NEW_ARCH_ENABLED=1' : ''
20
+
21
+ module_name = "RCTRuntime"
22
+ header_dir = "React"
23
+
24
+ Pod::Spec.new do |s|
25
+ s.name = "React-RCTRuntime"
26
+ s.version = version
27
+ s.summary = "RCTRuntime for React Native."
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("*.{h,mm}", "*.h")
34
+ s.compiler_flags = new_arch_flags
35
+ s.header_dir = header_dir
36
+ s.module_name = module_name
37
+
38
+ resolve_use_frameworks(s, header_mappings_dir: "./")
39
+
40
+ s.pod_target_xcconfig = {
41
+ "OTHER_CFLAGS" => "$(inherited) " + new_arch_flags,
42
+ "DEFINES_MODULE" => "YES",
43
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard()
44
+ }.merge!(ENV['USE_FRAMEWORKS'] != nil ? {
45
+ "PUBLIC_HEADERS_FOLDER_PATH" => "#{module_name}.framework/Headers/#{header_dir}"
46
+ }: {})
47
+
48
+ s.dependency "React-Core"
49
+ s.dependency "React-jsi"
50
+ add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
51
+ add_dependency(s, "React-jsitooling", :framework_name => "JSITooling")
52
+ add_dependency(s, "React-jsinspector", :framework_name => 'jsinspector_modern')
53
+ add_dependency(s, "React-jsinspectorcdp", :framework_name => 'jsinspector_moderncdp')
54
+ add_dependency(s, "React-jsinspectortracing", :framework_name => 'jsinspector_moderntracing')
55
+
56
+ add_dependency(s, "React-RuntimeCore")
57
+ add_dependency(s, "React-RuntimeApple")
58
+
59
+ if use_third_party_jsc()
60
+ s.exclude_files = ["RCTHermesInstanceFactory.{mm,h}", "RCTJscInstanceFactory.{mm,h}"]
61
+ else
62
+ s.dependency "hermes-engine"
63
+ add_dependency(s, "React-RuntimeHermes")
64
+ s.exclude_files = "RCTJscInstanceFactory.{h,mm}"
65
+ end
66
+
67
+ depend_on_js_engine(s)
68
+ add_rn_third_party_dependencies(s)
69
+ add_rncore_dependency(s)
70
+ end
@@ -0,0 +1,78 @@
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
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
8
+ version = package['version']
9
+
10
+ source = ReactNativeCoreUtils.resolve_podspec_source()
11
+ Pod::Spec.new do |s|
12
+ s.name = "React-Core-prebuilt"
13
+ s.version = version
14
+ s.summary = "The core of React Native prebuilt frameworks."
15
+ s.homepage = "https://reactnative.dev/"
16
+ s.license = package["license"]
17
+ s.author = "Meta Platforms, Inc. and its affiliates"
18
+ s.platforms = min_supported_versions
19
+ s.source = source
20
+ s.vendored_frameworks = "React.xcframework"
21
+
22
+ s.preserve_paths = '**/*.*'
23
+ s.header_mappings_dir = 'React.xcframework/Headers'
24
+ s.source_files = 'React.xcframework/Headers/**/*.{h,hpp}'
25
+
26
+ s.module_name = 'React'
27
+ s.module_map = 'React.xcframework/Modules/module.modulemap'
28
+ s.public_header_files = 'React.xcframework/Headers/**/*.h'
29
+
30
+ add_rn_third_party_dependencies(s)
31
+
32
+ # We need to make sure that the React.xcframework is copied correctly - in the downloaded tarball
33
+ # the root directory is the framework, but when using it we need to have it in a subdirectory
34
+ # called React.xcframework, so we need to move the contents of the tarball into that directory.
35
+ # This is done in the prepare_command.
36
+ # We need to make sure that the headers are copied to the right place - local tar.gz has a different structure
37
+ # than the one from the maven repo
38
+ s.prepare_command = <<~'CMD'
39
+ CURRENT_PATH=$(pwd)
40
+ XCFRAMEWORK_PATH="${CURRENT_PATH}/React.xcframework"
41
+
42
+ # Check if XCFRAMEWORK_PATH is empty
43
+ if [ -z "$XCFRAMEWORK_PATH" ]; then
44
+ echo "ERROR: XCFRAMEWORK_PATH is empty."
45
+ exit 0
46
+ fi
47
+
48
+ mkdir -p "${XCFRAMEWORK_PATH}"
49
+ find "$CURRENT_PATH" -mindepth 1 -maxdepth 1 ! -name "$(basename "$XCFRAMEWORK_PATH")" -exec mv {} "$XCFRAMEWORK_PATH" \;
50
+ CMD
51
+
52
+ # If we are passing a local tarball, we don't want to switch between Debug and Release
53
+ if !ENV["RCT_TESTONLY_RNCORE_TARBALL_PATH"]
54
+ script_phase = {
55
+ :name => "[RNDeps] Replace React Native Core for the right configuration, if needed",
56
+ :execution_position => :before_compile,
57
+ :script => <<-EOS
58
+ . "$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh"
59
+
60
+ CONFIG="Release"
61
+ if echo $GCC_PREPROCESSOR_DEFINITIONS | grep -q "DEBUG=1"; then
62
+ CONFIG="Debug"
63
+ fi
64
+
65
+ "$NODE_BINARY" "$REACT_NATIVE_PATH/scripts/replace-rncore-version.js" -c "$CONFIG" -r "#{version}" -p "$PODS_ROOT"
66
+ EOS
67
+ }
68
+
69
+
70
+ # :always_out_of_date is only available in CocoaPods 1.13.0 and later
71
+ if Gem::Version.new(Pod::VERSION) >= Gem::Version.new('1.13.0')
72
+ # always run the script without warning
73
+ script_phase[:always_out_of_date] = "1"
74
+ end
75
+
76
+ s.script_phase = script_phase
77
+ end
78
+ end
@@ -0,0 +1,137 @@
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_subspecs = {
20
+ 'CoreModulesHeaders' => 'React/CoreModules/**/*.h',
21
+ 'RCTActionSheetHeaders' => 'Libraries/ActionSheetIOS/*.h',
22
+ 'RCTAnimationHeaders' => 'Libraries/NativeAnimation/{Drivers/*,Nodes/*,*}.{h}',
23
+ 'RCTBlobHeaders' => 'Libraries/Blob/{RCTBlobManager,RCTFileReaderModule}.h',
24
+ 'RCTImageHeaders' => 'Libraries/Image/*.h',
25
+ 'RCTLinkingHeaders' => 'Libraries/LinkingIOS/*.h',
26
+ 'RCTNetworkHeaders' => 'Libraries/Network/*.h',
27
+ 'RCTPushNotificationHeaders' => 'Libraries/PushNotificationIOS/*.h',
28
+ 'RCTSettingsHeaders' => 'Libraries/Settings/*.h',
29
+ 'RCTTextHeaders' => 'Libraries/Text/**/*.h',
30
+ 'RCTVibrationHeaders' => 'Libraries/Vibration/*.h',
31
+ }
32
+
33
+ frameworks_search_paths = []
34
+ frameworks_search_paths << "\"$(PODS_CONFIGURATION_BUILD_DIR)/React-hermes\"" if use_hermes()
35
+
36
+ header_search_paths = [
37
+ "$(PODS_TARGET_SRCROOT)/ReactCommon",
38
+ "${PODS_ROOT}/Headers/Public/FlipperKit",
39
+ "$(PODS_ROOT)/Headers/Public/ReactCommon",
40
+ ].concat(use_hermes ? [
41
+ "$(PODS_ROOT)/Headers/Public/React-hermes",
42
+ "$(PODS_ROOT)/Headers/Public/hermes-engine"
43
+ ] : [])
44
+
45
+ Pod::Spec.new do |s|
46
+ s.name = "React-Core"
47
+ s.version = version
48
+ s.summary = "The core of React Native."
49
+ s.homepage = "https://reactnative.dev/"
50
+ s.license = package["license"]
51
+ s.author = "Meta Platforms, Inc. and its affiliates"
52
+ s.platforms = min_supported_versions
53
+ s.source = source
54
+ s.resource_bundle = { "RCTI18nStrings" => ["React/I18n/strings/*.lproj"]}
55
+ s.compiler_flags = js_engine_flags()
56
+ s.header_dir = "React"
57
+ s.weak_framework = "JavaScriptCore"
58
+ s.pod_target_xcconfig = {
59
+ "HEADER_SEARCH_PATHS" => header_search_paths,
60
+ "DEFINES_MODULE" => "YES",
61
+ "GCC_PREPROCESSOR_DEFINITIONS" => "RCT_METRO_PORT=${RCT_METRO_PORT}",
62
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
63
+ "FRAMEWORK_SEARCH_PATHS" => frameworks_search_paths.join(" ")
64
+ }
65
+ s.user_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/Headers/Private/React-Core\""}
66
+ s.default_subspec = "Default"
67
+
68
+ s.subspec "Default" do |ss|
69
+ ss.source_files = podspec_sources("React/**/*.{c,h,m,mm,S,cpp}", "React/**/*.h")
70
+ exclude_files = [
71
+ "React/CoreModules/**/*",
72
+ "React/DevSupport/**/*",
73
+ "React/Fabric/**/*",
74
+ "React/FBReactNativeSpec/**/*",
75
+ "React/Tests/**/*",
76
+ "React/Inspector/**/*",
77
+ "React/Runtime/**/*",
78
+ ]
79
+
80
+ # The default is use hermes, we don't have jsc installed
81
+ exclude_files = exclude_files.append("React/CxxBridge/JSCExecutorFactory.{h,mm}")
82
+
83
+ ss.exclude_files = exclude_files
84
+ ss.private_header_files = "React/Cxx*/*.h"
85
+
86
+ end
87
+
88
+ s.subspec "DevSupport" do |ss|
89
+ ss.source_files = podspec_sources(["React/DevSupport/*.{h,mm,m}",
90
+ "React/Inspector/*.{h,mm,m}"],
91
+ ["React/DevSupport/*.h",
92
+ "React/Inspector/*.h"])
93
+
94
+ ss.dependency "React-Core/Default", version
95
+ ss.dependency "React-Core/RCTWebSocket", version
96
+ ss.private_header_files = "React/Inspector/RCTCxx*.h"
97
+ end
98
+
99
+ s.subspec "RCTWebSocket" do |ss|
100
+ ss.source_files = podspec_sources("Libraries/WebSocket/*.{h,m}", "Libraries/WebSocket/*.h")
101
+ ss.dependency "React-Core/Default", version
102
+ end
103
+
104
+ # Add a subspec containing just the headers for each
105
+ # pod that should live under <React/*.h>
106
+ header_subspecs.each do |name, headers|
107
+ s.subspec name do |ss|
108
+ ss.source_files = headers
109
+ ss.dependency "React-Core/Default"
110
+ end
111
+ end
112
+
113
+ s.dependency "React-cxxreact"
114
+ s.dependency "React-perflogger"
115
+ s.dependency "React-jsi"
116
+ s.dependency "React-jsiexecutor"
117
+ s.dependency "React-featureflags"
118
+ s.dependency "React-runtimescheduler"
119
+ s.dependency "Yoga"
120
+
121
+ if use_hermes()
122
+ s.dependency "React-hermes"
123
+ end
124
+
125
+ s.resource_bundles = {'React-Core_privacy' => 'React/Resources/PrivacyInfo.xcprivacy'}
126
+
127
+ add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
128
+ add_dependency(s, "React-jsinspector", :framework_name => 'jsinspector_modern')
129
+ add_dependency(s, "React-jsinspectorcdp", :framework_name => 'jsinspector_moderncdp')
130
+ add_dependency(s, "React-jsitooling", :framework_name => "JSITooling")
131
+ add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
132
+ add_dependency(s, "RCTDeprecation")
133
+
134
+ depend_on_js_engine(s)
135
+ add_rn_third_party_dependencies(s)
136
+ add_rncore_dependency(s)
137
+ end
@@ -0,0 +1,56 @@
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
+ s.name = "React"
21
+ s.version = version
22
+ s.summary = package["description"]
23
+ s.description = <<-DESC
24
+ React Native apps are built using the React JS
25
+ framework, and render directly to native UIKit
26
+ elements using a fully asynchronous architecture.
27
+ There is no browser and no HTML. We have picked what
28
+ we think is the best set of features from these and
29
+ other technologies to build what we hope to become
30
+ the best product development framework available,
31
+ with an emphasis on iteration speed, developer
32
+ delight, continuity of technology, and absolutely
33
+ beautiful and fast products with no compromises in
34
+ quality or capability.
35
+ DESC
36
+ s.homepage = "https://reactnative.dev/"
37
+ s.license = package["license"]
38
+ s.author = "Meta Platforms, Inc. and its affiliates"
39
+ s.platforms = min_supported_versions
40
+ s.source = source
41
+ s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs"
42
+ s.cocoapods_version = ">= 1.10.1"
43
+
44
+ s.dependency "React-Core", version
45
+ s.dependency "React-Core/DevSupport", version
46
+ s.dependency "React-Core/RCTWebSocket", version
47
+ s.dependency "React-RCTActionSheet", version
48
+ s.dependency "React-RCTAnimation", version
49
+ s.dependency "React-RCTBlob", version
50
+ s.dependency "React-RCTImage", version
51
+ s.dependency "React-RCTLinking", version
52
+ s.dependency "React-RCTNetwork", version
53
+ s.dependency "React-RCTSettings", version
54
+ s.dependency "React-RCTText", version
55
+ s.dependency "React-RCTVibration", version
56
+ end