expo-modules-autolinking 0.9.0 → 0.10.2

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
@@ -10,6 +10,25 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 0.10.2 — 2022-08-10
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - Fixed node executable resolution errors on iOS when `pod install` is executed from package.json `scripts`. ([#18580](https://github.com/expo/expo/pull/18580) by [@kudo](https://github.com/kudo))
18
+
19
+ ## 0.10.1 — 2022-07-25
20
+
21
+ ### 🎉 New features
22
+
23
+ - Added a feature to automatically generate `.xcode.env.local` with correct `$NODE_BINARY` path when running `pod install`. ([#18330](https://github.com/expo/expo/pull/18330) by [@kudo](https://github.com/kudo))
24
+
25
+ ## 0.10.0 — 2022-07-07
26
+
27
+ ### 🐛 Bug fixes
28
+
29
+ - Added support for React Native 0.69.x ([#17629](https://github.com/expo/expo/pull/17629) by [@kudo](https://github.com/kudo))
30
+ - Use regex to match ignored modules in `expo_patch_react_imports!` and fix iOS build errors when the project is inside `react-native` named folder. ([#17968](https://github.com/expo/expo/pull/17968) by [@dmnkgrc](https://github.com/dmnkgrc))
31
+
13
32
  ## 0.9.0 — 2022-06-23
14
33
 
15
34
  ### 🎉 New features
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-modules-autolinking",
3
- "version": "0.9.0",
3
+ "version": "0.10.2",
4
4
  "description": "Scripts that autolink Expo modules.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -48,5 +48,5 @@
48
48
  "find-up": "^5.0.0",
49
49
  "fs-extra": "^9.1.0"
50
50
  },
51
- "gitHead": "a0da3a200a37a95266c0bb6eddf4779a12435363"
51
+ "gitHead": "9628e396726e9085b644a3a6d3fc53e33912a0dc"
52
52
  }
@@ -29,7 +29,7 @@ module Pod
29
29
  # strip expo go versioning prefix
30
30
  normalized_name = name.gsub(/^ABI\d+_\d+_\d+/, '')
31
31
 
32
- if ['React-Core'].include?(normalized_name) && product_module_name != name
32
+ if ['React-Core', 'React-RCTFabric'].include?(normalized_name) && product_module_name != name
33
33
  return sandbox.public_headers.root + name + product_module_name
34
34
  end
35
35
  return nil
@@ -54,12 +54,15 @@ module Expo
54
54
  end
55
55
  end
56
56
 
57
- return result.select { |dir|
58
- # Exclude known dirs unnecessary to patch and reduce processing time
59
- !dir.include?('/react-native/') &&
60
- !dir.end_with?('/react-native') &&
61
- !dir.include?('/expo-')
62
- }
57
+ result
58
+ .select { |dir| dir.include? '/node_modules/' }
59
+ .reject do |dir|
60
+ # Exclude known dirs unnecessary to patch and reduce processing time
61
+ # Since we are using real (absolute) pathnames we need to assert that we are inside of the node_modules
62
+ # directory to not collide with other directories in the user's filesystem.
63
+ # We reject the react-native package and packages starting with expo-
64
+ dir.match(%r{^.*/node_modules/(react-native(/.*)?|expo-.*)$})
65
+ end
63
66
  end
64
67
 
65
68
  end # class ReactImportPatcher
@@ -0,0 +1,21 @@
1
+ require 'open3'
2
+ require 'pathname'
3
+
4
+
5
+ def maybe_generate_xcode_env_file!()
6
+ project_directory = Pod::Config.instance.project_root
7
+ xcode_env_file = File.join(project_directory, '.xcode.env.local')
8
+ if File.exists?(xcode_env_file)
9
+ return
10
+ end
11
+
12
+ # Adding the meta character `;` at the end of command for Ruby `Kernel.exec` to execute the command in shell.
13
+ stdout, stderr, status = Open3.capture3('node --print "process.argv[0]";')
14
+ node_path = stdout.strip
15
+ if !stderr.empty? || status.exitstatus != 0 || node_path.empty?
16
+ Pod::UI.warn "Unable to generate `.xcode.env.local` for Node.js binary path: #{stderr}"
17
+ else
18
+ Pod::UI.info "Auto-generating `.xcode.env.local` with $NODE_BINARY=#{node_path}"
19
+ File.write(xcode_env_file, "export NODE_BINARY=\"#{node_path}\"\n")
20
+ end
21
+ end