From ec31070235c4dea610d65c9fe826bf9d0cc8331c Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 26 Jan 2023 18:38:38 -0500 Subject: [PATCH 01/37] chore: add swc/cli as dev dep --- package.json | 1 + yarn.lock | 539 ++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 517 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index 77d120b0b5b15..5f5d87c7f67a6 100644 --- a/package.json +++ b/package.json @@ -124,6 +124,7 @@ "@storybook/manager-webpack5": "6.5.15", "@storybook/react": "6.5.15", "@storybook/theming": "6.5.15", + "@swc/cli": "0.1.59", "@swc/core": "1.2.220", "@swc/helpers": "0.4.11", "@testing-library/dom": "8.11.3", diff --git a/yarn.lock b/yarn.lock index 61644d1ff1322..1e15711f93d62 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3777,6 +3777,11 @@ resolved "https://registry.yarnpkg.com/@scarf/scarf/-/scarf-1.0.5.tgz#accee0bce88a9047672f7c8faf3cada59c996b81" integrity sha512-9WKaGVpQH905Aqkk+BczFEeLQxS07rl04afFRPUG9IcSlOwmo5EVVuuNu0d4M9LMYucObvK0LoAe+5HfMW2QhQ== +"@sindresorhus/is@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" + integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== + "@sindresorhus/is@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4" @@ -4792,6 +4797,18 @@ dependencies: source-map-support "^0.5.21" +"@swc/cli@0.1.59": + version "0.1.59" + resolved "https://registry.yarnpkg.com/@swc/cli/-/cli-0.1.59.tgz#cb0be624f98ca9e41caa2de454d151faec83cd19" + integrity sha512-BlX3wIxYTwdtR22dIqZ3FEIOJPqnlByAp4JY46OMZi2UXMB3ZbOzefawD2ZlLafRUWyy5NtiZZty5waKzaYRnA== + dependencies: + bin-wrapper "^4.1.0" + commander "^7.1.0" + fast-glob "^3.2.5" + semver "^7.3.8" + slash "3.0.0" + source-map "^0.7.3" + "@swc/core-android-arm-eabi@1.2.220": version "1.2.220" resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.220.tgz#64d60daf569eacf060cb18b6d951d481bb1b2c2d" @@ -7089,11 +7106,18 @@ aproba@^2.0.0: resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== -arch@^2.2.0: +arch@^2.1.0, arch@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== +archive-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-4.0.0.tgz#f92e72233056dfc6969472749c267bdb046b1d70" + integrity sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA== + dependencies: + file-type "^4.2.0" + archy@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" @@ -8114,6 +8138,14 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== +bin-check@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-4.1.0.tgz#fc495970bdc88bb1d5a35fc17e65c4a149fc4a49" + integrity sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA== + dependencies: + execa "^0.7.0" + executable "^4.1.0" + bin-links@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.3.tgz#3842711ef3db2cd9f16a5f404a996a12db355a6e" @@ -8126,6 +8158,35 @@ bin-links@^3.0.0: rimraf "^3.0.0" write-file-atomic "^4.0.0" +bin-version-check@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-4.0.0.tgz#7d819c62496991f80d893e6e02a3032361608f71" + integrity sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ== + dependencies: + bin-version "^3.0.0" + semver "^5.6.0" + semver-truncate "^1.1.2" + +bin-version@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-3.1.0.tgz#5b09eb280752b1bd28f0c9db3f96f2f43b6c0839" + integrity sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ== + dependencies: + execa "^1.0.0" + find-versions "^3.0.0" + +bin-wrapper@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bin-wrapper/-/bin-wrapper-4.1.0.tgz#99348f2cf85031e3ef7efce7e5300aeaae960605" + integrity sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q== + dependencies: + bin-check "^4.1.0" + bin-version-check "^4.0.0" + download "^7.1.0" + import-lazy "^3.1.0" + os-filter-obj "^2.0.0" + pify "^4.0.1" + binary-extensions@^1.0.0: version "1.13.1" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" @@ -8149,6 +8210,14 @@ binaryextensions@^2.1.2: resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" @@ -8427,6 +8496,19 @@ bser@^2.0.0: dependencies: node-int64 "^0.4.0" +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -8442,6 +8524,11 @@ buffer-equal@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== + buffer-from@1.x, buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -8640,6 +8727,19 @@ cacheable-lookup@^6.0.4: resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz#0330a543471c61faa4e9035db583aad753b36385" integrity sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww== +cacheable-request@^2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" + integrity sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ== + dependencies: + clone-response "1.0.2" + get-stream "3.0.0" + http-cache-semantics "3.8.1" + keyv "3.0.0" + lowercase-keys "1.0.0" + normalize-url "2.0.1" + responselike "1.0.2" + cacheable-request@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" @@ -8798,6 +8898,16 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= +caw@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/caw/-/caw-2.0.1.tgz#6c3ca071fc194720883c2dc5da9b074bfc7e9e95" + integrity sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA== + dependencies: + get-proxy "^2.0.0" + isurl "^1.0.0-alpha5" + tunnel-agent "^0.6.0" + url-to-options "^1.0.1" + ccount@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" @@ -9206,7 +9316,7 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -clone-response@^1.0.2: +clone-response@1.0.2, clone-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= @@ -9456,12 +9566,12 @@ commander@6.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-6.1.0.tgz#f8d722b78103141006b66f4c7ba1e97315ba75bc" integrity sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA== -commander@7, commander@^7.0.0: +commander@7, commander@^7.0.0, commander@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@^2.7.1: +commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@^2.7.1, commander@^2.8.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -9569,7 +9679,7 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" -config-chain@^1.1.12: +config-chain@^1.1.11, config-chain@^1.1.12: version "1.1.13" resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== @@ -9632,7 +9742,7 @@ constants-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= -content-disposition@0.5.4, content-disposition@~0.5.2: +content-disposition@0.5.4, content-disposition@^0.5.2, content-disposition@~0.5.2: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== @@ -10599,6 +10709,13 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== + dependencies: + mimic-response "^1.0.0" + decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" @@ -10606,6 +10723,59 @@ decompress-response@^6.0.0: dependencies: mimic-response "^3.1.0" +decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" + integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== + dependencies: + file-type "^5.2.0" + is-stream "^1.1.0" + tar-stream "^1.5.2" + +decompress-tarbz2@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" + integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== + dependencies: + decompress-tar "^4.1.0" + file-type "^6.1.0" + is-stream "^1.1.0" + seek-bzip "^1.0.5" + unbzip2-stream "^1.0.9" + +decompress-targz@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" + integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== + dependencies: + decompress-tar "^4.1.1" + file-type "^5.2.0" + is-stream "^1.1.0" + +decompress-unzip@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" + integrity sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw== + dependencies: + file-type "^3.8.0" + get-stream "^2.2.0" + pify "^2.3.0" + yauzl "^2.4.2" + +decompress@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.1.tgz#007f55cc6a62c055afa37c07eb6a4ee1b773f118" + integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== + dependencies: + decompress-tar "^4.0.0" + decompress-tarbz2 "^4.0.0" + decompress-targz "^4.0.0" + decompress-unzip "^4.0.1" + graceful-fs "^4.1.10" + make-dir "^1.0.0" + pify "^2.3.0" + strip-dirs "^2.0.0" + dedent@0.7.0, dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -11181,6 +11351,24 @@ dotparser@1.1.1: resolved "https://registry.yarnpkg.com/dotparser/-/dotparser-1.1.1.tgz#c474942f329638b44ddb3dff27e9a6385dbab2f9" integrity sha512-8ojhUts0HbLnXJgjTiJOddwVVBUk6hg4SJ5kGiuhzgK/f+y79TiWvICwx1oCWlVbBC8YI3nEaIQg9fjGYbGBXw== +download@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/download/-/download-7.1.0.tgz#9059aa9d70b503ee76a132897be6dec8e5587233" + integrity sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ== + dependencies: + archive-type "^4.0.0" + caw "^2.0.1" + content-disposition "^0.5.2" + decompress "^4.2.0" + ext-name "^5.0.0" + file-type "^8.1.0" + filenamify "^2.0.0" + get-stream "^3.0.0" + got "^8.3.1" + make-dir "^1.2.0" + p-event "^2.1.0" + pify "^3.0.0" + downshift@5.0.5: version "5.0.5" resolved "https://registry.yarnpkg.com/downshift/-/downshift-5.0.5.tgz#1cc90dc09ae62998ce28a4ce457e0f1cdd0bfcfa" @@ -12273,7 +12461,7 @@ execa@^5.0.0, execa@^5.1.1: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -executable@^4.1.1: +executable@^4.1.0, executable@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== @@ -12373,6 +12561,21 @@ express@4.17.3, express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" +ext-list@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" + integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== + dependencies: + mime-db "^1.28.0" + +ext-name@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" + integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== + dependencies: + ext-list "^2.0.0" + sort-keys-length "^1.0.0" + ext@^1.1.2: version "1.4.0" resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" @@ -12754,6 +12957,31 @@ file-system-cache@^1.0.5: fs-extra "^0.30.0" ramda "^0.21.0" +file-type@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA== + +file-type@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-4.4.0.tgz#1b600e5fca1fbdc6e80c0a70c71c8dba5f7906c5" + integrity sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ== + +file-type@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" + integrity sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ== + +file-type@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" + integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== + +file-type@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-8.1.0.tgz#244f3b7ef641bbe0cca196c7276e4b332399f68c" + integrity sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ== + filelist@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.3.tgz#448607750376484932f67ef1b9ff07386b036c83" @@ -12766,6 +12994,15 @@ filename-reserved-regex@^2.0.0: resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik= +filenamify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-2.1.0.tgz#88faf495fb1b47abfd612300002a16228c677ee9" + integrity sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA== + dependencies: + filename-reserved-regex "^2.0.0" + strip-outer "^1.0.0" + trim-repeated "^1.0.0" + filenamify@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.1.0.tgz#54d110810ae74eebfe115c1b995bd07e03cf2184" @@ -12901,6 +13138,13 @@ find-up@^6.2.0: locate-path "^7.1.0" path-exists "^5.0.0" +find-versions@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" + integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww== + dependencies: + semver-regex "^2.0.0" + find-webpack@2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/find-webpack/-/find-webpack-2.2.1.tgz#96e7b701a2d37c3500cae30d4dc59e14923ba460" @@ -13171,7 +13415,7 @@ fresh@0.5.2, fresh@~0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -from2@^2.1.0: +from2@^2.1.0, from2@^2.1.1: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= @@ -13467,6 +13711,13 @@ get-port@^5.1.1: resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== +get-proxy@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-2.1.0.tgz#349f2b4d91d44c4d4d4e9cba2ad90143fac5ef93" + integrity sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw== + dependencies: + npm-conf "^1.1.0" + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -13477,11 +13728,19 @@ get-stdin@^6.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== -get-stream@^3.0.0: +get-stream@3.0.0, get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= +get-stream@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + integrity sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA== + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -13929,11 +14188,39 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" +got@^8.3.1: + version "8.3.2" + resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" + integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw== + dependencies: + "@sindresorhus/is" "^0.7.0" + cacheable-request "^2.1.1" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + into-stream "^3.1.0" + is-retry-allowed "^1.1.0" + isurl "^1.0.0-alpha5" + lowercase-keys "^1.0.0" + mimic-response "^1.0.0" + p-cancelable "^0.4.0" + p-timeout "^2.0.1" + pify "^3.0.0" + safe-buffer "^5.1.1" + timed-out "^4.0.1" + url-parse-lax "^3.0.0" + url-to-options "^1.0.1" + graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== +graceful-fs@^4.1.10: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + graphviz@0.0.9: version "0.0.9" resolved "https://registry.yarnpkg.com/graphviz/-/graphviz-0.0.9.tgz#0bbf1df588c6a92259282da35323622528c4bbc4" @@ -14179,11 +14466,23 @@ has-gulplog@^0.1.0: dependencies: sparkles "^1.0.0" +has-symbol-support-x@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== +has-to-string-tag-x@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + dependencies: + has-symbol-support-x "^1.4.1" + has-tostringtag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" @@ -14561,6 +14860,11 @@ http-assert@^1.3.0: deep-equal "~1.0.1" http-errors "~1.8.0" +http-cache-semantics@3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" + integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== + http-cache-semantics@^4.0.0, http-cache-semantics@^4.0.4, http-cache-semantics@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" @@ -14856,6 +15160,11 @@ import-lazy@^2.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= +import-lazy@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-3.1.0.tgz#891279202c8a2280fdbd6674dbd8da1a1dfc67cc" + integrity sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ== + import-lazy@~4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" @@ -15031,6 +15340,14 @@ interpret@^2.2.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== +into-stream@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" + integrity sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ== + dependencies: + from2 "^2.1.1" + p-is-promise "^1.1.0" + invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -15373,6 +15690,11 @@ is-nan@^1.2.1: call-bind "^1.0.0" define-properties "^1.1.3" +is-natural-number@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" + integrity sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ== + is-negated-glob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" @@ -15525,7 +15847,7 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" -is-retry-allowed@^1.0.0: +is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== @@ -15845,6 +16167,14 @@ istextorbinary@^2.2.1: editions "^2.2.0" textextensions "^2.5.0" +isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + jake@^10.8.5: version "10.8.5" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" @@ -16777,6 +17107,11 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== + json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" @@ -17182,6 +17517,13 @@ keygrip@~1.1.0: dependencies: tsscmp "1.0.6" +keyv@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" + integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA== + dependencies: + json-buffer "3.0.0" + keyv@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" @@ -18054,7 +18396,7 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" -lowercase-keys@^1.0.0: +lowercase-keys@1.0.0, lowercase-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" integrity sha1-TjNms55/VFfjXxMkvfb4jQv8cwY= @@ -18123,7 +18465,7 @@ magic-string@^0.25.2: dependencies: sourcemap-codec "^1.4.4" -make-dir@^1.0.0: +make-dir@^1.0.0, make-dir@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== @@ -18508,7 +18850,7 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.52.0, "mime-db@>= 1.40.0 < 2": +mime-db@1.52.0, "mime-db@>= 1.40.0 < 2", mime-db@^1.28.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== @@ -19269,6 +19611,15 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= +normalize-url@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" + integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== + dependencies: + prepend-http "^2.0.0" + query-string "^5.0.1" + sort-keys "^2.0.0" + normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" @@ -19295,6 +19646,14 @@ npm-bundled@^2.0.0: dependencies: npm-normalize-package-bin "^2.0.0" +npm-conf@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" + integrity sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw== + dependencies: + config-chain "^1.1.11" + pify "^3.0.0" + npm-install-checks@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-4.0.0.tgz#a37facc763a2fde0497ef2c6d0ac7c3fbe00d7b4" @@ -19849,6 +20208,13 @@ os-browserify@^0.3.0: resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= +os-filter-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-2.0.0.tgz#1c0b62d5f3a2442749a2d139e6dddee6e81d8d16" + integrity sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg== + dependencies: + arch "^2.1.0" + os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -19891,6 +20257,11 @@ p-all@^2.1.0: dependencies: p-map "^2.0.0" +p-cancelable@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" + integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ== + p-cancelable@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" @@ -19911,6 +20282,13 @@ p-each-series@^2.1.0: resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== +p-event@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-2.3.1.tgz#596279ef169ab2c3e0cae88c1cfbb08079993ef6" + integrity sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA== + dependencies: + p-timeout "^2.0.1" + p-event@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" @@ -19935,6 +20313,11 @@ p-graph@^1.1.1: resolved "https://registry.yarnpkg.com/p-graph/-/p-graph-1.1.1.tgz#9acf22ce5239afc7c08b4fd6e64b441eb171ecac" integrity sha512-KdD5JEqSEbOYK5Yl4MKbHo8cNaJs+O6TW+HacoyPVau704KukYhJMhSXuC8tF332zqgB87pyAMf2FhQ54R0ugA== +p-is-promise@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" + integrity sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg== + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -20053,6 +20436,13 @@ p-retry@^4.5.0: "@types/retry" "^0.12.0" retry "^0.13.1" +p-timeout@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" + integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA== + dependencies: + p-finally "^1.0.0" + p-timeout@^3.1.0, p-timeout@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" @@ -20873,6 +21263,11 @@ prepend-http@^1.0.1: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== + prettier@2.2.1, "prettier@>=2.2.1 <=2.3.0", prettier@^2.0.1, prettier@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" @@ -21195,6 +21590,15 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + query-string@^6.8.2: version "6.14.1" resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" @@ -21833,7 +22237,7 @@ read@1, read@^1.0.7: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", "readable-stream@2 || 3", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", "readable-stream@2 || 3", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -22431,6 +22835,13 @@ resolve@~1.19.0: is-core-module "^2.1.0" path-parse "^1.0.6" +responselike@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== + dependencies: + lowercase-keys "^1.0.0" + responselike@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" @@ -22821,6 +23232,13 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.0.0" +seek-bzip@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4" + integrity sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== + dependencies: + commander "^2.8.1" + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -22866,6 +23284,18 @@ semver-greatest-satisfied-range@^1.1.0: dependencies: sver-compat "^1.5.0" +semver-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" + integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== + +semver-truncate@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8" + integrity sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w== + dependencies: + semver "^5.3.0" + "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" @@ -22895,6 +23325,13 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semve resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.3.8: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + send@0.17.2: version "0.17.2" resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" @@ -23101,16 +23538,16 @@ sisteransi@^1.0.5: resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== +slash@3.0.0, slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -23237,6 +23674,20 @@ sort-css-media-queries@^1.4.3: resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-1.5.4.tgz#24182b12002a13d01ba943ddf74f5098d7c244ce" integrity sha512-YP5W/h4Sid/YP7Lp87ejJ5jP13/Mtqt2vx33XyhO+IAugKlufRPbOrPlIiEUuxmpNBSBd3EeeQpFhdu3RfI2Ag== +sort-keys-length@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" + integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== + dependencies: + sort-keys "^1.0.0" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== + dependencies: + is-plain-obj "^1.0.0" + sort-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" @@ -23618,6 +24069,11 @@ streamroller@^3.0.4: debug "^4.3.3" fs-extra "^10.0.1" +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== + strict-uri-encode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" @@ -23830,6 +24286,13 @@ strip-comments@^2.0.1: resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b" integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== +strip-dirs@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" + integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== + dependencies: + is-natural-number "^4.0.1" + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -23864,7 +24327,7 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1 resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -strip-outer@^1.0.1: +strip-outer@^1.0.0, strip-outer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== @@ -24155,6 +24618,19 @@ tar-fs@2.1.1, tar-fs@^2.1.0: pump "^3.0.0" tar-stream "^2.1.4" +tar-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + tar-stream@^2.1.4, tar-stream@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" @@ -24392,7 +24868,7 @@ time-stamp@^1.0.0: resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= -timed-out@^4.0.0: +timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= @@ -24472,6 +24948,11 @@ to-arraybuffer@^1.0.0: resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + to-camel-case@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46" @@ -24962,7 +25443,7 @@ unbox-primitive@^1.0.1: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" -unbzip2-stream@1.4.3: +unbzip2-stream@1.4.3, unbzip2-stream@^1.0.9: version "1.4.3" resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== @@ -25371,6 +25852,18 @@ url-parse-lax@^1.0.0: dependencies: prepend-http "^1.0.1" +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== + dependencies: + prepend-http "^2.0.0" + +url-to-options@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + integrity sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A== + url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -26614,7 +27107,7 @@ yargs@^7.0.2, yargs@^7.1.0: y18n "^3.2.1" yargs-parser "^5.0.0" -yauzl@^2.10.0: +yauzl@^2.10.0, yauzl@^2.4.2: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= From 05be727d26f0a87b3fdfd98903c771f610a84f01 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 26 Jan 2023 18:41:29 -0500 Subject: [PATCH 02/37] chore: add just-scripts-utils dev dep --- package.json | 1 + yarn.lock | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/package.json b/package.json index 5f5d87c7f67a6..5c368a226cf4e 100644 --- a/package.json +++ b/package.json @@ -266,6 +266,7 @@ "json-schema": "0.4.0", "json-stable-stringify-without-jsonify": "1.0.1", "just-scripts": "1.8.2", + "just-scripts-utils": "1.2.0", "lage": "1.8.8", "lerna": "5.5.2", "lerna-alias": "3.0.3-0", diff --git a/yarn.lock b/yarn.lock index 1e15711f93d62..7e280aeb5f159 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17325,6 +17325,21 @@ just-diff@^5.0.1: resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.1.1.tgz#8da6414342a5ed6d02ccd64f5586cbbed3146202" integrity sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ== +just-scripts-utils@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/just-scripts-utils/-/just-scripts-utils-1.2.0.tgz#232a768a1083626e47c29c749e33d964ee027d56" + integrity sha512-rJMNtMz4V6uyMyfx+a2CqdMh1X/C9cVJTOPegvEzSonYMOKsiZEw2L9VzKVIFwNteKGZT6D2hFjSMAle41MAgA== + dependencies: + fs-extra "^10.0.0" + glob "^7.1.3" + jju "^1.4.0" + just-task-logger ">=1.2.0 <2.0.0" + marked "^4.0.12" + marked-terminal "^4.1.0" + semver "^7.0.0" + tar "^6.1.9" + yargs "^16.2.0" + "just-scripts-utils@>=1.1.5 <2.0.0": version "1.1.5" resolved "https://registry.yarnpkg.com/just-scripts-utils/-/just-scripts-utils-1.1.5.tgz#25f51bedad0893b144775f5b7e392a720bbbb14d" @@ -17366,6 +17381,14 @@ just-scripts@1.8.2: chalk "^4.0.0" yargs "^16.2.0" +"just-task-logger@>=1.2.0 <2.0.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/just-task-logger/-/just-task-logger-1.2.0.tgz#7467a6d24cce054e76fcfb7ebe2e44bdb629d05e" + integrity sha512-pa5FfJMiJ11KgCXDSfnbu/Enoiwm3ReOrSO9tP0CK69/yYtfsDhE8g6S0v6cCdDYGa4zpVkX7E4G1u3L7lAPTw== + dependencies: + chalk "^4.0.0" + yargs "^16.2.0" + "just-task@>=1.5.0 <2.0.0": version "1.5.0" resolved "https://registry.yarnpkg.com/just-task/-/just-task-1.5.0.tgz#4a3bd0b216c951424b7b6b9339ed4cc5b060317e" From e33940c28ed07976d525ecb2c912d1d760df6cdd Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 26 Jan 2023 18:47:40 -0500 Subject: [PATCH 03/37] feat(migrate-converged-pkg): implement setup to add swcrc config file --- .../generators/migrate-converged-pkg/index.ts | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index c189ec5079359..618d09b9bed67 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -141,6 +141,8 @@ function runMigrationOnProject(tree: Tree, schema: AssertedSchema, _userLog: Use updateNxWorkspace(tree, options); setupUnstableApi(tree, optionsWithTsConfigs); + + setupSwcConfig(tree, options); } // ==== helpers ==== @@ -388,6 +390,33 @@ const templates = { .git* .prettierignore ` + os.EOL, + swcConfig: () => { + return { + $schema: 'https://json.schemastore.org/swcrc', + env: { targets: { chrome: '84', edge: '84', firefox: '75', opera: '73', safari: '14.1' } }, + exclude: [ + '/testing', + '/**/*.cy.ts', + '/**/*.cy.tsx', + '/**/*.spec.ts', + '/**/*.spec.tsx', + '/**/*.test.ts', + '/**/*.test.tsx', + ], + jsc: { + parser: { + syntax: 'typescript', + tsx: true, + decorators: false, + dynamicImport: false, + }, + target: 'es2019', + externalHelpers: true, + }, + minify: false, + sourceMaps: true, + }; + }, }; function normalizeOptions(host: Tree, options: AssertedSchema) { @@ -552,6 +581,13 @@ function setupNpmIgnoreConfig(tree: Tree, options: NormalizedSchema) { return tree; } +function setupSwcConfig(tree: Tree, options: NormalizedSchema) { + const swcConfig = templates.swcConfig(); + writeJson(tree, joinPathFragments(options.projectConfig.root, '.swcrc'), swcConfig); + + return tree; +} + interface NormalizedSchemaWithTsConfigs extends NormalizedSchema { tsconfigs: ReturnType['configs']; } @@ -628,6 +664,7 @@ function updatePackageJson(tree: Tree, options: NormalizedSchemaWithTsConfigs) { packageJson = setupScripts(packageJson); packageJson = setupExportMaps(packageJson); + packageJson = addSwcHelpers(packageJson); writeJson(tree, options.paths.packageJson, packageJson); @@ -674,6 +711,12 @@ function updatePackageJson(tree: Tree, options: NormalizedSchemaWithTsConfigs) { } } +//TODO: remove after migration to swc transpilation is complete +function addSwcHelpers(json: PackageJson) { + json.dependencies = { ...json.dependencies, '@swc/core': '^1.3.24', '@swc/helpers': '^0.4.11' }; + return json; +} + function updateApiExtractor(tree: Tree, options: NormalizedSchemaWithTsConfigs) { const apiExtractor = templates.apiExtractor(); const scripts = { From 61a12fcfd1d58a17b29fc4ff91d8414ce1afd85a Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 26 Jan 2023 19:51:08 -0500 Subject: [PATCH 04/37] feat(scripts): add swc.ts file which runs SWC CLI --- scripts/tasks/src/swc.ts | 43 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 scripts/tasks/src/swc.ts diff --git a/scripts/tasks/src/swc.ts b/scripts/tasks/src/swc.ts new file mode 100644 index 0000000000000..b5516556fa335 --- /dev/null +++ b/scripts/tasks/src/swc.ts @@ -0,0 +1,43 @@ +import type { Options } from '@swc/core'; +import { logger } from 'just-scripts'; +// eslint-disable-next-line import/no-extraneous-dependencies +import { exec } from 'just-scripts-utils'; + +function swcCli(options: Options) { + const { outputPath, module } = options; + + const cmd = `npx swc ${outputPath} --out-dir ${outputPath} --config module.type=${module?.type}`; + logger.info(`Running swc CLI: ${cmd}`); + + return exec(cmd); +} + +export const swc = { + commonjs: () => { + const options: Options = { + configFile: true, + outputPath: 'lib-commonjs', + module: { type: 'commonjs' }, + }; + + return swcCli(options); + }, + esm: () => { + const options: Options = { + configFile: true, + outputPath: 'lib', + module: { type: 'es6' }, + }; + + return swcCli(options); + }, + amd: () => { + const options: Options = { + configFile: true, + outputPath: 'lib-amd', + module: { type: 'amd' }, + }; + + return swcCli(options); + }, +}; From a15384f0aab0b445b6fddafa4f0c555598193dc5 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 26 Jan 2023 19:53:29 -0500 Subject: [PATCH 05/37] feat(scripts): add just-script preset build:react-components to be used by v9 packages to transpile based on browser matrix --- scripts/tasks/src/presets.ts | 48 +++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/scripts/tasks/src/presets.ts b/scripts/tasks/src/presets.ts index 2a58b06e43a04..e97e613baed21 100644 --- a/scripts/tasks/src/presets.ts +++ b/scripts/tasks/src/presets.ts @@ -1,25 +1,27 @@ -import { task, series, parallel, condition, option, addResolvePath } from 'just-scripts'; - -import path from 'path'; import fs from 'fs'; +import path from 'path'; + + import { isConvergedPackage } from '@fluentui/scripts-monorepo'; +import { addResolvePath, condition, option, parallel, series, task } from 'just-scripts'; +import { apiExtractor } from './api-extractor'; +import { getJustArgv } from './argv'; import { babel } from './babel'; import { clean } from './clean'; import { copy, copyCompiled } from './copy'; -import { jest as jestTask, jestWatch } from './jest'; -import { sass } from './sass'; -import { ts } from './ts'; import { eslint } from './eslint'; -import { webpack, webpackDevServer } from './webpack'; -import { apiExtractor } from './api-extractor'; +import { jest as jestTask, jestWatch } from './jest'; import { lintImports } from './lint-imports'; -import { prettier } from './prettier'; import { postprocessTask } from './postprocess'; import { postprocessAmdTask } from './postprocess-amd'; -import { startStorybookTask, buildStorybookTask } from './storybook'; -import { getJustArgv } from './argv'; +import { prettier } from './prettier'; +import { sass } from './sass'; +import { buildStorybookTask, startStorybookTask } from './storybook'; +import { swc } from './swc'; +import { ts } from './ts'; +import { webpack, webpackDevServer } from './webpack'; /** Do only the bare minimum setup of options and resolve paths */ export function basicPreset() { @@ -110,6 +112,28 @@ export function preset() { ), ); + task('swc:commonjs', swc.commonjs); + task('swc:esm', swc.esm); + task('swc:amd', swc.amd); + + task('swc:compile', () => { + const moduleFlag = args.module; + // default behaviour + if (!moduleFlag) { + return parallel( + 'swc:esm', + 'swc:commonjs', + condition('swc:amd', () => !!args.production && !isConvergedPackage()), + ); + } + + return parallel( + condition('swc:esm', () => moduleFlag.esm), + condition('swc:commonjs', () => moduleFlag.cjs), + condition('swc:amd', () => moduleFlag.amd), + ); + }); + task('code-style', series('prettier', 'lint')); task('dev:storybook', series('storybook:start')); @@ -119,6 +143,8 @@ export function preset() { task('build', series('clean', 'copy', 'sass', 'ts', 'api-extractor')).cached!(); + task('build:react-components', series('clean', 'copy', 'sass', 'ts', 'swc:compile', 'api-extractor')).cached!(); + task( 'bundle', condition('webpack', () => fs.existsSync(path.join(process.cwd(), 'webpack.config.js'))), From f93cc81410b95a16cd070106802a49260523abb0 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 26 Jan 2023 20:04:21 -0500 Subject: [PATCH 06/37] feat(migrate-converged-pkg): setup just config file to map just-scripts build to new build:react-components task --- tools/generators/migrate-converged-pkg/index.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index 618d09b9bed67..47fe33943aceb 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -143,6 +143,7 @@ function runMigrationOnProject(tree: Tree, schema: AssertedSchema, _userLog: Use setupUnstableApi(tree, optionsWithTsConfigs); setupSwcConfig(tree, options); + setupJustConfig(tree, options); } // ==== helpers ==== @@ -417,6 +418,12 @@ const templates = { sourceMaps: true, }; }, + justConfig: stripIndents` + import { preset, task } from '@fluentui/scripts-tasks'; + + preset(); + + task('build', 'build:react-components').cached!();`, }; function normalizeOptions(host: Tree, options: AssertedSchema) { @@ -588,6 +595,12 @@ function setupSwcConfig(tree: Tree, options: NormalizedSchema) { return tree; } +function setupJustConfig(tree: Tree, options: NormalizedSchema) { + tree.write(options.paths.justConfig, templates.justConfig); + + return tree; +} + interface NormalizedSchemaWithTsConfigs extends NormalizedSchema { tsconfigs: ReturnType['configs']; } From fa7434d473ac4c7f8b944f045d31ec4a96e41442 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 26 Jan 2023 20:29:37 -0500 Subject: [PATCH 07/37] test(migrate-converged-pkg): add test cases for added behaviors --- .../migrate-converged-pkg/index.spec.ts | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index 858e849d4ed72..e954c3a62e797 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -1042,6 +1042,75 @@ describe('migrate-converged-pkg generator', () => { }); }); + describe(`just-scripts config setup`, () => { + it(`should update just.config.ts`, async () => { + function getJustConfig(projectConfig: ReadProjectConfiguration) { + return tree.read(`${projectConfig.root}/just.config.ts`)?.toString('utf-8'); + } + const projectConfig = readProjectConfiguration(tree, options.name); + let justConfig = getJustConfig(projectConfig); + + expect(justConfig).toMatchInlineSnapshot(` + "import { preset } from '@fluentui/scripts-tasks'; + + preset();" + `); + + await generator(tree, options); + + justConfig = getJustConfig(projectConfig); + + expect(justConfig).toMatchInlineSnapshot(` + "import { preset, task } from '@fluentui/scripts-tasks'; + + preset(); + + task('build', 'build:react-components').cached!();" + `); + }); + }); + + describe(`swcrc config setup`, () => { + it(`should create an swcrc config file`, async () => { + function getSwcConfig(projectConfig: ReadProjectConfiguration) { + return readJson(tree, `${projectConfig.root}/.swcrc`); + } + const projectConfig = readProjectConfiguration(tree, options.name); + + await generator(tree, options); + + expect(tree.exists(`${projectConfig.root}/.swcrc`)).toBeTruthy(); + + const swcConfig = getSwcConfig(projectConfig); + + expect(swcConfig).toEqual({ + $schema: 'https://json.schemastore.org/swcrc', + env: { targets: { chrome: '84', edge: '84', firefox: '75', opera: '73', safari: '14.1' } }, + exclude: [ + '/testing', + '/**/*.cy.ts', + '/**/*.cy.tsx', + '/**/*.spec.ts', + '/**/*.spec.tsx', + '/**/*.test.ts', + '/**/*.test.tsx', + ], + jsc: { + parser: { + syntax: 'typescript', + tsx: true, + decorators: false, + dynamicImport: false, + }, + target: 'es2019', + externalHelpers: true, + }, + minify: false, + sourceMaps: true, + }); + }); + }); + describe(`babel config setup`, () => { function getBabelConfig(projectConfig: ReadProjectConfiguration) { const babelConfigPath = `${projectConfig.root}/.babelrc.json`; @@ -1497,6 +1566,11 @@ function setupDummyPackage( babelConfig: { ...normalizedOptions.babelConfig, }, + justConfig: stripIndents` + import { preset } from '@fluentui/scripts-tasks'; + + preset(); + `, }; tree.write(`${paths.root}/package.json`, serializeJson(templates.packageJson)); @@ -1505,6 +1579,7 @@ function setupDummyPackage( tree.write(`${paths.root}/jest.config.js`, templates.jestConfig); tree.write(`${paths.root}/config/tests.js`, templates.jestSetupFile); tree.write(`${paths.root}/.npmignore`, templates.npmConfig); + tree.write(`${paths.root}/just.config.ts`, templates.justConfig); tree.write(`${paths.root}/src/index.ts`, `export const greet = 'hello' `); tree.write( `${paths.root}/src/index.test.ts`, From 316a71b241e1ab741c46e81de2e0c0cdc552891e Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 26 Jan 2023 21:05:58 -0500 Subject: [PATCH 08/37] fix: deduplicate graceful-fs --- yarn.lock | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7e280aeb5f159..01b26cc3d0925 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14211,12 +14211,7 @@ got@^8.3.1: url-parse-lax "^3.0.0" url-to-options "^1.0.1" -graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -graceful-fs@^4.1.10: +graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== From ed944bd3f63a5cb30583e4be3218ed68618eefb1 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 26 Jan 2023 21:11:01 -0500 Subject: [PATCH 09/37] fix: deduplicate just-scripts-utils and just-task-logger --- yarn.lock | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/yarn.lock b/yarn.lock index 01b26cc3d0925..b0ea05f1cdd3e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17320,7 +17320,7 @@ just-diff@^5.0.1: resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.1.1.tgz#8da6414342a5ed6d02ccd64f5586cbbed3146202" integrity sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ== -just-scripts-utils@1.2.0: +just-scripts-utils@1.2.0, "just-scripts-utils@>=1.1.5 <2.0.0": version "1.2.0" resolved "https://registry.yarnpkg.com/just-scripts-utils/-/just-scripts-utils-1.2.0.tgz#232a768a1083626e47c29c749e33d964ee027d56" integrity sha512-rJMNtMz4V6uyMyfx+a2CqdMh1X/C9cVJTOPegvEzSonYMOKsiZEw2L9VzKVIFwNteKGZT6D2hFjSMAle41MAgA== @@ -17335,21 +17335,6 @@ just-scripts-utils@1.2.0: tar "^6.1.9" yargs "^16.2.0" -"just-scripts-utils@>=1.1.5 <2.0.0": - version "1.1.5" - resolved "https://registry.yarnpkg.com/just-scripts-utils/-/just-scripts-utils-1.1.5.tgz#25f51bedad0893b144775f5b7e392a720bbbb14d" - integrity sha512-kAK89TnXmCQYTKvvXhY9i27yh1wFOxYKdj+et3AzvVynZ0yOmFJVuYb4sz0b/PG57ft2fXjluWyuhUpYwkEa8Q== - dependencies: - fs-extra "^8.0.0" - glob "^7.1.3" - jju "^1.4.0" - just-task-logger ">=1.1.1 <2.0.0" - marked "^4.0.12" - marked-terminal "^4.1.0" - semver "^7.0.0" - tar "^6.1.9" - yargs "^16.2.0" - just-scripts@1.8.2: version "1.8.2" resolved "https://registry.yarnpkg.com/just-scripts/-/just-scripts-1.8.2.tgz#4a3e402fab5eff0948a46b845aa721b04709d5d9" @@ -17368,15 +17353,7 @@ just-scripts@1.8.2: supports-color "^8.1.0" webpack-merge "^5.7.3" -"just-task-logger@>=1.1.1 <2.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/just-task-logger/-/just-task-logger-1.1.1.tgz#531d2b38b79aab61a59869bbf93769565191398b" - integrity sha512-9UXvsKrunTWjZvNcyWapyngG31+fsn81AUzNX9QUN160LJFsCW6UeQ+2rRRKSbkDq7vTbBj6nGnlW/5edJdptw== - dependencies: - chalk "^4.0.0" - yargs "^16.2.0" - -"just-task-logger@>=1.2.0 <2.0.0": +"just-task-logger@>=1.1.1 <2.0.0", "just-task-logger@>=1.2.0 <2.0.0": version "1.2.0" resolved "https://registry.yarnpkg.com/just-task-logger/-/just-task-logger-1.2.0.tgz#7467a6d24cce054e76fcfb7ebe2e44bdb629d05e" integrity sha512-pa5FfJMiJ11KgCXDSfnbu/Enoiwm3ReOrSO9tP0CK69/yYtfsDhE8g6S0v6cCdDYGa4zpVkX7E4G1u3L7lAPTw== From f4146bcc98f7012978e085060ec07e20d60ab283 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 26 Jan 2023 21:13:34 -0500 Subject: [PATCH 10/37] fix: deduplicate semver --- yarn.lock | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/yarn.lock b/yarn.lock index b0ea05f1cdd3e..587a765f92f5d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23308,10 +23308,10 @@ semver@7.3.4: dependencies: lru-cache "^6.0.0" -semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@~7.3.0: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== +semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@~7.3.0: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== dependencies: lru-cache "^6.0.0" @@ -23320,13 +23320,6 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semve resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.3.8: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - send@0.17.2: version "0.17.2" resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" From df9852eb99d36ba44a38791db605cc1da8d3bbf9 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 26 Jan 2023 21:14:49 -0500 Subject: [PATCH 11/37] fix(migrate-converged-pkg): add justConfig to projectConfig paths --- tools/utils.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/utils.ts b/tools/utils.ts index 3d3f8c53e03bc..6007a8fba3d22 100644 --- a/tools/utils.ts +++ b/tools/utils.ts @@ -103,6 +103,7 @@ export function getProjectConfig(tree: Tree, options: { packageName: string }) { babelConfig: joinPathFragments(projectConfig.root, '.babelrc.json'), jestConfig: joinPathFragments(projectConfig.root, 'jest.config.js'), jestSetupFile: joinPathFragments(projectConfig.root, 'config', 'tests.js'), + justConfig: joinPathFragments(projectConfig.root, 'just.config.ts'), rootTsconfig: '/tsconfig.base.json', rootPackageJson: '/package.json', rootJestPreset: '/jest.preset.js', From 82f4a6755cc80996c11d4f2a787c3df01bf8957f Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Mon, 6 Feb 2023 15:56:22 +0100 Subject: [PATCH 12/37] feat: simplify v9 compilation flow with swc --- scripts/tasks/src/babel.ts | 10 ++++-- scripts/tasks/src/generate-api.ts | 17 ++++++++++ scripts/tasks/src/presets.ts | 32 +++++++++++++++---- scripts/tasks/src/sass.ts | 7 +++- scripts/tasks/src/swc.ts | 12 ++++--- .../migrate-converged-pkg/index.spec.ts | 17 +++++++++- .../generators/migrate-converged-pkg/index.ts | 5 +-- 7 files changed, 84 insertions(+), 16 deletions(-) create mode 100644 scripts/tasks/src/generate-api.ts diff --git a/scripts/tasks/src/babel.ts b/scripts/tasks/src/babel.ts index f9575998990b2..689fe5b484849 100644 --- a/scripts/tasks/src/babel.ts +++ b/scripts/tasks/src/babel.ts @@ -1,8 +1,10 @@ +import fs from 'fs'; +import path from 'path'; + import { BabelFileResult, transformAsync } from '@babel/core'; import * as glob from 'glob'; -import fs from 'fs'; import { logger } from 'just-scripts'; -import path from 'path'; + const EOL_REGEX = /\r?\n/g; @@ -11,6 +13,10 @@ function addSourceMappingUrl(code: string, loc: string): string { return code + '\n//# sourceMappingURL=' + path.basename(loc); } +export function hasBabel() { + return fs.existsSync(path.join(process.cwd(), '.babelrc.json')); +} + export async function babel() { const files = glob.sync('{lib,lib-commonjs}/**/*.js'); diff --git a/scripts/tasks/src/generate-api.ts b/scripts/tasks/src/generate-api.ts new file mode 100644 index 0000000000000..829339d5cd4c8 --- /dev/null +++ b/scripts/tasks/src/generate-api.ts @@ -0,0 +1,17 @@ +import { exec } from 'child_process'; +import { promisify } from 'util'; + +import { series } from 'just-scripts'; + +import { apiExtractor } from './api-extractor'; + +const execAsync = promisify(exec); + +export function generateApi() { + return series(generateTypeDeclarations, apiExtractor); +} + +function generateTypeDeclarations() { + const cmd = 'tsc -p ./tsconfig.lib.json --emitDeclarationOnly'; + return execAsync(cmd); +} diff --git a/scripts/tasks/src/presets.ts b/scripts/tasks/src/presets.ts index e97e613baed21..505622a4f5c15 100644 --- a/scripts/tasks/src/presets.ts +++ b/scripts/tasks/src/presets.ts @@ -1,23 +1,22 @@ import fs from 'fs'; import path from 'path'; - - import { isConvergedPackage } from '@fluentui/scripts-monorepo'; import { addResolvePath, condition, option, parallel, series, task } from 'just-scripts'; import { apiExtractor } from './api-extractor'; import { getJustArgv } from './argv'; -import { babel } from './babel'; +import { babel, hasBabel } from './babel'; import { clean } from './clean'; import { copy, copyCompiled } from './copy'; import { eslint } from './eslint'; +import { generateApi } from './generate-api'; import { jest as jestTask, jestWatch } from './jest'; import { lintImports } from './lint-imports'; import { postprocessTask } from './postprocess'; import { postprocessAmdTask } from './postprocess-amd'; import { prettier } from './prettier'; -import { sass } from './sass'; +import { hasSass, sass } from './sass'; import { buildStorybookTask, startStorybookTask } from './storybook'; import { swc } from './swc'; import { ts } from './ts'; @@ -71,6 +70,7 @@ export function preset() { task('storybook:start', startStorybookTask()); task('storybook:build', buildStorybookTask()); task('babel:postprocess', babel); + task('generate-api', generateApi); task('ts:compile', () => { const moduleFlag = args.module; @@ -95,7 +95,7 @@ export function preset() { 'ts:compile', 'copy-compiled', 'ts:postprocess', - condition('babel:postprocess', () => fs.existsSync(path.join(process.cwd(), '.babelrc.json'))), + condition('babel:postprocess', () => hasBabel()), ); }); @@ -134,6 +134,13 @@ export function preset() { ); }); + task('compile', () => { + return series( + 'swc:compile', + condition('babel:postprocess', () => hasBabel()), + ); + }); + task('code-style', series('prettier', 'lint')); task('dev:storybook', series('storybook:start')); @@ -143,7 +150,20 @@ export function preset() { task('build', series('clean', 'copy', 'sass', 'ts', 'api-extractor')).cached!(); - task('build:react-components', series('clean', 'copy', 'sass', 'ts', 'swc:compile', 'api-extractor')).cached!(); + // now: ts --> babel --> swc --> api-extractor + // + // want: + // api: ts --declarationOnly --> api-extractor + // compile: swc --> babel + + task('build:react-components', () => { + return series( + 'clean', + 'copy', + condition('sass', () => hasSass()), + parallel('compile', 'generate-api'), + ); + }).cached!(); task( 'bundle', diff --git a/scripts/tasks/src/sass.ts b/scripts/tasks/src/sass.ts index b4b8207cded60..7942918c93a09 100644 --- a/scripts/tasks/src/sass.ts +++ b/scripts/tasks/src/sass.ts @@ -1,4 +1,5 @@ import * as path from 'path'; + import * as glob from 'glob'; import { sassTask } from 'just-scripts'; import postcssModules from 'postcss-modules'; @@ -37,10 +38,14 @@ function getJSON(cssFileName: string, json: Record) { _fileNameToClassMap[path.resolve(cssFileName)] = json; } +export function hasSass() { + return glob.sync(path.join(process.cwd(), 'src/**/*.scss')).length > 0; +} + export function sass() { // small optimization: if there are no sass files, the task does nothing // (skip actually calling sassTask which must parse several extra dependencies) - if (!glob.sync(path.join(process.cwd(), 'src/**/*.scss')).length) { + if (!hasSass()) { return () => undefined; } diff --git a/scripts/tasks/src/swc.ts b/scripts/tasks/src/swc.ts index b5516556fa335..6346e592f2411 100644 --- a/scripts/tasks/src/swc.ts +++ b/scripts/tasks/src/swc.ts @@ -1,15 +1,19 @@ +import { exec } from 'child_process'; +import { promisify } from 'util'; + import type { Options } from '@swc/core'; import { logger } from 'just-scripts'; -// eslint-disable-next-line import/no-extraneous-dependencies -import { exec } from 'just-scripts-utils'; + +const execAsync = promisify(exec); function swcCli(options: Options) { const { outputPath, module } = options; + const swcCliBin = 'npx swc'; - const cmd = `npx swc ${outputPath} --out-dir ${outputPath} --config module.type=${module?.type}`; + const cmd = `${swcCliBin} src --out-dir ${outputPath} --config module.type=${module?.type}`; logger.info(`Running swc CLI: ${cmd}`); - return exec(cmd); + return execAsync(cmd); } export const swc = { diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index e954c3a62e797..07ced9a63ff41 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -840,6 +840,21 @@ describe('migrate-converged-pkg generator', () => { expect(pkgJson.typings).toEqual('./dist/index.d.ts'); }); + it(`should update dependencies`, async () => { + const projectConfig = readProjectConfiguration(tree, options.name); + let pkgJson = readJson(tree, `${projectConfig.root}/package.json`); + + expect(pkgJson.dependencies.tslib).toBeDefined(); + expect(pkgJson.dependencies?.['@swc/helpers']).not.toBeDefined(); + + await generator(tree, options); + + pkgJson = readJson(tree, `${projectConfig.root}/package.json`); + + expect(pkgJson.dependencies.tslib).not.toBeDefined(); + expect(pkgJson.dependencies?.['@swc/helpers']).toBeDefined(); + }); + it(`should update package npm scripts`, async () => { const projectConfig = readProjectConfiguration(tree, options.name); const pkgJsonPath = `${projectConfig.root}/package.json`; @@ -876,7 +891,7 @@ describe('migrate-converged-pkg generator', () => { pkgJson = readJson(tree, `${projectConfig.root}/package.json`); expect(pkgJson.scripts).toEqual({ - 'generate-api': 'tsc -p ./tsconfig.lib.json --emitDeclarationOnly && just-scripts api-extractor', + 'generate-api': 'just-scripts generate-api', build: 'just-scripts build', clean: 'just-scripts clean', 'code-style': 'just-scripts code-style', diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index 47fe33943aceb..79dba1bc946ba 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -726,14 +726,15 @@ function updatePackageJson(tree: Tree, options: NormalizedSchemaWithTsConfigs) { //TODO: remove after migration to swc transpilation is complete function addSwcHelpers(json: PackageJson) { - json.dependencies = { ...json.dependencies, '@swc/core': '^1.3.24', '@swc/helpers': '^0.4.11' }; + delete json.dependencies?.tslib; + json.dependencies = { ...json.dependencies, '@swc/helpers': '^0.4.11' }; return json; } function updateApiExtractor(tree: Tree, options: NormalizedSchemaWithTsConfigs) { const apiExtractor = templates.apiExtractor(); const scripts = { - 'generate-api': 'tsc -p ./tsconfig.lib.json --emitDeclarationOnly && just-scripts api-extractor', + 'generate-api': 'just-scripts generate-api', }; tree.delete(joinPathFragments(options.paths.configRoot, 'api-extractor.local.json')); From f85bc97a64a328e5261424d582f5f3e2f5e6a753 Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Wed, 8 Feb 2023 18:28:22 +0100 Subject: [PATCH 13/37] fixup! feat: simplify v9 compilation flow with swc --- package.json | 1 + .../generators/migrate-converged-pkg/index.ts | 26 ++++++++- yarn.lock | 56 +++++++++++++++++++ 3 files changed, 81 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5c368a226cf4e..9fafc13b1b42b 100644 --- a/package.json +++ b/package.json @@ -197,6 +197,7 @@ "babel-plugin-annotate-pure-imports": "1.0.0-1", "babel-plugin-iife-wrap-react-components": "1.0.0-5", "babel-plugin-lodash": "3.3.4", + "babel-plugin-module-resolver": "5.0.0", "babel-plugin-tester": "10.1.0", "beachball": "2.31.0", "chalk": "4.1.0", diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index 79dba1bc946ba..a4f8958f0bc9f 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -269,7 +269,7 @@ const templates = { }, }; }, - babelConfig: (options: { platform: 'node' | 'web'; extraPresets: Array }) => { + babelConfig: (options: { platform: 'node' | 'web'; extraPresets: Array }) => { const plugins = ['annotate-pure-calls']; if (options.platform === 'web') { plugins.push('@babel/transform-react-pure-annotations'); @@ -1062,7 +1062,29 @@ function setupBabel(tree: Tree, options: NormalizedSchema) { pkgJson.devDependencies = pkgJson.devDependencies || {}; const shouldAddGriffelPreset = pkgJson.dependencies['@griffel/react'] && packageType === 'web'; - const extraPresets = shouldAddGriffelPreset ? ['@griffel'] : []; + const extraPresets = shouldAddGriffelPreset + ? [ + [ + '@griffel', + { + babelOptions: { + plugins: [ + [ + 'babel-plugin-module-resolver', + { + root: ['../../../'], + alias: { + '@fluentui/tokens': 'packages/tokens/lib/index.js', + '^@fluentui/(.+)': 'packages/react-components/\\1/lib/index.js', + }, + }, + ], + ], + }, + }, + ], + ] + : []; const config = templates.babelConfig({ extraPresets, platform: packageType }); tree.write(options.paths.babelConfig, serializeJson(config)); diff --git a/yarn.lock b/yarn.lock index 587a765f92f5d..dd5acf78b0498 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7797,6 +7797,17 @@ babel-plugin-macros@^3.0.1: cosmiconfig "^7.0.0" resolve "^1.19.0" +babel-plugin-module-resolver@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.0.tgz#2b7fc176bd55da25f516abf96015617b4f70fc73" + integrity sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q== + dependencies: + find-babel-config "^2.0.0" + glob "^8.0.3" + pkg-up "^3.1.0" + reselect "^4.1.7" + resolve "^1.22.1" + babel-plugin-named-exports-order@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz#ae14909521cf9606094a2048239d69847540cb09" @@ -13057,6 +13068,14 @@ finalhandler@1.1.2, finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" +find-babel-config@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-2.0.0.tgz#a8216f825415a839d0f23f4d18338a1cc966f701" + integrity sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw== + dependencies: + json5 "^2.1.1" + path-exists "^4.0.0" + find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" @@ -14002,6 +14021,17 @@ glob@^8.0.1: minimatch "^5.0.1" once "^1.3.0" +glob@^8.0.3: + 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" + global-dirs@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -15504,6 +15534,13 @@ is-core-module@^2.1.0, is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-mod dependencies: has "^1.0.3" +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -17188,6 +17225,11 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" +json5@^2.1.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + jsonc-parser@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" @@ -22721,6 +22763,11 @@ requires-port@^1.0.0: resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= +reselect@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.7.tgz#56480d9ff3d3188970ee2b76527bd94a95567a42" + integrity sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A== + resolve-alpn@^1.0.0, resolve-alpn@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" @@ -22807,6 +22854,15 @@ resolve@1.22.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^2.0.0-next.3: version "2.0.0-next.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" From e8d5e734e9e465bdddb4473ab76ce4092fb6a3df Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Wed, 8 Feb 2023 18:48:13 +0100 Subject: [PATCH 14/37] fixup! fixup! feat: simplify v9 compilation flow with swc --- scripts/tasks/src/presets.ts | 42 ++++++++++++++++++++++++++++++++++-- scripts/tasks/src/swc.ts | 14 +++++++++--- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/scripts/tasks/src/presets.ts b/scripts/tasks/src/presets.ts index 505622a4f5c15..4f76b71326fc2 100644 --- a/scripts/tasks/src/presets.ts +++ b/scripts/tasks/src/presets.ts @@ -5,7 +5,7 @@ import { isConvergedPackage } from '@fluentui/scripts-monorepo'; import { addResolvePath, condition, option, parallel, series, task } from 'just-scripts'; import { apiExtractor } from './api-extractor'; -import { getJustArgv } from './argv'; +import { JustArgs, getJustArgv } from './argv'; import { babel, hasBabel } from './babel'; import { clean } from './clean'; import { copy, copyCompiled } from './copy'; @@ -135,12 +135,50 @@ export function preset() { }); task('compile', () => { + const moduleFlag = args.module; return series( - 'swc:compile', + 'swc:esm', condition('babel:postprocess', () => hasBabel()), + resolveModuleCompilation(moduleFlag), ); }); + function resolveModuleCompilation(moduleFlag?: JustArgs['module']) { + // default behaviour + if (!moduleFlag) { + return parallel( + 'swc:commonjs', + condition('swc:amd', () => !!args.production && !isConvergedPackage()), + ); + } + + return parallel( + condition('swc:commonjs', () => moduleFlag.cjs), + condition('swc:amd', () => moduleFlag.amd), + ); + } + + // task('compile', () => { + // const moduleFlag = args.module; + // // default behaviour + // if (!moduleFlag) { + // return parallel( + // 'swc:commonjs', + // condition('swc:amd', () => !!args.production && !isConvergedPackage()), + // ); + // } + + // return parallel( + // condition('swc:commonjs', () => moduleFlag.cjs), + // condition('swc:amd', () => moduleFlag.amd), + // ); + + // // return series( + // // 'swc:esm', + // // condition('babel:postprocess', () => hasBabel()), + // // ); + // }); + task('code-style', series('prettier', 'lint')); task('dev:storybook', series('storybook:start')); diff --git a/scripts/tasks/src/swc.ts b/scripts/tasks/src/swc.ts index 6346e592f2411..78e7d67713eec 100644 --- a/scripts/tasks/src/swc.ts +++ b/scripts/tasks/src/swc.ts @@ -1,16 +1,24 @@ import { exec } from 'child_process'; import { promisify } from 'util'; -import type { Options } from '@swc/core'; +import type { Options as SwcOptions } from '@swc/core'; import { logger } from 'just-scripts'; const execAsync = promisify(exec); +type Options = SwcOptions & { module: { type: 'es6' | 'commonjs' | 'amd' } }; + function swcCli(options: Options) { const { outputPath, module } = options; const swcCliBin = 'npx swc'; - - const cmd = `${swcCliBin} src --out-dir ${outputPath} --config module.type=${module?.type}`; + const sourceDirMap = { + es6: 'src', + commonjs: 'lib', + amd: 'lib', + }; + const sourceDir = sourceDirMap[options.module.type]; + + const cmd = `${swcCliBin} ${sourceDir} --out-dir ${outputPath} --config module.type=${module?.type}`; logger.info(`Running swc CLI: ${cmd}`); return execAsync(cmd); From 40ab558d8d368726a37ced6da4386ada2e922525 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Feb 2023 04:05:48 -0500 Subject: [PATCH 15/37] chore: update yarn.lock --- yarn.lock | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/yarn.lock b/yarn.lock index af239f662d955..22ecf98ae7554 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4796,6 +4796,18 @@ source-map-support "^0.5.21" tslib "^2.4.1" +"@swc/cli@0.1.59": + version "0.1.59" + resolved "https://registry.yarnpkg.com/@swc/cli/-/cli-0.1.59.tgz#cb0be624f98ca9e41caa2de454d151faec83cd19" + integrity sha512-BlX3wIxYTwdtR22dIqZ3FEIOJPqnlByAp4JY46OMZi2UXMB3ZbOzefawD2ZlLafRUWyy5NtiZZty5waKzaYRnA== + dependencies: + bin-wrapper "^4.1.0" + commander "^7.1.0" + fast-glob "^3.2.5" + semver "^7.3.8" + slash "3.0.0" + source-map "^0.7.3" + "@swc/core-darwin-arm64@1.3.30": version "1.3.30" resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.30.tgz#fb9b20a46455f49597e760e4dfe829196e0fe12e" From cdc90d6beae88df1ae8f5a469a98afe31c28b97c Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Feb 2023 09:08:00 -0500 Subject: [PATCH 16/37] nit: remove unintended prettier changes --- .../src/components/LineChart/LineChart.base.tsx | 6 +++--- .../VerticalStackedBarChart.base.tsx | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/react-charting/src/components/LineChart/LineChart.base.tsx b/packages/react-charting/src/components/LineChart/LineChart.base.tsx index 51c42606fa872..1c93e3b9bd92f 100644 --- a/packages/react-charting/src/components/LineChart/LineChart.base.tsx +++ b/packages/react-charting/src/components/LineChart/LineChart.base.tsx @@ -243,8 +243,8 @@ export class LineChartBase extends React.Component { if (isLegendMultiSelectEnabled) { this._handleMultipleLineLegendSelectionAction(point); diff --git a/packages/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx b/packages/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx index ae755862a47ed..f54728b60a9f6 100644 --- a/packages/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx +++ b/packages/react-charting/src/components/VerticalStackedBarChart/VerticalStackedBarChart.base.tsx @@ -493,7 +493,7 @@ export class VerticalStackedBarChartBase extends React.Component< const legend: ILegend = { title: point.legend, - color, + color: color, action: () => { this._onLegendClick(point.legend); }, @@ -729,7 +729,7 @@ export class VerticalStackedBarChartBase extends React.Component< const shouldHighlight = this._legendHighlighted(point.legend) || this._noLegendHighlighted() ? true : false; const classNames = getClassNames(this.props.styles!, { theme: this.props.theme!, - shouldHighlight, + shouldHighlight: shouldHighlight, href: this.props.href, }); const rectFocusProps = !shouldFocusWholeStack && { From 5473564c5e23941a94c56dd7ac4c8660857db53c Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Feb 2023 16:05:04 -0500 Subject: [PATCH 17/37] nit: remove unintended prettier change --- packages/react-components/react-drawer/src/index.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/react-components/react-drawer/src/index.ts b/packages/react-components/react-drawer/src/index.ts index ac7673733e4f2..bd7b93a37a052 100644 --- a/packages/react-components/react-drawer/src/index.ts +++ b/packages/react-components/react-drawer/src/index.ts @@ -1,10 +1,4 @@ // TODO: replace with real exports export {}; -export { - Drawer, - drawerClassNames, - renderDrawer_unstable, - useDrawerStyles_unstable, - useDrawer_unstable, -} from './Drawer'; +export { Drawer, drawerClassNames, renderDrawer_unstable, useDrawerStyles_unstable, useDrawer_unstable } from './Drawer'; export type { DrawerProps, DrawerSlots, DrawerState } from './Drawer'; From 234cd93cdfcef33c7aacb78055fac1105de07f26 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Feb 2023 16:05:50 -0500 Subject: [PATCH 18/37] nit: remove unintended prettier change --- typings/storybook__addons/index.d.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/typings/storybook__addons/index.d.ts b/typings/storybook__addons/index.d.ts index 7f4a5b1f7abd2..94409d65ceedb 100644 --- a/typings/storybook__addons/index.d.ts +++ b/typings/storybook__addons/index.d.ts @@ -43,10 +43,10 @@ declare module '@storybook/addons' { type: 'source' | 'auto' | 'dynamic'; }; - /** - * Allows to override code that will be used for "Show Code" tab. - * @see https://github.com/storybookjs/storybook/blob/main/addons/docs/docs/recipes.md#customizing-source-snippets - */ + /** + * Allows to override code that will be used for "Show Code" tab. + * @see https://github.com/storybookjs/storybook/blob/main/addons/docs/docs/recipes.md#customizing-source-snippets + */ transformSource: (snippet: string, story: StoryContextForEnhancers) => string | undefined; container?: React.ComponentType; From b43b595871e7484850fe318d2c09c05bbc6c2304 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Feb 2023 16:06:40 -0500 Subject: [PATCH 19/37] nit: remove unintended prettier change --- packages/react/src/components/Dropdown/Dropdown.base.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react/src/components/Dropdown/Dropdown.base.tsx b/packages/react/src/components/Dropdown/Dropdown.base.tsx index a7696c99f9839..b8f387f623b59 100644 --- a/packages/react/src/components/Dropdown/Dropdown.base.tsx +++ b/packages/react/src/components/Dropdown/Dropdown.base.tsx @@ -798,7 +798,7 @@ class DropdownInternal extends React.Component Date: Thu, 9 Feb 2023 09:13:58 -0500 Subject: [PATCH 20/37] chore: cleanup commented out code --- scripts/tasks/src/presets.ts | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/scripts/tasks/src/presets.ts b/scripts/tasks/src/presets.ts index 4f76b71326fc2..80064b9ccce8a 100644 --- a/scripts/tasks/src/presets.ts +++ b/scripts/tasks/src/presets.ts @@ -158,27 +158,6 @@ export function preset() { ); } - // task('compile', () => { - // const moduleFlag = args.module; - // // default behaviour - // if (!moduleFlag) { - // return parallel( - // 'swc:commonjs', - // condition('swc:amd', () => !!args.production && !isConvergedPackage()), - // ); - // } - - // return parallel( - // condition('swc:commonjs', () => moduleFlag.cjs), - // condition('swc:amd', () => moduleFlag.amd), - // ); - - // // return series( - // // 'swc:esm', - // // condition('babel:postprocess', () => hasBabel()), - // // ); - // }); - task('code-style', series('prettier', 'lint')); task('dev:storybook', series('storybook:start')); @@ -188,12 +167,6 @@ export function preset() { task('build', series('clean', 'copy', 'sass', 'ts', 'api-extractor')).cached!(); - // now: ts --> babel --> swc --> api-extractor - // - // want: - // api: ts --declarationOnly --> api-extractor - // compile: swc --> babel - task('build:react-components', () => { return series( 'clean', From 1afe76a9b2325388baea3bc325aac57d020cabf8 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Feb 2023 09:22:38 -0500 Subject: [PATCH 21/37] fix: use babel-plugin-module-resolver version 4.1.0 which works with node 14 and above --- package.json | 2 +- yarn.lock | 53 +++++++++++++++++++++------------------------------- 2 files changed, 22 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index 804205b82eaa6..2b08750b9857b 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "babel-plugin-annotate-pure-imports": "1.0.0-1", "babel-plugin-iife-wrap-react-components": "1.0.0-5", "babel-plugin-lodash": "3.3.4", - "babel-plugin-module-resolver": "5.0.0", + "babel-plugin-module-resolver": "4.1.0", "babel-plugin-tester": "10.1.0", "beachball": "2.31.0", "chalk": "4.1.0", diff --git a/yarn.lock b/yarn.lock index 35ab5a4b6f430..981047503ef38 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7780,16 +7780,16 @@ babel-plugin-macros@^3.0.1: cosmiconfig "^7.0.0" resolve "^1.19.0" -babel-plugin-module-resolver@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.0.tgz#2b7fc176bd55da25f516abf96015617b4f70fc73" - integrity sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q== +babel-plugin-module-resolver@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz#22a4f32f7441727ec1fbf4967b863e1e3e9f33e2" + integrity sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA== dependencies: - find-babel-config "^2.0.0" - glob "^8.0.3" + find-babel-config "^1.2.0" + glob "^7.1.6" pkg-up "^3.1.0" - reselect "^4.1.7" - resolve "^1.22.1" + reselect "^4.0.0" + resolve "^1.13.1" babel-plugin-named-exports-order@^0.0.2: version "0.0.2" @@ -13068,13 +13068,13 @@ finalhandler@1.1.2, finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" -find-babel-config@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-2.0.0.tgz#a8216f825415a839d0f23f4d18338a1cc966f701" - integrity sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw== +find-babel-config@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.2.0.tgz#a9b7b317eb5b9860cda9d54740a8c8337a2283a2" + integrity sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA== dependencies: - json5 "^2.1.1" - path-exists "^4.0.0" + json5 "^0.5.1" + path-exists "^3.0.0" find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: version "2.1.0" @@ -14021,17 +14021,6 @@ glob@^8.0.1: minimatch "^5.0.1" once "^1.3.0" -glob@^8.0.3: - 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" - global-dirs@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -17218,6 +17207,11 @@ json5@2.x, json5@^2.1.0, json5@^2.1.2, json5@^2.1.3, json5@^2.2.0, json5@^2.2.1: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== + json5@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" @@ -17225,11 +17219,6 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.1: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - jsonc-parser@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" @@ -22773,7 +22762,7 @@ requires-port@^1.0.0: resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= -reselect@^4.1.7: +reselect@^4.0.0: version "4.1.7" resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.7.tgz#56480d9ff3d3188970ee2b76527bd94a95567a42" integrity sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A== @@ -22864,7 +22853,7 @@ resolve@1.22.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.22.1: +resolve@^1.13.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== From 24989d674899dc6cc48e003af3a6ab35dcb7c936 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Feb 2023 09:42:33 -0500 Subject: [PATCH 22/37] chore: manually dedupe resolve package --- yarn.lock | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/yarn.lock b/yarn.lock index 981047503ef38..bcead0035c910 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15523,13 +15523,6 @@ is-core-module@^2.1.0, is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-mod dependencies: has "^1.0.3" -is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -22844,7 +22837,7 @@ resolve@1.15.1: dependencies: path-parse "^1.0.6" -resolve@1.22.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.9.0: +resolve@1.22.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.9.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -22853,15 +22846,6 @@ resolve@1.22.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.13.1: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - resolve@^2.0.0-next.3: version "2.0.0-next.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" From 57303e5272b8f29489c2e10e83575abbd0e6a8ac Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Feb 2023 10:12:23 -0500 Subject: [PATCH 23/37] test(migrate-converged-pkg): update babelrc setup test to be correct --- .../migrate-converged-pkg/index.spec.ts | 44 ++++++++++++++++++- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index 07ced9a63ff41..a4a4b67fb2093 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -1139,7 +1139,27 @@ describe('migrate-converged-pkg generator', () => { let babelConfig = getBabelConfig(projectConfig); expect(babelConfig).toEqual({ - presets: ['@griffel'], + presets: [ + [ + '@griffel', + { + babelOptions: { + plugins: [ + [ + 'babel-plugin-module-resolver', + { + root: ['../../../'], + alias: { + '@fluentui/tokens': 'packages/tokens/lib/index.js', + '^@fluentui/(.+)': 'packages/react-components/\\1/lib/index.js', + }, + }, + ], + ], + }, + }, + ], + ], plugins: ['annotate-pure-calls', '@babel/transform-react-pure-annotations'], }); @@ -1149,7 +1169,27 @@ describe('migrate-converged-pkg generator', () => { babelConfig = getBabelConfig(projectConfig); expect(babelConfig).toEqual({ - presets: ['@griffel'], + presets: [ + [ + '@griffel', + { + babelOptions: { + plugins: [ + [ + 'babel-plugin-module-resolver', + { + root: ['../../../'], + alias: { + '@fluentui/tokens': 'packages/tokens/lib/index.js', + '^@fluentui/(.+)': 'packages/react-components/\\1/lib/index.js', + }, + }, + ], + ], + }, + }, + ], + ], plugins: ['annotate-pure-calls', '@babel/transform-react-pure-annotations'], }); }); From 8b887a9c1dc6f972157d2302c3e8d98f228fb3c2 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Feb 2023 10:17:58 -0500 Subject: [PATCH 24/37] chore: add .swcrc to files v-build owns --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 33ee6d33352d6..5d25f58df282c 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -280,3 +280,4 @@ packages/react-experiments/src/components/TileList @ThomasMichon **/cypress.config.ts @microsoft/fluentui-react-build **/api-extractor.json @microsoft/fluentui-react-build **/api-extractor.unstable.json @microsoft/fluentui-react-build +**/.swcrc @microsoft/fluentui-react-build From 8656f48a73aff067fddf2a592b434ed6e276a8ed Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Feb 2023 12:44:12 -0500 Subject: [PATCH 25/37] chore: cleanup just preset.ts of unused code --- scripts/tasks/src/presets.ts | 50 ++++++++++++------------------------ 1 file changed, 16 insertions(+), 34 deletions(-) diff --git a/scripts/tasks/src/presets.ts b/scripts/tasks/src/presets.ts index 80064b9ccce8a..5fd387f9967e5 100644 --- a/scripts/tasks/src/presets.ts +++ b/scripts/tasks/src/presets.ts @@ -117,24 +117,6 @@ export function preset() { task('swc:amd', swc.amd); task('swc:compile', () => { - const moduleFlag = args.module; - // default behaviour - if (!moduleFlag) { - return parallel( - 'swc:esm', - 'swc:commonjs', - condition('swc:amd', () => !!args.production && !isConvergedPackage()), - ); - } - - return parallel( - condition('swc:esm', () => moduleFlag.esm), - condition('swc:commonjs', () => moduleFlag.cjs), - condition('swc:amd', () => moduleFlag.amd), - ); - }); - - task('compile', () => { const moduleFlag = args.module; return series( 'swc:esm', @@ -143,21 +125,6 @@ export function preset() { ); }); - function resolveModuleCompilation(moduleFlag?: JustArgs['module']) { - // default behaviour - if (!moduleFlag) { - return parallel( - 'swc:commonjs', - condition('swc:amd', () => !!args.production && !isConvergedPackage()), - ); - } - - return parallel( - condition('swc:commonjs', () => moduleFlag.cjs), - condition('swc:amd', () => moduleFlag.amd), - ); - } - task('code-style', series('prettier', 'lint')); task('dev:storybook', series('storybook:start')); @@ -172,7 +139,7 @@ export function preset() { 'clean', 'copy', condition('sass', () => hasSass()), - parallel('compile', 'generate-api'), + parallel('swc:compile', 'generate-api'), ); }).cached!(); @@ -180,6 +147,21 @@ export function preset() { 'bundle', condition('webpack', () => fs.existsSync(path.join(process.cwd(), 'webpack.config.js'))), ); + + function resolveModuleCompilation(moduleFlag?: JustArgs['module']) { + // default behaviour + if (!moduleFlag) { + return parallel( + 'swc:commonjs', + condition('swc:amd', () => !!args.production && !isConvergedPackage()), + ); + } + + return parallel( + condition('swc:commonjs', () => moduleFlag.cjs), + condition('swc:amd', () => moduleFlag.amd), + ); + } } if (process.cwd() === __dirname) { From 848e0c6b512f67cba90e28b53860561129e8185f Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Fri, 10 Feb 2023 01:15:48 -0500 Subject: [PATCH 26/37] cleanup: remove unused just-scripts-utils dep --- package.json | 1 - yarn.lock | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 2b08750b9857b..80814aa442234 100644 --- a/package.json +++ b/package.json @@ -267,7 +267,6 @@ "json-schema": "0.4.0", "json-stable-stringify-without-jsonify": "1.0.1", "just-scripts": "1.8.2", - "just-scripts-utils": "1.2.0", "lage": "1.8.8", "lerna": "5.5.2", "lerna-alias": "3.0.3-0", diff --git a/yarn.lock b/yarn.lock index bcead0035c910..b8f9e5430af2b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17344,7 +17344,7 @@ just-diff@^5.0.1: resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.1.1.tgz#8da6414342a5ed6d02ccd64f5586cbbed3146202" integrity sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ== -just-scripts-utils@1.2.0, "just-scripts-utils@>=1.1.5 <2.0.0": +"just-scripts-utils@>=1.1.5 <2.0.0": version "1.2.0" resolved "https://registry.yarnpkg.com/just-scripts-utils/-/just-scripts-utils-1.2.0.tgz#232a768a1083626e47c29c749e33d964ee027d56" integrity sha512-rJMNtMz4V6uyMyfx+a2CqdMh1X/C9cVJTOPegvEzSonYMOKsiZEw2L9VzKVIFwNteKGZT6D2hFjSMAle41MAgA== From 6572a667a719c235310bf63b61e4c8d9acd077c4 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Wed, 22 Feb 2023 20:23:16 -0500 Subject: [PATCH 27/37] chore: update yarn.lock after master merge --- yarn.lock | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index ba19e76962c0a..c883a181d3615 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8405,6 +8405,11 @@ buffer-equal@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -19895,6 +19900,13 @@ p-defer@^1.0.0: resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= +p-event@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-2.3.1.tgz#596279ef169ab2c3e0cae88c1cfbb08079993ef6" + integrity sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA== + dependencies: + p-timeout "^2.0.1" + p-event@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" @@ -22414,7 +22426,7 @@ resolve@1.15.1: dependencies: path-parse "^1.0.6" -resolve@1.22.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.9.0: +resolve@1.22.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.9.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== From 36161867412b1024d61b606d4c7164713373b275 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 23 Feb 2023 00:04:09 -0500 Subject: [PATCH 28/37] feat: add monorepo root .babelrc-v9.json file and update migrate-converged-pkg generator to EXTEND that file within each respective v9 babelrc.json file --- .babelrc-v9.json | 23 +++++++++ .../migrate-converged-pkg/index.spec.ts | 50 ++----------------- .../generators/migrate-converged-pkg/index.ts | 36 ++++--------- 3 files changed, 36 insertions(+), 73 deletions(-) create mode 100644 .babelrc-v9.json diff --git a/.babelrc-v9.json b/.babelrc-v9.json new file mode 100644 index 0000000000000..5a8a73d837805 --- /dev/null +++ b/.babelrc-v9.json @@ -0,0 +1,23 @@ +{ + "presets": [ + [ + "@griffel", + { + "babelOptions": { + "plugins": [ + [ + "babel-plugin-module-resolver", + { + "root": ["../../../"], + "alias": { + "@fluentui/tokens": "packages/tokens/lib/index.js", + "^@fluentui/(?!react-icons)(.+)": "packages/react-components/\\1/lib/index.js" + } + } + ] + ] + } + } + ] + ] +} diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index 127f44e7564b3..1bde506666092 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -1139,27 +1139,7 @@ describe('migrate-converged-pkg generator', () => { let babelConfig = getBabelConfig(projectConfig); expect(babelConfig).toEqual({ - presets: [ - [ - '@griffel', - { - babelOptions: { - plugins: [ - [ - 'babel-plugin-module-resolver', - { - root: ['../../../'], - alias: { - '@fluentui/tokens': 'packages/tokens/lib/index.js', - '^@fluentui/(.+)': 'packages/react-components/\\1/lib/index.js', - }, - }, - ], - ], - }, - }, - ], - ], + extends: '../../.babelrc-v9.json', plugins: ['annotate-pure-calls', '@babel/transform-react-pure-annotations'], }); @@ -1169,27 +1149,7 @@ describe('migrate-converged-pkg generator', () => { babelConfig = getBabelConfig(projectConfig); expect(babelConfig).toEqual({ - presets: [ - [ - '@griffel', - { - babelOptions: { - plugins: [ - [ - 'babel-plugin-module-resolver', - { - root: ['../../../'], - alias: { - '@fluentui/tokens': 'packages/tokens/lib/index.js', - '^@fluentui/(.+)': 'packages/react-components/\\1/lib/index.js', - }, - }, - ], - ], - }, - }, - ], - ], + extends: '../../.babelrc-v9.json', plugins: ['annotate-pure-calls', '@babel/transform-react-pure-annotations'], }); }); @@ -1208,7 +1168,7 @@ describe('migrate-converged-pkg generator', () => { let babelConfig = getBabelConfig(projectConfig); expect(babelConfig).toEqual({ - presets: ['@griffel'], + extends: '../../.babelrc-v9.json', plugins: ['annotate-pure-calls', '@babel/transform-react-pure-annotations'], }); @@ -1216,7 +1176,6 @@ describe('migrate-converged-pkg generator', () => { babelConfig = getBabelConfig(projectConfig); expect(babelConfig).toEqual({ - presets: [], plugins: ['annotate-pure-calls', '@babel/transform-react-pure-annotations'], }); @@ -1225,7 +1184,6 @@ describe('migrate-converged-pkg generator', () => { babelConfig = getBabelConfig(projectConfig); expect(babelConfig).toEqual({ - presets: [], plugins: ['annotate-pure-calls'], }); }); @@ -1536,7 +1494,7 @@ function setupDummyPackage( someThirdPartyDep: '^11.1.2', }, babelConfig: { - presets: ['@griffel'], + extends: '../../.babelrc-v9.json', plugins: ['annotate-pure-calls', '@babel/transform-react-pure-annotations'], }, tsConfig: { compilerOptions: { baseUrl: '.', typeRoots: ['../../node_modules/@types', '../../typings'] } }, diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index f080e42146927..0d7d31f221250 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -269,14 +269,16 @@ const templates = { }, }; }, - babelConfig: (options: { platform: 'node' | 'web'; extraPresets: Array }) => { + babelConfig: (options: { platform: 'node' | 'web'; extraPresets?: Array; rootBabelConfigPath?: string }) => { + const { extraPresets, platform, rootBabelConfigPath } = options; const plugins = ['annotate-pure-calls']; - if (options.platform === 'web') { + if (platform === 'web') { plugins.push('@babel/transform-react-pure-annotations'); } return { - presets: [...options.extraPresets], + extends: rootBabelConfigPath, + presets: extraPresets ? [...extraPresets] : undefined, plugins, }; }, @@ -1062,30 +1064,10 @@ function setupBabel(tree: Tree, options: NormalizedSchema) { pkgJson.devDependencies = pkgJson.devDependencies || {}; const shouldAddGriffelPreset = pkgJson.dependencies['@griffel/react'] && packageType === 'web'; - const extraPresets = shouldAddGriffelPreset - ? [ - [ - '@griffel', - { - babelOptions: { - plugins: [ - [ - 'babel-plugin-module-resolver', - { - root: ['../../../'], - alias: { - '@fluentui/tokens': 'packages/tokens/lib/index.js', - '^@fluentui/(.+)': 'packages/react-components/\\1/lib/index.js', - }, - }, - ], - ], - }, - }, - ], - ] - : []; - const config = templates.babelConfig({ extraPresets, platform: packageType }); + const rootBabelConfigPath = shouldAddGriffelPreset + ? path.relative(options.projectConfig.root, '.babelrc-v9.json') + : undefined; + const config = templates.babelConfig({ platform: packageType, rootBabelConfigPath }); tree.write(options.paths.babelConfig, serializeJson(config)); writeJson(tree, options.paths.packageJson, pkgJson); From 21b5a1830d65e236f80f8758243a1cc2b9d0f8d9 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Sat, 4 Mar 2023 05:11:56 -0500 Subject: [PATCH 29/37] chore: update yarn.lock --- yarn.lock | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/yarn.lock b/yarn.lock index 662f8d881a7f8..69734d6e1cc82 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3817,6 +3817,11 @@ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== +"@sindresorhus/is@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" + integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== + "@sindresorhus/is@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4" @@ -17345,6 +17350,11 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== + json5@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" @@ -21410,6 +21420,11 @@ prepend-http@^1.0.1: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== + prettier@2.8.4, "prettier@>=2.2.1 <=2.3.0", prettier@^2.0.1, prettier@^2.2.1: version "2.8.4" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" @@ -23698,11 +23713,6 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - slash@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" From bf390c0fafefd3682e5f581f078442fd98404a42 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Sat, 4 Mar 2023 05:13:10 -0500 Subject: [PATCH 30/37] fix(migrate-converged-generator): add react useBuiltIns config to swcrc to reduce bundle size --- tools/generators/migrate-converged-pkg/index.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index 0d7d31f221250..afc3159629d90 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -413,8 +413,13 @@ const templates = { decorators: false, dynamicImport: false, }, - target: 'es2019', externalHelpers: true, + transform: { + react: { + useBuiltins: true, + }, + }, + target: 'es2019', }, minify: false, sourceMaps: true, From 80f2432fb8dfabef9e95b5e0821e3c23cbe1480b Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Sat, 4 Mar 2023 06:01:50 -0500 Subject: [PATCH 31/37] test(migrate-converged): update test --- tools/generators/migrate-converged-pkg/index.spec.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index b70c1938a304f..6d2399b6ca345 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -1117,8 +1117,13 @@ describe('migrate-converged-pkg generator', () => { decorators: false, dynamicImport: false, }, - target: 'es2019', externalHelpers: true, + transform: { + react: { + useBuiltins: true, + }, + }, + target: 'es2019', }, minify: false, sourceMaps: true, From 95f268610bb56f3e6fc7a024da1c7fde8aa1b2f2 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Sat, 4 Mar 2023 07:20:12 -0500 Subject: [PATCH 32/37] chore: add bugfixes: true to swcrc file to suppress bundle size increase caused by rest parameters being buggy in safari --- tools/generators/migrate-converged-pkg/index.spec.ts | 2 +- tools/generators/migrate-converged-pkg/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index 6d2399b6ca345..6eccd3991cc7d 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -1100,7 +1100,7 @@ describe('migrate-converged-pkg generator', () => { expect(swcConfig).toEqual({ $schema: 'https://json.schemastore.org/swcrc', - env: { targets: { chrome: '84', edge: '84', firefox: '75', opera: '73', safari: '14.1' } }, + env: { targets: { chrome: '84', edge: '84', firefox: '75', opera: '73', safari: '14.1' }, bugfixes: true }, exclude: [ '/testing', '/**/*.cy.ts', diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index afc3159629d90..88fd4762d1625 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -396,7 +396,7 @@ const templates = { swcConfig: () => { return { $schema: 'https://json.schemastore.org/swcrc', - env: { targets: { chrome: '84', edge: '84', firefox: '75', opera: '73', safari: '14.1' } }, + env: { targets: { chrome: '84', edge: '84', firefox: '75', opera: '73', safari: '14.1' }, bugfixes: true }, exclude: [ '/testing', '/**/*.cy.ts', From b8f64833952406e3563173c00c9a8335f3c22225 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Sat, 4 Mar 2023 11:21:14 -0500 Subject: [PATCH 33/37] nit: remove ecma target from swcrc since it does nothing, browserlist targets always take precedence --- tools/generators/migrate-converged-pkg/index.spec.ts | 1 - tools/generators/migrate-converged-pkg/index.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index 6eccd3991cc7d..6e1f587ac2bb5 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -1123,7 +1123,6 @@ describe('migrate-converged-pkg generator', () => { useBuiltins: true, }, }, - target: 'es2019', }, minify: false, sourceMaps: true, diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index 88fd4762d1625..f7100fa67a307 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -419,7 +419,6 @@ const templates = { useBuiltins: true, }, }, - target: 'es2019', }, minify: false, sourceMaps: true, From 6617e3fd86d526724713f41f877e7c8ef6da48e6 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Mar 2023 16:02:09 -0500 Subject: [PATCH 34/37] nit: use optional chaining instead of bang operator for just config task --- tools/generators/migrate-converged-pkg/index.spec.ts | 2 +- tools/generators/migrate-converged-pkg/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index 6e1f587ac2bb5..a58b1839531b2 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -1080,7 +1080,7 @@ describe('migrate-converged-pkg generator', () => { preset(); - task('build', 'build:react-components').cached!();" + task('build', 'build:react-components').cached?.();" `); }); }); diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index f7100fa67a307..a3cb7e2b8c949 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -429,7 +429,7 @@ const templates = { preset(); - task('build', 'build:react-components').cached!();`, + task('build', 'build:react-components').cached?.();`, }; function normalizeOptions(host: Tree, options: AssertedSchema) { From 90079dc3b6ea3930edb58ea2839d666c2601de64 Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Mar 2023 19:04:19 -0500 Subject: [PATCH 35/37] chore: add runtime:classic to swcrc --- tools/generators/migrate-converged-pkg/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index a3cb7e2b8c949..aca0526d3582c 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -416,6 +416,7 @@ const templates = { externalHelpers: true, transform: { react: { + runtime: 'classic', useBuiltins: true, }, }, From 6d3b05d961e50eee81d18cc9d9c3de5273fb22ef Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Thu, 9 Mar 2023 20:06:07 -0500 Subject: [PATCH 36/37] test: update test to reflect swcrc addition --- tools/generators/migrate-converged-pkg/index.spec.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index a58b1839531b2..c029f0825eebf 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -1120,6 +1120,7 @@ describe('migrate-converged-pkg generator', () => { externalHelpers: true, transform: { react: { + runtime: 'classic', useBuiltins: true, }, }, From ca8f5dd0211646fe3ddf14468b2f512692b2131e Mon Sep 17 00:00:00 2001 From: Tristan Watanabe Date: Wed, 15 Mar 2023 04:11:02 -0400 Subject: [PATCH 37/37] fix: replace useBuiltIns with useSpread to spread react props instead of using Object.assign --- tools/generators/migrate-converged-pkg/index.spec.ts | 2 +- tools/generators/migrate-converged-pkg/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index c029f0825eebf..fa37d152d83db 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -1121,7 +1121,7 @@ describe('migrate-converged-pkg generator', () => { transform: { react: { runtime: 'classic', - useBuiltins: true, + useSpread: true, }, }, }, diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index aca0526d3582c..a179c80b5a225 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -417,7 +417,7 @@ const templates = { transform: { react: { runtime: 'classic', - useBuiltins: true, + useSpread: true, }, }, },