repack 2.4.2 → 2.4.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/example/Procfile +1 -4
- data/example/boilerplate/god_mode/components/BootstrapNavbar.js +52 -0
- data/example/boilerplate/god_mode/components/{Navbar.js → MaterialNavbar.js} +2 -2
- data/example/boilerplate/god_mode/containers/NoNavApp.js +33 -0
- data/lib/generators/repack/install_generator.rb +46 -26
- data/lib/repack/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78e6d267ffffc3eb51afc386a1382b1cfac43af7
|
4
|
+
data.tar.gz: 2d022dd91e66595577ef17c986a70fab98f49266
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e55d2f339db2928a36ea29e268586b1f5b3c34d069e745ed85631cee858f83e8576fb5bac66f5b7ed6578030b939af8ff716db596e249808dab91ce133e3521c
|
7
|
+
data.tar.gz: fb8c3b0fa4df2d90d88e232cfec6ccf63f506a2d915753b9125cbd1464570bf2dacdb50b1f8c764b6f87c6f233306becb08082a58b266f2d4e229483de1cb2ab
|
data/example/Procfile
CHANGED
@@ -0,0 +1,52 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Link } from 'react-router';
|
3
|
+
import { handleLogout } from '../actions/auth';
|
4
|
+
import { connect } from 'react-redux';
|
5
|
+
|
6
|
+
class BootstrapNavbar extends React.Component {
|
7
|
+
logout = (e) => {
|
8
|
+
e.preventDefault();
|
9
|
+
this.props.dispatch(handleLogout());
|
10
|
+
}
|
11
|
+
|
12
|
+
authLinks = () =>{
|
13
|
+
let { auth } = this.props;
|
14
|
+
if(auth && auth.isAuthenticated) {
|
15
|
+
return(
|
16
|
+
<li> <a href='#' onClick={this.logout}>Logout</a> </li>
|
17
|
+
)
|
18
|
+
} else {
|
19
|
+
return(<li> <Link to='/login'>Login</Link> </li>);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
render() {
|
24
|
+
return(
|
25
|
+
<nav className="navbar navbar-default">
|
26
|
+
<div className="container-fluid">
|
27
|
+
<div className="navbar-header">
|
28
|
+
<button type="button" className="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
|
29
|
+
<span className="sr-only">Toggle navigation</span>
|
30
|
+
<span className="icon-bar"></span>
|
31
|
+
<span className="icon-bar"></span>
|
32
|
+
<span className="icon-bar"></span>
|
33
|
+
</button>
|
34
|
+
<a className="navbar-brand" href="#">Brand</a>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<div className="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
38
|
+
<ul className="nav navbar-nav navbar-right">
|
39
|
+
{ this.authLinks() }
|
40
|
+
</ul>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
</nav>
|
44
|
+
);
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
const mapStateToProps = (state) => {
|
49
|
+
return { auth: state.auth }
|
50
|
+
}
|
51
|
+
|
52
|
+
export default connect(mapStateToProps)(BootstrapNavbar);
|
@@ -3,7 +3,7 @@ import { Link } from 'react-router';
|
|
3
3
|
import { handleLogout } from '../actions/auth';
|
4
4
|
import { connect } from 'react-redux';
|
5
5
|
|
6
|
-
class
|
6
|
+
class MaterialNavbar extends React.Component {
|
7
7
|
logout = (e) => {
|
8
8
|
e.preventDefault();
|
9
9
|
this.props.dispatch(handleLogout());
|
@@ -42,4 +42,4 @@ const mapStateToProps = (state) => {
|
|
42
42
|
return { auth: state.auth }
|
43
43
|
}
|
44
44
|
|
45
|
-
export default connect(mapStateToProps)(
|
45
|
+
export default connect(mapStateToProps)(MaterialNavbar);
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { connect } from 'react-redux';
|
3
|
+
import { refreshLogin } from '../actions/auth';
|
4
|
+
import FlashMessage from '../components/FlashMessage';
|
5
|
+
import { clearFlash } from '../actions/flash';
|
6
|
+
|
7
|
+
class App extends React.Component {
|
8
|
+
componentDidMount() {
|
9
|
+
this.props.dispatch(refreshLogin());
|
10
|
+
}
|
11
|
+
|
12
|
+
componentDidUpdate() {
|
13
|
+
this.props.dispatch(clearFlash());
|
14
|
+
}
|
15
|
+
|
16
|
+
render() {
|
17
|
+
let { auth, children } = this.props;
|
18
|
+
|
19
|
+
return(
|
20
|
+
<div>
|
21
|
+
<div style={{ marginBottom: '30px' }}>
|
22
|
+
<FlashMessage />
|
23
|
+
</div>
|
24
|
+
<div className='container'>
|
25
|
+
{ children }
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
export default connect()(App);
|
33
|
+
|
@@ -47,8 +47,10 @@ module Repack
|
|
47
47
|
def copy_webpack_conf
|
48
48
|
copy_file "webpack.config.js", "config/webpack.config.js"
|
49
49
|
if yes?('Are you going to be deploying to heroku? (yes \ no)')
|
50
|
-
puts '
|
50
|
+
puts 'Copying Heroku Webpack Config!'
|
51
51
|
copy_file "webpack.config.heroku.js", "config/webpack.config.heroku.js"
|
52
|
+
puts 'Adding Basic Puma Proc File'
|
53
|
+
copy_file "Procfile", 'Procfile'
|
52
54
|
end
|
53
55
|
end
|
54
56
|
|
@@ -131,6 +133,7 @@ module Repack
|
|
131
133
|
end
|
132
134
|
end
|
133
135
|
end
|
136
|
+
|
134
137
|
def add_to_gitignore
|
135
138
|
append_to_file ".gitignore" do
|
136
139
|
<<-EOF.strip_heredoc
|
@@ -141,23 +144,27 @@ module Repack
|
|
141
144
|
end
|
142
145
|
end
|
143
146
|
|
144
|
-
def install_yarn
|
145
|
-
if yes?('Do you want to global install and use yarn as your package manager? (yes / no)')
|
146
|
-
@yarn_installed = true
|
147
|
-
run "npm install yarn -g"
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
|
-
def run_package_manager_install
|
152
|
-
if @yarn_installed
|
153
|
-
run "yarn install" if yes?("Would you like us to run 'yarn install' for you?")
|
154
|
-
else
|
155
|
-
run "npm install" if yes?("Would you like us to run 'npm install' for you?")
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
147
|
def finishing_god_move
|
160
148
|
if options[:god]
|
149
|
+
nav_template = ask('Frontend Framework: 1) Materialize, 2) Bootstrap, 3) None').strip
|
150
|
+
case nav_template
|
151
|
+
when 1
|
152
|
+
copy_file "boilerplate/god_mode/components/MaterialNavbar.js", "client/components/Navbar.js"
|
153
|
+
when 2
|
154
|
+
copy_file "boilerplate/god_mode/components/BootstrapNavbar.js", "client/components/Navbar.js"
|
155
|
+
when 3
|
156
|
+
puts 'No Navbar template, all the components are ready for you to implement however you want.'
|
157
|
+
else
|
158
|
+
puts 'Wrong template choice, try again!'
|
159
|
+
finishing_god_move
|
160
|
+
end
|
161
|
+
|
162
|
+
if nav_template == '3'
|
163
|
+
copy_file "boilerplate/god_mode/containers/NoNavApp.js", "client/containers/App.js"
|
164
|
+
else
|
165
|
+
copy_file "boilerplate/god_mode/containers/App.js", "client/containers/App.js"
|
166
|
+
end
|
167
|
+
|
161
168
|
copy_file "boilerplate/router_redux/application.js", "client/application.js"
|
162
169
|
copy_file "boilerplate/god_mode/routes.js", "client/routes.js"
|
163
170
|
copy_file "boilerplate/router_redux/store.js", "client/store.js"
|
@@ -169,7 +176,6 @@ module Repack
|
|
169
176
|
copy_file "boilerplate/god_mode/components/Login.js", "client/components/Login.js"
|
170
177
|
copy_file "boilerplate/god_mode/components/SignUp.js", "client/components/SignUp.js"
|
171
178
|
copy_file "boilerplate/god_mode/components/Loading.js", "client/components/Loading.js"
|
172
|
-
copy_file "boilerplate/god_mode/containers/App.js", "client/containers/App.js"
|
173
179
|
copy_file "boilerplate/god_mode/reducers/auth.js", "client/reducers/auth.js"
|
174
180
|
copy_file "boilerplate/god_mode/reducers/flash.js", "client/reducers/flash.js"
|
175
181
|
copy_file "boilerplate/god_mode/reducers/index.js", "client/reducers/index.js"
|
@@ -209,24 +215,38 @@ respond_to :json
|
|
209
215
|
end
|
210
216
|
|
211
217
|
def whats_next
|
218
|
+
if options[:god]
|
219
|
+
puts <<-EOF.strip_heredoc
|
220
|
+
██████╗ ██████╗ ██████╗ ███╗ ███╗ ██████╗ ██████╗ ███████╗ ███████╗███╗ ██╗ █████╗ ██████╗ ██╗ ███████╗██████╗
|
221
|
+
██╔════╝ ██╔═══██╗██╔══██╗ ████╗ ████║██╔═══██╗██╔══██╗██╔════╝ ██╔════╝████╗ ██║██╔══██╗██╔══██╗██║ ██╔════╝██╔══██╗
|
222
|
+
██║ ███╗██║ ██║██║ ██║ ██╔████╔██║██║ ██║██║ ██║█████╗ █████╗ ██╔██╗ ██║███████║██████╔╝██║ █████╗ ██║ ██║
|
223
|
+
██║ ██║██║ ██║██║ ██║ ██║╚██╔╝██║██║ ██║██║ ██║██╔══╝ ██╔══╝ ██║╚██╗██║██╔══██║██╔══██╗██║ ██╔══╝ ██║ ██║
|
224
|
+
╚██████╔╝╚██████╔╝██████╔╝ ██║ ╚═╝ ██║╚██████╔╝██████╔╝███████╗ ███████╗██║ ╚████║██║ ██║██████╔╝███████╗███████╗██████╔╝
|
225
|
+
╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚═════╝
|
226
|
+
|
227
|
+
Note: If you chose a frontend framework you still need to install and configure that gem in your project.
|
228
|
+
|
229
|
+
EOF
|
230
|
+
end
|
212
231
|
puts <<-EOF.strip_heredoc
|
213
232
|
We've set up the basics of repack for you, but you'll still
|
214
233
|
need to:
|
215
|
-
1.
|
216
|
-
2.
|
217
|
-
3.
|
218
|
-
4. Run '
|
219
|
-
5.
|
220
|
-
|
221
|
-
|
222
|
-
|
234
|
+
1. run yarn install or npm install depending on what package manager you are using
|
235
|
+
2. Add an element with an id of 'app' to your layout
|
236
|
+
3. To disable hot module replacement remove <script src="http://localhost:3808/webpack-dev-server.js"></script> from layout
|
237
|
+
4. Run 'yarn run dev_server' to run the webpack-dev-server
|
238
|
+
5. Run 'bundle exec rails s' to run the rails server (both servers must be running)
|
239
|
+
6. If you are using react-router or god mode and want to sync server routes add:
|
240
|
+
get '*unmatched_route', to: <your client controller>#<default action>
|
241
|
+
This must be the very last route in your routes.rb file
|
242
|
+
e.g. get '*unmatched_route', to: 'home#index'
|
223
243
|
FOR HEROKU DEPLOYS:
|
224
244
|
1. yarn run heroku-setup
|
225
245
|
2. Push to heroku the post-build hook will take care of the rest
|
226
246
|
See the README.md for this gem at
|
227
247
|
https://github.com/cottonwoodcoding/repack/blob/master/README.md
|
228
248
|
for more info.
|
229
|
-
Thanks for using
|
249
|
+
Thanks for using Repack!
|
230
250
|
EOF
|
231
251
|
end
|
232
252
|
end
|
data/lib/repack/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: repack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Jungst
|
@@ -43,12 +43,14 @@ files:
|
|
43
43
|
- example/boilerplate/application.js
|
44
44
|
- example/boilerplate/god_mode/actions/auth.js
|
45
45
|
- example/boilerplate/god_mode/actions/flash.js
|
46
|
+
- example/boilerplate/god_mode/components/BootstrapNavbar.js
|
46
47
|
- example/boilerplate/god_mode/components/FlashMessage.js
|
47
48
|
- example/boilerplate/god_mode/components/Loading.js
|
48
49
|
- example/boilerplate/god_mode/components/Login.js
|
49
|
-
- example/boilerplate/god_mode/components/
|
50
|
+
- example/boilerplate/god_mode/components/MaterialNavbar.js
|
50
51
|
- example/boilerplate/god_mode/components/SignUp.js
|
51
52
|
- example/boilerplate/god_mode/containers/App.js
|
53
|
+
- example/boilerplate/god_mode/containers/NoNavApp.js
|
52
54
|
- example/boilerplate/god_mode/controllers/api/users_controller.rb
|
53
55
|
- example/boilerplate/god_mode/reducers/auth.js
|
54
56
|
- example/boilerplate/god_mode/reducers/flash.js
|