Skip to content

Commit d9c1dbd

Browse files
authored
Use Yarn Workspaces (facebook#11252)
* Enable Yarn workspaces for packages/* * Move src/isomorphic/* into packages/react/src/* * Create index.js stubs for all packages in packages/* This makes the test pass again, but breaks the build because npm/ folders aren't used yet. I'm not sure if we'll keep this structure--I'll just keep working and fix the build after it settles down. * Put FB entry point for react-dom into packages/* * Move src/renderers/testing/* into packages/react-test-renderer/src/* Note that this is currently broken because Jest ignores node_modules, and so Yarn linking makes Jest skip React source when transforming. * Remove src/node_modules It is now unnecessary. Some tests fail though. * Add a hacky workaround for Jest/Workspaces issue Jest sees node_modules and thinks it's third party code. This is a hacky way to teach Jest to still transform anything in node_modules/react* if it resolves outside of node_modules (such as to our packages/*) folder. I'm not very happy with this and we should revisit. * Add a fake react-native package * Move src/renderers/art/* into packages/react-art/src/* * Move src/renderers/noop/* into packages/react-noop-renderer/src/* * Move src/renderers/dom/* into packages/react-dom/src/* * Move src/renderers/shared/fiber/* into packages/react-reconciler/src/* * Move DOM/reconciler tests I previously forgot to move * Move src/renderers/native-*/* into packages/react-native-*/src/* * Move shared code into packages/shared It's not super clear how to organize this properly yet. * Add back files that somehow got lost * Fix the build * Prettier * Add missing license headers * Fix an issue that caused mocks to get included into build * Update other references to src/ * Re-run Prettier * Fix lint * Fix weird Flow violation I didn't change this file but Flow started complaining. Caleb said this annotation was unnecessarily using $Abstract though so I removed it. * Update sizes * Fix stats script * Fix packaging fixtures Use file: instead of NODE_PATH since NODE_PATH. NODE_PATH trick only worked because we had no react/react-dom in root node_modules, but now we do. file: dependency only works as I expect in Yarn, so I moved the packaging fixtures to use Yarn and committed lockfiles. Verified that the page shows up. * Fix art fixture * Fix reconciler fixture * Fix SSR fixture * Rename native packages
1 parent 76659c4 commit d9c1dbd

File tree

409 files changed

+13760
-502
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

409 files changed

+13760
-502
lines changed

.eslintignore

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# We can probably lint these later but not important at this point
2-
src/renderers/art
3-
src/__mocks__/vendor
4-
packages/react-art/lib
5-
# This should be more like examples/**/thirdparty/** but
6-
# we should fix https://github.com/facebook/esprima/pull/85 first
7-
fixtures/
8-
# Ignore built files.
1+
# Third party
2+
**/node_modules
3+
4+
# Not written by hand
5+
packages/react-art/npm/lib
6+
7+
# Build products
98
build/
109
coverage/
10+
fixtures/
1111
scripts/bench/benchmarks/**/*.js
12+
13+
# React repository clone
1214
scripts/bench/remote-repo/
13-
vendor/*
14-
**/node_modules

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,3 @@ chrome-user-data
2121
.vscode
2222
*.swp
2323
*.swo
24-
*react*min*.js
25-
!src/node_modules

fixtures/art/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
To try this example, run:
44

55
```
6-
npm install
7-
npm run build
6+
yarn
7+
yarn build
88
```
99

1010
in this directory, then open index.html in your browser.

fixtures/art/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@
55
"babel-plugin-transform-class-properties": "^6.24.1",
66
"babel-preset-es2015": "^6.6.0",
77
"babel-preset-react": "^6.5.0",
8+
"react": "file:../../build/packages/react",
9+
"react-art": "file:../../build/packages/react-art",
10+
"react-dom": "file:../../build/packages/react-dom",
811
"webpack": "^1.14.0"
912
},
1013
"scripts": {
11-
"build": "ln -fs ../../../build/packages/react node_modules/react && ln -fs ../../../build/packages/react-dom node_modules/react-dom && ln -fs ../../../build/packages/react-art node_modules/react-art && webpack app.js bundle.js"
14+
"build": "webpack app.js bundle.js"
1215
}
1316
}

