Commit Graph

30 Commits

Author SHA1 Message Date
Ben Alpert c04d02e5e8 Add warnings to React module 2015-09-01 14:36:41 -07:00
Paul O’Shannessy 7645c07720 Use eslintrc from fbjs 2015-08-31 23:05:04 -07:00
Ben Alpert 6013105a9c Make React.Children.map do one pass only
Changed: createFragment no longer includes nulls in its output (since toArray doesn't and they share code).

Changed: React.Children.map no longer warns for clashing keys; traverseAllChildren will later when rendering.

Also change the generated key format around to accomodate. My keys are probably not bulletproof but should definitely be safe against accidental collisions.
2015-08-31 18:47:09 -07:00
Olivier Tassinari 0304051591 [adler32] fix wrong name 2015-08-29 19:07:36 +01:00
Paul O’Shannessy 2e5b047f04 Reverse condition of a ternary for readability 2015-08-28 11:34:50 -07:00
Ben Alpert 16d8f20576 Add destructors to pooled classes in ReactChildren
And make destructors mandatory so we're less likely to forget again.
2015-08-27 19:05:56 -07:00
Ben Alpert 6abf025d46 Make createFragment return an array, disallow objects as children 2015-08-24 16:09:08 -07:00
Sebastian Markbåge d3f338ff27 Fix typecheck 2015-08-12 00:32:52 -07:00
Sebastian Markbage 16cc45156f Move guards from auto binding to event dispatch
This wraps a proper guard around event dispatching so that errors doesn't
interupt other event callbacks.

Instead we rethrow the first error after all callbacks have been invoked.

For DEV mode we use native event dispatching if available. This has the
benefit that caught exceptions show up in the dev tools even without caught
exceptions being turned on. Yet, all callbacks are guaranteed to fire.
2015-08-11 11:55:07 -07:00
Paul O’Shannessy ecb34de574 Upgrade ESLint, fix code 2015-08-10 17:04:29 -07:00
Paul O’Shannessy be5c09c24d Update fbjs dependency
- remove a file that got moved over there
- update for renamed babel transform
2015-07-27 13:37:48 -07:00
Paul O’Shannessy ac5e5d789f Merge pull request #4367 from Simek/traverse-children-cleanup
traverseAllChildren code clarity
2015-07-23 14:48:23 -07:00
Jim 57e9e5bf23 Improved performance for our adler32 implementation 2015-07-20 18:50:05 -07:00
Bartosz Kaszubowski da11691e26 invert few if-else with negation for readability 2015-07-18 00:19:28 +02:00
Bartosz Kaszubowski ea2496b6f6 traverseAllChildren code clarity 2015-07-13 23:45:00 +02:00
Ben Alpert 0eaa0a6ff7 Fix jest tests 2015-07-02 22:54:22 +02:00
Jim 4a465fbd9a Make events propagate through shadow DOMs. 2015-07-02 04:32:22 -07:00
Ben Alpert c22153e25a Fail tests on any un-spied warnings
Fixes #3890.
2015-06-29 07:57:35 -07:00
li.li 63d0471580 Remove warnings in tests
For #3890.

Squashed merge, closes #3925.
2015-06-24 22:01:36 -07:00
Daniel Friesen 357ed8ebd7 Add a comment about why the string is split up. For future readers of this file. 2015-06-22 12:04:29 -07:00
Daniel Friesen c8d606196d Don't try building a %s module.
React's build tools are reading the `require("react")` and `react("%s")` inside the warning string and thinking they are actual requires.
2015-06-21 21:14:04 -07:00
Paul O’Shannessy a841b4f5fb Merge pull request #2981 from hzoo/jsdoc-fixes 2015-06-17 16:06:37 -07:00
Paul O’Shannessy ace49f304b Merge pull request #4100 from zpao/deprecate-react-calls
Deprecate non-isomorphic react methods in npm module
2015-06-17 11:15:46 -07:00
Paul O’Shannessy e571b32061 Wrap calls to deprecated functions with a warning. 2015-06-16 13:23:40 -07:00
Paul O’Shannessy 93be1939b5 Move ReactErrorUtils out of vendor
Some other small changes now that it's linted.
2015-06-16 01:16:17 -07:00
Ben Alpert 8614dd3cf9 Merge pull request #3984 from neojski/uppercase-node-name
Always toLowerCase when comparing nodeName or tagName
2015-06-08 11:44:56 -07:00
Tomasz Kołodziejski 2bb69328ae Always toLowerCase when comparing nodeName or tagName
In xml node name casing is exactly the same as the node was originally named.
Make sure to convert node and tag names to lower case before making any node
and tag name checks.

Fixes #3960.
2015-06-06 10:28:43 +02:00
Benjamin Woodruff c089eece50 Switch to using comma-dangle: always-multiline
This is a machine-generated codemod, but it's pretty safe since it was
generated by hooking into eslint's own report.

A few files had to be touched up by hand because there were existing
formatting issues with nested arrays/objects:

src/shared/utils/__tests__/OrderedMap-test.js
src/shared/utils/__tests__/Transaction-test.js
src/shared/utils/__tests__/traverseAllChildren-test.js
src/isomorphic/children/__tests__/ReactChildren-test.js
2015-06-02 16:57:26 -07:00
Benjamin Woodruff 21ca3f732f Enable linting for __tests__
Closes #3971.

> After #3968, the next thing we should do is start linting our tests.
> Historically we've ignored them due to lack of parser compatibility.
> But that shouldn't be a problem anymore. We may want to integrate
> https://www.npmjs.com/package/eslint-plugin-react to more aggressively
> lint our JSX in tests.

I understand this diff touches a lot of stuff, so I tried to keep it to
a near-minimal set of changes to make eslint happy.
2015-06-01 16:01:03 -07:00
Sebastian Markbage 0b063f8a09 Reorganize Src Files for Isomorphic React Package
The new folder structure is organized around major packages that are expected to ship separately in some form.

`/isomorphic`

I moved classic/modern and children utils into a directory called "isomorphic" with the main export being ReactIsomorphic. This will eventually become the "react" package.

This includes all the dependencies that you might need to create a component without dependencies on the renderer/reconciler.

The rest moves into decoupled renderers.

`/renderers/dom/client` - This is the main renderer for DOM.

`/renderers/dom/server` - This is the server-side renderer for HTML strings.

`/addons` and `/test` - Same as before for now.

You're not supposed to take on a dependency inside another package.

Shared code is organized into a "shared" directory which is intended to support all the packages in that subdirectory. Meaning that once we swap to CommonJS modules, the only time you should use `..` is to target `../shared/` or `../../shared`.

E.g. `/shared/` is common utils that are used by everything.

`/renderers/shared/` is code that is shared by all renderers, such as the main reconciliation algorithm.

Shared code will likely be copied into each package rather than referenced. This allow us to have separate state and allow inlining and deadcode elimination.
2015-05-15 18:35:22 -07:00