react_native_util 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|