This is an automated email from the ASF dual-hosted git repository.

wangzx pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/echarts-handbook.git


The following commit(s) were added to refs/heads/master by this push:
     new 2ea3735  feat: generate contributor avatar (only for PMC members and 
commiters)
2ea3735 is described below

commit 2ea3735cf51d537784c6200175eaae8d6863e0a9
Author: plainheart <[email protected]>
AuthorDate: Sun Sep 28 15:31:15 2025 +0800

    feat: generate contributor avatar (only for PMC members and commiters)
---
 build/generate-contributor-avatar.js    |  29 ++
 build/generate-contributors.js          |   2 +-
 build/{generate.js => generate-nav.js}  |   2 +-
 components/helper/contributor-avatar.ts |  32 ++
 components/partials/Contributors.vue    |  43 ++-
 package-lock.json                       | 586 ++++++++++++++++++++++++++++----
 package.json                            |   6 +-
 7 files changed, 612 insertions(+), 88 deletions(-)

diff --git a/build/generate-contributor-avatar.js 
b/build/generate-contributor-avatar.js
new file mode 100644
index 0000000..10d051c
--- /dev/null
+++ b/build/generate-contributor-avatar.js
@@ -0,0 +1,29 @@
+const fs = require('fs')
+const fetch = require('node-fetch').default
+const cheerio = require('cheerio')
+
+;(async () => {
+  const html = await (await 
fetch('https://echarts.apache.org/en/committers.html')).text()
+  const $ = cheerio.load(html)
+  /** @type {{[key: string]: string}} */
+  const githubIdAvatarMap = {}
+  const githubIdReg = /(?:https?:\/\/github.com\/)?([\w-]+)/
+  $('.about-person > a').each((idx, el) => {
+    const link = el.attribs['data-github'] || el.attribs.href
+    const githubId = link && link.match(githubIdReg)?.[1]
+    if (!githubId && link) {
+      console.error(`can't parse GitHub id from link: 
${link}\n${$(el.parent).html()}`)
+      return
+    }
+    const img = $(el).children('img')[0]?.attribs.src
+    if (!img) {
+      console.error(`can't parse avatar url from 
element:\n${$(el.parent).html()}`)
+      return
+    }
+    console.log(`[${githubId}]`, img)
+    githubIdAvatarMap[githubId] = img
+  })
+
+  const text = 'export default ' + JSON.stringify(githubIdAvatarMap, null, '   
 ') + ';'
+  fs.writeFileSync('components/helper/contributor-avatar.ts', text)
+})()
\ No newline at end of file
diff --git a/build/generate-contributors.js b/build/generate-contributors.js
index a8b716d..3ef9da3 100644
--- a/build/generate-contributors.js
+++ b/build/generate-contributors.js
@@ -1,6 +1,6 @@
 const { exec } = require('child_process')
 const fs = require('fs')
-const fetch = require('node-fetch')
+const fetch = require('node-fetch').default
 const cheerio = require('cheerio')
 
 const dir = './contents'
diff --git a/build/generate.js b/build/generate-nav.js
similarity index 95%
rename from build/generate.js
rename to build/generate-nav.js
index e5f33ef..767ddb2 100644
--- a/build/generate.js
+++ b/build/generate-nav.js
@@ -1,6 +1,6 @@
-const fetch = require('node-fetch')
 const path = require('path')
 const fs = require('fs')
+const fetch = require('node-fetch').default
 
 const websitePath = path.resolve(__dirname, '../../echarts-website')
 
diff --git a/components/helper/contributor-avatar.ts 
b/components/helper/contributor-avatar.ts
new file mode 100644
index 0000000..d9393a9
--- /dev/null
+++ b/components/helper/contributor-avatar.ts
@@ -0,0 +1,32 @@
+export default {
+    "pissang": 
"https://echarts.apache.org/en/images/people/沈毅.jpg?_v_=20240226";,
+    "100pah": 
"https://echarts.apache.org/en/images/people/宿爽.jpg?_v_=20240226";,
+    "Ovilia": 
"https://echarts.apache.org/en/images/people/羡辙.jpg?_v_=20240226";,
+    "https": 
"https://echarts.apache.org/en/images/people/王俊婷.jpg?_v_=20240226";,
+    "plainheart": "https://echarts.apache.org/en/images/people/plainheart.jpg";,
+    "sz-p": 
"https://echarts.apache.org/en/images/people/潘士钊.jpg?_v_=20240226.jpg";,
+    "susiwen8": 
"https://echarts.apache.org/en/images/people/苏思文.jpg?_v_=20240226";,
+    "wf123537200": 
"https://echarts.apache.org/en/images/people/zakwu.jpg?_v_=20240226";,
+    "kener": "https://echarts.apache.org/en/images/people/林峰.jpg?_v_=20240226";,
+    "deqingli": 
"https://echarts.apache.org/en/images/people/德清.jpg?_v_=20240226";,
+    "dave2wave": 
"https://echarts.apache.org/en/images/people/dave.jpg?_v_=20240226";,
+    "wu-sheng": 
"https://echarts.apache.org/en/images/people/shengwu.jpg?_v_=20240226";,
+    "erik168": 
"https://echarts.apache.org/en/images/people/erik.jpg?_v_=20240226";,
+    "chriswong": 
"https://echarts.apache.org/en/images/people/大佛.jpg?_v_=20240226";,
+    "jiawulin001": 
"https://echarts.apache.org/en/images/people/何昊.jpg?_v_=20240226";,
+    "yufeng04": 
"https://echarts.apache.org/en/images/people/禹峰.jpg?_v_=20240226";,
+    "cuijian-dexter": 
"https://echarts.apache.org/en/images/people/崔健.jpg?_v_=20240226";,
+    "quillblue": 
"https://echarts.apache.org/en/images/people/qiansheng.jpg?_v_=20240226";,
+    "chfw": 
"https://echarts.apache.org/en/images/people/chfw.jpg?_v_=20240226";,
+    "alex2wong": 
"https://echarts.apache.org/en/images/people/黄益修.jpg?_v_=20240226";,
+    "SnailSword": 
"https://echarts.apache.org/en/images/people/韩天.jpg?_v_=20240226";,
+    "Nick22nd": 
"https://echarts.apache.org/en/images/people/nick.jpg?_v_=20240226";,
+    "ClemMakesApps": 
"https://echarts.apache.org/en/images/people/clement.jpg?_v_=20240226";,
+    "tedliu1": 
"https://echarts.apache.org/en/images/people/tedliu.jpg?_v_=20240226";,
+    "ssthouse": 
"https://echarts.apache.org/en/images/people/shenshuntian.jpg?_v_=20240226";,
+    "map1en": 
"https://echarts.apache.org/en/images/people/map1en.jpeg?_v_=20240226";,
+    "fuchunhui": 
"https://echarts.apache.org/en/images/people/付春辉.jpg?_v_=20240226";,
+    "lefex": 
"https://echarts.apache.org/en/images/people/wangsuyan.jpg?_v_=20240226";,
+    "villebro": 
"https://echarts.apache.org/en/images/people/villebro.jpg?_v_=20240226";,
+    "linghaoSu": 
"https://echarts.apache.org/en/images/people/sulinghao.jpg?_v_=20240226";
+};
\ No newline at end of file
diff --git a/components/partials/Contributors.vue 
b/components/partials/Contributors.vue
index d39b3de..70674d3 100644
--- a/components/partials/Contributors.vue
+++ b/components/partials/Contributors.vue
@@ -33,17 +33,21 @@
     >
       <a
         v-for="contributor of contributors"
-        :key="contributor"
-        :href="`https://github.com/${contributor}`";
+        :key="contributor.id"
+        :href="`https://github.com/${contributor.id}`";
         target="_blank"
         class="post-contributor"
+        :class="contributor.avatar && 'has-avatar'"
       >
-        <!-- <img
-          :alt="contributor"
-          :src="`https://avatars.githubusercontent.com/${contributor}?size=60`";
+        <img
+          v-if="contributor.avatar"
+          :alt="contributor.id"
+          :src="contributor.avatar"
           loading="lazy"
-        /> -->
-        <span>{{ contributor }}</span>
+          decoding="async"
+          fetchpriority="low"
+        />
+        <span>{{ contributor.id }}</span>
       </a>
     </div>
   </div>
@@ -52,6 +56,7 @@
 <script lang="ts">
 import { computed, defineComponent } from '@vue/composition-api'
 import allContributors from '../helper/contributors'
+import contributorAvatar from '../helper/contributor-avatar'
 import { getSourcePath } from '../helper/post'
 
 export default defineComponent({
@@ -60,7 +65,12 @@ export default defineComponent({
   },
   setup(props) {
     const contributors = computed(() => {
-      return allContributors[`contents/${props.path || ''}.md`]
+      return allContributors[`contents/${props.path || 
''}.md`].map(contributor => {
+        return {
+          id: contributor,
+          avatar: contributorAvatar[contributor]
+        }
+      })
     })
     const sourcePath = computed(() => {
       return getSourcePath(props.path!)
@@ -85,11 +95,16 @@ export default defineComponent({
   }
 
   .post-contributors-list {
+    display: flex;
+    align-items: stretch;
+    flex-wrap: wrap;
     margin-top: 10px;
   }
 
   .post-contributor {
-    display: inline-block;
+    display: flex;
+    align-items: center;
+    justify-content: center;
     margin-right: 15px;
     margin-top: 10px;
 
@@ -109,10 +124,14 @@ export default defineComponent({
     }
     span {
       display: inline-block;
-      /* margin: 0 8px 0 5px; */
-      margin: 2px 8px;
+      margin: 2px 10px;
       position: relative;
-      /* top: 2px; */
+    }
+
+    &.has-avatar {
+      span {
+        margin: 2px 8px;
+      }
     }
   }
 }
diff --git a/package-lock.json b/package-lock.json
index 9b520a4..183f12e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -37,12 +37,12 @@
         "@nuxtjs/eslint-config-typescript": "^11.0.0",
         "@nuxtjs/tailwindcss": "^4.1.2",
         "babel-eslint": "^10.1.0",
-        "cheerio": "^1.0.0-rc.12",
+        "cheerio": "^1.1.2",
         "cross-env": "^7.0.3",
         "eslint": "^8.27.0",
         "eslint-plugin-nuxt": "^4.0.0",
         "eslint-plugin-prettier": "^4.2.1",
-        "node-fetch": "^2.6.7",
+        "node-fetch": "^3.3.2",
         "postcss": "^8.4.31",
         "raw-loader": "^4.0.2"
       }
@@ -2404,6 +2404,26 @@
         "npm": ">=5.0.0"
       }
     },
+    "node_modules/@nuxt/opencollective/node_modules/node-fetch": {
+      "version": "2.7.0",
+      "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz";,
+      "integrity": 
"sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+      "license": "MIT",
+      "dependencies": {
+        "whatwg-url": "^5.0.0"
+      },
+      "engines": {
+        "node": "4.x || >=6.0.0"
+      },
+      "peerDependencies": {
+        "encoding": "^0.1.0"
+      },
+      "peerDependenciesMeta": {
+        "encoding": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/@nuxt/postcss8": {
       "version": "1.1.3",
       "resolved": 
"https://registry.npmjs.org/@nuxt/postcss8/-/postcss8-1.1.3.tgz";,
@@ -2499,6 +2519,26 @@
         "graceful-fs": "^4.1.6"
       }
     },
+    "node_modules/@nuxt/telemetry/node_modules/node-fetch": {
+      "version": "2.7.0",
+      "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz";,
+      "integrity": 
"sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+      "license": "MIT",
+      "dependencies": {
+        "whatwg-url": "^5.0.0"
+      },
+      "engines": {
+        "node": "4.x || >=6.0.0"
+      },
+      "peerDependencies": {
+        "encoding": "^0.1.0"
+      },
+      "peerDependenciesMeta": {
+        "encoding": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/@nuxt/telemetry/node_modules/universalify": {
       "version": "0.1.2",
       "resolved": 
"https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";,
@@ -2584,6 +2624,26 @@
         "vuex": "^3.6.2"
       }
     },
+    "node_modules/@nuxt/vue-app/node_modules/node-fetch": {
+      "version": "2.7.0",
+      "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz";,
+      "integrity": 
"sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+      "license": "MIT",
+      "dependencies": {
+        "whatwg-url": "^5.0.0"
+      },
+      "engines": {
+        "node": "4.x || >=6.0.0"
+      },
+      "peerDependencies": {
+        "encoding": "^0.1.0"
+      },
+      "peerDependenciesMeta": {
+        "encoding": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/@nuxt/vue-renderer": {
       "version": "2.15.8",
       "resolved": 
"https://registry.npmjs.org/@nuxt/vue-renderer/-/vue-renderer-2.15.8.tgz";,
@@ -3127,6 +3187,27 @@
         "once": "^1.4.0"
       }
     },
+    "node_modules/@octokit/request/node_modules/node-fetch": {
+      "version": "2.7.0",
+      "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz";,
+      "integrity": 
"sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "whatwg-url": "^5.0.0"
+      },
+      "engines": {
+        "node": "4.x || >=6.0.0"
+      },
+      "peerDependencies": {
+        "encoding": "^0.1.0"
+      },
+      "peerDependenciesMeta": {
+        "encoding": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/@octokit/types": {
       "version": "6.41.0",
       "resolved": 
"https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz";,
@@ -5329,21 +5410,26 @@
       "integrity": 
"sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
     },
     "node_modules/cheerio": {
-      "version": "1.0.0-rc.12",
-      "resolved": 
"https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz";,
-      "integrity": 
"sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz";,
+      "integrity": 
"sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "cheerio-select": "^2.1.0",
         "dom-serializer": "^2.0.0",
         "domhandler": "^5.0.3",
-        "domutils": "^3.0.1",
-        "htmlparser2": "^8.0.1",
-        "parse5": "^7.0.0",
-        "parse5-htmlparser2-tree-adapter": "^7.0.0"
+        "domutils": "^3.2.2",
+        "encoding-sniffer": "^0.2.1",
+        "htmlparser2": "^10.0.0",
+        "parse5": "^7.3.0",
+        "parse5-htmlparser2-tree-adapter": "^7.1.0",
+        "parse5-parser-stream": "^7.1.2",
+        "undici": "^7.12.0",
+        "whatwg-mimetype": "^4.0.0"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">=20.18.1"
       },
       "funding": {
         "url": "https://github.com/cheeriojs/cheerio?sponsor=1";
@@ -6648,6 +6734,16 @@
       "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz";,
       "integrity": 
"sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A=="
     },
+    "node_modules/data-uri-to-buffer": {
+      "version": "4.0.1",
+      "resolved": 
"https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz";,
+      "integrity": 
"sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 12"
+      }
+    },
     "node_modules/de-indent": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz";,
@@ -6949,14 +7045,15 @@
       }
     },
     "node_modules/domutils": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz";,
-      "integrity": 
"sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz";,
+      "integrity": 
"sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
       "dev": true,
+      "license": "BSD-2-Clause",
       "dependencies": {
         "dom-serializer": "^2.0.0",
         "domelementtype": "^2.3.0",
-        "domhandler": "^5.0.1"
+        "domhandler": "^5.0.3"
       },
       "funding": {
         "url": "https://github.com/fb55/domutils?sponsor=1";
@@ -7093,6 +7190,33 @@
         "node": ">= 0.8"
       }
     },
+    "node_modules/encoding-sniffer": {
+      "version": "0.2.1",
+      "resolved": 
"https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz";,
+      "integrity": 
"sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "iconv-lite": "^0.6.3",
+        "whatwg-encoding": "^3.1.1"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/encoding-sniffer?sponsor=1";
+      }
+    },
+    "node_modules/encoding-sniffer/node_modules/iconv-lite": {
+      "version": "0.6.3",
+      "resolved": 
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz";,
+      "integrity": 
"sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/end-of-stream": {
       "version": "1.4.4",
       "resolved": 
"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";,
@@ -8191,6 +8315,30 @@
         "reusify": "^1.0.4"
       }
     },
