Commit Graph

127 Commits

Author SHA1 Message Date
Paul O’Shannessy f7f3df3acc Revert "Remove fbtransform/syntax.js" 2014-11-25 16:42:20 -08:00
Paul O’Shannessy 2a540b3fb7 Remove fbtransform/syntax.js
This was a file we probably never should have synced out in the first
place. We don't use it and it provides the same basic functionality that
bin/jsx provides.
2014-11-25 15:34:28 -08:00
Gabe Levi 0d308add09 Update stripTypes transform to use fixed up jstransform transform 2014-11-14 18:25:11 -08:00
Paul O’Shannessy a3509e5b42 Fixing some newline-preserving issues
Done internally as part of
f9836a3912
2014-11-05 10:36:22 -08:00
Paul O’Shannessy 1fd187b994 Merge pull request #2224 from zertosh/remove-esprima-fb-dep
Remove esprima-fb and use Syntax from jstransform
2014-11-04 14:38:09 -08:00
Andres Suarez bf0a857a92 Remove esprima-fb and use Syntax from jstransform 2014-11-04 17:10:12 -05:00
Cheng Lou eddbb0cfef Use double quote for transformed `displayName` and `data-*`
JSX currently transforms everything to double quote except these two. This way, it's at least consistent and will satisfy half of the people who do put a strict quotation linting on their project.

Test: `jest`, check the double quoted transformed `data-bla="something"`.
2014-10-31 15:49:24 -04:00
Martin Jul c9fb57feb3 Added missing semicolons identified by using `grunt jshint:project`. 2014-10-23 09:54:13 +02:00
Sebastian Markbage 8210beeef4 Hide Object.assign polyfill behind a module
Because the JS community's polyfilling infrastructure sucks and we'll
have to fix it for them before we require this.

JSX spread uses React.__spread
(which might get special behavior for key/ref, not sure yet)

This never uses the native implementation and throws for prototype chains.
Once the native implementations are faster, we'll start using them.
2014-10-16 09:21:10 -07:00
Paul O’Shannessy 4dcc1161fa Update @emails in react-displayName-test 2014-10-13 12:56:02 -07:00
Paul O’Shannessy dcf415c2b9 BSD + PATENTS 2014-10-10 13:34:07 -07:00
Paul O’Shannessy cf5fea4616 JSXTransformer: don't look for docblock 2014-10-10 11:45:52 -07:00
Sebastian Markbage c4658c1728 Update React JSX Transforms
* Extract JSXDOM into separate transform
* Rename lower case variables in JSX to upper case
* Drop React.DOM docblock, use string tags instead
2014-10-07 10:48:57 -07:00
Paul O’Shannessy 7339f8b7b8 Merge pull request #2149 from imcotton/jsx-reduce-warning
Reduce unnecessary warning while including JSX transformer in browser
2014-09-23 13:34:10 -07:00
Paul O’Shannessy 79ca0c7fd2 Merge pull request #1848 from fgnass/master
add picture element and related attributes
2014-09-08 16:23:39 -07:00
Paul O’Shannessy ea76f9bf63 Merge pull request #2116 from spicyj/nl-jsx-spread
Add newline before JSX spread when appropriate
2014-09-05 14:34:54 -07:00
jeffmo 808730df59 Add support for a --strip-types flag to bin/jsx 2014-09-05 16:28:46 -04:00
Cotton Hou 6294d7aacc Reduce unnecessary warning while including JSX transformer in browser 2014-09-05 07:15:39 +08:00
Paul O’Shannessy 59324ab6d5 Merge pull request #2117 from spicyj/jest-vendor
Include vendor/ when running jest tests
2014-08-30 12:55:20 -07:00
Ben Alpert 9f4ae415e2 Enable ES7 spread transform when using --harmony
Test Plan: `echo "var o = {...x};" | bin/jsx --harmony` outputs `var o = Object.assign({},x);`.
2014-08-30 01:10:21 -07:00
Ben Alpert 1ba022b1ea Include vendor/ when running jest tests
Now the two transform tests get run alongside the React core tests.

Test Plan: jest
2014-08-30 01:08:57 -07:00
Ben Alpert cc9735f889 Add newline before JSX spread when appropriate
Previously, we were losing the newline before a JSX spread attribute which would cause the lines to not match up; this fixes the problem.
2014-08-30 01:04:19 -07:00
Paul O’Shannessy 2058ad99be Sync out latest JSX transforms
The biggest change: instead of calling functions directly, we now use
React.createElement to wrap.

The other big change: this removes the need for the @jsx pragma.
Instead we'll parse everything, assume React is in scope,
and only look for the actual XJS parts in the AST (as opposed to only
runing the transform when @jsx was specified in the docblock).

