Commit graph

47 commits

Author SHA1 Message Date
Ryan Cavanaugh
5f024a3c9f Merge pull request #6358 from RyanCavanaugh/fix6349
Change logic in identifying JSX React SFCs
2016-01-12 15:40:52 -08:00
Ryan Cavanaugh
aed73bd139 Merge pull request #6291 from RyanCavanaugh/fix6280
Issue correct errors for missing JSX closing tags
2016-01-05 10:23:49 -08:00
Ryan Cavanaugh
53106cb5ed Change logic in identifying SFCs
Our logic for detecting SFC vs Element Class had a few issues:
 * Object Type flag is not actually useful
 * Parameter arity isn't actually relevant
 * The check for Element Class should take priority

Fixes #6349 and #6353
2016-01-04 23:00:22 -08:00
Ryan Cavanaugh
0debd2b6cd Merge pull request #6290 from RyanCavanaugh/fix5865
Tag 'react' import as used if it exists when targeting --jsx preserve
2016-01-04 07:47:01 -08:00
Ryan Cavanaugh
7aa8ba6ba7 Add test for non-used React import 2016-01-01 09:24:07 -08:00
Ryan Cavanaugh
2c4856ae71 Issue correct errors for missing JSX closing tags
Fixes #6280
2015-12-29 16:00:15 -08:00
Ryan Cavanaugh
7b36432cf0 Add test to verify no error when 'React' is not in scope 2015-12-29 14:57:22 -08:00
Ryan Cavanaugh
e12855bca0 Escape quotes when they appear as HTML entities in JSX text
Fixes #6241
2015-12-29 12:39:27 -08:00
Ryan Cavanaugh
023e375835 Properly handle multiply-declared optional properties in JSX attr. type
Fixes #6029
2015-12-14 16:44:26 -08:00
Ryan Cavanaugh
51c547428b Parse JSX attributes as AssignmentExpressions
We should issue an error when parsing `<div x={1, 2} />` as the comma operator is not a legal production in a JSX Expression

Fixes (mitigates?) bug #5991
2015-12-08 09:53:47 -08:00
Ryan Cavanaugh
04f8c32d32 Identify JSX closing tags as identifiers so they emit correctly
Fixes bug #5955
2015-12-07 11:07:37 -08:00
Ryan Cavanaugh
bafe053925 Merge branch 'master' into statelessFunctionComponents 2015-12-01 14:21:33 -08:00
Ryan Cavanaugh
ea29793acd Quote only names that need to be quoted, not the reverse 2015-11-12 11:02:19 -08:00
Ryan Cavanaugh
3426aa6644 Test cleanup 2015-11-10 12:59:47 -08:00
Ryan Cavanaugh
e30a64fbdf JSX SFC WIP 2015-11-09 23:10:04 -08:00
Ryan Cavanaugh
dbf5762156 SFCs for JSX WIP 2015-11-03 13:05:11 -08:00
Ryan Cavanaugh
6ccb2a5ef2 Better error recovery for adjacent JSX elements in expression positions
Fixes #5286
2015-10-16 13:47:57 -07:00
Ryan Cavanaugh
d229ae4be5 Escape quotes when emitting React 2015-10-08 11:28:18 -07:00
Ryan Cavanaugh
590569b87d Handle indirect imports of JSX elements from external modules
Fixes #4675
2015-09-30 15:20:56 -07:00
Ryan Cavanaugh
f780d68499 Allow /* comments between < and JSX element name 2015-09-28 16:11:10 -07:00
Ryan Cavanaugh
0e4fdf8373 Use synthetic identifier during emit instead 2015-08-26 16:12:50 -07:00
Ryan Cavanaugh
6b5a14a353 CR feedback 2015-08-26 15:28:21 -07:00
Ryan Cavanaugh
c68fc53e37 Correctly emit imported 'React' references in JSX.
Fixes bug #4422
2015-08-26 13:26:51 -07:00
Ryan Cavanaugh
27dabe49e0 Merge remote-tracking branch 'upstream/master' into fix4376_2
# Conflicts:
#	src/compiler/emitter.ts
2015-08-21 14:49:48 -07:00
Ryan Cavanaugh
6eca09b062 Handle non-entities as well 2015-08-20 12:30:12 -07:00
Ryan Cavanaugh
67f81bc53c Convert HTML entities to strings (#4125) 2015-08-20 12:20:28 -07:00
Ryan Cavanaugh
f659c9098c Fix React whitespace emit #4376 2015-08-20 11:38:03 -07:00
Ryan Cavanaugh
5f96788ddb Implements #4105 - a string indexer in 'props' disables errors
due to surplus attributes
2015-07-31 09:55:11 -07:00
Ryan Cavanaugh
7e9e920d1e Merge pull request #4079 from RyanCavanaugh/fixJsxSourceMaps
Correctly emit source maps when emitting JSX text under --jsx preserve
2015-07-30 22:11:14 -07:00
Ryan Cavanaugh
d4bb3539e0 Add a source map test for JSX preserve 2015-07-29 14:49:57 -07:00
Ryan Cavanaugh
da39a8be10 Don't forget about spread attributes 2015-07-28 15:31:39 -07:00
Ryan Cavanaugh
fc9b10eeb6 Correctly identify JSX expressions as identifier parents 2015-07-28 13:49:39 -07:00
Ryan Cavanaugh
24d22da804 Merge remote-tracking branch 'upstream/master' into fix3737 2015-07-07 15:36:13 -07:00
Ryan Cavanaugh
363dc03d8e Delete some files that shouldn't have existed 2015-07-07 12:54:20 -07:00
Ryan Cavanaugh
311d20fa99 Fix bug #3737 (exported JSX classes props not validated) 2015-07-07 12:46:58 -07:00
Ryan Cavanaugh
1fa74c56a7 Fix up other React tests 2015-07-07 11:37:55 -07:00
Ryan Cavanaugh
1a8200fea7 Add testcase for #3764 2015-07-07 11:01:34 -07:00
Ryan Cavanaugh
48c48417a6 Properly parse keyword-like identifiers in JSX 2015-07-06 11:42:06 -07:00
Ryan Cavanaugh
40d1719eb7 Add module setting + test files 2015-06-29 11:41:40 -07:00
Ryan Cavanaugh
8180b7d06f Don't error on JSX elements when JSX.Element isn't present 2015-06-25 11:14:45 -07:00
Ryan Cavanaugh
65828c4d9f Spreaded anys should satisfy all required properties 2015-06-24 13:49:59 -07:00
Ryan Cavanaugh
c9a925eb75 Unrelated baseline noise 2015-06-22 11:53:55 -07:00
Ryan Cavanaugh
e448d8b932 Treat </ as a token in TSX files 2015-06-22 11:53:38 -07:00
Ryan Cavanaugh
25553446ef Misc cleanup 2015-06-22 10:31:00 -07:00
Ryan Cavanaugh
388e73f49f Fix React emit for spread attributes when they are the first attribute 2015-06-19 11:30:34 -07:00
Ryan Cavanaugh
b0750c25b2 Fix emit for boolean attributes 2015-06-18 18:37:32 -07:00
Ryan Cavanaugh
bc9b53a6fe Conformance tests for JSX 2015-06-18 14:03:43 -07:00