react_native_util 0.1.1 → 0.1.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.
- checksums.yaml +4 -4
- data/README.md +24 -2
- data/lib/react_native_util/cli.rb +1 -1
- data/lib/react_native_util/converter.rb +14 -7
- data/lib/react_native_util/core_ext/regexp.rb +3 -0
- data/lib/react_native_util/metadata.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58961157dd9ea8d01ec449637c1176395346c7642fe46d0fc28b47a957fde4ea
|
4
|
+
data.tar.gz: 6a20fb2a70fa264e561f2b69314e8b4a2d88c48144583919010cf5b321234b75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f6c62f22d58fe55fccb9b763b5bc0dbfa369ab52af53fcb65d3688c7e4a4b858481aeb1b7fcca25ea16e72d49fdeacdc520fba005fb8229dd800b88017c6e31
|
7
|
+
data.tar.gz: 92b345621ac4e5d59eef6cb454cb4b3343965942ed353a1b3a1da6e04754e2b9c4fc5ab8a1399b8c6268eecc0dc38b71d1bc415a88001fc2abb812b77aa6f4f4
|
data/README.md
CHANGED
@@ -9,12 +9,26 @@
|
|
9
9
|
|
10
10
|
Community utility CLI for React Native projects.
|
11
11
|
|
12
|
+
## Prerequisites
|
13
|
+
|
14
|
+
_macOS required_
|
15
|
+
|
16
|
+
```bash
|
17
|
+
brew install yarn
|
18
|
+
npm install -g react-native-cli
|
19
|
+
```
|
20
|
+
|
12
21
|
## Installation
|
13
22
|
|
14
23
|
```bash
|
15
24
|
[sudo] gem install react_native_util
|
16
|
-
|
17
|
-
|
25
|
+
```
|
26
|
+
|
27
|
+
## Install from Homebrew tap
|
28
|
+
|
29
|
+
```bash
|
30
|
+
brew tap jdee/tap
|
31
|
+
brew install react_native_util
|
18
32
|
```
|
19
33
|
|
20
34
|
## Gemfile
|
@@ -23,6 +37,14 @@ rn -h
|
|
23
37
|
gem 'react_native_util'
|
24
38
|
```
|
25
39
|
|
40
|
+
## Usage
|
41
|
+
|
42
|
+
```bash
|
43
|
+
react_native_util -h
|
44
|
+
rn -h
|
45
|
+
rn react_pod -h
|
46
|
+
```
|
47
|
+
|
26
48
|
## Try it out
|
27
49
|
|
28
50
|
First set up a test app:
|
@@ -18,7 +18,7 @@ module ReactNativeUtil
|
|
18
18
|
c.description = "[Work in progress] Removes all static libraries built by the Libraries group and adds a generic " \
|
19
19
|
"Podfile.\nResults in a buildable, working project."
|
20
20
|
|
21
|
-
c.option '--[no-]repo-update', 'Update the local podspec repo (default: update; env. var.
|
21
|
+
c.option '--[no-]repo-update', 'Update the local podspec repo (default: update; env. var. REACT_NATIVE_UTIL_REPO_UPDATE)'
|
22
22
|
|
23
23
|
c.action do |_args, opts|
|
24
24
|
begin
|
@@ -42,7 +42,7 @@ module ReactNativeUtil
|
|
42
42
|
def initialize(repo_update: nil)
|
43
43
|
@options = {}
|
44
44
|
if repo_update.nil?
|
45
|
-
@options[:repo_update] = boolean_env_var?(:
|
45
|
+
@options[:repo_update] = boolean_env_var?(:REACT_NATIVE_UTIL_REPO_UPDATE, default_value: true)
|
46
46
|
else
|
47
47
|
@options[:repo_update] = repo_update
|
48
48
|
end
|
@@ -68,6 +68,11 @@ module ReactNativeUtil
|
|
68
68
|
load_xcodeproj!
|
69
69
|
log "Found Xcode project at #{xcodeproj_path}"
|
70
70
|
|
71
|
+
if libraries_group.nil?
|
72
|
+
log "Libraries group not found in #{xcodeproj_path}. No conversion necessary."
|
73
|
+
exit 0
|
74
|
+
end
|
75
|
+
|
71
76
|
# 2. Detect native dependencies in Libraries group.
|
72
77
|
log 'Dependencies:'
|
73
78
|
dependencies.each { |d| log " #{d}" }
|
@@ -93,7 +98,7 @@ module ReactNativeUtil
|
|
93
98
|
xcodeproj.save
|
94
99
|
|
95
100
|
# 5. Generate boilerplate Podfile.
|
96
|
-
# TODO: Determine appropriate subspecs
|
101
|
+
# TODO: Determine appropriate subspecs from contents of Libraries group
|
97
102
|
generate_podfile!
|
98
103
|
|
99
104
|
# 6. Run react-native link for each dependency.
|
@@ -133,9 +138,8 @@ module ReactNativeUtil
|
|
133
138
|
raise ConversionError, "Failed to load #{xcodeproj_path}: #{e.message}"
|
134
139
|
end
|
135
140
|
|
136
|
-
# A
|
137
|
-
# Libraries group
|
138
|
-
# @return [Array] an array of child references
|
141
|
+
# A representation of the Libraries group (if any) from the Xcode project.
|
142
|
+
# @return the Libraries group
|
139
143
|
def libraries_group
|
140
144
|
xcodeproj['Libraries']
|
141
145
|
end
|
@@ -244,7 +248,7 @@ module ReactNativeUtil
|
|
244
248
|
|
245
249
|
target = xcodeproj.targets.find { |t| t.name == app_name }
|
246
250
|
phase = target.new_shell_script_build_phase 'Start Packager'
|
247
|
-
phase.shell_script =
|
251
|
+
phase.shell_script = script
|
248
252
|
|
249
253
|
# TODO: Move this build phase to the top of the list before the pod install.
|
250
254
|
end
|
@@ -259,7 +263,10 @@ module ReactNativeUtil
|
|
259
263
|
def packager_script
|
260
264
|
react_project!.targets.first.build_phases.find { |p| p.name =~ /packager/i }.shell_script.gsub(%r{../scripts}, '../node_modules/react-native/scripts')
|
261
265
|
rescue Errno::ENOENT
|
262
|
-
log 'Could not open React.xcodeproj'
|
266
|
+
log 'Could not open React.xcodeproj. File not found.'
|
267
|
+
nil
|
268
|
+
rescue Xcodeproj::PlainInformative => e
|
269
|
+
log "Could not open React.xcodeproj. #{e.message}"
|
263
270
|
nil
|
264
271
|
end
|
265
272
|
end
|
@@ -1,6 +1,9 @@
|
|
1
1
|
class Regexp
|
2
2
|
unless defined?(match?)
|
3
3
|
# For portability to system Ruby
|
4
|
+
# TODO: Correct this. The condition above is meaningless.
|
5
|
+
# We're always overriding this method, even if it already
|
6
|
+
# exists. This is fine for now, but should be improved.
|
4
7
|
def match?(str)
|
5
8
|
!match(str).nil?
|
6
9
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# Conversion tools for React Native projects
|
2
2
|
module ReactNativeUtil
|
3
3
|
NAME = 'react_native_util'
|
4
|
-
VERSION = '0.1.
|
4
|
+
VERSION = '0.1.2'
|
5
5
|
SUMMARY = 'Community utility CLI for React Native projects'
|
6
6
|
DESCRIPTION = 'Automatically modifies a project created with react-native ' \
|
7
7
|
'init to use the React pod from node_modules.'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: react_native_util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jimmy Dee
|
@@ -70,16 +70,16 @@ dependencies:
|
|
70
70
|
name: bundler
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '1.16'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '1.16'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: pry
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|