We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 6c70ee8 commit 4d60a3cCopy full SHA for 4d60a3c
lib/generators/react/component_generator.rb
@@ -100,7 +100,7 @@ def create_component_file
100
end
101
102
# Prefer webpacker to sprockets:
103
- if defined?(Webpacker)
+ if webpacker?
104
new_file_name = file_name.camelize
105
extension = options[:coffee] ? "coffee" : "js"
106
target_dir = Webpacker::Configuration.source_path
@@ -119,6 +119,30 @@ def create_component_file
119
120
private
121
122
+ def component_name
123
+ file_name.camelize
124
+ end
125
+
126
+ def file_header
127
128
+ %|var React = require("react")\n|
129
+ else
130
+ ""
131
132
133
134
+ def file_footer
135
136
+ %|module.exports = #{component_name}|
137
138
139
140
141
142
+ def webpacker?
143
+ defined?(Webpacker)
144
145
146
def parse_attributes!
147
self.attributes = (attributes || []).map do |attr|
148
name, type, options = "", "", ""
lib/generators/templates/component.es6.jsx
@@ -1,4 +1,4 @@
1
-class <%= file_name.camelize %> extends React.Component {
+<%=file_header%>class <%= component_name %> extends React.Component {
2
render () {
3
<% if attributes.size > 0 -%>
4
return (
@@ -21,3 +21,4 @@ class <%= file_name.camelize %> extends React.Component {
21
<% end -%>
22
};
23
24
+<%= file_footer %>
lib/generators/templates/component.js.jsx
-var <%= file_name.camelize %> = React.createClass({
+<%=file_header%>var <%= component_name %> = React.createClass({
propTypes: {
<% attributes.each_with_index do |attribute, idx| -%>
@@ -21,3 +21,4 @@ var <%= file_name.camelize %> = React.createClass({
}
});
lib/generators/templates/component.js.jsx.coffee
-class @<%= file_name.camelize %> extends React.Component
+class @<%= component_name %> extends React.Component
@propTypes =
<% attributes.each do |attribute| -%>
@@ -15,4 +15,4 @@ class @<%= file_name.camelize %> extends React.Component
15
</div>`
16
<% else -%>
17
`<div />`
18
-<% end -%>
+<% end -%>
test/dummy/package.json
@@ -21,7 +21,7 @@
"rails-erb-loader": "^4.0.0",
"react": "^15.4.2",
"react-dom": "^15.4.2",
- "react_ujs": "^2.0.2",
+ "react_ujs": "^2.1.0",
25
"sass-loader": "^6.0.3",
26
"style-loader": "^0.16.1",
27
"webpack": "^2.3.3",
test/dummy/yarn.lock
@@ -3450,9 +3450,9 @@ react@^15.4.2:
3450
loose-envify "^1.1.0"
3451
object-assign "^4.1.0"
3452
3453
-react_ujs@^2.0.2:
3454
- version "2.0.2"
3455
- resolved "https://registry.yarnpkg.com/react_ujs/-/react_ujs-2.0.2.tgz#0020f38fa2e47a04c03faa080325324bfa6d1f0b"
+react_ujs@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/react_ujs/-/react_ujs-2.1.0.tgz#bef224350b09b82b01fc678718a257192d5bbf1f"
3456
3457
read-cache@^1.0.0:
3458
version "1.0.0"
test/generators/component_generator_test.rb
@@ -19,7 +19,12 @@ def filename
19
test "creates the component file" do
20
run_generator %w(GeneratedComponent)
- assert_file filename
+ assert_file filename do |contents|
+ if WebpackerHelpers.available?
+ assert_match /^var React = require\("react"\)/, contents
+ assert_match /module\.exports = GeneratedComponent\n$/m, contents
28
29
30
test "creates the component file with a node argument" do
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
0 commit comments