Permalink
Commits on Mar 19, 2014
  1. re-enable moved root warning

    zpao committed Mar 19, 2014
  2. Upgrade browserify

    zpao committed Mar 19, 2014
  3. Silence tests unsupported in PhantomJS.

    These tests can still be run in the browser using `grunt test --debug`.
    
    This is a repeat of 42f8d15. For posterity, we
    do this because Phantom has a problem with Object.freeze and the test runner
    can't do __DEV__ right (because we get rid of that in the build step).
    zpao committed Mar 19, 2014
Commits on Mar 18, 2014
  1. Separate immutable project

    This moves Immutable and Immutable object into the new `immutable` project.
    kmeht committed with zpao Mar 18, 2014
  2. Logging use of objects as maps for children

    Let's start logging objects as maps for children. We may want to deprecate this
    and replace it with ImmutableMap and Map data structures instead.
    
    This should ideally be logged in the recursive function but since that loses the
    scope of where these children are passed it's easier to start tracking them
    here to get an idea of how frequently and where it's used.
    sebmarkbage committed with zpao Mar 18, 2014
  3. don't try to use Object.prototype methods as transfer strategies in R…

    …eactPropTransferer.mergeProps
    
    While looking up a detail of how `transferPropsTo()` works I noticed that we never check `TransferStrategies.hasOwnProperty(thisKey)` when merging props, just `newProps.hasOwnProperty(thisKey)` and a truthy test for `TransferStrategies[thisKey]`. This means that if our `newProps` has keys like `toString`, `valueOf`, or `constructor` etc. set, we will pull these functions off `TransferStrategies` and invoke them when merging props. In most cases this will just result in a failure to merge and some code without side effects being run but in the case of `valueOf` it will actually generate an exception.
    azich committed with zpao Mar 18, 2014
  4. Replace function expression with for loop

    isCustomAttribute used an anonymous function in place of a for loop.
    Swap it out so we're not allocating unnecessarily.
    joshduck committed with zpao Mar 18, 2014
  5. Sync latest Immutable changes

    kmeht committed with zpao Mar 18, 2014
  6. Revert "Merge pull request #1234 from RReverser/pure-cjs"

    This reverts commit 7987e6a, reversing
    changes made to d88d479.
    zpao committed Mar 18, 2014
  7. Merge pull request #1234 from RReverser/pure-cjs

    Switched from browserify to pure-cjs bundler.
    benjamn committed Mar 18, 2014
