2013-05-30 03:46:11 +08:00
|
|
|
{
|
2015-06-03 05:13:11 +08:00
|
|
|
"private": true,
|
2017-11-07 22:51:36 +08:00
|
|
|
"version": "16.1.0-beta.1",
|
2017-10-19 07:22:21 +08:00
|
|
|
"workspaces": [
|
|
|
|
"packages/*"
|
|
|
|
],
|
2013-05-30 03:46:11 +08:00
|
|
|
"devDependencies": {
|
2016-05-15 06:30:08 +08:00
|
|
|
"art": "^0.10.1",
|
2015-12-22 04:05:03 +08:00
|
|
|
"async": "^1.5.0",
|
2016-03-08 02:37:06 +08:00
|
|
|
"babel-cli": "^6.6.5",
|
2016-02-27 08:49:32 +08:00
|
|
|
"babel-core": "^6.0.0",
|
2016-11-18 06:16:44 +08:00
|
|
|
"babel-eslint": "^7.1.0",
|
2017-10-26 22:15:24 +08:00
|
|
|
"babel-jest": "^21.3.0-beta.4",
|
2016-02-27 08:49:32 +08:00
|
|
|
"babel-plugin-check-es2015-constants": "^6.5.0",
|
2017-04-05 23:47:29 +08:00
|
|
|
"babel-plugin-external-helpers": "^6.22.0",
|
2016-02-27 08:49:32 +08:00
|
|
|
"babel-plugin-syntax-trailing-function-commas": "^6.5.0",
|
2017-03-04 02:34:14 +08:00
|
|
|
"babel-plugin-transform-async-to-generator": "^6.22.0",
|
2016-07-24 05:53:59 +08:00
|
|
|
"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",
|
2017-02-15 03:24:01 +08:00
|
|
|
"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",
|
2016-03-25 07:26:34 +08:00
|
|
|
"babel-plugin-transform-object-rest-spread": "^6.6.5",
|
2016-05-04 14:50:27 +08:00
|
|
|
"babel-plugin-transform-react-jsx-source": "^6.8.0",
|
2016-02-27 08:49:32 +08:00
|
|
|
"babel-preset-react": "^6.5.0",
|
2016-06-02 02:21:26 +08:00
|
|
|
"babel-traverse": "^6.9.0",
|
2017-01-12 03:19:32 +08:00
|
|
|
"babylon": "6.15.0",
|
2014-12-31 14:57:47 +08:00
|
|
|
"bundle-collapser": "^1.1.1",
|
2017-03-16 05:20:08 +08:00
|
|
|
"chalk": "^1.1.3",
|
2017-04-05 23:47:29 +08:00
|
|
|
"cli-table": "^0.3.1",
|
2015-01-26 18:19:35 +08:00
|
|
|
"coffee-script": "^1.8.0",
|
2016-04-02 20:26:35 +08:00
|
|
|
"core-js": "^2.2.1",
|
2015-12-22 04:05:03 +08:00
|
|
|
"coveralls": "^2.11.6",
|
2017-09-26 07:29:56 +08:00
|
|
|
"create-react-class": "^15.6.2",
|
2015-11-12 21:02:45 +08:00
|
|
|
"del": "^2.0.2",
|
2015-10-27 06:15:00 +08:00
|
|
|
"derequire": "^2.0.3",
|
2017-04-05 23:47:29 +08:00
|
|
|
"escape-string-regexp": "^1.0.5",
|
2016-11-18 06:16:44 +08:00
|
|
|
"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",
|
2017-10-17 06:17:00 +08:00
|
|
|
"eslint-plugin-react-internal": "file:./scripts/eslint-rules",
|
2017-10-26 22:15:24 +08:00
|
|
|
"expect": "^21.3.0-beta.4",
|
2017-09-26 07:29:56 +08:00
|
|
|
"fbjs": "^0.8.16",
|
2016-04-06 01:50:54 +08:00
|
|
|
"fbjs-scripts": "^0.6.0",
|
2017-04-05 23:47:29 +08:00
|
|
|
"filesize": "^3.5.6",
|
2017-08-29 05:39:58 +08:00
|
|
|
"flow-bin": "^0.53.1",
|
2017-04-05 23:47:29 +08:00
|
|
|
"git-branch": "^0.3.0",
|
|
|
|
"glob": "^6.0.4",
|
2017-03-03 03:18:46 +08:00
|
|
|
"glob-stream": "^6.1.0",
|
2013-12-29 14:41:54 +08:00
|
|
|
"gzip-js": "~0.3.2",
|
2017-04-05 23:47:29 +08:00
|
|
|
"gzip-size": "^3.0.0",
|
Deterministic updates (#10715)
* Deterministic updates
High priority updates typically require less work to render than
low priority ones. It's beneficial to flush those first, in their own
batch, before working on more expensive low priority ones. We do this
even if a high priority is scheduled after a low priority one.
However, we don't want this reordering of updates to affect the terminal
state. State should be deterministic: once all work has been flushed,
the final state should be the same regardless of how they were
scheduled.
To get both properties, we store updates on the queue in insertion
order instead of priority order (always append). Then, when processing
the queue, we skip over updates with insufficient priority. Instead of
removing updates from the queue right after processing them, we only
remove them if there are no unprocessed updates before it in the list.
This means that updates may be processed more than once.
As a bonus, the new implementation is simpler and requires less code.
* Fix ceiling function
Mixed up the operators.
* Remove addUpdate, addReplaceState, et al
These functions don't really do anything. Simpler to use a single
insertUpdateIntoFiber function.
Also splits scheduleUpdate into two functions:
- scheduleWork traverses a fiber's ancestor path and updates their
expiration times.
- scheduleUpdate inserts an update into a fiber's update queue, then
calls scheduleWork.
* Remove getExpirationTime
The last remaining use for getExpirationTime was for top-level async
updates. I moved that check to scheduleUpdate instead.
* Move UpdateQueue insertions back to class module
Moves UpdateQueue related functions out of the scheduler and back into
the class component module. It's a bit awkward that now we need to pass
around createUpdateExpirationForFiber, too. But we can still do without
addUpdate, replaceUpdate, et al.
* Store callbacks as an array of Updates
Simpler this way.
Also moves commitCallbacks back to UpdateQueue module.
* beginUpdateQueue -> processUpdateQueue
* Updates should never have an expiration of NoWork
* Rename expiration related functions
* Fix update queue Flow types
Gets rid of an unneccessary null check
2017-10-14 08:21:25 +08:00
|
|
|
"jasmine-check": "^1.0.0-rc.0",
|
2017-10-26 22:15:24 +08:00
|
|
|
"jest": "^21.3.0-beta.4",
|
|
|
|
"jest-config": "^21.3.0-beta.4",
|
|
|
|
"jest-jasmine2": "^21.3.0-beta.4",
|
|
|
|
"jest-runtime": "^21.3.0-beta.4",
|
2016-08-11 09:17:49 +08:00
|
|
|
"merge-stream": "^1.0.0",
|
2017-04-05 23:47:29 +08:00
|
|
|
"minimist": "^1.2.0",
|
|
|
|
"ncp": "^2.0.0",
|
2017-01-20 09:29:06 +08:00
|
|
|
"object-assign": "^4.1.1",
|
2014-06-18 05:21:24 +08:00
|
|
|
"platform": "^1.1.0",
|
2017-11-08 02:09:33 +08:00
|
|
|
"prettier": "1.8.1",
|
2017-09-26 07:29:56 +08:00
|
|
|
"prop-types": "^15.6.0",
|
2017-04-05 23:47:29 +08:00
|
|
|
"rimraf": "^2.6.1",
|
2017-11-03 00:56:12 +08:00
|
|
|
"rollup": "^0.49.3",
|
2017-04-05 23:47:29 +08:00
|
|
|
"rollup-plugin-alias": "^1.2.1",
|
|
|
|
"rollup-plugin-babel": "^2.7.1",
|
2017-08-10 18:12:29 +08:00
|
|
|
"rollup-plugin-closure-compiler-js": "^1.0.4",
|
2017-11-03 00:56:12 +08:00
|
|
|
"rollup-plugin-commonjs": "^8.2.6",
|
2017-04-05 23:47:29 +08:00
|
|
|
"rollup-plugin-inject": "^2.0.0",
|
|
|
|
"rollup-plugin-node-resolve": "^2.0.0",
|
|
|
|
"rollup-plugin-replace": "^1.1.1",
|
|
|
|
"rollup-plugin-uglify": "^1.0.1",
|
2015-10-27 06:15:00 +08:00
|
|
|
"run-sequence": "^1.1.4",
|
2015-07-18 09:20:38 +08:00
|
|
|
"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",
|
2016-11-08 03:43:29 +08:00
|
|
|
"yargs": "^6.3.0"
|
2013-05-30 03:46:11 +08:00
|
|
|
},
|
2015-08-19 09:05:13 +08:00
|
|
|
"devEngines": {
|
2017-07-10 03:24:33 +08:00
|
|
|
"node": "4.x || 5.x || 6.x || 7.x || 8.x",
|
2017-06-02 23:03:28 +08:00
|
|
|
"npm": "2.x || 3.x || 4.x || 5.x"
|
2013-06-28 04:09:29 +08:00
|
|
|
},
|
2014-02-21 05:10:05 +08:00
|
|
|
"scripts": {
|
2017-04-05 23:47:29 +08:00
|
|
|
"build": "npm run version-check && node scripts/rollup/build.js",
|
2017-11-05 02:09:28 +08:00
|
|
|
"linc": "node ./scripts/tasks/linc.js",
|
2017-04-05 23:47:29 +08:00
|
|
|
"lint": "node ./scripts/tasks/eslint.js",
|
2015-09-01 08:17:30 +08:00
|
|
|
"postinstall": "node node_modules/fbjs-scripts/node/check-dev-engines.js package.json",
|
2016-06-16 23:18:30 +08:00
|
|
|
"test": "jest",
|
2017-04-05 23:47:29 +08:00
|
|
|
"flow": "node ./scripts/tasks/flow.js",
|
2017-05-12 05:47:29 +08:00
|
|
|
"prettier": "node ./scripts/prettier/index.js write-changed",
|
|
|
|
"prettier-all": "node ./scripts/prettier/index.js write",
|
2017-04-05 23:47:29 +08:00
|
|
|
"version-check": "node ./scripts/tasks/version-check.js"
|
2014-05-13 15:40:29 +08:00
|
|
|
},
|
|
|
|
"jest": {
|
2017-09-27 22:15:20 +08:00
|
|
|
"modulePathIgnorePatterns": [
|
|
|
|
"<rootDir>/scripts/rollup/shims/",
|
|
|
|
"<rootDir>/scripts/bench/"
|
|
|
|
],
|
|
|
|
"transform": {
|
|
|
|
".*": "./scripts/jest/preprocessor.js"
|
|
|
|
},
|
|
|
|
"setupFiles": [
|
|
|
|
"./scripts/jest/setup.js",
|
|
|
|
"./scripts/jest/environment.js"
|
|
|
|
],
|
|
|
|
"setupTestFrameworkScriptFile": "./scripts/jest/test-framework-setup.js",
|
2017-10-20 18:26:37 +08:00
|
|
|
"testRegex": "/__tests__/.*(\\.js|\\.coffee|[^d]\\.ts)$",
|
2017-09-27 22:15:20 +08:00
|
|
|
"moduleFileExtensions": [
|
|
|
|
"js",
|
|
|
|
"json",
|
|
|
|
"node",
|
|
|
|
"coffee",
|
|
|
|
"ts"
|
|
|
|
],
|
|
|
|
"roots": [
|
2017-10-19 07:22:21 +08:00
|
|
|
"<rootDir>/packages",
|
|
|
|
"<rootDir>/scripts"
|
2017-09-27 22:15:20 +08:00
|
|
|
],
|
|
|
|
"collectCoverageFrom": [
|
2017-10-19 07:22:21 +08:00
|
|
|
"packages/**/*.js"
|
2017-09-27 22:15:20 +08:00
|
|
|
],
|
|
|
|
"timers": "fake"
|
2013-11-14 07:02:23 +08:00
|
|
|
}
|
2013-05-30 03:46:11 +08:00
|
|
|
}
|