+    "node_modules/fetch-blob": {
+      "version": "3.2.0",
+      "resolved": 
"https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz";,
+      "integrity": 
"sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/jimmywarting";
+        },
+        {
+          "type": "paypal",
+          "url": "https://paypal.me/jimmywarting";
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "node-domexception": "^1.0.0",
+        "web-streams-polyfill": "^3.0.3"
+      },
+      "engines": {
+        "node": "^12.20 || >= 14.13"
+      }
+    },
     "node_modules/figgy-pudding": {
       "version": "3.5.2",
       "resolved": 
"https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz";,
@@ -8453,6 +8601,19 @@
         "node": ">=6"
       }
     },
+    "node_modules/formdata-polyfill": {
+      "version": "4.0.10",
+      "resolved": 
"https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz";,
+      "integrity": 
"sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "fetch-blob": "^3.1.2"
+      },
+      "engines": {
+        "node": ">=12.20.0"
+      }
+    },
     "node_modules/fraction.js": {
       "version": "4.2.0",
       "resolved": 
"https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz";,
@@ -9439,9 +9600,9 @@
       }
     },
     "node_modules/htmlparser2": {
-      "version": "8.0.1",
-      "resolved": 
"https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz";,
-      "integrity": 
"sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
+      "version": "10.0.0",
+      "resolved": 
"https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz";,
+      "integrity": 
"sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==",
       "dev": true,
       "funding": [
         "https://github.com/fb55/htmlparser2?sponsor=1";,
@@ -9450,11 +9611,25 @@
           "url": "https://github.com/sponsors/fb55";
         }
       ],