Commits on Mar 17, 2014
  1. Merge pull request #1193 from spicyj/jsx-polygon

    Add polygon tag to transform
    zpao committed Mar 17, 2014
  2. Merge pull request #1226 from LilyJ/master

    included link to React devtools in tooling-integration. fixes #791
    spicyj committed Mar 17, 2014
  3. Merge pull request #1248 from asolove/svg-text-anchor

    Add svg text-anchor attribute
    zpao committed Mar 17, 2014
  4. Merge pull request #1229 from spicyj/no-jsx

    Avoid JSX in ReactCSSTransitionGroup code
    zpao committed Mar 17, 2014
  5. Merge pull request #1262 from vjeux/harmony-react-to

    Add support for {harmony: true} to react-tools
    zpao committed Mar 17, 2014
  6. Fix ref behavior for remounting

    I'm thinking that setting up `this.refs` in `mountComponent` is better than `construct`. Followed the same pattern as `ReactComponent.Mixin` and nulling out
    the value in `construct` and setting it to its initial value in `mountComponent`.
    petehunt committed with zpao Mar 17, 2014
  7. More actionable error message for <tbody> and nested <p>

    This bites people all of the time. Until we have a better solution, let's just make the error message more actionable (most people don't know how the DOM
    gets unexpectedly mutated).
    petehunt committed with zpao Mar 17, 2014
  8. Fix some invalid uses of instances

    Breaking this out of the other code mod.
    sebmarkbage committed with zpao Mar 13, 2014
  9. Reassign variable of rendered component

    The component that gets passed into renderComponent isn't guaranteed to be the
    instance that gets mounted. We want to clone the instance.
    
    Unit tests need to reason about the mounted instance. The first code mod changes:
    
      ReactTestUtils.renderIntoDocument(<identifier>)
    
    into
    
      <identifier> = ReactTestUtils.renderIntoDocument(<identifier>)
    
    Using this scripts:
    
      scripts/bin/codemod -m -d ~/www --extensions js \
       '^(\s*)ReactTestUtils\.renderIntoDocument\(\s*([$a-zA-Z0-9_]+)\s*\)' \
       '\1\2 = ReactTestUtils.renderIntoDocument(\2)'
    
    In the second case I do the same for React.renderComponent. However, there are
    alot more unnecessary matches so I only codemod if the same identifier occurs
    later in the file.
    
      scripts/bin/codemod -m -d ~/www --extensions js \
       '^(\s*)React.renderComponent\(\s*([$a-zA-Z0-9_]+)\s*?,(.*?\n?.*?\s\2\b)' \
       '\1\2 = React.renderComponent(\2,\3'
    
    And one more for ReactMount.renderComponent used by internals.
    
      scripts/bin/codemod -m -d ~/www --extensions js \
       '^(\s*)ReactMount.renderComponent\(\s*([$a-zA-Z0-9_]+)\s*?,(.*?\n?.*?\s\2\b)' \
       '\1\2 = ReactMount.renderComponent(\2,\3'
    
    This still matches many unnecessary cases where the second occurance of the
    identifier is a redeclaration or comment. But this code mod doesn't hurt in
    those cases.
    
    Finally I have to do the same for:
    
      this.<identifier> = React.renderComponent(this.<identifier>,
    
    This is a common pattern for production code but not tests. Some of these call
    sites will likely break when we move to true descriptors.
    
      scripts/bin/codemod -m -d ~/www --extensions js \
       '^(\s*)React.renderComponent\((\s*)this\.([$a-zA-Z0-9\_\.]+)\s*?,' \
       '\1this.\3 = React.renderComponent(\2this.\3,'
    sebmarkbage committed with zpao Mar 13, 2014
Commits on Mar 16, 2014
  1. Add support for {harmony: true} to react-tools

    ```
    require('react-tools').transform(code, {harmony: true});
    ```
    
    now enables all the harmony es6 transforms that are supported.
    
    This is modeled after https://github.com/facebook/react/blob/master/bin/jsx#L17-L23
    vjeux committed Mar 16, 2014
Commits on Mar 14, 2014
  1. Community Round-up #18

    jgebhardt committed Mar 14, 2014
Commits on Mar 12, 2014
  1. Merge pull request #1181 from lrowe/patch-5

    omitClose for all void elements
    zpao committed Mar 12, 2014
  2. Add svg text-anchor attribute.

    asolove committed Mar 12, 2014
Commits on Mar 11, 2014
  1. Merge pull request #1246 from ericflo/patch-1

    Remove Shirtstarter as an example application.
    spicyj committed Mar 11, 2014
  2. Remove Shirtstarter as an example application.

    We have unexpectedly had to shut Shirtstarter down, so it won't serve as a good React.js example any more unfortunately -- sorry for the documentation churn.
    ericflo committed Mar 11, 2014
  3. Merge pull request #1242 from syranide/jsxcomfix

    Unbreak JSX comment comma fix
    jeffmo committed Mar 11, 2014
  4. Renamed `browserify` tasks/configs to `cjs`, updated pure-cjs to 1.9.…

    …0 for better build speed.
    RReverser committed Mar 11, 2014
  5. Merge pull request #1243 from jeffcarp/master

    Remove unused variable in ballmer-peak
    chenglou committed Mar 11, 2014
  6. Remove unused variable

    jeffcarp committed Mar 11, 2014
Commits on Mar 10, 2014
  1. Unbreak JSX comment comma fix

    syranide committed Mar 10, 2014
  2. ReactDOMComponent optimization

    Slight optimization to not do unneeded reconciles of DOM components
    petehunt committed with zpao Mar 10, 2014
  3. Clone on mount

    This is the first step towards descriptors. This will start cloning the
    component when it's mounted instead of mounting the first instance.
    
    This avoids an issue where a reference to the first instance can hang around
    in props. Since a mounted component gets mutated, the descriptor changes.
    
    We don't need to clone the props object itself. Mutating the shallow props
    object of a child that's passed into you is already flawed. Those cases need to
    use cloneWithProps. A props object is considered shallow frozen after it leaves
    the render it was created in.
    sebmarkbage committed with zpao Mar 10, 2014
  4. Merge pull request #1225 from spicyj/cprop

    Fix removing DOM property with mapped name
    zpao committed Mar 10, 2014