react/package.json

133 lines
4.2 KiB
JSON
Raw Normal View History

2013-05-30 03:46:11 +08:00
{
"name": "react-build",
"private": true,
2017-02-24 07:36:08 +08:00
"version": "16.0.0-alpha.3",
2013-05-30 03:46:11 +08:00
"devDependencies": {
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.
2016-08-10 03:39:03 +08:00
"aliasify": "^2.0.0",
"art": "^0.10.1",
2015-12-22 04:05:03 +08:00
"async": "^1.5.0",
"babel-cli": "^6.6.5",
2016-02-27 08:49:32 +08:00
"babel-core": "^6.0.0",
"babel-eslint": "^7.1.0",
2017-02-23 00:59:18 +08:00
"babel-jest": "^19.0.0",
2016-02-27 08:49:32 +08:00
"babel-plugin-check-es2015-constants": "^6.5.0",
"babel-plugin-syntax-trailing-function-commas": "^6.5.0",
"babel-plugin-transform-async-to-generator": "^6.22.0",
"babel-plugin-transform-class-properties": "^6.11.5",
2016-02-27 08:49:32 +08:00
"babel-plugin-transform-es2015-arrow-functions": "^6.5.2",
"babel-plugin-transform-es2015-block-scoped-functions": "^6.5.0",
"babel-plugin-transform-es2015-block-scoping": "^6.23.0",
2016-02-27 08:49:32 +08:00
"babel-plugin-transform-es2015-classes": "^6.5.2",
"babel-plugin-transform-es2015-computed-properties": "^6.5.2",
"babel-plugin-transform-es2015-destructuring": "^6.5.0",
"babel-plugin-transform-es2015-for-of": "^6.5.2",
"babel-plugin-transform-es2015-literals": "^6.5.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.5.2",
"babel-plugin-transform-es2015-object-super": "^6.5.0",
"babel-plugin-transform-es2015-parameters": "^6.5.0",
"babel-plugin-transform-es2015-shorthand-properties": "^6.5.0",
"babel-plugin-transform-es2015-spread": "^6.5.2",
"babel-plugin-transform-es2015-template-literals": "^6.5.2",
"babel-plugin-transform-es3-member-expression-literals": "^6.5.0",
"babel-plugin-transform-es3-property-literals": "^6.5.0",
"babel-plugin-transform-object-rest-spread": "^6.6.5",
"babel-plugin-transform-react-jsx-source": "^6.8.0",
2016-02-27 08:49:32 +08:00
"babel-preset-react": "^6.5.0",
"babel-traverse": "^6.9.0",
[Fiber] Implement test renderer (#8628) * ReactTestRenderer move current impl to stack dir * ReactTestRenderer on fiber: commence! * ReactTestRenderer: most non-ref/non-public-instance tests are passing * Move ReactTestFiberComponent functions from Renderer to Component file * test renderer: get rid of private root containers and root Maps * TestRenderer: switch impl based on ReactDOMFeatureFlag.useFiber * ReactTestRenderer: inline component creation * ReactTestRenderer: return to pristine original glory (+ Fiber for error order difference) * TestRendererFiber: use a simple class as TestComponentInstances * Add `getPublicInstance` to support TestRenderer `createNodeMock` * Rename files to end. Update for `mountContainer->createContainer` change * test renderer return same object to prevent unnecessary context pushing/popping * Fiber HostConfig add getPublicInstance. This should be the identity fn everywhere except the test renderer * appease flow * Initial cleanup from sleepy work * unstable_batchedUpdates * Stack test renderer: cache nodeMock to not call on unmount * add public instance type parameter to the reconciler * test renderer: set _nodeMock when mounted * More cleanup * Add test cases for root fragments and (maybe?) root text nodes * Fix the npm package build Explicitly require the Stack version by default. Add a separate entry point for Fiber. We don't add fiber.js to the package yet since it's considered internal until React 16. * Relax the ref type from Object to mixed This seems like the most straightforward way to support getPublicInstance for test renderer. * Remove accidental newline * test renderer: unify TestComponent and TestContainer, handle root updates * Remove string/number serialization attempts since Fiber ensures all textInstances are strings * Return full fragments in toJSON * Test Renderer remove TestComponent instances for simple objects * Update babylon for exact object type syntax * Use $$typeof because clarity > punching ducks. * Minor Flow annotation tweaks * Tweak style, types, and naming * Fix typo
2017-01-12 03:19:32 +08:00
"babylon": "6.15.0",
2016-04-06 01:53:53 +08:00
"browserify": "^13.0.0",
"bundle-collapser": "^1.1.1",
"coffee-script": "^1.8.0",
"core-js": "^2.2.1",
2015-12-22 04:05:03 +08:00
"coveralls": "^2.11.6",
2015-11-12 21:02:45 +08:00
"del": "^2.0.2",
2015-10-27 06:15:00 +08:00
"derequire": "^2.0.3",
"eslint": "^3.10.2",
"eslint-config-fbjs": "^1.1.1",
"eslint-plugin-babel": "^3.3.0",
"eslint-plugin-flowtype": "^2.25.0",
"eslint-plugin-react": "^6.7.1",
"eslint-plugin-react-internal": "file:./eslint-rules",
2017-02-07 03:02:17 +08:00
"fbjs": "^0.8.9",
2016-04-06 01:50:54 +08:00
"fbjs-scripts": "^0.6.0",
"flow-bin": "^0.37.0",
2015-12-22 04:05:03 +08:00
"glob": "^6.0.1",
"glob-stream": "^6.1.0",
2015-06-27 09:37:15 +08:00
"grunt": "^0.4.5",
"grunt-cli": "^0.1.13",
2015-06-27 09:37:15 +08:00
"grunt-compare-size": "^0.4.0",
"grunt-contrib-clean": "^0.6.0",
"gulp": "^3.9.0",
2016-02-27 08:49:32 +08:00
"gulp-babel": "^6.0.0",
2015-10-27 06:15:00 +08:00
"gulp-flatten": "^0.2.0",
"gulp-load-plugins": "^1.2.4",
"gulp-util": "^3.0.7",
"gzip-js": "~0.3.2",
2017-02-23 00:59:18 +08:00
"jest": "^19.0.1",
"jest-config": "^19.0.1",
"jest-jasmine2": "^19.0.1",
"jest-runtime": "^19.0.1",
"loose-envify": "^1.1.0",
"merge-stream": "^1.0.0",
"object-assign": "^4.1.1",
"platform": "^1.1.0",
2015-10-27 06:15:00 +08:00
"run-sequence": "^1.1.4",
"through2": "^2.0.0",
2015-10-27 06:15:00 +08:00
"tmp": "~0.0.28",
2016-05-03 07:08:12 +08:00
"typescript": "~1.8.10",
2015-10-27 06:15:00 +08:00
"uglify-js": "^2.5.0",
"uglifyify": "^3.0.1",
"yargs": "^6.3.0"
2013-05-30 03:46:11 +08:00
},
"devEngines": {
2016-10-29 18:24:12 +08:00
"node": "4.x || 5.x || 6.x || 7.x",
2016-10-25 06:57:12 +08:00
"npm": "2.x || 3.x || 4.x"
},
2013-12-05 05:47:13 +08:00
"commonerConfig": {
2015-05-22 10:08:18 +08:00
"version": 7
2014-02-21 05:10:05 +08:00
},
"scripts": {
"build": "grunt build",
"linc": "git diff --name-only --diff-filter=ACMRTUB `git merge-base HEAD master` | grep '\\.js$' | xargs eslint --",
"lint": "grunt lint",
2015-09-01 08:17:30 +08:00
"postinstall": "node node_modules/fbjs-scripts/node/check-dev-engines.js package.json",
"test": "jest",
"flow": "flow"
},
"jest": {
"modulePathIgnorePatterns": [
"/.module-cache/",
"/react/build/"
],
"rootDir": "",
"transform": {
2016-12-22 11:28:27 +08:00
".*": "./scripts/jest/preprocessor.js"
},
"setupFiles": [
2016-12-22 11:28:27 +08:00
"./scripts/jest/environment.js"
],
2016-12-22 11:28:27 +08:00
"setupTestFrameworkScriptFile": "./scripts/jest/test-framework-setup.js",
"testRegex": "/__tests__/.*(\\.js|coffee|ts)$",
"moduleFileExtensions": [
"js",
"json",
"node",
"coffee",
"ts"
],
2017-02-23 00:59:18 +08:00
"roots": [
"<rootDir>/eslint-rules",
"<rootDir>/mocks",
"<rootDir>/scripts",
"<rootDir>/src",
"node_modules/fbjs"
],
"collectCoverageFrom": [
"src/**/*.js",
"!src/__mocks__/vendor/third_party/*.js",
"!src/test/*.js"
],
"timers": "fake"
}
2013-05-30 03:46:11 +08:00
}