+      "license": "MIT",
       "dependencies": {
         "domelementtype": "^2.3.0",
-        "domhandler": "^5.0.2",
-        "domutils": "^3.0.1",
-        "entities": "^4.3.0"
+        "domhandler": "^5.0.3",
+        "domutils": "^3.2.1",
+        "entities": "^6.0.0"
+      }
+    },
+    "node_modules/htmlparser2/node_modules/entities": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz";,
+      "integrity": 
"sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1";
       }
     },
     "node_modules/http-assert": {
@@ -11401,6 +11576,27 @@
         "lower-case": "^1.1.1"
       }
     },
+    "node_modules/node-domexception": {
+      "version": "1.0.0",
+      "resolved": 
"https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz";,
+      "integrity": 
"sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+      "deprecated": "Use your platform's native DOMException instead",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/jimmywarting";
+        },
+        {
+          "type": "github",
+          "url": "https://paypal.me/jimmywarting";
+        }
+      ],
+      "license": "MIT",
+      "engines": {
+        "node": ">=10.5.0"
+      }
+    },
     "node_modules/node-emoji": {
       "version": "1.11.0",
       "resolved": 
"https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz";,
@@ -11411,22 +11607,22 @@
       }
     },
     "node_modules/node-fetch": {
-      "version": "2.6.7",
-      "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz";,
-      "integrity": 
"sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+      "version": "3.3.2",
+      "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz";,
+      "integrity": 
"sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "whatwg-url": "^5.0.0"
+        "data-uri-to-buffer": "^4.0.0",
+        "fetch-blob": "^3.1.4",
+        "formdata-polyfill": "^4.0.10"
       },
       "engines": {
-        "node": "4.x || >=6.0.0"
-      },
-      "peerDependencies": {
-        "encoding": "^0.1.0"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       },
-      "peerDependenciesMeta": {
-        "encoding": {
-          "optional": true
-        }
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/node-fetch";
       }
     },
     "node_modules/node-html-parser": {
@@ -12099,30 +12295,58 @@
       }
     },
     "node_modules/parse5": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz";,