fixtures/art/yarn.lock

Lines changed: 106 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ arrify@^1.0.0:
7373
version "1.0.1"
7474
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
7575

76+
asap@~2.0.3:
77+
version "2.0.6"
78+
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
79+
7680
asn1@~0.2.3:
7781
version "0.2.3"
7882
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
@@ -846,6 +850,10 @@ convert-source-map@^1.1.0:
846850
version "1.5.0"
847851
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"
848852

853+
core-js@^1.0.0:
854+
version "1.2.7"
855+
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
856+
849857
core-js@^2.4.0:
850858
version "2.4.1"
851859
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
@@ -854,6 +862,14 @@ core-util-is@~1.0.0:
854862
version "1.0.2"
855863
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
856864

865+
create-react-class@^15.6.2:
866+
version "15.6.2"
867+
resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.2.tgz#cf1ed15f12aad7f14ef5f2dfe05e6c42f91ef02a"
868+
dependencies:
869+
fbjs "^0.8.9"
870+
loose-envify "^1.3.1"
871+
object-assign "^4.1.1"
872+
857873
858874
version "2.0.5"
859875
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
@@ -927,6 +943,12 @@ emojis-list@^2.0.0:
927943
version "2.1.0"
928944
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
929945

946+
encoding@^0.1.11:
947+
version "0.1.12"
948+
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
949+
dependencies:
950+
iconv-lite "~0.4.13"
951+
930952
enhanced-resolve@~0.9.0:
931953
version "0.9.1"
932954
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e"
@@ -979,6 +1001,18 @@ [email protected]:
9791001
version "1.0.2"
9801002
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
9811003

1004+
fbjs@^0.8.16, fbjs@^0.8.9:
1005+
version "0.8.16"
1006+
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db"
1007+
dependencies:
1008+
core-js "^1.0.0"
1009+
isomorphic-fetch "^2.1.1"
1010+
loose-envify "^1.0.0"
1011+
object-assign "^4.1.0"
1012+
promise "^7.1.1"
1013+
setimmediate "^1.0.5"
1014+
ua-parser-js "^0.7.9"
1015+
9821016
filename-regex@^2.0.0:
9831017
version "2.0.0"
9841018
resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775"
@@ -1170,6 +1204,10 @@ [email protected]:
11701204
version "0.0.1"
11711205
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
11721206

1207+
iconv-lite@~0.4.13:
1208+
version "0.4.19"
1209+
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
1210+
11731211
ieee754@^1.1.4:
11741212
version "1.1.8"
11751213
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
@@ -1267,6 +1305,10 @@ is-primitive@^2.0.0:
12671305
version "2.0.0"
12681306
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
12691307

1308+
is-stream@^1.0.1:
1309+
version "1.1.0"
1310+
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
1311+
12701312
is-typedarray@~1.0.0:
12711313
version "1.0.0"
12721314
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
@@ -1281,6 +1323,13 @@ isobject@^2.0.0:
12811323
dependencies:
12821324
isarray "1.0.0"
12831325

1326+
isomorphic-fetch@^2.1.1:
1327+
version "2.2.1"
1328+
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
1329+
dependencies:
1330+
node-fetch "^1.0.1"
1331+
whatwg-fetch ">=0.10.0"
1332+
12841333
isstream@~0.1.2:
12851334
version "0.1.2"
12861335
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
@@ -1369,7 +1418,7 @@ longest@^1.0.1:
13691418
version "1.0.1"
13701419
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
13711420

1372-
loose-envify@^1.0.0:
1421+
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
13731422
version "1.3.1"
13741423
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
13751424
dependencies:
@@ -1446,6 +1495,13 @@ nan@^2.3.0:
14461495
version "2.5.1"
14471496
resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
14481497

