From 1ffd6680336555a65f5b9324259dc2637a96edc2 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Thu, 24 Feb 2022 15:49:58 -0900 Subject: [PATCH] update pwa support + web fonts performance (#1005) * update pwa support + web fonts performance * update web manifest --- frontend/nuxt.config.js | 63 +++++- frontend/package.json | 5 +- .../static/icons/android-chrome-192x192.png | Bin 0 -> 2805 bytes .../static/icons/android-chrome-512x512.png | Bin 0 -> 6491 bytes .../icons/android-chrome-maskable-192x192.png | Bin 0 -> 7896 bytes .../icons/android-chrome-maskable-512x512.png | Bin 0 -> 24732 bytes frontend/static/icons/apple-touch-icon.png | Bin 0 -> 2642 bytes frontend/static/icons/favicon-16x16.png | Bin 0 -> 883 bytes frontend/static/icons/favicon-32x32.png | Bin 0 -> 1129 bytes frontend/static/icons/mstile-150x150.png | Bin 0 -> 2530 bytes frontend/static/icons/safari-pinned-tab.svg | 28 +++ frontend/yarn.lock | 180 +++++++++++++++++- 12 files changed, 264 insertions(+), 12 deletions(-) create mode 100644 frontend/static/icons/android-chrome-192x192.png create mode 100644 frontend/static/icons/android-chrome-512x512.png create mode 100644 frontend/static/icons/android-chrome-maskable-192x192.png create mode 100644 frontend/static/icons/android-chrome-maskable-512x512.png create mode 100644 frontend/static/icons/apple-touch-icon.png create mode 100644 frontend/static/icons/favicon-16x16.png create mode 100644 frontend/static/icons/favicon-32x32.png create mode 100644 frontend/static/icons/mstile-150x150.png create mode 100644 frontend/static/icons/safari-pinned-tab.svg diff --git a/frontend/nuxt.config.js b/frontend/nuxt.config.js index 67b95e9a9fdb..acf95defb054 100644 --- a/frontend/nuxt.config.js +++ b/frontend/nuxt.config.js @@ -1,7 +1,7 @@ export default { // Global page headers: https://go.nuxtjs.dev/config-head head: { - title: "Home", + title: "Mealie", meta: [ { hid: "og:type", property: "og:type", content: "website" }, { hid: "og:title", property: "og:title", content: "Mealie" }, @@ -60,6 +60,8 @@ export default { "nuxt-vite", // https://github.com/antfu/vue2-script-setup-transform "vue2-script-setup-transform/nuxt", + // https://google-fonts.nuxtjs.org/setup + "@nuxtjs/google-fonts", ], // Modules: https://go.nuxtjs.dev/config-modules @@ -92,6 +94,12 @@ export default { ], ], + googleFonts: { + families: { + Roboto: [100, 300, 400, 500, 700, 900], + }, + }, + auth: { redirect: { login: "/login", @@ -268,6 +276,52 @@ export default { manifest: { lang: "en", }, + meta: { + /* meta options */ + name: "Mealie", + description: "Mealie is a recipe management and meal planning app", + theme_color: "#E58325", + ogSiteName: "Mealie", + }, + manifest: { + name: "Mealie", + title: "Mealie", + background_color: "#FFFFFF", + share_target: { + action: "/", + method: "GET", + params: { + title: "title", + text: "recipe_import_url", + }, + }, + }, + icons: [ + { + src: "[srcDir]/[staticDir]/icons/android-chrome-192x192.png", + sizes: "192x192", + type: "image/png", + purpose: "any", + }, + { + src: "[srcDir]/[staticDir]/icons/android-chrome-512x512.png", + sizes: "512x512", + type: "image/png", + purpose: "any", + }, + { + src: "[srcDir]/[staticDir]/icons/android-chrome-maskable-192x192.png", + sizes: "192x192", + type: "image/png", + purpose: "maskable", + }, + { + src: "[srcDir]/[staticDir]/icons/android-chrome-maskable-512x512.png", + sizes: "512x512", + type: "image/png", + purpose: "maskable", + }, + ], }, // Vuetify module configuration: https://go.nuxtjs.dev/config-vuetify @@ -276,12 +330,7 @@ export default { icons: { iconfont: "mdiSvg", // 'mdi' || 'mdiSvg' || 'md' || 'fa' || 'fa4' || 'faSvg' }, - defaultAssets: { - font: { - family: "Roboto", - }, - icons: false, - }, + defaultAssets: false, theme: { options: { customProperties: true, diff --git a/frontend/package.json b/frontend/package.json index 18f56ad4baaa..d0e6677e7946 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,5 +1,5 @@ { - "name": "frontend", + "name": "mealie", "version": "1.0.0", "private": true, "scripts": { @@ -38,6 +38,7 @@ "@nuxtjs/composition-api": "^0.31.0", "@nuxtjs/eslint-config-typescript": "^6.0.1", "@nuxtjs/eslint-module": "^3.0.2", + "@nuxtjs/google-fonts": "^1.3.0", "@nuxtjs/vuetify": "^1.12.1", "@types/sortablejs": "^1.10.7", "@vue/runtime-dom": "^3.2.9", @@ -54,4 +55,4 @@ "resolutions": { "vite": "2.3.8" } -} +} \ No newline at end of file diff --git a/frontend/static/icons/android-chrome-192x192.png b/frontend/static/icons/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..4d669e81eff0614417b848583f4064c6b14c02ec GIT binary patch literal 2805 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 N!>Mz&A8q{N{{t*@`F{Wa literal 0 HcmV?d00001 diff --git a/frontend/static/icons/android-chrome-512x512.png b/frontend/static/icons/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..ac66efa0940dfcc23768a5ece983c6b981f7ef69 GIT binary patch literal 6491 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 literal 0 HcmV?d00001 diff --git a/frontend/static/icons/android-chrome-maskable-192x192.png b/frontend/static/icons/android-chrome-maskable-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..df6cdbc88764b02333288f9da263a1d0b84ff730 GIT binary patch literal 7896 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 z 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 literal 0 HcmV?d00001 diff --git a/frontend/static/icons/apple-touch-icon.png b/frontend/static/icons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3c861be7d8519ae2cb508e0c16baaa476e73255c GIT binary patch literal 2642 zcmZ`)Yc!ON7Jei7BB~=vw~u^OBr;7RmsCU=l_nyTFvH}Fgg$c1HB=Lk`=us@iE-Qs zDU_HYB28&Z%sb4Cx!-Tjw9c>d$9if&MPY`3K54-s8dJ;)F-~=G-Gy8E*;~qkcntDR~0hJ^79b- z3xxRBsAQR>kV}{ALfQTKg6URr`kqC!tz_xzid@FPhI8KJiN3uhXP8p%9ghj70`>4^nati0APu3OTbWnumW*t-Ju<-7oq+q}%o3+`Z%Xknc5u2j4@EtqU(4-`n~B+3I@{v=Mi{F8z{ z!kcJZeB{KRYLjxQiv=f`t?_dH@=}o-t364^n3szLYd*aLe@PyrS zZ>a>v=|eBqhA~^>8O^s?ud?aSgXB^XcLc-g&80sNlrI0EJ-fX0*p*i8qY(31z4s{h z4>4N)k+BzPRbG_)*5ExT_kEcJoT9%7q1RldD&W#3 zqF5;wpAwTNmkN$CUS5|AS=@J}67qzEG9zUzh!-X(1;-W(kBjC$Opg1wDt~L$Rrix8 zfV*lteh=!=ZZKzcvc{k5p}PlJXY>JJO`F>ZC-^^KmuIDyHeJ}F&T_KJ`78g*v$EAu zA41puVZ2Az64J05;%eI3yzlgKYDVmnT;EKhGi2Anwq5%$SYof^{>^@|CvMifbGXMseH`Ni5>c$6Q$@oO+!XZP=hZi4ifQb_>8{J3-5K7!(O{Gk|<$}vQl z?aJ2Qm~3b$nNrIQFV@5vm+bRu@PhX&*mA*qnp^DS`U{sH8!Tj!pA%}VJ;COv8kCu- zr?V**Uy6-*iVv>wY|Afuft{MYI$8d*hR{)8h;^T-i)cdZe+6sso3AhN%$|OShxsb6 zS$P55HMAkVGJv}S-Udc#g3U)R&>9R&HKUrn+OrqB|7s8LFk{!iUUgNF`s2U$WX@)o zAI`EQRudDfzau4^47zS`+HOD8)oThRqt{lz?jY#Yy-0|9Lri9?8)2ze*jt=0+<2Wa zgCHH#+gyC(TA#Kf6J=crY!FHavatv_N#mvYQ zU3Yx!>uy_>^!9(L7oOo!@lauQT=Djyf11zo(Dc;4HdaIS&;IdeEb^Xso|8xF?l1bS#o zPQK>Hg0LS6g5|Xk3U-o~kmVG58i#JeptXNW%5&(Q0_}BL-W_b0*GKfOJ;uS&tET() zJsxwf$};Kb|Q~olwu}q3ZD5HOy+)|7-OYR~%*S$>c9+>dpSV z#D_<9W@(e?L5$;Lxlo>{-EH3;3b|u))?aNu8RG73)I(Q^*c+Kyp1#>LfUmnV<+^Fp z%>T79O2Q6tx}*&)9aRsi;-8oQFLw}sQK(@*0vq~>@JdWC^i+CD)q`}XpB6$<+I_YV! zpr^37;RbTJ3)ckVbP2Q4vCaT=pu?7Ue3RPXX=?FYEqW-pdnU~CHYs+{q~wf!`}p_n zogi^F=~=T4`@RW8wz|-U^OWHK6<^u0rP*1q(=65jZ5?`WU}_{WAm$uaziBua*B&UH zl{O$+Rt$F@!fU91qvSAK%hIMsK=&WpEJvqDz#ttLr61nvEEp-g;y_Ut)J6*K8A7;6 zcYOAnEm4qC9bv}r@VlTN{XRj&UZfJ4$>Id{z}a4QjFJjdEfjOiPFD2D7^j+ zB5Ue}%%auxv+U&4&lvG@f$WxcninADkcJ2F|32=DYe6BIKQIv&! zmxvibRh`dnnt4LlSg(uEt1HBBtkWgr)fN&q)E(^NV zDNWOfeXzJyYFE=fagBg5LoFjTQL2b}lo4V8bsT}A?mCZ1L!}{tP#DB<)BwT=HIGn5 zX(E%Rho2@gIB`>sv{@@CVUg8t;g{gM=Wd~A#9Y}uPj-2Hs866=?Hxx3h#%u2jZ3<80 zrjvq&^$H+>UbyF3Ou?YXVK@6jsOiw)G^X=f3!(e$KXWD!GT~^qZYWq=$EPCLHywM hLG{rT*XmRI0jl1{XwETcp>hS_=In8z@z|Br{{W0?m9_u? literal 0 HcmV?d00001 diff --git a/frontend/static/icons/favicon-16x16.png b/frontend/static/icons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..16a71bd62f57078617a2e49207b5ac7c7cf23086 GIT binary patch literal 883 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>Swy|Tz8wpMIIJ4E?fhIC0dAqx~C+t00 z4dieZctjQh#V&#{BhN&i&p<);5>H=O_NQF({HB`99!YXQp_QI4jv*44efyt_H5u@@ zHAgcRc3TLFXB9SdJd&&Y?`|Z@_*vQV`?kM+%mULVJg}X~WjXicr-_Ga4zLDJ>gICb z+<0bZ(9|bUdlxzg3x*15ZR^--R5o?c^nzOyUx-oqd19l0Np5BuGl>6S8wdv1OC?nk}nfA{~KdwjC~ z&#ps%%nz_LT^750?BgarprchwTq8~}U&Kt9)IHDC=AokIOTu( zjOWuJ24-b$y<~1-Wnu5hBFw@HE)6D!Q<#-EhbWxBaplC3Ge=~Ou%B-5Sm33{@Jd{; URG<|Mp00i_>zopr05*AB-2eap literal 0 HcmV?d00001 diff --git a/frontend/static/icons/favicon-32x32.png b/frontend/static/icons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..e1ce9da80cb4c02a1b2b1ce136dce2bc64d72c0a GIT binary patch literal 1129 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 + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 374ac4ea3d53..3da7456c9218 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1805,6 +1805,14 @@ consola "^2.15.0" eslint-webpack-plugin "^2.4.1" +"@nuxtjs/google-fonts@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@nuxtjs/google-fonts/-/google-fonts-1.3.0.tgz#36cefee4aef4f8b772180c7ed7cc902f02f585c4" + integrity sha512-xIleOl4nASOzFpJ/+g08ENlYZPdxqGEw6Yx7catNEKft5ZtFtTX8RUTj7y7ctQKpUgJgvujVL/phnP1lMtHg2A== + dependencies: + consola "^2.15.3" + google-fonts-helper "^1.2.0" + "@nuxtjs/i18n@^7.0.3": version "7.0.3" resolved "https://registry.yarnpkg.com/@nuxtjs/i18n/-/i18n-7.0.3.tgz#1bd84d30876a5a5f116938eb69fe866ce505bfe6" @@ -1878,11 +1886,23 @@ estree-walker "^2.0.1" picomatch "^2.2.2" +"@sindresorhus/is@^4.0.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.4.0.tgz#e277e5bdbdf7cb1e20d320f02f5e2ed113cd3185" + integrity sha512-QppPM/8l3Mawvh4rn9CNEYIU9bxpXUCRMaX9yUpvBk1nMKusLKpfXGDEKExKaPhLzcn3lzil7pR6rnJ11HgeRQ== + "@sphinxxxx/color-conversion@^2.2.2": version "2.2.2" resolved "https://registry.yarnpkg.com/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz#03ecc29279e3c0c832f6185a5bfa3497858ac8ca" integrity sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw== +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + "@types/anymatch@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-3.0.0.tgz#c95ff14401dbb2869913afac3935af4ad0d37f1a" @@ -1946,6 +1966,16 @@ dependencies: browserslist "*" +"@types/cacheable-request@^6.0.1": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" + integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "*" + "@types/node" "*" + "@types/responselike" "*" + "@types/clean-css@*": version "4.2.5" resolved "https://registry.yarnpkg.com/@types/clean-css/-/clean-css-4.2.5.tgz#69ce62cc13557c90ca40460133f672dc52ceaf89" @@ -2035,6 +2065,11 @@ "@types/relateurl" "*" "@types/uglify-js" "*" +"@types/http-cache-semantics@*": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" + integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== + "@types/http-proxy@^1.17.5": version "1.17.7" resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.7.tgz#30ea85cc2c868368352a37f0d0d3581e24834c6f" @@ -2052,6 +2087,13 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= +"@types/keyv@*": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.3.tgz#1c9aae32872ec1f20dcdaee89a9f3ba88f465e41" + integrity sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg== + dependencies: + "@types/node" "*" + "@types/less@3.0.2": version "3.0.2" resolved "https://registry.yarnpkg.com/@types/less/-/less-3.0.2.tgz#2761d477678c8374cb9897666871662eb1d1115e" @@ -2121,6 +2163,13 @@ resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.29.tgz#68ccecec3d4ffdafb9c577fe764f912afc050fe6" integrity sha512-QSvevZ+IRww2ldtfv1QskYsqVVVwCKQf1XbwtcyyoRvLIQzfyPhj/C+3+PKzSDRdiyejaiLgnq//XTkleorpLg== +"@types/responselike@*", "@types/responselike@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + dependencies: + "@types/node" "*" + "@types/sass-loader@8.0.1": version "8.0.1" resolved "https://registry.yarnpkg.com/@types/sass-loader/-/sass-loader-8.0.1.tgz#628eb80c30cb34ce622056f9b9a1606a8147dcd0" @@ -3797,6 +3846,24 @@ cache-loader@^4.1.0: neo-async "^2.6.1" schema-utils "^2.0.0" +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" + integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -4038,6 +4105,13 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +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= + dependencies: + mimic-response "^1.0.0" + clone@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" @@ -4632,6 +4706,13 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -4647,6 +4728,11 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -5711,7 +5797,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0, fs-extra@^9.1.0: +fs-extra@^9.0.0, fs-extra@^9.0.1, fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -5807,7 +5893,7 @@ get-port-please@^2.2.0: dependencies: fs-memo "^1.2.0" -get-stream@^5.0.0: +get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -5908,6 +5994,32 @@ globby@^11.0.3, globby@^11.0.4: merge2 "^1.4.1" slash "^3.0.0" +google-fonts-helper@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/google-fonts-helper/-/google-fonts-helper-1.2.0.tgz#32eb8ebf9816dbb2ec8acda81ad03a021ed44050" + integrity sha512-ojpHo6uwaqI2/tpXcCBY9u/3erd++Wjpf1UQkmb+ZUa/oMztiospubmQCwDQ0AHhFUkBMW1+R12am1kxQFqymg== + dependencies: + deepmerge "^4.2.2" + fs-extra "^9.0.1" + got "^11.8.1" + +got@^11.8.1: + version "11.8.3" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.3.tgz#f496c8fdda5d729a90b4905d2b07dbd148170770" + integrity sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.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.2.0, graceful-fs@^4.2.4: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" @@ -6156,6 +6268,11 @@ htmlparser2@^6.1.0: domutils "^2.5.2" entities "^2.0.0" +http-cache-semantics@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + http-errors@1.7.2: version "1.7.2" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" @@ -6198,6 +6315,14 @@ http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -6770,6 +6895,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.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -6855,6 +6985,13 @@ jwt-decode@^3.1.2: resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-3.1.2.tgz#3fb319f3675a2df0c2895c8f5e9fa4b67b04ed59" integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A== +keyv@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.1.1.tgz#02c538bfdbd2a9308cc932d4096f05ae42bfa06a" + integrity sha512-tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ== + dependencies: + json-buffer "3.0.1" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -7124,6 +7261,11 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + lru-cache@^4.1.2: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" @@ -7409,6 +7551,16 @@ mimic-fn@^3.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -7724,7 +7876,7 @@ normalize-url@^3.0.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== -normalize-url@^6.1.0: +normalize-url@^6.0.1, normalize-url@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== @@ -7932,6 +8084,11 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + p-debounce@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-debounce/-/p-debounce-2.1.0.tgz#e79f70c6e325cbb9bddbcbec0b81025084671ad3" @@ -9144,6 +9301,11 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -9416,6 +9578,11 @@ reserved-words@^0.1.2: resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" @@ -9448,6 +9615,13 @@ resolve@^1.10.0, resolve@^1.10.1: is-core-module "^2.2.0" path-parse "^1.0.6" +responselike@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" + integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== + dependencies: + lowercase-keys "^2.0.0" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"