-      "integrity": 
"sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==",
+      "version": "7.3.0",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz";,
+      "integrity": 
"sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "entities": "^4.4.0"
+        "entities": "^6.0.0"
       },
       "funding": {
         "url": "https://github.com/inikulin/parse5?sponsor=1";
       }
     },
     "node_modules/parse5-htmlparser2-tree-adapter": {
-      "version": "7.0.0",
-      "resolved": 
"https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz";,
-      "integrity": 
"sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
+      "version": "7.1.0",
+      "resolved": 
"https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz";,
+      "integrity": 
"sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "domhandler": "^5.0.2",
+        "domhandler": "^5.0.3",
         "parse5": "^7.0.0"
       },
       "funding": {
         "url": "https://github.com/inikulin/parse5?sponsor=1";
       }
     },
+    "node_modules/parse5-parser-stream": {
+      "version": "7.1.2",
+      "resolved": 
"https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz";,
+      "integrity": 
"sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "parse5": "^7.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/inikulin/parse5?sponsor=1";
+      }
+    },
+    "node_modules/parse5/node_modules/entities": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz";,
+      "integrity": 
"sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1";
+      }
+    },
     "node_modules/parseurl": {
       "version": "1.3.3",
       "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz";,
@@ -17818,7 +18042,8 @@
     "node_modules/tr46": {
       "version": "0.0.3",
       "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz";,
-      "integrity": 
"sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+      "integrity": 
"sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+      "license": "MIT"
     },
     "node_modules/ts-loader": {
       "version": "8.4.0",
@@ -18069,6 +18294,16 @@
         "url": "https://github.com/sponsors/ljharb";
       }
     },
