File tree Expand file tree Collapse file tree 2 files changed +45
-2
lines changed
Expand file tree Collapse file tree 2 files changed +45
-2
lines changed Original file line number Diff line number Diff line change @@ -23,7 +23,8 @@ module.exports = {
2323 'sort-comp' : require ( './lib/rules/sort-comp' ) ,
2424 'require-extension' : require ( './lib/rules/require-extension' ) ,
2525 'jsx-no-duplicate-props' : require ( './lib/rules/jsx-no-duplicate-props' ) ,
26- 'jsx-max-props-per-line' : require ( './lib/rules/jsx-max-props-per-line' )
26+ 'jsx-max-props-per-line' : require ( './lib/rules/jsx-max-props-per-line' ) ,
27+ 'no-literals' : require ( './lib/rules/no-literals' )
2728 } ,
2829 rulesConfig : {
2930 'jsx-uses-react' : 0 ,
@@ -47,6 +48,7 @@ module.exports = {
4748 'sort-comp' : 0 ,
4849 'require-extension' : 0 ,
4950 'jsx-no-duplicate-props' : 0 ,
50- 'jsx-max-props-per-line' : 0
51+ 'jsx-max-props-per-line' : 0 ,
52+ 'no-literals' : 0
5153 }
5254} ;
Original file line number Diff line number Diff line change 1+ /*
2+ * @fileoverview Prevent using string literals in React component definition
3+ * @author Caleb Morris
4+ */
5+ 'use strict' ;
6+
7+ // ------------------------------------------------------------------------------
8+ // Rule Definition
9+ // ------------------------------------------------------------------------------
10+
11+ module . exports = function ( context ) {
12+
13+ function reportLiteralNode ( node ) {
14+ context . report ( node , 'Missing JSX expression container around literal string' ) ;
15+ }
16+
17+ // --------------------------------------------------------------------------
18+ // Public
19+ // --------------------------------------------------------------------------
20+
21+ return {
22+
23+ Literal : function ( node ) {
24+ if (
25+ / [ \S ] / . test ( node . value ) &&
26+ node . parent &&
27+ node . parent . type !== 'JSXExpressionContainer'
28+ ) {
29+ reportLiteralNode ( node ) ;
30+ }
31+ }
32+
33+ } ;
34+
35+ } ;
36+
37+ module . exports . schema = [ {
38+ type : 'object' ,
39+ properties : { } ,
40+ additionalProperties : false
41+ } ] ;
You can’t perform that action at this time.
0 commit comments