@samitouri / QOS-React-2 / commits / 61f7a5613b

Removed unknown tag warning/whitelist.

Jim committed Jan 8, 2015 at 13:01 UTC 61f7a5613bffaf70b79606654c945a40e744c099
3 files changed +4 -162
vendor/fbtransform/transforms/__tests__/react-test.js
+4 -15
@@ -19,11 +19,6 @@ describe('react jsx', function() {
19 var transformAll = require('../../syntax.js').transformAll;
20 var xjs = require('../xjs.js');
21
22 - // Add <font-face> to list of known tags to ensure that when we test support
23 - // for hyphentated known tags, it's there.
24 - // TODO: remove this when/if <font-face> is supported out of the box.
25 - xjs.knownTags['font-face'] = true;
26 -
22 var transform = function(code, options, excludes) {
23 return transformAll(
24 code,
@@ -272,13 +267,8 @@ describe('react jsx', function() {
267
268 it('should handle hasOwnProperty correctly', function() {
269 var code = '<hasOwnProperty>testing</hasOwnProperty>;';
275 - // var result = 'React.createElement("hasOwnProperty", null, "testing");';
276 -
277 - // expect(transform(code).code).toBe(result);
278 -
279 - // This is currently not supported, and will generate a string tag in
280 - // a follow up.
281 - expect(() => transform(code)).toThrow();
270 + var result = 'React.createElement("hasOwnProperty", null, "testing");';
271 + expect(transform(code).code).toBe(result);
272 });
273
274 it('should allow constructor as prop', function() {
@@ -346,10 +336,9 @@ describe('react jsx', function() {
336 ).not.toBeCalled();
337 });
338
349 - it('should throw for unknown hyphenated tags', function() {
339 + it('should not throw for unknown hyphenated tags', function() {
340 var code = '<x-component />;';
351 -
352 - expect(() => transform(code)).toThrow();
341 + transform(code); // Asserting it doesn't throw
342 });
343
344 it('calls assign with a new target object for spreads', function() {
vendor/fbtransform/transforms/react.js
-10
@@ -12,7 +12,6 @@
12 var Syntax = require('jstransform').Syntax;
13 var utils = require('jstransform/src/utils');
14
15 -var FALLBACK_TAGS = require('./xjs').knownTags;
15 var renderXJSExpressionContainer =
16 require('./xjs').renderXJSExpressionContainer;
17 var renderXJSLiteral = require('./xjs').renderXJSLiteral;
@@ -58,17 +57,8 @@ function visitReactTag(traverse, object, path, state) {
57 // We assume that the React runtime is already in scope
58 utils.append('React.createElement(', state);
59
61 - // Identifiers with lower case or hypthens are fallback tags (strings).
60 // XJSMemberExpressions are not.
61 if (nameObject.type === Syntax.XJSIdentifier && isTagName(nameObject.name)) {
64 - // This is a temporary error message to assist upgrades
65 - if (!FALLBACK_TAGS.hasOwnProperty(nameObject.name)) {
66 - throw new Error(
67 - 'Lower case component names (' + nameObject.name + ') are no longer ' +
68 - 'supported in JSX: See http://fb.me/react-jsx-lower-case'
69 - );
70 - }
71 -
62 utils.append('"' + nameObject.name + '"', state);
63 utils.move(nameObject.range[1], state);
64 } else {
vendor/fbtransform/transforms/xjs.js
-137
@@ -11,142 +11,6 @@
11 var Syntax = require('jstransform').Syntax;
12 var utils = require('jstransform/src/utils');
13
14 -var knownTags = {
15 - a: true,
16 - abbr: true,
17 - address: true,
18 - applet: true,
19 - area: true,
20 - article: true,
21 - aside: true,
22 - audio: true,
23 - b: true,
24 - base: true,
25 - bdi: true,
26 - bdo: true,
27 - big: true,
28 - blockquote: true,
29 - body: true,
30 - br: true,
31 - button: true,
32 - canvas: true,
33 - caption: true,
34 - circle: true,
35 - cite: true,
36 - code: true,
37 - col: true,
38 - colgroup: true,
39 - command: true,
40 - data: true,
41 - datalist: true,
42 - dd: true,
43 - defs: true,
44 - del: true,
45 - details: true,
46 - dfn: true,
47 - dialog: true,
48 - div: true,
49 - dl: true,
50 - dt: true,
51 - ellipse: true,
52 - em: true,
53 - embed: true,
54 - fieldset: true,
55 - figcaption: true,
56 - figure: true,
57 - footer: true,
58 - form: true,
59 - g: true,
60 - h1: true,
61 - h2: true,
62 - h3: true,
63 - h4: true,
64 - h5: true,
65 - h6: true,
66 - head: true,
67 - header: true,
68 - hgroup: true,
69 - hr: true,
70 - html: true,
71 - i: true,
72 - iframe: true,
73 - img: true,
74 - input: true,
75 - ins: true,
76 - kbd: true,
77 - keygen: true,
78 - label: true,
79 - legend: true,
80 - li: true,
81 - line: true,
82 - linearGradient: true,
83 - link: true,
84 - main: true,
85 - map: true,
86 - mark: true,
87 - marquee: true,
88 - mask: false,
89 - menu: true,
90 - menuitem: true,
91 - meta: true,
92 - meter: true,
93 - nav: true,
94 - noscript: true,
95 - object: true,
96 - ol: true,
97 - optgroup: true,
98 - option: true,
99 - output: true,
100 - p: true,
101 - param: true,
102 - path: true,
103 - pattern: false,
104 - picture: true,
105 - polygon: true,
106 - polyline: true,
107 - pre: true,
108 - progress: true,
109 - q: true,
110 - radialGradient: true,
111 - rect: true,
112 - rp: true,
113 - rt: true,
114 - ruby: true,
115 - s: true,
116 - samp: true,
117 - script: true,
118 - section: true,
119 - select: true,
120 - small: true,
121 - source: true,
122 - span: true,
123 - stop: true,
124 - strong: true,
125 - style: true,
126 - sub: true,
127 - summary: true,
128 - sup: true,
129 - svg: true,
130 - table: true,
131 - tbody: true,
132 - td: true,
133 - text: true,
134 - textarea: true,
135 - tfoot: true,
136 - th: true,
137 - thead: true,
138 - time: true,
139 - title: true,
140 - tr: true,
141 - track: true,
142 - tspan: true,
143 - u: true,
144 - ul: true,
145 - 'var': true,
146 - video: true,
147 - wbr: true
148 -};
149 -
14 function renderXJSLiteral(object, isLast, state, start, end) {
15 var lines = object.value.split(/\r\n|\n|\r/);
16
@@ -241,7 +105,6 @@ function trimLeft(value) {
105 return value.replace(/^[ ]+/, '');
106 }
107
244 -exports.knownTags = knownTags;
108 exports.renderXJSExpressionContainer = renderXJSExpressionContainer;
109 exports.renderXJSLiteral = renderXJSLiteral;
110 exports.quoteAttrName = quoteAttrName;