+    "node_modules/undici": {
+      "version": "7.16.0",
+      "resolved": "https://registry.npmjs.org/undici/-/undici-7.16.0.tgz";,
+      "integrity": 
"sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=20.18.1"
+      }
+    },
     "node_modules/unfetch": {
       "version": "4.2.0",
       "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz";,
@@ -19074,10 +19309,21 @@
         "yarn": "*"
       }
     },
+    "node_modules/web-streams-polyfill": {
+      "version": "3.3.3",
+      "resolved": 
"https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz";,
+      "integrity": 
"sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 8"
+      }
+    },
     "node_modules/webidl-conversions": {
       "version": "3.0.1",
       "resolved": 
"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz";,
-      "integrity": 
"sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+      "integrity": 
"sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+      "license": "BSD-2-Clause"
     },
     "node_modules/webpack": {
       "version": "4.46.0",
@@ -19800,10 +20046,47 @@
         "node": ">=8"
       }
     },
+    "node_modules/whatwg-encoding": {
+      "version": "3.1.1",
+      "resolved": 
"https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz";,
+      "integrity": 
"sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "iconv-lite": "0.6.3"
+      },
+      "engines": {
+        "node": ">=18"
+      }
+    },
+    "node_modules/whatwg-encoding/node_modules/iconv-lite": {
+      "version": "0.6.3",
+      "resolved": 
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz";,
+      "integrity": 
"sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/whatwg-mimetype": {
+      "version": "4.0.0",
+      "resolved": 
"https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz";,
+      "integrity": 
"sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      }
+    },
     "node_modules/whatwg-url": {
       "version": "5.0.0",
       "resolved": 
"https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz";,
       "integrity": 
"sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+      "license": "MIT",
       "dependencies": {
         "tr46": "~0.0.3",
         "webidl-conversions": "^3.0.0"
@@ -21800,6 +22083,16 @@
         "chalk": "^4.1.0",
         "consola": "^2.15.0",
         "node-fetch": "^2.6.7"
+      },
+      "dependencies": {
+        "node-fetch": {
+          "version": "2.7.0",
+          "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz";,
+          "integrity": 
"sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+          "requires": {
+            "whatwg-url": "^5.0.0"
+          }
+        }
       }
     },
     "@nuxt/postcss8": {
@@ -21893,6 +22186,14 @@
             "graceful-fs": "^4.1.6"
           }
         },
