@samitouri / QOS-React / commits / 1ebeb0542f

Move npm output from build/packages/* to build/node_modules/* (#11962)

* Move build/packages/* to build/node_modules/* This fixes Node resolution in that folder and lets us require() packages in it in Node shell for manual testing. * Link fixtures to packages/node_modules This updates the location and also uses link: instead of file: to avoid Yarn caching the folder contents.

Dan Abramov committed Jan 4, 2018 at 19:01 UTC 1ebeb0542fd0c3741c31098a9d9a8859d9b8176a
22 files changed +105 -148
fixtures/art/package.json
+3 -3
@@ -5,9 +5,9 @@
5 "babel-plugin-transform-class-properties": "^6.24.1",
6 "babel-preset-es2015": "^6.6.0",
7 "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",
8 + "react": "link:../../build/node_modules/react",
9 + "react-art": "link:../../build/node_modules/react-art/",
10 + "react-dom": "link:../../build/node_modules/react-dom",
11 "webpack": "^1.14.0"
12 },
13 "scripts": {
fixtures/art/yarn.lock
+9 -23
@@ -1742,31 +1742,17 @@ rc@^1.1.7:
1742 minimist "^1.2.0"
1743 strip-json-comments "~2.0.1"
1744
1745 -"react-art@file:../../build/packages/react-art":
1746 - version "16.0.0"
1747 - dependencies:
1748 - art "^0.10.1"
1749 - create-react-class "^15.6.2"
1750 - fbjs "^0.8.16"
1751 - loose-envify "^1.1.0"
1752 - object-assign "^4.1.1"
1753 - prop-types "^15.6.0"
1745 +"react-art@link:../../build/node_modules/react-art":
1746 + version "0.0.0"
1747 + uid ""
1748
1755 -"react-dom@file:../../build/packages/react-dom":
1756 - version "16.0.0"
1757 - dependencies:
1758 - fbjs "^0.8.16"
1759 - loose-envify "^1.1.0"
1760 - object-assign "^4.1.1"
1761 - prop-types "^15.6.0"
1749 +"react-dom@link:../../build/node_modules/react-dom":
1750 + version "0.0.0"
1751 + uid ""
1752
1763 -"react@file:../../build/packages/react":
1764 - version "16.0.0"
1765 - dependencies:
1766 - fbjs "^0.8.16"
1767 - loose-envify "^1.1.0"
1768 - object-assign "^4.1.1"
1769 - prop-types "^15.6.0"
1753 +"react@link:../../build/node_modules/react":
1754 + version "0.0.0"
1755 + uid ""
1756
1757 "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:
1758 version "2.2.6"
fixtures/packaging/browserify/dev/package.json
+2 -2
@@ -3,8 +3,8 @@
3 "name": "browserify-dev-fixture",
4 "dependencies": {
5 "browserify": "^13.3.0",
6 - "react": "file:../../../../build/packages/react",
7 - "react-dom": "file:../../../../build/packages/react-dom"
6 + "react": "link:../../../../build/node_modules/react",
7 + "react-dom": "link:../../../../build/node_modules/react-dom"
8 },
9 "scripts": {
10 "build": "rm -f output.js && browserify ./input.js -o output.js"
fixtures/packaging/browserify/dev/yarn.lock
+6 -14
@@ -739,21 +739,13 @@ randombytes@^2.0.0, randombytes@^2.0.1:
739 dependencies:
740 safe-buffer "^5.1.0"
741
742 -"react-dom@file:../../../../build/packages/react-dom":
743 - version "16.0.0"
744 - dependencies:
745 - fbjs "^0.8.16"
746 - loose-envify "^1.1.0"
747 - object-assign "^4.1.1"
748 - prop-types "^15.6.0"
742 +"react-dom@link:../../../../build/node_modules/react-dom":
743 + version "0.0.0"
744 + uid ""
745
750 -"react@file:../../../../build/packages/react":
751 - version "16.0.0"
752 - dependencies:
753 - fbjs "^0.8.16"
754 - loose-envify "^1.1.0"
755 - object-assign "^4.1.1"
756 - prop-types "^15.6.0"
746 +"react@link:../../../../build/node_modules/react":
747 + version "0.0.0"
748 + uid ""
749
750 read-only-stream@^2.0.0:
751 version "2.0.0"
fixtures/packaging/browserify/prod/package.json
+2 -2
@@ -3,8 +3,8 @@
3 "name": "browserify-prod-fixture",
4 "dependencies": {
5 "browserify": "^13.3.0",
6 - "react": "file:../../../../build/packages/react",
7 - "react-dom": "file:../../../../build/packages/react-dom"
6 + "react": "link:../../../../build/node_modules/react",
7 + "react-dom": "link:../../../../build/node_modules/react-dom"
8 },
9 "scripts": {
10 "build": "rm -f output.js && browserify ./input.js -g [envify --NODE_ENV 'production'] -o output.js"
fixtures/packaging/browserify/prod/yarn.lock
+6 -14
@@ -750,21 +750,13 @@ randombytes@^2.0.0, randombytes@^2.0.1:
750 dependencies:
751 safe-buffer "^5.1.0"
752
753 -"react-dom@file:../../../../build/packages/react-dom":
754 - version "16.0.0"
755 - dependencies:
756 - fbjs "^0.8.16"
757 - loose-envify "^1.1.0"
758 - object-assign "^4.1.1"
759 - prop-types "^15.6.0"
753 +"react-dom@link:../../../../build/node_modules/react-dom":
754 + version "0.0.0"
755 + uid ""
756
761 -"react@file:../../../../build/packages/react":
762 - version "16.0.0"
763 - dependencies:
764 - fbjs "^0.8.16"
765 - loose-envify "^1.1.0"
766 - object-assign "^4.1.1"
767 - prop-types "^15.6.0"
757 +"react@link:../../../../build/node_modules/react":
758 + version "0.0.0"
759 + uid ""
760
761 read-only-stream@^2.0.0:
762 version "2.0.0"
fixtures/packaging/brunch/dev/package.json
+3 -3
@@ -4,10 +4,10 @@
4 "devDependencies": {
5 "brunch": "^2.9.1",
6 "javascript-brunch": "^2.0.0",
7 - "react": "file:../../../../build/packages/react",
8 - "react-dom": "file:../../../../build/packages/react-dom"
7 + "react": "link:../../../../build/node_modules/react",
8 + "react-dom": "link:../../../../build/node_modules/react-dom"
9 },
10 "scripts": {
11 "build": "rm -rf public && brunch build"
12 }
13 -}
\ No newline at end of file
13 +}
fixtures/packaging/brunch/dev/yarn.lock
+6 -14
@@ -1704,21 +1704,13 @@ rc@^1.1.7:
1704 minimist "^1.2.0"
1705 strip-json-comments "~2.0.1"
1706
1707 -"react-dom@file:../../../../build/packages/react-dom":
1708 - version "16.0.0"
1709 - dependencies:
1710 - fbjs "^0.8.16"
1711 - loose-envify "^1.1.0"
1712 - object-assign "^4.1.1"
1713 - prop-types "^15.6.0"
1707 +"react-dom@link:../../../../build/node_modules/react-dom":
1708 + version "0.0.0"
1709 + uid ""
1710
1715 -"react@file:../../../../build/packages/react":
1716 - version "16.0.0"
1717 - dependencies:
1718 - fbjs "^0.8.16"
1719 - loose-envify "^1.1.0"
1720 - object-assign "^4.1.1"
1721 - prop-types "^15.6.0"
1711 +"react@link:../../../../build/node_modules/react":
1712 + version "0.0.0"
1713 + uid ""
1714
1715 read-components@~0.7:
1716 version "0.7.0"
fixtures/packaging/brunch/prod/package.json
+3 -3
@@ -4,10 +4,10 @@
4 "devDependencies": {
5 "brunch": "^2.9.1",
6 "javascript-brunch": "^2.0.0",
7 - "react": "file:../../../../build/packages/react",
8 - "react-dom": "file:../../../../build/packages/react-dom"
7 + "react": "link:../../../../build/node_modules/react",
8 + "react-dom": "link:../../../../build/node_modules/react-dom"
9 },
10 "scripts": {
11 "build": "rm -rf public && brunch build -p"
12 }
13 -}
\ No newline at end of file
13 +}
fixtures/packaging/brunch/prod/yarn.lock
+6 -14
@@ -1704,21 +1704,13 @@ rc@^1.1.7:
1704 minimist "^1.2.0"
1705 strip-json-comments "~2.0.1"
1706
1707 -"react-dom@file:../../../../build/packages/react-dom":
1708 - version "16.0.0"
1709 - dependencies:
1710 - fbjs "^0.8.16"
1711 - loose-envify "^1.1.0"
1712 - object-assign "^4.1.1"
1713 - prop-types "^15.6.0"
1707 +"react-dom@link:../../../../build/node_modules/react-dom":
1708 + version "0.0.0"
1709 + uid ""
1710
1715 -"react@file:../../../../build/packages/react":
1716 - version "16.0.0"
1717 - dependencies:
1718 - fbjs "^0.8.16"
1719 - loose-envify "^1.1.0"
1720 - object-assign "^4.1.1"
1721 - prop-types "^15.6.0"
1711 +"react@link:../../../../build/node_modules/react":
1712 + version "0.0.0"
1713 + uid ""
1714
1715 read-components@~0.7:
1716 version "0.7.0"
fixtures/packaging/webpack-alias/dev/config.js
+1 -1
@@ -6,7 +6,7 @@ module.exports = {
6 filename: 'output.js',
7 },
8 resolve: {
9 - root: path.resolve('../../../../build/packages'),
9 + root: path.resolve('../../../../build/node_modules'),
10 alias: {
11 react: 'react/umd/react.development',
12 'react-dom': 'react-dom/umd/react-dom.development',
fixtures/packaging/webpack-alias/prod/config.js
+1 -1
@@ -6,7 +6,7 @@ module.exports = {
6 filename: 'output.js',
7 },
8 resolve: {
9 - root: path.resolve('../../../../build/packages'),
9 + root: path.resolve('../../../../build/node_modules'),
10 alias: {
11 react: 'react/umd/react.production.min',
12 'react-dom': 'react-dom/umd/react-dom.production.min',
fixtures/packaging/webpack/dev/config.js
+1 -1
@@ -6,6 +6,6 @@ module.exports = {
6 filename: 'output.js',
7 },
8 resolve: {
9 - root: path.resolve('../../../../build/packages/'),
9 + root: path.resolve('../../../../build/node_modules/'),
10 },
11 };
fixtures/packaging/webpack/prod/config.js
+1 -1
@@ -7,7 +7,7 @@ module.exports = {
7 filename: 'output.js',
8 },
9 resolve: {
10 - root: path.resolve('../../../../build/packages/'),
10 + root: path.resolve('../../../../build/node_modules/'),
11 },
12 plugins: [
13 new webpack.DefinePlugin({
fixtures/ssr/package.json
+2 -2
@@ -12,8 +12,8 @@
12 "ignore-styles": "^5.0.1",
13 "import-export": "^1.0.1",
14 "node-fetch": "^1.6.3",
15 - "react": "file:../../build/packages/react",
16 - "react-dom": "file:../../build/packages/react-dom"
15 + "react": "link:../../build/node_modules/react",
16 + "react-dom": "link:../../build/node_modules/react-dom"
17 },
18 "scripts": {
19 "start": "concurrently \"npm run start:server\" \"npm run start:client\"",
fixtures/ssr/yarn.lock
+6 -14
@@ -4200,13 +4200,9 @@ react-dev-utils@^0.5.2:
4200 sockjs-client "1.0.1"
4201 strip-ansi "3.0.1"
4202
4203 -"react-dom@file:../../build/packages/react-dom":
4204 - version "16.0.0"
4205 - dependencies:
4206 - fbjs "^0.8.16"
4207 - loose-envify "^1.1.0"
4208 - object-assign "^4.1.1"
4209 - prop-types "^15.6.0"
4203 +"react-dom@link:../../build/node_modules/react-dom":
4204 + version "0.0.0"
4205 + uid ""
4206
4207 react-scripts@0.9.5:
4208 version "0.9.5"
@@ -4253,13 +4249,9 @@ react-scripts@0.9.5:
4249 optionalDependencies:
4250 fsevents "1.0.17"
4251
4256 -"react@file:../../build/packages/react":
4257 - version "16.0.0"
4258 - dependencies:
4259 - fbjs "^0.8.16"
4260 - loose-envify "^1.1.0"
4261 - object-assign "^4.1.1"
4262 - prop-types "^15.6.0"
4252 +"react@link:../../build/node_modules/react":
4253 + version "0.0.0"
4254 + uid ""
4255
4256 read-pkg-up@^1.0.1:
4257 version "1.0.1"
scripts/jest/config.build.js
+4 -2
@@ -17,9 +17,11 @@ const packages = readdirSync(packagesRoot).filter(dir => {
17 const moduleNameMapper = {};
18 packages.forEach(name => {
19 // Root entry point
20 - moduleNameMapper[`^${name}$`] = `<rootDir>/build/packages/${name}`;
20 + moduleNameMapper[`^${name}$`] = `<rootDir>/build/node_modules/${name}`;
21 // Named entry points
22 - moduleNameMapper[`^${name}/(.*)$`] = `<rootDir>/build/packages/${name}/$1`;
22 + moduleNameMapper[`^${name}/(.*)$`] = `<rootDir>/build/node_modules/${
23 + name
24 + }/$1`;
25 });
26
27 module.exports = Object.assign({}, sourceConfig, {
scripts/release/publish-commands/check-build-status.js
+7 -1
@@ -8,7 +8,13 @@ const {readJson} = require('fs-extra');
8 const {join} = require('path');
9
10 module.exports = async ({cwd, version}) => {
11 - const packagePath = join(cwd, 'build', 'packages', 'react', 'package.json');
11 + const packagePath = join(
12 + cwd,
13 + 'build',
14 + 'node_modules',
15 + 'react',
16 + 'package.json'
17 + );
18
19 if (!existsSync(packagePath)) {
20 throw Error('No build found');
scripts/release/publish-commands/publish-to-npm.js
+2 -2
@@ -15,13 +15,13 @@ const push = async ({cwd, dry, packages, version}) => {
15
16 const publishProject = async project => {
17 try {
18 - const path = join(cwd, 'build', 'packages', project);
18 + const path = join(cwd, 'build', 'node_modules', project);
19 await execUnlessDry(`npm publish --tag ${tag}`, {cwd: path, dry});
20
21 const packagePath = join(
22 cwd,
23 'build',
24 - 'packages',
24 + 'node_modules',
25 project,
26 'package.json'
27 );
scripts/rollup/packaging.js
+11 -11
@@ -31,11 +31,11 @@ function getBundleOutputPaths(bundleType, filename, packageName) {
31 switch (bundleType) {
32 case NODE_DEV:
33 case NODE_PROD:
34 - return [`build/packages/${packageName}/cjs/${filename}`];
34 + return [`build/node_modules/${packageName}/cjs/${filename}`];
35 case UMD_DEV:
36 case UMD_PROD:
37 return [
38 - `build/packages/${packageName}/umd/${filename}`,
38 + `build/node_modules/${packageName}/umd/${filename}`,
39 `build/dist/${filename}`,
40 ];
41 case FB_DEV:
@@ -101,7 +101,7 @@ function getTarOptions(tgzName, packageName) {
101 const CONTENTS_FOLDER = 'package';
102 return {
103 src: tgzName,
104 - dest: `build/packages/${packageName}`,
104 + dest: `build/node_modules/${packageName}`,
105 tar: {
106 entries: [CONTENTS_FOLDER],
107 map(header) {
@@ -115,31 +115,31 @@ function getTarOptions(tgzName, packageName) {
115
116 async function prepareNpmPackage(name) {
117 await Promise.all([
118 - asyncCopyTo('LICENSE', `build/packages/${name}/LICENSE`),
118 + asyncCopyTo('LICENSE', `build/node_modules/${name}/LICENSE`),
119 asyncCopyTo(
120 `packages/${name}/package.json`,
121 - `build/packages/${name}/package.json`
121 + `build/node_modules/${name}/package.json`
122 ),
123 asyncCopyTo(
124 `packages/${name}/README.md`,
125 - `build/packages/${name}/README.md`
125 + `build/node_modules/${name}/README.md`
126 ),
127 - asyncCopyTo(`packages/${name}/npm`, `build/packages/${name}`),
127 + asyncCopyTo(`packages/${name}/npm`, `build/node_modules/${name}`),
128 ]);
129 const tgzName = (await asyncExecuteCommand(
130 - `npm pack build/packages/${name}`
130 + `npm pack build/node_modules/${name}`
131 )).trim();
132 - await asyncRimRaf(`build/packages/${name}`);
132 + await asyncRimRaf(`build/node_modules/${name}`);
133 await asyncExtractTar(getTarOptions(tgzName, name));
134 unlinkSync(tgzName);
135 }
136
137 async function prepareNpmPackages() {
138 - if (!existsSync('build/packages')) {
138 + if (!existsSync('build/node_modules')) {
139 // We didn't build any npm packages.
140 return;
141 }
142 - const builtPackageFolders = readdirSync('build/packages').filter(
142 + const builtPackageFolders = readdirSync('build/node_modules').filter(
143 dir => dir.charAt(0) !== '.'
144 );
145 await Promise.all(builtPackageFolders.map(prepareNpmPackage));
scripts/rollup/results.json
+18 -18
@@ -4,8 +4,8 @@
4 "filename": "react.development.js",
5 "bundleType": "UMD_DEV",
6 "packageName": "react",
7 - "size": 55220,
8 - "gzip": 14986
7 + "size": 55396,
8 + "gzip": 15025
9 },
10 {
11 "filename": "react.production.min.js",
@@ -18,8 +18,8 @@
18 "filename": "react.development.js",
19 "bundleType": "NODE_DEV",
20 "packageName": "react",
21 - "size": 45636,
22 - "gzip": 12675
21 + "size": 45812,
22 + "gzip": 12711
23 },
24 {
25 "filename": "react.production.min.js",
@@ -32,8 +32,8 @@
32 "filename": "React-dev.js",
33 "bundleType": "FB_DEV",
34 "packageName": "react",
35 - "size": 44974,
36 - "gzip": 12197
35 + "size": 45150,
36 + "gzip": 12229
37 },
38 {
39 "filename": "React-prod.js",
@@ -46,43 +46,43 @@
46 "filename": "react-dom.development.js",
47 "bundleType": "UMD_DEV",
48 "packageName": "react-dom",
49 - "size": 560424,
50 - "gzip": 132739
49 + "size": 560105,
50 + "gzip": 132646
51 },
52 {
53 "filename": "react-dom.production.min.js",
54 "bundleType": "UMD_PROD",
55 "packageName": "react-dom",
56 - "size": 93669,
57 - "gzip": 30753
56 + "size": 93530,
57 + "gzip": 30695
58 },
59 {
60 "filename": "react-dom.development.js",
61 "bundleType": "NODE_DEV",
62 "packageName": "react-dom",
63 - "size": 544457,
64 - "gzip": 128965
63 + "size": 544138,
64 + "gzip": 128866
65 },
66 {
67 "filename": "react-dom.production.min.js",
68 "bundleType": "NODE_PROD",
69 "packageName": "react-dom",
70 - "size": 92090,
71 - "gzip": 29815
70 + "size": 91951,
71 + "gzip": 29748
72 },
73 {
74 "filename": "ReactDOM-dev.js",
75 "bundleType": "FB_DEV",
76 "packageName": "react-dom",
77 - "size": 561931,
78 - "gzip": 131204
77 + "size": 561584,
78 + "gzip": 131098
79 },
80 {
81 "filename": "ReactDOM-prod.js",
82 "bundleType": "FB_PROD",
83 "packageName": "react-dom",
84 - "size": 265369,
85 - "gzip": 51278
84 + "size": 264984,
85 + "gzip": 51187
86 },
87 {
88 "filename": "react-dom-test-utils.development.js",
scripts/rollup/validate/index.js
+5 -2
@@ -64,11 +64,14 @@ const bundles = [
64 },
65 {
66 format: 'umd',
67 - filePatterns: [`./build/packages/*/umd/*.js`],
67 + filePatterns: [`./build/node_modules/*/umd/*.js`],
68 },
69 {
70 format: 'cjs',
71 - filePatterns: [`./build/packages/*/*.js`, `./build/packages/*/cjs/*.js`],
71 + filePatterns: [
72 + `./build/node_modules/*/*.js`,
73 + `./build/node_modules/*/cjs/*.js`,
74 + ],
75 },
76 ];
77