1498+
node-fetch@^1.0.1:
1499+
version "1.7.3"
1500+
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
1501+
dependencies:
1502+
encoding "^0.1.11"
1503+
is-stream "^1.0.1"
1504+
14491505
node-libs-browser@^0.7.0:
14501506
version "0.7.0"
14511507
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.7.0.tgz#3e272c0819e308935e26674408d7af0e1491b83b"
@@ -1518,7 +1574,7 @@ oauth-sign@~0.8.1:
15181574
version "0.8.2"
15191575
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
15201576

1521-
object-assign@^4.0.1, object-assign@^4.1.0:
1577+
object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
15221578
version "4.1.1"
15231579
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
15241580

@@ -1628,6 +1684,20 @@ process@^0.11.0:
16281684
version "0.11.9"
16291685
resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
16301686

1687+
promise@^7.1.1:
1688+
version "7.3.1"
1689+
resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
1690+
dependencies:
1691+
asap "~2.0.3"
1692+
1693+
prop-types@^15.6.0:
1694+
version "15.6.0"
1695+
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856"
1696+
dependencies:
1697+
fbjs "^0.8.16"
1698+
loose-envify "^1.3.1"
1699+
object-assign "^4.1.1"
1700+
16311701
prr@~0.0.0:
16321702
version "0.0.0"
16331703
resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
@@ -1668,6 +1738,31 @@ rc@^1.1.7:
16681738
minimist "^1.2.0"
16691739
strip-json-comments "~2.0.1"
16701740

1741+
"react-art@file:../../build/packages/react-art":
1742+
version "16.0.0"
1743+
dependencies:
1744+
create-react-class "^15.6.2"
1745+
fbjs "^0.8.16"
1746+
loose-envify "^1.1.0"
1747+
object-assign "^4.1.1"
1748+
prop-types "^15.6.0"
1749+
1750+
"react-dom@file:../../build/packages/react-dom":
1751+
version "16.0.0"
1752+
dependencies:
1753+
fbjs "^0.8.16"
1754+
loose-envify "^1.1.0"
1755+
object-assign "^4.1.1"
1756+
prop-types "^15.6.0"
1757+
1758+
"react@file:../../build/packages/react":
1759+
version "16.0.0"
1760+
dependencies:
1761+
fbjs "^0.8.16"
1762+
loose-envify "^1.1.0"
1763+
object-assign "^4.1.1"
1764+
prop-types "^15.6.0"
1765+
16711766
"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.4, readable-stream@^2.2.6:
16721767
version "2.2.6"
16731768
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.6.tgz#8b43aed76e71483938d12a8d46c6cf1a00b1f816"
@@ -1811,7 +1906,7 @@ set-immediate-shim@^1.0.1:
18111906
version "1.0.1"
18121907
resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
18131908

1814-
setimmediate@^1.0.4:
1909+
setimmediate@^1.0.4, setimmediate@^1.0.5:
18151910
version "1.0.5"
18161911
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
18171912

@@ -1988,6 +2083,10 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
19882083
version "0.14.5"
19892084
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
19902085

2086+
ua-parser-js@^0.7.9:
2087+
version "0.7.17"
2088+
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac"
2089+
19912090
uglify-js@~2.7.3:
19922091
version "2.7.5"
19932092
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8"
@@ -2073,6 +2172,10 @@ webpack@^1.14.0:
20732172
watchpack "^0.2.1"
20742173
webpack-core "~0.6.9"
20752174

2175+
whatwg-fetch@>=0.10.0:
2176+
version "2.0.3"
2177+
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
2178+
20762179
wide-align@^1.1.0:
20772180
version "1.1.0"
20782181
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
{
2-
"name": "webpack-test",
32
"private": true,
3+
"name": "browserify-dev-fixture",
44
"dependencies": {
5-
"browserify": "^13.3.0"
5+
"browserify": "^13.3.0",
6+
"react": "file:../../../../build/packages/react",
7+
"react-dom": "file:../../../../build/packages/react-dom"
68
},
79
"scripts": {
8-
"build": "rm -f output.js && NODE_PATH=../../../../build/packages browserify ./input.js -o output.js"
10+
"build": "rm -f output.js && browserify ./input.js -o output.js"
911
}
1012
}

0 commit comments

Comments
 (0)