Commit Graph

49 Commits

Author SHA1 Message Date
Paul O’Shannessy 693dd3567b Update to fbjs@0.3
As far as we're concerned, the only difference is that we moved some files from React to fbjs.
2015-10-01 14:30:05 -07:00
Ben Alpert d561949711 Improve warning for old element objects
Fixes #4996.
2015-09-29 18:02:47 -07:00
Ben Alpert ab03f34965 Merge pull request #4951 from spicyj/gh-4840
Improve traverseAllChildren object error message
2015-09-23 12:17:35 -07:00
Ben Alpert 1922db1711 Improve traverseAllChildren object error message
Fixes #4840.
2015-09-23 12:17:20 -07:00
Ben Alpert 57c516cb0e Don't use magic browser event dispatching for simulated events
When calling ReactTestUtils.Simulate, sometimes you want to test that an exception is thrown by the event handler. This lets you do that without relying on the fact that old jsdom doesn't implement `Event`.
2015-09-22 15:31:08 -07:00
Paul O’Shannessy 20f0b0f464 Upgrade eslint to 1.4.1 2015-09-16 12:16:46 -07:00
Ben Alpert 14ede77123 Merge pull request #4827 from spicyj/occured
occured -> occurred
2015-09-09 16:29:43 -07:00
Ben Alpert 0b857a473a occured -> occurred 2015-09-09 16:19:40 -07:00
Ben Alpert b004bc5f22 Don't try to iterate over non-objects
Fixes #4776.
2015-09-09 09:03:05 -07:00
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 1d0c1b1817 Use fbjs package from npm, gulp
This reworks a few things in building and distributing React. The biggest change is using fbjs to share dependencies with other libraries. We're also using Gulp for some build steps.
2015-07-23 15:48:02 -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
Jim 859b7957b7 Merge pull request #4190 from dantman/fix-%s-module
Don't try building a %s module.
2015-06-22 14:45:19 -07:00
Ben Alpert 7e0a544ae3 Merge pull request #4164 from spicyj/jest-wc
Fix exceptions when running `grunt test --debug`
2015-06-22 14:22:41 -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
Ben Alpert d76e3e1632 Fix exceptions when running grunt test --debug 2015-06-17 20:57: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 10ada3b5f5 Merge pull request #4157 from zpao/svg-image
Support SVG image, other related cleanup
2015-06-17 11:44:29 -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 efdd75685d Support SVG image 2015-06-17 10:47:53 -07:00
Paul O’Shannessy 572a1d895c Update getMarkupWrap with list of SVG supported in ReactDOM 2015-06-17 10:40:11 -07:00
Paul O’Shannessy 265fdc3eed Rewrite SVG initialization in getMarkupWrap 2015-06-17 10:37:13 -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
Tomasz Kołodziejski c9fab582c4 Add xmlns to svg wrap
Closes #4072.
2015-06-10 15:57:05 +02: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 c91fd8ac14 Check warning/invariant calls have good messages
The `warning` implementation checked that the message is long enough to
be useful. See commit f5038829d for more information.

It makes more sense to move this into a lint rule, and also to apply it
for both `warning` and `invariant`. We can safely remove stuff from the
`warning` implementation as we replace the function internally anyways.

https://github.com/facebook/react/pull/4021#issuecomment-108694976
@spicyj
2015-06-04 14:19:22 -07: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