+        "node-fetch": {
+          "version": "2.7.0",
+          "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz";,
+          "integrity": 
"sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+          "requires": {
+            "whatwg-url": "^5.0.0"
+          }
+        },
         "universalify": {
           "version": "0.1.2",
           "resolved": 
"https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";,
@@ -21972,6 +22273,16 @@
         "vue-router": "^3.5.1",
         "vue-template-compiler": "^2.6.12",
         "vuex": "^3.6.2"
+      },
+      "dependencies": {
+        "node-fetch": {
+          "version": "2.7.0",
+          "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz";,
+          "integrity": 
"sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+          "requires": {
+            "whatwg-url": "^5.0.0"
+          }
+        }
       }
     },
     "@nuxt/vue-renderer": {
@@ -22418,6 +22729,17 @@
         "is-plain-object": "^5.0.0",
         "node-fetch": "^2.6.7",
         "universal-user-agent": "^6.0.0"
+      },
+      "dependencies": {
+        "node-fetch": {
+          "version": "2.7.0",
+          "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz";,
+          "integrity": 
"sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+          "dev": true,
+          "requires": {
+            "whatwg-url": "^5.0.0"
+          }
+        }
       }
     },
     "@octokit/request-error": {
@@ -24149,18 +24471,22 @@
       "integrity": 
"sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
     },
     "cheerio": {
-      "version": "1.0.0-rc.12",
-      "resolved": 
"https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz";,
-      "integrity": 
"sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz";,
+      "integrity": 
"sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==",
       "dev": true,
       "requires": {
         "cheerio-select": "^2.1.0",
         "dom-serializer": "^2.0.0",
         "domhandler": "^5.0.3",
-        "domutils": "^3.0.1",
-        "htmlparser2": "^8.0.1",
-        "parse5": "^7.0.0",
-        "parse5-htmlparser2-tree-adapter": "^7.0.0"
+        "domutils": "^3.2.2",
+        "encoding-sniffer": "^0.2.1",
+        "htmlparser2": "^10.0.0",
+        "parse5": "^7.3.0",
+        "parse5-htmlparser2-tree-adapter": "^7.1.0",
+        "parse5-parser-stream": "^7.1.2",
+        "undici": "^7.12.0",
+        "whatwg-mimetype": "^4.0.0"
       }
     },
     "cheerio-select": {
@@ -25157,6 +25483,12 @@
       "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz";,
       "integrity": 
"sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A=="
     },
