react-rails-api 0.1.2 → 0.1.3
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 +2 -2
- data/lib/react-rails-api/template.rb +28 -4
- data/lib/react-rails-api/version.rb +6 -1
- metadata +2 -3
- data/lib/react-rails-api/templates/package.json.tt +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e5a9f24471e54d7e380dbc368e23e2b274fabb05846966b178a793da99dde96
|
4
|
+
data.tar.gz: 3afb77d6f33dca816aeb0d20503721f7d84ddeb884ede10f122cf7d4f388293e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dcf69f0e4295aed11496fc64d65c80b9d8330810135bed47740f078e7f78dcd45f4f95bbda79cc87b6728da09a55e4927dcf716a2d77bd970c4377440954cbc4
|
7
|
+
data.tar.gz: 5086f45d6649ff1c70d55581aa7a3118ac3fe009d9406ffcd226710e6fd49ed2479c626767f07a1ea1f5c7ac111c7c849d906c738f08a544025fa384c7b6f1ec
|
data/README.md
CHANGED
@@ -17,8 +17,8 @@ This is an easy-to-use generator to implement the modern web application stack d
|
|
17
17
|
|
18
18
|
- [**Ruby**](https://www.ruby-lang.org/en/) `~> 2.5`
|
19
19
|
- [**Rails**](https://rubyonrails.org/) `~> 5.2`
|
20
|
-
- [**Node**](https://nodejs.org/en/)
|
21
|
-
- [**Yarn**](https://yarnpkg.com/en/)
|
20
|
+
- [**Node**](https://nodejs.org/en/) `^11`: *Recommend installing this with [NVM](https://github.com/creationix/nvm).*
|
21
|
+
- [**Yarn**](https://yarnpkg.com/en/) `^1.13`: *Recommend installing Node separately from this, rather than as a dependency.*
|
22
22
|
|
23
23
|
## Installation
|
24
24
|
|
@@ -1,8 +1,18 @@
|
|
1
|
+
require 'react-rails-api/version'
|
2
|
+
require 'json'
|
3
|
+
|
1
4
|
# Loads a template from ./templates
|
2
5
|
def template(name)
|
3
6
|
File.open(File.join __dir__, 'templates', name).read
|
4
7
|
end
|
5
8
|
|
9
|
+
# Allows for modification of JSON files
|
10
|
+
def modify_json(file)
|
11
|
+
hash = JSON.parse File.read(file), symbolize_names: true
|
12
|
+
yield hash if block_given?
|
13
|
+
File.open(file, ?w) {|f| f.write JSON.pretty_generate(hash)}
|
14
|
+
end
|
15
|
+
|
6
16
|
database = !ARGV.include?('--skip-active-record')
|
7
17
|
active_admin = database ? yes?("\nUse ActiveAdmin? (Y/n):") : false
|
8
18
|
puts if database
|
@@ -61,7 +71,7 @@ after_bundle do
|
|
61
71
|
|
62
72
|
inside 'config' do
|
63
73
|
# Include the railtie for sprockets
|
64
|
-
uncomment_lines 'application.rb',
|
74
|
+
uncomment_lines 'application.rb', "require \"sprockets/railtie\""
|
65
75
|
|
66
76
|
# Add ActiveAdmin configuration on config/application.rb
|
67
77
|
inject_into_file 'application.rb', template('application.rb.tt'), before: /^ end/ if active_admin
|
@@ -74,10 +84,12 @@ after_bundle do
|
|
74
84
|
end
|
75
85
|
|
76
86
|
if database
|
87
|
+
rails_command 'db:create'
|
88
|
+
|
77
89
|
if active_admin
|
78
90
|
# Integrate ActiveAdmin and Devise CMS into the application
|
91
|
+
run 'spring stop'
|
79
92
|
generate 'active_admin:install'
|
80
|
-
generate 'devise:views'
|
81
93
|
end
|
82
94
|
|
83
95
|
# Run a database migration and seed the database
|
@@ -98,14 +110,26 @@ after_bundle do
|
|
98
110
|
end
|
99
111
|
|
100
112
|
# Create a top-level package.json that tells Heroku how to compile the Create React App
|
101
|
-
|
113
|
+
modify_json 'package.json' do |json|
|
114
|
+
json[:name] = 'api'
|
115
|
+
json[:license] = 'MIT'
|
116
|
+
json[:engines] = {
|
117
|
+
node: ReactRailsAPI::ENGINE_VERSIONS[:node],
|
118
|
+
yarn: ReactRailsAPI::ENGINE_VERSIONS[:yarn]
|
119
|
+
}
|
120
|
+
json[:scripts] = {
|
121
|
+
build: "yarn --cwd client install && yarn --cwd client build",
|
122
|
+
deploy: "cp -a client/build/. public/",
|
123
|
+
postinstall: "yarn build && yarn deploy"
|
124
|
+
}
|
125
|
+
end
|
102
126
|
|
103
127
|
# Create the React application (client)
|
104
128
|
run 'yarn create react-app client'
|
105
129
|
|
106
130
|
inside 'client' do
|
107
131
|
# Add a proxy for the Rails API server (on the client)
|
108
|
-
|
132
|
+
modify_json('package.json') {|json| json[:proxy] = 'http://localhost:3001'}
|
109
133
|
# Add environment variable for skipping preflight checks (client-level)
|
110
134
|
file '.env', template('.env.tt')
|
111
135
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: react-rails-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Edwin Onuonga
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -87,7 +87,6 @@ files:
|
|
87
87
|
- lib/react-rails-api/templates/application.rb.tt
|
88
88
|
- lib/react-rails-api/templates/application_controller.rb.tt
|
89
89
|
- lib/react-rails-api/templates/database.yml.tt
|
90
|
-
- lib/react-rails-api/templates/package.json.tt
|
91
90
|
- lib/react-rails-api/templates/routes.rb.tt
|
92
91
|
- lib/react-rails-api/templates/start.rake.tt
|
93
92
|
- lib/react-rails-api/version.rb
|
@@ -1,13 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "api",
|
3
|
-
"license": "MIT",
|
4
|
-
"engines": {
|
5
|
-
"node": "11.11.0",
|
6
|
-
"yarn": "1.13.0"
|
7
|
-
},
|
8
|
-
"scripts": {
|
9
|
-
"build": "yarn --cwd client install && yarn --cwd client build",
|
10
|
-
"deploy": "cp -a client/build/. public/",
|
11
|
-
"postinstall": "yarn build && yarn deploy"
|
12
|
-
}
|
13
|
-
}
|