react_rails_webpack 2.0.9 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/lib/react_rails_webpack/client/.babelrc +3 -0
- data/lib/react_rails_webpack/client/package.json +22 -27
- data/lib/react_rails_webpack/client/test/redux/actions/set_greeting_spec.js +4 -4
- data/lib/react_rails_webpack/client/webpack.config.js +36 -14
- data/lib/react_rails_webpack/package.json +0 -1
- data/lib/react_rails_webpack/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: a14f21ceb9ab3f83319a1cbd212421eb9f9c8a8d
|
4
|
+
data.tar.gz: ae9f1405f883f6f27524353742c560c1a2bdd160
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8aa6609422e0d2f36b7fb9ee19ca4240a981d3e32b4d9b52c9c9e56faf1e018773255b90c8f56c0ed110f7f655d18ee698deb2fcd59896f62530b424429f1172
|
7
|
+
data.tar.gz: f53810888632ab2b93bfbd47de30773f66865e293ef95b6cf1002cee032a51297c6daed87ac75966cdadb3a4af75a41f9f88e7adf8043fd538b5cb5a918c6a16
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
## Changelog
|
2
|
+
|
3
|
+
### 3.0.0
|
4
|
+
- MANY BIG CHANGES
|
5
|
+
- Trim package.json dependencies
|
6
|
+
- Update package.json dependency versions
|
7
|
+
- Remove npm "prebuild" command from package.json
|
8
|
+
- Replace "minify" webpack option with custom UglifyJS options
|
9
|
+
- Depend on main hjs-webpack repo instead of customized fork (UglifyJS options enabled this)
|
10
|
+
- Add .babelrc file
|
11
|
+
- Correct broken redux test
|
12
|
+
- Start keeping a changelog
|
@@ -4,45 +4,40 @@
|
|
4
4
|
"description": "react client-side",
|
5
5
|
"main": "index.js",
|
6
6
|
"scripts": {
|
7
|
-
"start": "
|
8
|
-
"prebuild": "rm -rf ../app/assets/webpack && mkdir ../app/assets/webpack",
|
7
|
+
"start": "hjs-dev-server",
|
9
8
|
"build": "NODE_ENV=production webpack",
|
10
9
|
"test": "mocha --compilers js:babel-core/register --require ./test/test_helper.js 'test/**/*.@(js|jsx)'"
|
11
10
|
},
|
12
11
|
"author": "",
|
13
12
|
"license": "ISC",
|
14
13
|
"dependencies": {
|
15
|
-
"
|
16
|
-
"babel": "^5.8.23",
|
17
|
-
"babel-loader": "^5.3.2",
|
18
|
-
"css-loader": "^0.21.0",
|
19
|
-
"file-loader": "^0.8.4",
|
20
|
-
"history": "^1.12.5",
|
21
|
-
"hjs-webpack": "neurodynamic/hjs-webpack",
|
22
|
-
"json-loader": "^0.5.3",
|
23
|
-
"postcss-loader": "^0.7.0",
|
24
|
-
"react": "^0.14.6",
|
25
|
-
"react-dom": "^0.14.0",
|
26
|
-
"react-hot-loader": "^1.3.0",
|
27
|
-
"react-redux": "^4.0.6",
|
28
|
-
"react-script-loader": "0.0.1",
|
29
|
-
"react-tap-event-plugin": "^0.2.1",
|
30
|
-
"redux": "^3.0.4",
|
31
|
-
"redux-form": "^4.0.7",
|
32
|
-
"style-loader": "^0.13.0",
|
33
|
-
"url-loader": "^0.5.6",
|
34
|
-
"webpack": "^1.12.6",
|
35
|
-
"webpack-dev-server": "^1.12.1"
|
14
|
+
"react": "^15.0.0"
|
36
15
|
},
|
37
16
|
"devDependencies": {
|
17
|
+
"autoprefixer": "^6.3.6",
|
18
|
+
"babel": "^6.5.2",
|
19
|
+
"babel-core": "^6.7.6",
|
20
|
+
"babel-loader": "^6.2.4",
|
21
|
+
"babel-preset-es2015": "^6.6.0",
|
22
|
+
"babel-preset-react": "^6.5.0",
|
23
|
+
"babel-preset-react-hmre": "^1.1.1",
|
38
24
|
"chai": "^3.4.0",
|
39
25
|
"chai-immutable": "^1.3.0",
|
26
|
+
"css-loader": "^0.23.1",
|
27
|
+
"hjs-webpack": "^8.3.0",
|
40
28
|
"jsdom": "^7.0.2",
|
41
29
|
"mocha": "^2.3.3",
|
42
30
|
"node-sass": "^3.4.2",
|
43
|
-
"
|
44
|
-
"
|
45
|
-
"redux
|
46
|
-
"
|
31
|
+
"postcss-loader": "^0.8.2",
|
32
|
+
"react-dom": "^15.0.1",
|
33
|
+
"react-redux": "^4.4.5",
|
34
|
+
"react-tap-event-plugin": "^1.0.0",
|
35
|
+
"redux": "^3.5.2",
|
36
|
+
"redux-devtools": "^3.3.1",
|
37
|
+
"redux-devtools-dock-monitor": "^1.1.1",
|
38
|
+
"redux-devtools-log-monitor": "^1.0.11",
|
39
|
+
"sass-loader": "^3.1.1",
|
40
|
+
"style-loader": "^0.13.1",
|
41
|
+
"webpack": "^1.12.15"
|
47
42
|
}
|
48
43
|
}
|
@@ -5,13 +5,13 @@ import {setGreeting} from '../../../src/redux/reducer'
|
|
5
5
|
|
6
6
|
describe('setGreeting', () => {
|
7
7
|
it('sets the greeting', () => {
|
8
|
-
const initialState = 'Heck off'
|
8
|
+
const initialState = { greeting: 'Heck off' }
|
9
|
+
const betterGreeting = 'Lovely to meet you'
|
9
10
|
|
10
|
-
const action = setGreeting(
|
11
|
+
const action = setGreeting(betterGreeting)
|
11
12
|
|
12
13
|
const nextState = reducer(initialState, action)
|
13
|
-
const expectedState = 'Lovely to meet you'
|
14
14
|
|
15
|
-
expect(nextState).to.equal(
|
15
|
+
expect(nextState.greeting).to.equal(betterGreeting)
|
16
16
|
})
|
17
17
|
})
|
@@ -1,31 +1,54 @@
|
|
1
1
|
/*
|
2
2
|
Welcome to the Webpack configuration file!
|
3
|
+
|
4
|
+
The react_rails_webpack gem uses the hjs-webpack npm package to configure webpack.
|
5
|
+
|
6
|
+
Any options available in hjs-webpack are available here.
|
7
|
+
|
8
|
+
hjs-webpack repo: https://github.com/HenrikJoreteg/hjs-webpack
|
9
|
+
hjs-webpack tutorial (for an outdated version, but concepts are relatively unchanged): http://learn.humanjavascript.com/react-ampersand/setting-up-webpack
|
3
10
|
*/
|
4
11
|
|
5
12
|
require('webpack')
|
6
13
|
var getConfig = require('hjs-webpack') // This setup is largely based on the hjs-webpack npm package
|
7
14
|
var environment = require('./environment.json')
|
8
15
|
|
16
|
+
// I disable most of the UglifyJS minification by default
|
17
|
+
// so that if any weird errors happen on the Rails side
|
18
|
+
// it is still possible to track them down in the
|
19
|
+
// compiled code. Rails will uglify assets on its own.
|
20
|
+
var uglifyOpts = {
|
21
|
+
compress: false,
|
22
|
+
mangle: false,
|
23
|
+
beautify: { semicolons: false },
|
24
|
+
sourceMap: false,
|
25
|
+
output: { comments: true }
|
26
|
+
}
|
27
|
+
|
9
28
|
var config = getConfig({
|
10
29
|
in: 'src/app.js', // Tells webpack to look in the src/app.js file to find the code for components and rendering
|
11
30
|
out: '../app/assets/webpack', // Tells webpack to put compiled files into ../app/assets/webpack when it runs
|
12
|
-
|
13
|
-
|
31
|
+
clearBeforeBuild: true, // Tells webpack to destroy and remake pre-existing OUT folder before compiling files to it
|
32
|
+
uglify: uglifyOpts, // Tells webpack to destroy and remake pre-existing OUT folder before compiling files to it
|
33
|
+
html: function (data) {
|
34
|
+
var sourceFileNote = "<aside class='source'>Find the source for this page in client/webpack.config.js</aside>"
|
35
|
+
|
36
|
+
// The divs below will get detected by React because they have the "react-component-target" class
|
37
|
+
// If you want to test a new component, you'll have to edit one of these accordingly or
|
38
|
+
// add another div with the "react-component-target" class and pass it the appropriate
|
39
|
+
// component name and props in the "data-componentname" and "data-componentprops" attributes
|
40
|
+
// just like the ones below.
|
41
|
+
var plainReactComponent = "<div class=\"react-component-target\" data-componentname=\"Hello\" data-componentprops='{ \"details\": \"My initial greeting was set with getInitialState in the client/src/components/Hello.jsx file.\" }'></div>"
|
42
|
+
var reduxComponent = "<div class=\"react-component-target\" data-componentname=\"HelloWithRedux\" data-componentprops='{ \"details\": \"My initial greeting was set with initialState in the client/src/redux/reducer.js file.\" }'></div>"
|
43
|
+
|
14
44
|
return {
|
15
45
|
'index.html':
|
16
|
-
|
46
|
+
data.defaultTemplate(
|
17
47
|
{
|
48
|
+
// Other options you could pass include 'title' and 'head':
|
18
49
|
// title: 'Site Title'
|
19
50
|
// head: '<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>',
|
20
|
-
html:
|
21
|
-
|
22
|
-
// The divs below will get detected by React because they have the "react-component-target" class
|
23
|
-
// If you want to test a new component, you'll have to edit one of these accordingly or
|
24
|
-
// add another div with the "react-component-target" class and pass it the appropriate
|
25
|
-
// component name and props in the "data-componentname" and "data-componentprops" attributes
|
26
|
-
// just like the ones below.
|
27
|
-
"<div class=\"react-component-target\" data-componentname=\"Hello\" data-componentprops='{ \"details\": \"My initial greeting was set with getInitialState in the client/src/components/Hello.jsx file.\" }'></div>" +
|
28
|
-
"<div class=\"react-component-target\" data-componentname=\"HelloWithRedux\" data-componentprops='{ \"details\": \"My initial greeting was set with initialState in the client/src/redux/reducer.js file.\" }'></div>"
|
51
|
+
html: (sourceFileNote + plainReactComponent + reduxComponent)
|
29
52
|
}
|
30
53
|
)
|
31
54
|
}
|
@@ -36,8 +59,7 @@ var config = getConfig({
|
|
36
59
|
// On a Mac, to see your computer's name on your network,
|
37
60
|
// go to System Preferences, and then the "Sharing" menu,
|
38
61
|
// and you should see it in the "Computer Name" input field
|
39
|
-
hostname: environment.hostname
|
40
|
-
isDev: process.env.NODE_ENV !== 'production'
|
62
|
+
hostname: environment.hostname
|
41
63
|
})
|
42
64
|
|
43
65
|
module.exports = config
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: react_rails_webpack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Neurodynamic
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -74,6 +74,7 @@ extensions: []
|
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
76
|
- ".gitignore"
|
77
|
+
- CHANGELOG.md
|
77
78
|
- CODE_OF_CONDUCT.md
|
78
79
|
- Gemfile
|
79
80
|
- LICENSE.txt
|
@@ -85,6 +86,7 @@ files:
|
|
85
86
|
- lib/react_rails_webpack/app/controllers/react_example_controller.rb
|
86
87
|
- lib/react_rails_webpack/app/helpers/react_helper.rb
|
87
88
|
- lib/react_rails_webpack/app/views/react_example/greeting.html.erb
|
89
|
+
- lib/react_rails_webpack/client/.babelrc
|
88
90
|
- lib/react_rails_webpack/client/environment.json
|
89
91
|
- lib/react_rails_webpack/client/package.json
|
90
92
|
- lib/react_rails_webpack/client/src/app.js
|