+    "data-uri-to-buffer": {
+      "version": "4.0.1",
+      "resolved": 
"https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz";,
+      "integrity": 
"sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
+      "dev": true
+    },
     "de-indent": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz";,
@@ -25383,14 +25715,14 @@
       }
     },
     "domutils": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz";,
-      "integrity": 
"sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz";,
+      "integrity": 
"sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
       "dev": true,
       "requires": {
         "dom-serializer": "^2.0.0",
         "domelementtype": "^2.3.0",
-        "domhandler": "^5.0.1"
+        "domhandler": "^5.0.3"
       }
     },
     "dot-case": {
@@ -25511,6 +25843,27 @@
       "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";,
       "integrity": 
"sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
     },
+    "encoding-sniffer": {
+      "version": "0.2.1",
+      "resolved": 
"https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz";,
+      "integrity": 
"sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==",
+      "dev": true,
+      "requires": {
+        "iconv-lite": "^0.6.3",
+        "whatwg-encoding": "^3.1.1"
+      },
+      "dependencies": {
+        "iconv-lite": {
+          "version": "0.6.3",
+          "resolved": 
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz";,
+          "integrity": 
"sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+          "dev": true,
+          "requires": {
+            "safer-buffer": ">= 2.1.2 < 3.0.0"
+          }
+        }
+      }
+    },
     "end-of-stream": {
       "version": "1.4.4",
       "resolved": 
"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";,
@@ -26321,6 +26674,16 @@
         "reusify": "^1.0.4"
       }
     },
+    "fetch-blob": {
+      "version": "3.2.0",
+      "resolved": 
"https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz";,
+      "integrity": 
"sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
+      "dev": true,
+      "requires": {
+        "node-domexception": "^1.0.0",
+        "web-streams-polyfill": "^3.0.3"
+      }
+    },
     "figgy-pudding": {
       "version": "3.5.2",
       "resolved": 
"https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz";,
@@ -26504,6 +26867,15 @@
         }
       }
     },
+    "formdata-polyfill": {
+      "version": "4.0.10",
+      "resolved": 
"https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz";,
+      "integrity": 
"sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
+      "dev": true,
+      "requires": {
+        "fetch-blob": "^3.1.2"
+      }
+    },
     "fraction.js": {
       "version": "4.2.0",
       "resolved": 
"https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz";,
@@ -27235,15 +27607,23 @@
       }
     },
     "htmlparser2": {
-      "version": "8.0.1",
-      "resolved": 
"https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz";,
-      "integrity": 
"sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
+      "version": "10.0.0",
+      "resolved": 
"https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz";,
+      "integrity": 
"sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==",
       "dev": true,
       "requires": {
         "domelementtype": "^2.3.0",
-        "domhandler": "^5.0.2",
-        "domutils": "^3.0.1",
-        "entities": "^4.3.0"
+        "domhandler": "^5.0.3",
+        "domutils": "^3.2.1",
+        "entities": "^6.0.0"
+      },
+      "dependencies": {
+        "entities": {
+          "version": "6.0.1",
+          "resolved": 
"https://registry.npmjs.org/entities/-/entities-6.0.1.tgz";,
+          "integrity": 
"sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+          "dev": true
+        }
       }
     },
     "http-assert": {
@@ -28727,6 +29107,12 @@
         "lower-case": "^1.1.1"
       }
     },
+    "node-domexception": {
+      "version": "1.0.0",
+      "resolved": 
"https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz";,
+      "integrity": 
"sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+      "dev": true
+    },
     "node-emoji": {
       "version": "1.11.0",
       "resolved": 
"https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz";,
@@ -28737,11 +29123,14 @@
       }
     },
     "node-fetch": {
-      "version": "2.6.7",
-      "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz";,
-      "integrity": 
"sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+      "version": "3.3.2",
+      "resolved": 
"https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz";,
+      "integrity": 
"sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
+      "dev": true,
       "requires": {
-        "whatwg-url": "^5.0.0"
+        "data-uri-to-buffer": "^4.0.0",
+        "fetch-blob": "^3.1.4",
+        "formdata-polyfill": "^4.0.10"
       }
     },
     "node-html-parser": {
@@ -29269,21 +29658,38 @@
       }
     },
     "parse5": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz";,
