@samitouri / QOS-React / commits / 0e49074f7a

Cross platform support to run yarn test:edge for Microsoft Edge dev tools extension (#18108)

* Test automation for edge dev tools extension * Linter changes * Load extension automatically. * Fixed path in `test` command Co-authored-by: Brian Vaughn <brian.david.vaughn@gmail.com>

Haseeb Furkhan Mohammed committed Feb 24, 2020 at 18:17 UTC 0e49074f7a5ba3981ffd28387c8b7f891c7bad24
3 files changed +45 -101
packages/react-devtools-extensions/edge/test.js
+23 -12
@@ -2,17 +2,28 @@
2
3 'use strict';
4
5 -const edge = require('windows-edge');
6 -
5 +const open = require('open');
6 +const os = require('os');
7 +const osName = require('os-name');
8 const START_URL = 'https://facebook.github.io/react/';
9 +const {resolve} = require('path');
10 +
11 +const EXTENSION_PATH = resolve('./edge/build/unpacked');
12 +const extargs = `--load-extension=${EXTENSION_PATH}`;
13 +
14 +const osname = osName(os.platform());
15 +let appname;
16 +
17 +if (osname && osname.toLocaleLowerCase().startsWith('windows')) {
18 + appname = 'msedge';
19 +} else if (osname && osname.toLocaleLowerCase().startsWith('mac')) {
20 + appname = 'Microsoft Edge';
21 +} else if (osname && osname.toLocaleLowerCase().startsWith('linux')) {
22 + //Coming soon
23 +}
24
9 -edge({uri: START_URL}, (err, ps) => {
10 - if (err) throw err;
11 - ps.on('error', console.error);
12 - ps.on('exit', code => {
13 - // Browser exited
14 - });
15 - setTimeout(() => {
16 - ps.kill();
17 - }, 2000);
18 -});
25 +if (appname) {
26 + (async () => {
27 + await open(START_URL, {app: [appname, extargs]});
28 + })();
29 +}
packages/react-devtools-extensions/package.json
+3 -2
@@ -36,12 +36,13 @@
36 "firefox-profile": "^1.0.2",
37 "node-libs-browser": "0.5.3",
38 "nullthrows": "^1.0.0",
39 + "open": "^7.0.2",
40 + "os-name": "^3.1.0",
41 "raw-loader": "^3.1.0",
42 "style-loader": "^0.23.1",
43 "web-ext": "^3.0.0",
44 "webpack": "^4.41.2",
45 "webpack-cli": "^3.3.10",
44 - "webpack-dev-server": "^3.3.1",
45 - "windows-edge": "^1.0.1"
46 + "webpack-dev-server": "^3.3.1"
47 }
48 }
yarn.lock
+19 -87
@@ -3176,7 +3176,7 @@ buffer-alloc-unsafe@^1.1.0:
3176 resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
3177 integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
3178
3179 -buffer-alloc@^1.1.0, buffer-alloc@^1.2.0:
3179 +buffer-alloc@^1.2.0:
3180 version "1.2.0"
3181 resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
3182 integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
@@ -3842,7 +3842,7 @@ concat-map@0.0.1:
3842 resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
3843 integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
3844
3845 -concat-stream@1.6.2, concat-stream@^1.4.7, concat-stream@^1.4.8, concat-stream@^1.5.0, concat-stream@^1.5.2:
3845 +concat-stream@1.6.2, concat-stream@^1.4.7, concat-stream@^1.5.0, concat-stream@^1.5.2:
3846 version "1.6.2"
3847 resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
3848 integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
@@ -4238,19 +4238,6 @@ cssstyle@^2.0.0:
4238 dependencies:
4239 cssom "~0.3.6"
4240
4241 -csv-parser@^1.6.0:
4242 - version "1.12.1"
4243 - resolved "https://registry.yarnpkg.com/csv-parser/-/csv-parser-1.12.1.tgz#391e1ef961b1f9dcb4c7c0f82eb450a1bd916158"
4244 - integrity sha512-r45M92nLnGP246ot0Yo5RvbiiMF5Bw/OTIdWJ3OQ4Vbv4hpOeoXVIPxdSmUw+fPJlQOseY+iigJyLSfPMIrddQ==
4245 - dependencies:
4246 - buffer-alloc "^1.1.0"
4247 - buffer-from "^1.0.0"
4248 - generate-function "^1.0.1"
4249 - generate-object-property "^1.0.0"
4250 - inherits "^2.0.1"
4251 - minimist "^1.2.0"
4252 - ndjson "^1.4.0"
4253 -
4241 currently-unhandled@^0.4.1:
4242 version "0.4.1"
4243 resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
@@ -6060,7 +6047,7 @@ fresh@0.5.2:
6047 resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
6048 integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
6049
6063 -from2@^2.1.0, from2@^2.1.1:
6050 +from2@^2.1.0:
6051 version "2.3.0"
6052 resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
6053 integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
@@ -6183,17 +6170,12 @@ gauge@~2.7.3:
6170 strip-ansi "^3.0.1"
6171 wide-align "^1.1.0"
6172
6186 -generate-function@^1.0.1:
6187 - version "1.1.0"
6188 - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-1.1.0.tgz#54c21b080192b16d9877779c5bb81666e772365f"
6189 - integrity sha1-VMIbCAGSsW2Yd3ecW7gWZudyNl8=
6190 -
6173 generate-function@^2.0.0:
6174 version "2.0.0"
6175 resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
6176 integrity sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=
6177
6196 -generate-object-property@^1.0.0, generate-object-property@^1.1.0:
6178 +generate-object-property@^1.1.0:
6179 version "1.2.0"
6180 resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
6181 integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=
@@ -7154,13 +7136,6 @@ interpret@1.2.0, interpret@^1.0.0:
7136 resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
7137 integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
7138
7157 -into-stream@^2.0.0:
7158 - version "2.0.1"
7159 - resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-2.0.1.tgz#db9b003694453eae091d8a5c84cc11507b781d31"
7160 - integrity sha1-25sANpRFPq4JHYpchMwRUHt4HTE=
7161 - dependencies:
7162 - from2 "^2.1.1"
7163 -
7139 invariant@^2.2.2, invariant@^2.2.4:
7140 version "2.2.4"
7141 resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
@@ -7305,6 +7280,11 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2:
7280 is-data-descriptor "^1.0.0"
7281 kind-of "^6.0.2"
7282
7283 +is-docker@^2.0.0:
7284 + version "2.0.0"
7285 + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b"
7286 + integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==
7287 +
7288 is-dotfile@^1.0.0:
7289 version "1.0.3"
7290 resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
@@ -9301,25 +9281,6 @@ ncp@^2.0.0, ncp@~2.0.0:
9281 resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
9282 integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=
9283
9304 -ndjson@^1.4.0:
9305 - version "1.5.0"
9306 - resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-1.5.0.tgz#ae603b36b134bcec347b452422b0bf98d5832ec8"
9307 - integrity sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg=
9308 - dependencies:
9309 - json-stringify-safe "^5.0.1"
9310 - minimist "^1.2.0"
9311 - split2 "^2.1.0"
9312 - through2 "^2.0.3"
9313 -
9314 -neat-csv@^1.0.0:
9315 - version "1.1.0"
9316 - resolved "https://registry.yarnpkg.com/neat-csv/-/neat-csv-1.1.0.tgz#357a412f84b55b21160259945def3a70be30301c"
9317 - integrity sha1-NXpBL4S1WyEWAlmUXe86cL4wMBw=
9318 - dependencies:
9319 - concat-stream "^1.4.8"
9320 - csv-parser "^1.6.0"
9321 - into-stream "^2.0.0"
9322 -
9284 needle@^2.2.1, needle@^2.2.4:
9285 version "2.4.0"
9286 resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c"
@@ -9812,6 +9773,14 @@ onetime@^5.1.0:
9773 dependencies:
9774 mimic-fn "^2.1.0"
9775
9776 +open@^7.0.2:
9777 + version "7.0.2"
9778 + resolved "https://registry.yarnpkg.com/open/-/open-7.0.2.tgz#fb3681f11f157f2361d2392307548ca1792960e8"
9779 + integrity sha512-70E/pFTPr7nZ9nLDPNTcj3IVqnNvKuP4VsBmoKV9YGTnChe0mlS3C4qM7qKarhZ8rGaHKLfo+vBTHXDp6ZSyLQ==
9780 + dependencies:
9781 + is-docker "^2.0.0"
9782 + is-wsl "^2.1.1"
9783 +
9784 opn@5.5.0, opn@^5.5.0:
9785 version "5.5.0"
9786 resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
@@ -9877,7 +9846,7 @@ os-locale@^1.4.0:
9846 dependencies:
9847 lcid "^1.0.0"
9848
9880 -os-name@^3.0.0:
9849 +os-name@^3.0.0, os-name@^3.1.0:
9850 version "3.1.0"
9851 resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801"
9852 integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==
@@ -10303,7 +10272,7 @@ picomatch@^2.0.4, picomatch@^2.0.5:
10272 resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a"
10273 integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==
10274
10306 -pify@^2.0.0, pify@^2.2.0:
10275 +pify@^2.0.0:
10276 version "2.3.0"
10277 resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
10278 integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
@@ -11649,11 +11618,6 @@ schema-utils@^2.0.1:
11618 ajv "^6.1.0"
11619 ajv-keywords "^3.1.0"
11620
11652 -sec@^1.0.0:
11653 - version "1.0.0"
11654 - resolved "https://registry.yarnpkg.com/sec/-/sec-1.0.0.tgz#033d60a3ad20ecf2e00940d14f97823465774335"
11655 - integrity sha1-Az1go60g7PLgCUDRT5eCNGV3QzU=
11656 -
11621 secure-keys@^1.0.0:
11622 version "1.0.0"
11623 resolved "https://registry.yarnpkg.com/secure-keys/-/secure-keys-1.0.0.tgz#f0c82d98a3b139a8776a8808050b824431087fca"
@@ -12400,13 +12364,6 @@ split-string@^3.0.1, split-string@^3.0.2:
12364 dependencies:
12365 extend-shallow "^3.0.0"
12366
12403 -split2@^2.1.0:
12404 - version "2.2.0"
12405 - resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493"
12406 - integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==
12407 - dependencies:
12408 - through2 "^2.0.2"
12409 -
12367 split@~0.3.3:
12368 version "0.3.3"
12369 resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
@@ -12869,16 +12826,6 @@ targz@^1.0.1:
12826 dependencies:
12827 tar-fs "^1.8.1"
12828
12872 -tasklist@^2.1.0:
12873 - version "2.1.0"
12874 - resolved "https://registry.yarnpkg.com/tasklist/-/tasklist-2.1.0.tgz#53382e962e090adaf4c67d255057a97eec616e54"
12875 - integrity sha1-Uzguli4JCtr0xn0lUFepfuxhblQ=
12876 - dependencies:
12877 - neat-csv "^1.0.0"
12878 - pify "^2.2.0"
12879 - pinkie-promise "^2.0.0"
12880 - sec "^1.0.0"
12881 -
12829 temp-dir@^1.0.0:
12830 version "1.0.0"
12831 resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
@@ -12997,14 +12944,6 @@ through2@^2.0.0, through2@^2.0.1, through2@~2.0.0:
12944 readable-stream "^2.1.5"
12945 xtend "~4.0.1"
12946
13000 -through2@^2.0.2, through2@^2.0.3:
13001 - version "2.0.5"
13002 - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
13003 - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
13004 - dependencies:
13005 - readable-stream "~2.3.6"
13006 - xtend "~4.0.1"
13007 -
12947 through2@^3.0.1:
12948 version "3.0.1"
12949 resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a"
@@ -13958,13 +13897,6 @@ window-size@^0.1.4:
13897 resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
13898 integrity sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=
13899
13961 -windows-edge@^1.0.1:
13962 - version "1.0.1"
13963 - resolved "https://registry.yarnpkg.com/windows-edge/-/windows-edge-1.0.1.tgz#ecb8dbf56b380ec226fbf9874db5b977e7ec03ad"
13964 - integrity sha1-7Ljb9Ws4DsIm+/mHTbW5d+fsA60=
13965 - dependencies:
13966 - tasklist "^2.1.0"
13967 -
13900 windows-release@^3.1.0:
13901 version "3.2.0"
13902 resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f"