Commit Graph
248 Commits
Author SHA1 Message Date
Dan Abramov 83d0dc4989 Remove unused build tasks 2017-06-15 00:22:06 +01:00
William CunninghamandAndrew Clark 50afe2ef5a Move getNextDebugID() to React package.
The module, and its internal state, was duplicated in several packages,
leading to duplicate ids when multiple renderers were used.
2017-03-17 15:35:20 -07:00
Jack CrossandDan Abramov 688490dfe9 Add CircleCI support to 15-stable (#8778)
* devDependencies: add core-js and es6-symbol polyfill for tests

* Update Flow and fix issues (#8006)

* Add npm v4.0.0 support (#8082)

* Add support for node v7 (#8135)

* Upgrade ESLint and dependencies, fix new lint errors, switch Travis to Yarn (#8309)

* Update ESLint to 3.10.2

Also pull in fbjs for extending properly, per @zpao. This also disables consistent-return, which has about 80 failing cases in React currently. If we'd like to turn this back on, we should do it separately and fix all the call sites properly (rather than just adding 'return undefined;' everywhere, which adds no value.

Fixes to all existing lint errors plus an update for yarn.lock to follow.

* Update yarn.lock after the eslint update.

* Fix all new eslint failures

Unfortunately I had to add three eslint-disable-next-line instances. All have explanations inline.

* Switch Travis to use yarn instead of npm

* Update all Jest packages to 17.x (#8327)

* Update all Jest packages to 17.x, cache babel-jest transforms

* Remove the caching

Looking at the other builds it doesn't seem to actually be that necessary.  The bottleneck is executors, not build time.

* Remove unnecessary package, fix fiber test runner

* Regenerate yarn lockfile

* Update Flow to 0.37.0 (#8608)

Nothing really changes.

* Update to Jest 18 (#8621)

* mockImpl -> mockImplementation

D4329549

* Fixed linting errors

* circle.yml and circleci scripts

* Update Flow and fix issues (#8006)

* Fixed flow errors

* Updated shrinkwrap

* Removed unnecessary change

* Added jest --runInBand flag

* Removed ReactDOMFiber changes
2017-01-23 18:20:50 +01:00
Dan Abramov 1f56a6d5c9 Replace Starter Kit with doc link (#8682)
* Replace Starter Kit with doc link

* https in Babel link
2017-01-04 17:52:12 +00:00
Paul O’ShannessyandBen Alpert 24ffd57dfa Fix browser bundle for AMD (#8374)
* Fix browser bundle for AMD

* Final fix for standalone browser build.

Much more scientific than the rest so it should stick.

* Throw when we can't find code we need to replace.

(cherry picked from commit a3ba48bf72)
2016-11-22 17:24:29 -08:00
Paul O’Shannessy a107f6d12e Fix npm package builds (#7888)
* Ensure lib/ is packaged for react-test-renderer

* Run npm pack from right working directory

We were running this on the original packages not the compiled ones, resulting in missing files

(cherry picked from commit 077d660a27)
2016-10-05 15:41:25 -07:00
Paul O’Shannessy 1dce444f70 Fix UMD bundles, making safe to use as required modules (#7840)
(cherry picked from commit 92c84a6f37)
2016-10-04 14:02:23 -07:00
Christopher ChedeauandPaul O’Shannessy b4949fd8c6 Restore coverage in Travis (#7628)
We disabled coverage in Travis because the implementation was crashing ( https://github.com/facebook/react/issues/6290 ). Since we upgraded to Jest 15, the entire coverage implementation is brand new so we should give it another try.
(cherry picked from commit 839697f60c)
2016-10-03 17:33:03 -07:00
Sebastian MarkbågeandPaul O’Shannessy ecdc185deb Use aliasify everywhere instead of browserify-global-shim (#7476)
I already had to aliasify to have better control over the requires
so we might as well do it everywhere for consistency.

This probably makes it easier to rebase the rollup work too
because aliases seems to be how you solve this in that world.
(cherry picked from commit c8f7215b20)
2016-10-03 16:23:23 -07:00
Sebastian MarkbågeandPaul O’Shannessy cc2e5cc3d7 Require the isomorphic React instead of internals from renderers (#7473)
This is needed for flat builds. It also lets us get rid of a bunch
of special cases in the build scripts.

It also allow us to just copy the source files into React Native
instead of having to build first to resolve the special cases.
(cherry picked from commit 1c5a639c37)
2016-10-03 16:23:16 -07:00
Sebastian MarkbågeandPaul O’Shannessy 5c2a88a9a1 Build React DOM Fiber package (#7173)
This builds a `react-dom-fiber.js` bundle which exposes ReactDOMFiber.
This allows early experiments with the new Fiber reconciler.

I also expose it in the npm package through `react-dom/fiber`.
(cherry picked from commit f7e0db9a18)
2016-10-03 16:18:51 -07:00
Sebastian MarkbågeandPaul O’Shannessy 5bc9daa125 Build renderers into their individual npm packages (#7168)
This copies modules into three separate packages instead of
putting it all in React.

The overlap in shared and between renderers gets duplicated.

This allows the isomorphic package to stay minimal. It can also
be used as a direct dependency without much risk.

This also allow us to ship versions to each renderer independently
and we can ship renderers without updating the main react package
dependency.
(cherry picked from commit 0f004efce2)
2016-10-03 16:18:46 -07:00
Sebastian MarkbågeandPaul O’Shannessy 556bd43a26 Include React itself in the list of shims (#7453)
Without this we end up bundling all of the isomorphic React into
the DOM bundle. This was fixed in #7168 too but I'll just do an
early fix to ensure that #7168 is purely an npm change.
(cherry picked from commit ca9167c202)
2016-10-03 16:08:28 -07:00
Sebastian MarkbågeandPaul O’Shannessy 8426fafe90 Fix trailing build issues (#7450)
Use relative path for addons UMD shim module

Use explicit top level wrapper marker for top level elements
(cherry picked from commit 34c4474472)
2016-10-03 16:08:27 -07:00
Sebastian MarkbågeandPaul O’Shannessy 7ae3bbee25 Bundle DOM renderers into their individual UMD bundles (#7164)
* Cut out isomorphic dependencies from the renderers

These files reaches into isomorphic files.

The ReactElement functions are exposed on the React object anyway
so I can just use those instead.

I also found some files that are not shared that should be in
renderers shared.

* Found a few more shared dependencies

renderSubtreeIntoContainer is only used by the DOM renderer.
It's not an addon.

ReactClass isn't needed as a dependency since injection doesn't
happen anymore.

* Use a shim file to load addons' dependencies on DOM

By replacing this intermediate file we can do the lazy loading
without needing any lazy requires. This set up works with ES
modules.

We could also replace the globalShim thing with aliased files
instead for consistency.

* Bundle DOM renderers into their individual UMD bundles

Instead of exposing the entire DOM renderer on the react.js
package, I only expose CurrentOwner and ComponentTreeDevtool which
are currently the only two modules that share __state__ with the
renderers.

Then I package each renderer in its own package. That could allow
us to drop more server dependencies from the client package. It
will also allow us to ship fiber as a separate renderer.

Unminified DEV            after     before
react.js                  123kb     696kb
react-with-addons.js      227kb     774kb
react-dom.js              668kb     1kb
react-dom-server.js       638kb     1kb

Minified PROD             after     before
react.min.js               24kb     154kb
react-with-addons.min.js   37kb     166kb
react-dom.min.js          149kb     1kb
react-dom-server.min.js   144kb     1kb

The total size for react.min.js + react-dom.min.js is +19kb larger
because of the overlap between them right now. I'd like to see
what an optimizing compiler can do to this. Some of that is fbjs
stuff. There shouldn't need to be that much overlap so that's
something we can hunt. We should keep isomorphic absolutely
minimal so there's no reason for other React clones not to use it.
There will be less overlap with Fiber.

However, another strategy that we could do is package the
isomorphic package into each renderer bundle and conditionally
initialize it if it hasn't already been initialized. That way
you only pay an overlap tax when there are two renderers on the
page but not without it. It's also easier to just pull in one
package. The downside is the versioning stuff that the separate
npm package would solve. That applies to CDNs as well.

ReactWithAddons is a bit weird because it is packaged into the
isomorphic package but has a bunch of DOM dependencies. So we have
to load them lazily since the DOM package gets initialized after.

(cherry picked from commit 8ef00dbb7d)
2016-10-03 16:08:27 -07:00
Paul O’Shannessy 3f8b8d754c Add more specific link to react-addons-shallow-compare readme (#7608)
(cherry picked from commit 2e38fcf355)
2016-09-15 16:32:45 -07:00
Dustan KastenandPaul O’Shannessy 396ab3eba1 ReactTestRenderer package (#7362)
(cherry picked from commit 7e874f59f5)
2016-07-28 21:42:42 -07:00
Dan AbramovandPaul O’Shannessy 7cdcb4f696 Eagerly evaluate inline requires in Jest (#7245)
* Eagerly evaluate inline requires in Jest

I inlined some requires in #7188 to fix the build size regression.
However this caused an issue with Jest due to it resetting module registry between tests.

This is a temporary fix to #7240.
It should be reverted as part of #7178.

* Make the hack work in all environments

(cherry picked from commit 15ae5857f6)
2016-07-21 14:34:15 -07:00
Marshall BowersandPaul O’Shannessy 67cc922747 Gulp: lint, flow, and version-check (#7174)
* Add plugin loading for gulp

* Convert `lint` task to gulp

* Convert `flow` task to gulp

* Convert `version-check` task to gulp

* Add missing semicolons

(cherry picked from commit 69703e04d5)
2016-07-08 10:56:29 -07:00
Dan AbramovandPaul O’Shannessy c8b2a3dc13 Merge pull request #6872 from gaearon/jest-cli@12
Update to Jest 12.1.1 and Jasmine 2
(cherry picked from commit c0ecde687a)
2016-06-14 15:49:43 -07:00
Paul O’Shannessy 440543aa88 Setup grunt flow task and run on travis (#6684)
(cherry picked from commit c9504d99a5)
2016-06-14 15:29:35 -07:00
Paul O’Shannessy f14d0ef339 grunt jest tasks shouldn't use watchman (#6675)
(cherry picked from commit f25a88e965)
2016-06-14 15:29:35 -07:00
Christoph PojerandPaul O’Shannessy 571d1f7314 Merge pull request #6638 from cpojer/master
Update Jest’s grunt task.
(cherry picked from commit 64401150a0)
2016-06-14 15:29:35 -07:00
Dan AbramovandPaul O’Shannessy 09172b112f Merge pull request #6647 from gaearon/bye-bye-reactperf
Replace ReactPerf with new implementation
(cherry picked from commit b6a6078167)
2016-05-09 22:07:49 -07:00
Christoph PojerandPaul O’Shannessy 09c6d53e64 Merge pull request #6620 from cpojer/master
Update to Jest 12. Codemod to new Jest APIs.
(cherry picked from commit d07b554291)
2016-05-09 22:05:09 -07:00
Dan AbramovandPaul O’Shannessy 78aa706491 Merge pull request #6046 from gaearon/new-perf
Add new ReactPerf
(cherry picked from commit 98a8f49068)
2016-05-09 21:54:42 -07:00
Paul O’Shannessy 4f0163fd38 Ensure babelrc gets added to zipfile too (#6688)
(cherry picked from commit 48f4684b5f)
2016-05-09 21:29:12 -07:00
Paul O’Shannessy 590d82bc33 Ensure babelrc file gets packaged for starter kit (#6617)
(cherry picked from commit 096e5c7cf7)
2016-04-28 00:41:34 -07:00
Sebastian MarkbågeandPaul O’Shannessy 5b4b6e7999 Merge pull request #6338 from sebmarkbage/reactnative2
Move React Core Integration and Injection to the Core Repo
(cherry picked from commit c84ad52ddb)
2016-04-20 09:39:50 -07:00
Paul O’Shannessy 90856ee61b Remove jsx task & jsx-internal script
These haven't been used in a long time so it's time to get rid of them.
2016-04-05 10:18:42 -07:00
Paul O’Shannessy d17091ddeb Make Browserify-specific modules to remove DOM dependencies from npm package 2016-03-24 15:28:52 -07:00
Christoffer Sawicki ecf824cc2a Use loose-envify instead of envify
This reduces the number of transitive dependencies and decreases the build time (by ~6% on my machine).
2016-03-21 20:18:17 +01:00
Paul O’Shannessy 7c52b802b4 Clean up ununsed devDeps
Also removed object-assign. We only support building with node v4+ which has Object.assign.
2016-01-22 10:17:30 -08:00
jim accd0d874d Removed cloneWithProps addon. 2016-01-15 17:17:36 -08:00
Rick Beerendonk bef45b0b1a Year-agnostic copyright message, like React Native uses, to prevent the need for yearly changes. 2015-12-29 20:20:32 +01:00
Paul O’Shannessy 85e646015d Ensure build directory works when running jest:coverage on its own 2015-12-22 14:36:27 -08:00
Paul O’Shannessy e68e17503e Remove coverage options from package.json
They don't provide any value and since one of them isn't a valid config usage,
it blurs the line. Instead just store these pieces in the tasks and write them
to the temp config.
2015-12-22 11:14:44 -08:00
Paul O’Shannessy f3dbc40261 Split jest task into two
This ensures that we don't make jest do the additional tracking it needs to make coverage work.
2015-12-22 10:25:34 -08:00
John-David Dalton 9b0ef9244d Add coveralls. 2015-12-22 06:48:33 -06:00
zwhitchcox b15c80696c Remove dead code
This isn't used anywhere in React
2015-12-04 18:28:37 -05:00
Paul O’Shannessy 5a80b20017 Make sure react-dom-server is shipped in release process
Also removed some duplicated code to simplify a bit
2015-11-18 13:08:44 -08:00
Paul O’Shannessy c07b304c76 Merge pull request #5381 from kevinrobinson/react-dom-server-package
Add additional secret property to build artifact for react-dom-server
2015-11-17 16:48:08 -08:00
Paul O’Shannessy 10edb83166 Ensure license and patents files are packaged for npm 2015-11-09 12:47:22 -08:00
Paul O’Shannessy 6d5fe44c86 Merge pull request #5396 from zpao/packagejsons
Improve npm packages' metadata
2015-11-04 21:29:35 -08:00
Paul O’Shannessy 88584a96b7 Generate better readmes for addons npm packages 2015-11-04 21:25:28 -08:00
chico 4a7456a136 review fixes 2015-11-05 05:11:39 +03:00
chico 8987522a2a remove eslint-disable when possible and update eslint version 2015-11-05 05:11:39 +03:00
Kevin Robinson 45c612ed7a Add additional secret property and build for react-dom-server
Update eslintrc, travis build and add task to Gruntfile
2015-11-03 16:39:58 -05:00
Thomas Broadley c0f0d12f96 'grunt lint' now works on Windows 2015-10-30 06:43:43 +09:00
Paul O’Shannessy f7a3ac2d56 Stop generating gh-pages during release, update message 2015-10-13 09:37:32 -07:00