-      "integrity": 
"sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==",
+      "version": "7.3.0",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz";,
+      "integrity": 
"sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
       "dev": true,
       "requires": {
-        "entities": "^4.4.0"
+        "entities": "^6.0.0"
+      },
+      "dependencies": {
+        "entities": {
+          "version": "6.0.1",
+          "resolved": 
"https://registry.npmjs.org/entities/-/entities-6.0.1.tgz";,
+          "integrity": 
"sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+          "dev": true
+        }
       }
     },
     "parse5-htmlparser2-tree-adapter": {
-      "version": "7.0.0",
-      "resolved": 
"https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz";,
-      "integrity": 
"sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
+      "version": "7.1.0",
+      "resolved": 
"https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz";,
+      "integrity": 
"sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==",
+      "dev": true,
+      "requires": {
+        "domhandler": "^5.0.3",
+        "parse5": "^7.0.0"
+      }
+    },
+    "parse5-parser-stream": {
+      "version": "7.1.2",
+      "resolved": 
"https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz";,
+      "integrity": 
"sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==",
       "dev": true,
       "requires": {
-        "domhandler": "^5.0.2",
         "parse5": "^7.0.0"
       }
     },
@@ -33794,6 +34200,12 @@
         "which-boxed-primitive": "^1.0.2"
       }
     },
+    "undici": {
+      "version": "7.16.0",
+      "resolved": "https://registry.npmjs.org/undici/-/undici-7.16.0.tgz";,
+      "integrity": 
"sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==",
+      "dev": true
+    },
     "unfetch": {
       "version": "4.2.0",
       "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz";,
@@ -34597,6 +35009,12 @@
         }
       }
     },
+    "web-streams-polyfill": {
+      "version": "3.3.3",
+      "resolved": 
"https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz";,
+      "integrity": 
"sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
+      "dev": true
+    },
     "webidl-conversions": {
       "version": "3.0.1",
       "resolved": 
"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz";,
@@ -35153,6 +35571,32 @@
         }
       }
     },
+    "whatwg-encoding": {
+      "version": "3.1.1",
+      "resolved": 
"https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz";,
+      "integrity": 
"sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
+      "dev": true,
+      "requires": {
+        "iconv-lite": "0.6.3"
+      },
+      "dependencies": {
+        "iconv-lite": {
+          "version": "0.6.3",
+          "resolved": 
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz";,
+          "integrity": 
"sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+          "dev": true,
+          "requires": {
+            "safer-buffer": ">= 2.1.2 < 3.0.0"
+          }
+        }
+      }
+    },
+    "whatwg-mimetype": {
+      "version": "4.0.0",
+      "resolved": 
"https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz";,
+      "integrity": 
"sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
+      "dev": true
+    },
     "whatwg-url": {
       "version": "5.0.0",
       "resolved": 
"https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz";,
diff --git a/package.json b/package.json
index 0b8c90e..0b6e90f 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,7 @@
   "scripts": {
     "dev": "cross-env NODE_OPTIONS=--openssl-legacy-provider DEBUG=nuxt:*  
nuxt dev",
     "start": "cross-env NODE_OPTIONS=--openssl-legacy-provider nuxt start",
-    "prepare-generate": "node build/generate-contributors.js && node 
build/generate",
+    "prepare-generate": "node build/generate-contributors.js && node 
build/generate-contributor-avatar.js && node build/generate-nav.js",
     "build:gh": "npm run prepare-generate && cross-env 
NODE_OPTIONS=--openssl-legacy-provider NUXT_ENV_DEPLOY=gh nuxt generate",
     "build:local": "npm run prepare-generate && cross-env 
NODE_OPTIONS=--openssl-legacy-provider NUXT_ENV_DEPLOY=local nuxt generate",
     "build:localsite": "npm run prepare-generate && cross-env 
NODE_OPTIONS=--openssl-legacy-provider NUXT_ENV_DEPLOY=localsite nuxt generate",
@@ -41,12 +41,12 @@
     "@nuxtjs/eslint-config-typescript": "^11.0.0",
     "@nuxtjs/tailwindcss": "^4.1.2",
     "babel-eslint": "^10.1.0",
-    "cheerio": "^1.0.0-rc.12",
+    "cheerio": "^1.1.2",
     "cross-env": "^7.0.3",
     "eslint": "^8.27.0",
     "eslint-plugin-nuxt": "^4.0.0",
     "eslint-plugin-prettier": "^4.2.1",
-    "node-fetch": "^2.6.7",
+    "node-fetch": "^3.3.2",
     "postcss": "^8.4.31",
     "raw-loader": "^4.0.2"
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to