Note: this is actually a series of commits internally and should have
been syned out in pieces over the past several weeks.
2014-08-20 00:27:38 -07:00
Paul O’Shannessy d9a053d287 Don't force sourcemaps on for JSXTransformer APIs
In case somebody doesn't want sourcemaps (eg, react-rails) or r.js
2014-08-15 17:51:41 -07:00
Paul O’Shannessy d970dc45d9 Merge pull request #1826 from syranide/jsxasync
JSXTransformer respects async attribute
2014-08-14 15:13:04 -07:00
Paul O’Shannessy d7f21d760b Update recast to 0.6, update constants.js
I dropped the part of constants.js that we weren't using (namely the
part where we insert constants) but left it open to do that. It should
be trivial, we just aren't using it.

Fixes #1824
2014-08-14 11:14:20 -07:00
Andreas Svensson 079400c2a6 JSXTransformer respects async attribute
Conflicts:
	vendor/browser-transforms.js
2014-08-14 10:00:27 +02:00
Paul O’Shannessy db6e07e87d Merge pull request #1827 from syranide/jsxstrict
JSXTransformer, stricter parsing of script type
2014-07-30 21:39:37 -07:00
Andreas Svensson 0efe8ca362 JSXTransformer, stricter parsing of script type 2014-07-20 01:20:30 +02:00
petehunt e8efa2a1e9 Fix browser-tranforms 2014-07-18 19:02:31 -07:00
Felix Gnass 5f56f4ac36 add picture to xjs.knownTags 2014-07-16 19:57:19 +02:00
Ben Alpert f02264cf83 Add destructuring visitor to JSX harmony transform 2014-07-15 16:34:00 -07:00
Paul O’Shannessy 28d94d2dcf Fix react-dislayName-test
[skip ci]
2014-07-11 10:36:07 -07:00
Paul O’Shannessy 31a025a667 Add docblocks and consistent styling to JSXTransformer 2014-07-09 12:51:46 -07:00
Paul O’Shannessy 336890291e Fix sourcemaps in JSXTransformer for Firefox
Fixes #1725
2014-07-09 12:48:02 -07:00
Paul O'Shannessy 5b17e75707 Support more properties for image maps
Supporting the `<area>` tag is pretty useless if we don't support the necessary properties.
2014-06-30 20:54:44 -07:00
Paul O’Shannessy 5eb57fa51b Add support to JSX transform for <hyphenated-tags>
This only adds support for whitelisted tags, not arbitrary ones.

Closes #1539
2014-06-30 20:54:41 -07:00
Sebastian Markbage e6134c307e [react jsx transform] Spread attribute -> Object.assign
Add support for spread attributes. Transforms into an Object.assign just
like jstransform does for spread properties in object literals.

Depends on https://github.com/facebook/esprima/pull/22
2014-06-26 15:40:02 -07:00
Paul O’Shannessy 77150630e2 Merge pull request #1542 from remixz/gh-1420
Add harmony transform support in browser

Fixes #1420. Moved some code around in the merge to account for more
changes in the transform code.

Conflicts:
	vendor/browser-transforms.js
2014-06-20 10:55:06 -04:00
Paul O’Shannessy af1af19d39 Sync out transform tests 2014-06-19 15:14:54 -04:00
Paul O’Shannessy 2c85658c69 [jsx] Make sure we throw when we get XML namespaces
aad8a2b798
replaced XJSIdentifer with XJSNamespacedName for namespaced items, so we
need to adjust here accordingly.
2014-06-19 15:07:08 -04:00
Paul O’Shannessy f230e0a031 Merge pull request #1583 from nhunzaker/jsxtransform-parallel
Load external scripts in parallel in JSXTransformer
2014-05-27 14:31:25 -07:00
Jeff Morrison 9ef6156d5c Merge pull request #760 from syranide/jsxns
Support for JSX tag namespaces <React:DOM:div />
2014-05-22 15:51:49 -07:00
Nate Hunzaker 59a9251c90 Set executed after run 2014-05-21 15:09:52 -04:00
Nate Hunzaker b1247690d5 Load in parallel, evaluate linearly as they come in 2014-05-21 15:07:10 -04:00
remixz 765ee8e5d0 Merge upstream changes 2014-05-19 20:12:57 -07:00
Nate Hunzaker 0614cfa43e Load scripts in parallel 2014-05-18 16:34:40 -04:00
Nate Hunzaker bc79f623a1 Asynchronously load scripts with JSX transformer. 2014-05-18 15:41:41 -04:00
remixz 3f31ec463f Change harmony option to "harmony=true" 2014-05-14 15:50:35 -07:00
remixz 65c258a7b7 Add harmony transform support in browser (Fixes GH-1420)
I implemented this by checking for `type="text/jsx;harmony"`, since this
has a bit of a cleaner implementation rather than parsing a JSON object
out of a data attribute. If in the future there are other options to
pass, it would make sense to move to a system like that.

Along with adding support, there is also a new example added that's
the basic-jsx example with Harmony syntax.
2014-05-13 22:07:02 -07:00