From 475cc49569f6223103509a722d3510af46443258 Mon Sep 17 00:00:00 2001 From: SimonShiki Date: Mon, 6 Nov 2023 15:04:04 +0000 Subject: [PATCH] :sparkles: feat: pack chrome extension Signed-off-by: SimonShiki --- .github/workflows/validate.yml | 10 +- .gitignore | 1 + extension/images/128.png | Bin 0 -> 10423 bytes extension/images/16.png | Bin 0 -> 569 bytes extension/images/24.png | Bin 0 -> 919 bytes extension/images/48.png | Bin 0 -> 2417 bytes extension/manifest.json | 1 + extension/scripts/content-script.js | 4 + generate-helper.js | 22 +++++ package.json | 3 +- scripts/generate-extension.js | 74 ++++++++++++++ webpack.config.js | 30 +----- yarn.lock | 146 +++++++++++++++++++++++++++- 13 files changed, 257 insertions(+), 34 deletions(-) create mode 100644 extension/images/128.png create mode 100644 extension/images/16.png create mode 100644 extension/images/24.png create mode 100644 extension/images/48.png create mode 100644 extension/manifest.json create mode 100644 extension/scripts/content-script.js create mode 100644 generate-helper.js create mode 100644 scripts/generate-extension.js diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index dfdb61c..f739153 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -20,8 +20,12 @@ jobs: run: yarn install --frozen-lockfile - name: Check types and Build run: yarn tsc --noEmit && NODE_ENV=PRODUCTION yarn run build - - name: Upload Canary Userscript + - name: Pack Chrome Extension + run: yarn run extension-pack + - name: Upload Userscript And Extension uses: actions/upload-artifact@v3 with: - name: Canary Userscript - path: dist/chibi.user.js + name: Userscript and Unpacked Extension + path: | + dist/chibi.user.js + dist/unpacked-extension.zip diff --git a/.gitignore b/.gitignore index 6473d5a..365eb1a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ yarn-error.log # generated build files /dist +/extension/scripts/chibi.user.js diff --git a/extension/images/128.png b/extension/images/128.png new file mode 100644 index 0000000000000000000000000000000000000000..b5f921926f4b9bbfc258f11a2785192e0bd27ca0 GIT binary patch literal 10423 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 Hu0mjfrn~mp literal 0 HcmV?d00001 diff --git a/extension/images/24.png b/extension/images/24.png new file mode 100644 index 0000000000000000000000000000000000000000..6723a57c4302d24bfb383e8ecdaf01c413787f66 GIT binary patch literal 919 zcmV;I18Dq-P)wR-ndJ*wG4N$tL;YYt|o#gs37c0 zWw@oVxT2kNir8NGv4ZWox)!9}(%2yvSPPR)yZ_bNTSTzlZ02f&YRQ za=D~8b8W!>>H9sK-6b2D#VZ%PGe2H0TQ58vHw^PlEglI3#q*a7B>|T%>DWyXF>&~`;AQRBVYlz0Fk?a#dn*~x_hCdGDH*N z%&NU}0>C6Q5|68@wjaQ$4I4DZzJ4Rp``}xOxiu}N1R(%4qis|IECjDtp{6pBQUaa> z)GC2%*WcFrc05I6@h6my&WF~Rv^`+_=ZV|aYBLQZ3a?axU#Yavgg|fxE(8Lnj?i_% zJ?}0-g(T3S87GBRdP&&U*>>i7z(VfalM_=@=e5o)fE4I>xDSz@2SCVQCC5ic@y(Z` zn9mnL>MIB<%Ya}YQi2AqVHNJ2uI2ORS+)4eeF57J9-2J-`jPRAm%qZ~)WkY;{?;u_ zO<#u)0_8szQ7aXZNW>vL7gW~)--Toh;2eo9T|?&f9kYb!k8b$nL@F&G+tmw7-y&168uE zud@o^#`H9veQqx#0Kc@1hy-Z23HUBRC|G$JBJiN93IfLwt1dgZb>E94xJT>kTkJfIjKK5$7K@Gc=^%{O-!Rc5mU^ t%O5ZPaP>6+$Y!(Av9Yn9O+o*+`V+_EhpnN=FBAX(002ovPDHLkV1g+9psxS` literal 0 HcmV?d00001 diff --git a/extension/images/48.png b/extension/images/48.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dcc9faf330deffa7207ba3f7e2b297ad1fdf77 GIT binary patch literal 2417 zcmV-%36A!OP);K2j{#qFDGv+1B)Tzrjx z-UKe2bjdt3m#Z;y)i)L1*;wafvvW)@jZssN5S2h`At8<`3Q~eJKx?!V2-5;(fnkAZ zgAkMpt+IYh!*iVlkEKPTm zu&o<32m$)626D?!}ibG!15{LK~`7K*r%;2g7I#_F}=riT1%_{)gGRx+x7~ zFGac@L;+6SP@EBsSan0Os%w$vsX+|8yHP@*l7u9VDHrqj?RiY0iOW7nqf(WiQeKk? zqL9eJ!Eg>3fzMVwb5E+a>f`3!pDYn}3L}+<$VW(t zv~3K>!SXz$WesRFQJTFwcJSHmU3{{02mkqK8~cy8VP`xXLiEx71PAsJm&>4gdW6=P zrU^d96V?)dlCE!Mo77g1NIm_BtDuIrw(S1H8<53S(u z&pyq}>6equ=IAIEafN2_vZd4y8N$@blbE|`G3mrdhdzF(3v2jDqyR!6qM%Z0;}{)A zD6P@mU5F^aa2#a1N(V;|J?u7&dZa(rLCa`5m0BU)bgE&*2o_vBoaP-{PXQ0`!ABqQ zrzaj|#*7&}|Ibz2bJx98*Vgjw`8NVEZFoavV-lm2gs`IvSzC{3%3km!F(e5(PEbig zxg4!AUFVRnQ?m>=Q=7zbv*_x4av+?85-1&Pf5aR2jhiM-oWf%(-^F!ZT>I2AICjh! zmdqc=o=;n-&fav&`@Wr5R1ZZKON6B&j%z_2LL8%21-Onv;zSc`{a)SdIlmqZ+e!8Z zdbs<+2eYH6Tz<%~taOxeu&`Ub%B0aMK}Rtv2uOmEK(Ve^Xk9Y;y2Z!NnE*iN=8es^<&4M6U^X^_6uhu%H5=By z&V)%5xb4n6@I0?~f1E#tZrKY-g7Q+>lP-g>TuGBSs<<*Ov@nRF|NI82IP&c88(|m~6>+@e3v|z@ zC5~I`GaBh6L4_f4XD2F(38Mrz<)D+KQgxIWe0el5lELM)(`eA` zKjn7^uT~B5f9__ynbNTlmWeP7gplYysI{i@^`#Xk-3vbP19TXI;~!hD9lr01+iu(Y z{;FqJtD5>}!YX&zxqv@wX@25~hCS=oM*CiW<)nW)TI=3Owys^Xth9c$F1+#T=l%7Y znwrMH_15Ow`|dwqIjcW&6K=o#;KtWC&U4aEs_*lj2m!Fm_IBDS?;RoZhW`2s7cOi8 jTFx2m1-T#> { + archive + .directory(sourceDir, false) + .on('error', err => reject(err)) + .pipe(stream) + ; + + stream.on('close', () => resolve()); + archive.finalize(); + }); +} + +(async function pack () { + console.log(`Packing extension for ${env}`); + fs.copyFileSync( + path.resolve(__dirname, '../dist/chibi.user.js'), + path.resolve(__dirname, '../extension/scripts/chibi.user.js') + ); + fs.writeFileSync( + path.resolve(__dirname, '../extension/manifest.json'), + JSON.stringify(manifest) + ); + zipDirectory( + path.resolve(__dirname, '../extension/'), + path.resolve(__dirname, `../dist/unpacked-extension.zip`) + ); + console.log('Done'); +})(); diff --git a/webpack.config.js b/webpack.config.js index 5922908..b5f43ae 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,33 +3,10 @@ const webpack = require('webpack'); const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const { UserscriptPlugin } = require('webpack-userscript'); +const { includeURLs } = require('./generate-helper'); const packageJSON = require('./package.json'); const process = require('node:process'); -function getMatchURL () { - const url = [ - 'https://scratch.mit.edu/projects/*', - 'https://aerfaying.com/Projects/*', - 'https://www.ccw.site/*', - 'https://gitblock.cn/Projects/*', - 'https://world.xiaomawang.com/*', - 'https://cocrea.world/*', - 'https://create.codelab.club/*', - 'https://www.scratch-cn.cn/*', - 'https://www.40code.com/*', - 'https://turbowarp.org/*', - 'https://codingclip.com/*', - 'https://editor.turbowarp.cn/*', - 'https://0832.ink/rc/*', - 'https://code.xueersi.com/scratch3/*', - 'https://code.xueersi.com/home/project/detail?lang=scratch&pid=*&version=3.0&langType=scratch' - ]; - if (process.env.NODE_ENV === 'development') { - url.unshift('http://localhost:8601/*'); - return { include: url }; - } - return { match: url }; -} const base = { mode: process.env.NODE_ENV === 'production' ? 'production' : 'development', entry: './src/index.ts', @@ -74,7 +51,7 @@ const base = { }, plugins: [ new UserscriptPlugin({ - headers: Object.assign({ + headers: { name: packageJSON.displayName, author: packageJSON.author, namespace: 'ScratchChibiLoader', @@ -84,7 +61,8 @@ const base = { license: packageJSON.license, grant: ['none'], 'run-at': 'document-start', - }, getMatchURL()), + include: includeURLs + }, pretty: true, strict: true, whitelist: true diff --git a/yarn.lock b/yarn.lock index ac92899..fe14cdf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1597,6 +1597,31 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +archiver-utils@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-4.0.1.tgz#66ad15256e69589a77f706c90c6dbcc1b2775d2a" + integrity sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg== + dependencies: + glob "^8.0.0" + graceful-fs "^4.2.0" + lazystream "^1.0.0" + lodash "^4.17.15" + normalize-path "^3.0.0" + readable-stream "^3.6.0" + +archiver@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-6.0.1.tgz#d56968d4c09df309435adb5a1bbfc370dae48133" + integrity sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ== + dependencies: + archiver-utils "^4.0.1" + async "^3.2.4" + buffer-crc32 "^0.2.1" + readable-stream "^3.6.0" + readdir-glob "^1.1.2" + tar-stream "^3.0.0" + zip-stream "^5.0.1" + argparse@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" @@ -1622,6 +1647,16 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +async@^3.2.4: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +b4a@^1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.4.tgz#ef1c1422cae5ce6535ec191baeed7567443f36c9" + integrity sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== + babel-loader@^9.1.3: version "9.1.3" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" @@ -1715,6 +1750,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -1732,6 +1774,11 @@ browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.21.9: node-releases "^2.0.13" update-browserslist-db "^1.0.11" +buffer-crc32@^0.2.1: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -1897,6 +1944,16 @@ common-path-prefix@^3.0.0: resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== +compress-commons@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-5.0.1.tgz#e46723ebbab41b50309b27a0e0f6f3baed2d6590" + integrity sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag== + dependencies: + crc-32 "^1.2.0" + crc32-stream "^5.0.0" + normalize-path "^3.0.0" + readable-stream "^3.6.0" + compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -1966,6 +2023,19 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + +crc32-stream@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-5.0.0.tgz#a97d3a802c8687f101c27cc17ca5253327354720" + integrity sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw== + dependencies: + crc-32 "^1.2.0" + readable-stream "^3.4.0" + cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -2355,6 +2425,11 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== +fast-fifo@^1.1.0, fast-fifo@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" + integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== + fast-glob@^3.2.9: version "3.3.1" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" @@ -2582,6 +2657,17 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -2606,7 +2692,7 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -2990,6 +3076,13 @@ launch-editor@^2.6.0: picocolors "^1.0.0" shell-quote "^1.7.3" +lazystream@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" + integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== + dependencies: + readable-stream "^2.0.5" + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -3053,7 +3146,7 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== -lodash@^4.17.20, lodash@^4.17.21: +lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -3163,6 +3256,13 @@ minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" +minimatch@^5.0.1, minimatch@^5.1.0: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + minipass@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.3.tgz#05ea638da44e475037ed94d1c7efcc76a25e1974" @@ -3492,6 +3592,11 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +queue-tick@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" + integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -3514,7 +3619,7 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" -readable-stream@^2.0.1: +readable-stream@^2.0.1, readable-stream@^2.0.5: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -3527,7 +3632,7 @@ readable-stream@^2.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6: +readable-stream@^3.0.6, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -3536,6 +3641,13 @@ readable-stream@^3.0.6: string_decoder "^1.1.1" util-deprecate "^1.0.1" +readdir-glob@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.3.tgz#c3d831f51f5e7bfa62fa2ffbe4b508c640f09584" + integrity sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== + dependencies: + minimatch "^5.1.0" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -3905,6 +4017,14 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +streamx@^2.15.0: + version "2.15.2" + resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.15.2.tgz#680eacebdc9c43ede7362c2e6695b34dd413c741" + integrity sha512-b62pAV/aeMjUoRN2C/9F0n+G8AfcJjNC0zw/ZmOHeFsIe4m4GzjVW9m6VHXVjk536NbdU9JRwKMJRfkc+zUFTg== + dependencies: + fast-fifo "^1.1.0" + queue-tick "^1.0.1" + string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -3987,6 +4107,15 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +tar-stream@^3.0.0: + version "3.1.6" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.6.tgz#6520607b55a06f4a2e2e04db360ba7d338cc5bab" + integrity sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== + dependencies: + b4a "^1.6.4" + fast-fifo "^1.2.0" + streamx "^2.15.0" + terser-webpack-plugin@^5.3.7: version "5.3.9" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" @@ -4355,3 +4484,12 @@ yocto-queue@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +zip-stream@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-5.0.1.tgz#cf3293bba121cad98be2ec7f05991d81d9f18134" + integrity sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA== + dependencies: + archiver-utils "^4.0.1" + compress-commons "^5.0.1" + readable-stream "^3.6.0"