Compare commits

...

14 Commits

Author SHA1 Message Date
mio
8ff629b655 Upgrade version 2023-10-28 10:01:55 +08:00
0c778c09f4 fixed: unknown host (#54)
Closes #53 
我這邊yarn build之後運行正常

---------

Co-authored-by: biuuu <10892119+biuuu@users.noreply.github.com>
2023-10-28 09:57:14 +08:00
8c370ff0a7 Update Français.json (#50)
Added : 
- ui.setting.dataManagerHint

Updated :
- ui.button.files

Small fix. Translation is now complete. And no formatting issues this
time (sorry for that).
2023-10-14 16:46:01 +08:00
mio
1ab284c880 upgrade version 2023-10-11 18:16:04 +08:00
dc5053cb03 Zenshio patch 2 (#49)
Added :
- ui.button.files
- ui.button.solution
- ui.button.cacheFolder
- ui.button.copyUrl
- ui.common.data
- ui.common.dataManage
- ui.common.updateTime
- ui.common.status
- ui.common.action
- ui.common.deleted
- ui.common.normal
- ui.common.delete
- ui.common.restore
- srgf.fileType
- ui.extra.cacheClean
- ui.extra.findCacheFolder
- ui.extra.urlCopied

Updated :
- ui.hint.init
- ui.win.title
- ui.data.no5star
- ui.data.weapon
- ui.data.average
- ui.data.weapon5
- ui.data.weapon4
- ui.data.weapon3
- ui.setting.hideNovice
- log.file.notFound
- log.fetch.authTimeout
- log.fetch.gachaType
- log.fetch.gachaTypeOk
- log.proxy.hint
- log.url.notFound2
- excel.wish2
- excel.filePrefix
2023-10-11 09:35:05 +08:00
mio
49c1685e5e fix: Russian records cannot be exported to Excel file (#32) 2023-09-24 11:40:57 +08:00
mio
89a0553c59 upgrade version 2023-09-24 03:29:51 +08:00
3605826953 fix: Update utils.js for French HSR. (#47)
For some reason mihoyo renamed "cônes de lumière" to "Cône de lumière"
and "Personnages" to "Personnage". This patch only includes the newer
term without removing the old ones for retro-compatibility.


![PR](https://github.com/biuuu/star-rail-warp-export/assets/12218001/c68c4fe9-66bf-4d54-bcca-7bf48b052ad5)
2023-09-24 03:15:47 +08:00
75f2f2dd4f fix(package): homepage (#46)
Same as
[genshin-wish-export](https://github.com/biuuu/genshin-wish-export/pull/217).
2023-09-05 17:44:31 +08:00
mio
947101cc43 fix: URL not found caused by cache folder changes (#40) 2023-07-19 12:02:09 +08:00
mio
8628625a27 feat: Merge Export Excel Button and Export JSON Button 2023-06-29 16:24:39 +08:00
4ab2f60b53 feat: Support export as Star Rail Gacha Log Format file (#39) 2023-06-29 15:02:36 +08:00
mio
f2592040cb chore: delete build-update.yml 2023-06-29 15:01:45 +08:00
mio
9de5ba1025 fix: the button can be clicked at intervals changed to 10s 2023-05-26 16:12:49 +08:00
19 changed files with 407 additions and 191 deletions

View File

@ -1,31 +0,0 @@
name: Build Update
on:
workflow_dispatch:
push:
branches: [ main ]
jobs:
main:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: '16.x'
- name: Build Update
run: |
yarn --frozen-lockfile
yarn build:dir
yarn build-update
- name: Deploy
if: success()
uses: crazy-max/ghaction-github-pages@v2
with:
commit_message: Update app
build_dir: ./build/update
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -1,8 +1,9 @@
{ {
"name": "star-rail-warp-export", "name": "star-rail-warp-export",
"version": "0.1.0", "version": "0.1.6",
"main": "./dist/electron/main/main.js", "main": "./dist/electron/main/main.js",
"author": "biuuu <https://github.com/biuuu>", "author": "biuuu <https://github.com/biuuu>",
"homepage": "https://github.com/biuuu/star-rail-warp-export",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"dev": "node .electron-vite/dev-runner.js", "dev": "node .electron-vite/dev-runner.js",
@ -71,7 +72,7 @@
}, },
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"@element-plus/icons-vue": "^0.2.6", "@element-plus/icons-vue": "^2.1.0",
"@rollup/plugin-alias": "^3.1.9", "@rollup/plugin-alias": "^3.1.9",
"@rollup/plugin-commonjs": "^21.0.1", "@rollup/plugin-commonjs": "^21.0.1",
"@rollup/plugin-json": "^4.1.0", "@rollup/plugin-json": "^4.1.0",
@ -91,9 +92,10 @@
"electron-fetch": "^1.7.4", "electron-fetch": "^1.7.4",
"electron-unhandled": "^3.0.2", "electron-unhandled": "^3.0.2",
"electron-window-state": "^5.0.3", "electron-window-state": "^5.0.3",
"element-plus": "^1.3.0-beta.7", "element-plus": "^2.3.7",
"fs-extra": "^10.0.0", "fs-extra": "^10.0.0",
"get-stream": "^6.0.1", "get-stream": "^6.0.1",
"glob": "^10.3.3",
"jest": "^29.5.0", "jest": "^29.5.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"moment": "^2.29.1", "moment": "^2.29.1",

View File

@ -3,6 +3,7 @@
"ui.button.load": "Lade Daten", "ui.button.load": "Lade Daten",
"ui.button.update": "Aktualisieren", "ui.button.update": "Aktualisieren",
"ui.button.excel": "In Excel exportieren", "ui.button.excel": "In Excel exportieren",
"ui.button.srgf": "In JSON exportieren",
"ui.button.url": "Eingabe URL", "ui.button.url": "Eingabe URL",
"ui.button.setting": "Einstellungen", "ui.button.setting": "Einstellungen",
"ui.button.option": "Optionen", "ui.button.option": "Optionen",
@ -75,5 +76,6 @@
"excel.wish2": "Wunsch 2", "excel.wish2": "Wunsch 2",
"excel.customFont": "Arial", "excel.customFont": "Arial",
"excel.filePrefix": "", "excel.filePrefix": "",
"excel.fileType": "Excel Datei" "excel.fileType": "Excel Datei",
"srgf.fileType": "Star Rail Gacha Log Format Datei"
} }

View File

@ -3,7 +3,9 @@
"ui.button.load": "Load data", "ui.button.load": "Load data",
"ui.button.update": "Update", "ui.button.update": "Update",
"ui.button.directUpdate": "Direct update", "ui.button.directUpdate": "Direct update",
"ui.button.files": "Export Files",
"ui.button.excel": "Export Excel", "ui.button.excel": "Export Excel",
"ui.button.srgf": "Export JSON",
"ui.button.url": "Input URL", "ui.button.url": "Input URL",
"ui.button.setting": "Settings", "ui.button.setting": "Settings",
"ui.button.option": "Option", "ui.button.option": "Option",
@ -94,6 +96,7 @@
"excel.customFont": "Arial", "excel.customFont": "Arial",
"excel.filePrefix": "Star Rail Warp logger", "excel.filePrefix": "Star Rail Warp logger",
"excel.fileType": "Excel file", "excel.fileType": "Excel file",
"srgf.fileType": "Star Rail Gacha Log Format file",
"ui.extra.cacheClean": "1. Confirm whether the warp history in the game has been opened, and if the error \"User authentication expired\" still appears, try the following steps \n2. Close the game window of Star Rail \n3. Click the \"Open Web Cache Folder\" button above to open the \"Cache\" folder \n4. Delete the \"Cache_ Data\" folder \n5. Start the Star Rail game and open the warp history page in the game \n6. Close this dialog and click the \"Update Data\" button", "ui.extra.cacheClean": "1. Confirm whether the warp history in the game has been opened, and if the error \"User authentication expired\" still appears, try the following steps \n2. Close the game window of Star Rail \n3. Click the \"Open Web Cache Folder\" button above to open the \"Cache\" folder \n4. Delete the \"Cache_ Data\" folder \n5. Start the Star Rail game and open the warp history page in the game \n6. Close this dialog and click the \"Update Data\" button",
"ui.extra.findCacheFolder": "If the \"Open cache folder\" button does not respond, you can manually find the game's web cache folder. The directory is \"Your game installation path/Star Rail/Games/StarRail_Data/webCaches/Cache/\"", "ui.extra.findCacheFolder": "If the \"Open cache folder\" button does not respond, you can manually find the game's web cache folder. The directory is \"Your game installation path/Star Rail/Games/StarRail_Data/webCaches/Cache/\"",
"ui.extra.urlCopied": "URL Copied" "ui.extra.urlCopied": "URL Copied"

View File

@ -3,34 +3,39 @@
"ui.button.load": "Charger les données", "ui.button.load": "Charger les données",
"ui.button.update": "Mettre à jour", "ui.button.update": "Mettre à jour",
"ui.button.directUpdate": "Mise à jour directe", "ui.button.directUpdate": "Mise à jour directe",
"ui.button.files": "Exporter les fichiers",
"ui.button.excel": "Exporter vers Excel", "ui.button.excel": "Exporter vers Excel",
"ui.button.srgf": "Exporter vers JSON",
"ui.button.url": "URL d'import", "ui.button.url": "URL d'import",
"ui.button.setting": "Paramètres", "ui.button.setting": "Paramètres",
"ui.button.option": "Options", "ui.button.option": "Options",
"ui.button.startProxy": "Mode Proxy", "ui.button.startProxy": "Mode Proxy",
"ui.button.solution": "Solution",
"ui.button.cacheFolder": "Ouvrir le dossier de cache",
"ui.button.copyUrl": "Copier l'URL",
"ui.select.newAccount": "Nouveau compte", "ui.select.newAccount": "Nouveau compte",
"ui.hint.newAccount": "Charger les données d'autres comptes", "ui.hint.newAccount": "Charger les données d'autres comptes",
"ui.hint.init": "Veuillez ouvrir votre historique de vœux depuis le client du jeu avant de cliquer sur le bouton 'Charger les données'.", "ui.hint.init": "Veuillez ouvrir votre historique de sauts hyperespaces depuis le client du jeu avant de cliquer sur le bouton 'Charger les données'.",
"ui.hint.lastUpdate": "Dernière mise à jour", "ui.hint.lastUpdate": "Dernière mise à jour",
"ui.hint.failed": "Oups, une erreur est survenue...", "ui.hint.failed": "Oups, une erreur est survenue...",
"ui.hint.relaunchHint": "La mise à jour est terminée, elle prendra effet après avoir cliqué sur le bouton permettant le redémarrage de l'outil", "ui.hint.relaunchHint": "La mise à jour est terminée, elle prendra effet après avoir cliqué sur le bouton permettant le redémarrage de l'outil",
"ui.win.title": "", "ui.win.title": "Outil d'export de l'historique de sauts hyperespaces de Star Rail",
"ui.data.total": "Total de", "ui.data.total": "Total de",
"ui.data.times": "tirages.", "ui.data.times": "tirages.",
"ui.data.sum": "Vous avez effectué", "ui.data.sum": "Vous avez effectué",
"ui.data.no5star": "tirages sans objet 5★.", "ui.data.no5star": "tirages sans 5★.",
"ui.data.character": "Personnage", "ui.data.character": "Personnage",
"ui.data.weapon": "Arme", "ui.data.weapon": "Cône de lumière",
"ui.data.star5": "5★", "ui.data.star5": "5★",
"ui.data.star4": "4★", "ui.data.star4": "4★",
"ui.data.star3": "3★", "ui.data.star3": "3★",
"ui.data.history": "Historique de 5★", "ui.data.history": "Historique de 5★",
"ui.data.average": "Moyenne de tirages d'objet 5★", "ui.data.average": "Moyenne de tirages de 5★",
"ui.data.chara5": "Personnage 5★", "ui.data.chara5": "Personnage 5★",
"ui.data.chara4": "Personnage 4★", "ui.data.chara4": "Personnage 4★",
"ui.data.weapon5": "Arme 5★", "ui.data.weapon5": "Cône de lumière 5★",
"ui.data.weapon4": "Arme 4★", "ui.data.weapon4": "Cône de lumière 4★",
"ui.data.weapon3": "Arme 3★", "ui.data.weapon3": "Cône de lumière 3★",
"ui.setting.title": "Paramètres", "ui.setting.title": "Paramètres",
"ui.setting.language": "Langue", "ui.setting.language": "Langue",
"ui.setting.languageHint": "L'anglais sera utilisé par défaut si la traduction sélectionnée n'est pas disponible.", "ui.setting.languageHint": "L'anglais sera utilisé par défaut si la traduction sélectionnée n'est pas disponible.",
@ -39,8 +44,9 @@
"ui.setting.cnServer": "Serveur Chinois", "ui.setting.cnServer": "Serveur Chinois",
"ui.setting.seaServer": "Serveur Global", "ui.setting.seaServer": "Serveur Global",
"ui.setting.logTypeHint": "Choisissez les journaux générés par le serveur à utiliser en priorité lors de la récupération de l'URL à partir des journaux du jeu.", "ui.setting.logTypeHint": "Choisissez les journaux générés par le serveur à utiliser en priorité lors de la récupération de l'URL à partir des journaux du jeu.",
"ui.setting.dataManagerHint": "Les données inutilisées peuvent être supprimées",
"ui.setting.autoUpdate": "Mise à jour automatique", "ui.setting.autoUpdate": "Mise à jour automatique",
"ui.setting.hideNovice": "Masquer les vœux dubutant", "ui.setting.hideNovice": "Masquer les sauts hyperespaces depart",
"ui.setting.proxyMode": "Mode Proxy", "ui.setting.proxyMode": "Mode Proxy",
"ui.setting.proxyModeHint": "Si la récupération de l'URL depuis les journaux système échoue, utilisez le proxy système.", "ui.setting.proxyModeHint": "Si la récupération de l'URL depuis les journaux système échoue, utilisez le proxy système.",
"ui.setting.fetchFullHistory": "Récupérer l'intégralité des données", "ui.setting.fetchFullHistory": "Récupérer l'intégralité des données",
@ -54,20 +60,29 @@
"ui.urlDialog.placeholder": "Veuillez saisir l'URL avec les informations d'authentification.", "ui.urlDialog.placeholder": "Veuillez saisir l'URL avec les informations d'authentification.",
"ui.common.cancel": "Annuler", "ui.common.cancel": "Annuler",
"ui.common.ok": "OK", "ui.common.ok": "OK",
"ui.common.data": "Données",
"ui.common.dataManage": "Gestion de données",
"ui.common.updateTime": "Date de mise à jour",
"ui.common.status": "Statut",
"ui.common.action": "Action",
"ui.common.deleted": "Supprimé",
"ui.common.normal": "Normal",
"ui.common.delete": "Supprimer",
"ui.common.restore": "Restaurer",
"log.save.failed": "Échec de la sauvegarde des données locales.", "log.save.failed": "Échec de la sauvegarde des données locales.",
"log.file.notFound": "Les journaux du jeu sont introuvables, veuillez vous assurer que vous avez déjà ouvert l'historique de vœux dans le client du jeu.", "log.file.notFound": "Les journaux du jeu sont introuvables, veuillez vous assurer que vous avez déjà ouvert l'historique de sauts hyperespaces dans le client du jeu.",
"log.url.notFound": "URL introuvable.", "log.url.notFound": "URL introuvable.",
"log.file.readFailed": "Échec de la lecture des journaux.", "log.file.readFailed": "Échec de la lecture des journaux.",
"log.fetch.retry": "Échec de la récupération des ${name} - page ${page}, nouvelle tentative dans 5 secondes pour la ${count}e fois……", "log.fetch.retry": "Échec de la récupération des ${name} - page ${page}, nouvelle tentative dans 5 secondes pour la ${count}e fois……",
"log.fetch.retryFailed": "Échec de la récupération des ${name} - page ${page}, nombre de tentatives maximum atteint.", "log.fetch.retryFailed": "Échec de la récupération des ${name} - page ${page}, nombre de tentatives maximum atteint.",
"log.fetch.interval": "Récupération des ${name} - page ${page}, délai de 1 seconde toutes les 10 pages……", "log.fetch.interval": "Récupération des ${name} - page ${page}, délai de 1 seconde toutes les 10 pages……",
"log.fetch.current": "Récupération des ${name} - page ${page}.", "log.fetch.current": "Récupération des ${name} - page ${page}.",
"log.fetch.authTimeout": "L'authentification de l'utilisateur a expiré, veuillez rouvrir l'historique des vœux dans le client du jeu.", "log.fetch.authTimeout": "L'authentification de l'utilisateur a expiré, veuillez rouvrir l'historique des sauts hyperespaces dans le client du jeu.",
"log.fetch.gachaType": "Récupération du type de vœux, veuillez patienter.", "log.fetch.gachaType": "Récupération du type de sauts hyperespaces, veuillez patienter.",
"log.fetch.gachaTypeOk": "Le type de vœux a été récupéré.", "log.fetch.gachaTypeOk": "Le type de sauts hyperespaces a été récupéré.",
"log.url.lackAuth": "Clé d'authentification introuvable dans l'URL.", "log.url.lackAuth": "Clé d'authentification introuvable dans l'URL.",
"log.proxy.hint": "Utilisation du mode proxy [${ip}:${port}] pour obtenir l'URL, veuillez rouvrir l'historique des vœux dans le client du jeu.", "log.proxy.hint": "Utilisation du mode proxy [${ip}:${port}] pour obtenir l'URL, veuillez rouvrir l'historique des sauts hyperespaces dans le client du jeu.",
"log.url.notFound2": "URL introuvable, veuillez vous assurer que vous avez déjà ouvert l'historique de vœux dans le client du jeu.", "log.url.notFound2": "URL introuvable, veuillez vous assurer que vous avez déjà ouvert l'historique de sauts hyperespaces dans le client du jeu.",
"log.url.incorrect": "Impossible d'obtenir les paramètres d'URL.", "log.url.incorrect": "Impossible d'obtenir les paramètres d'URL.",
"log.autoUpdate.success": "Mise à jour automatique réussie, veuillez redémarrer le programme.", "log.autoUpdate.success": "Mise à jour automatique réussie, veuillez redémarrer le programme.",
"excel.header.time": "Date", "excel.header.time": "Date",
@ -77,8 +92,12 @@
"excel.header.total": "Tirages", "excel.header.total": "Tirages",
"excel.header.pity": "Pity 5★", "excel.header.pity": "Pity 5★",
"excel.header.remark": "Commentaire", "excel.header.remark": "Commentaire",
"excel.wish2": "", "excel.wish2": "Sauts hyperespaces 2",
"excel.customFont": "Arial", "excel.customFont": "Arial",
"excel.filePrefix": "", "excel.filePrefix": "StarRail_historique_sauts",
"excel.fileType": "Classeur Excel" "excel.fileType": "Classeur Excel",
"srgf.fileType": "Fichier Star Rail Gacha Log Format",
"ui.extra.cacheClean": "1. Vérifiez si l'historique de sauts hyperespaces du jeu a été ouvert et si l'erreur \"Authentification utilisateur expirée\" apparaît toujours, essayez les étapes suivantes \n2. Fermez la fenêtre de jeu de Star Rail \n3. Cliquez sur le bouton \"Ouvrir le dossier de cache Web\" ci-dessus pour ouvrir le dossier \"Cache\" \n4. Supprimez le dossier \"Cache_Data\" \n5. Démarrez le jeu Star Rail et ouvrez la page d'historique de sauts hyperespaces dans le jeu \n6. Fermez cette boîte de dialogue et cliquez sur le bouton \"Mettre à jour les données\"",
"ui.extra.findCacheFolder": "Si le bouton \"Ouvrir le dossier de cache\" ne répond pas, vous pouvez rechercher manuellement le dossier de cache web du jeu. Le répertoire est \"Chemin d'installation de votre jeu/Star Rail/Games/StarRail_Data/webCaches/Cache/\"",
"ui.extra.urlCopied": "URL copiée"
} }

View File

@ -3,6 +3,7 @@
"ui.button.load": "データの読み込み", "ui.button.load": "データの読み込み",
"ui.button.update": "更新データ", "ui.button.update": "更新データ",
"ui.button.excel": "Excelにエクスポート", "ui.button.excel": "Excelにエクスポート",
"ui.button.srgf": "JSONにエクスポート",
"ui.button.url": "URL入力", "ui.button.url": "URL入力",
"ui.button.setting": "設定", "ui.button.setting": "設定",
"ui.button.option": "オプション", "ui.button.option": "オプション",

View File

@ -3,7 +3,9 @@
"ui.button.load": "加载数据", "ui.button.load": "加载数据",
"ui.button.update": "更新数据", "ui.button.update": "更新数据",
"ui.button.directUpdate": "直接更新", "ui.button.directUpdate": "直接更新",
"ui.button.files": "导出文件",
"ui.button.excel": "导出Excel", "ui.button.excel": "导出Excel",
"ui.button.srgf":"导出JSON",
"ui.button.url": "输入URL", "ui.button.url": "输入URL",
"ui.button.setting": "设置", "ui.button.setting": "设置",
"ui.button.option": "选项", "ui.button.option": "选项",
@ -94,6 +96,7 @@
"excel.customFont": "微软雅黑", "excel.customFont": "微软雅黑",
"excel.filePrefix": "星穹铁道跃迁记录", "excel.filePrefix": "星穹铁道跃迁记录",
"excel.fileType": "Excel文件", "excel.fileType": "Excel文件",
"srgf.fileType":"星穹铁道跃迁记录格式文件",
"ui.extra.cacheClean": "1. 确认是否已经打开游戏内的抽卡历史记录,如果仍然出现“身份认证已过期”的错误,再尝试下面的步骤\n2. 关闭星穹铁道的游戏窗口\n3. 点击上方的“打开缓存文件夹”按钮打开Cache文件夹\n4. 删除Cache_Data文件夹\n5. 启动星穹铁道游戏,打开游戏内抽卡历史记录页面\n6. 关闭这个对话框,再点击“更新数据”按钮", "ui.extra.cacheClean": "1. 确认是否已经打开游戏内的抽卡历史记录,如果仍然出现“身份认证已过期”的错误,再尝试下面的步骤\n2. 关闭星穹铁道的游戏窗口\n3. 点击上方的“打开缓存文件夹”按钮打开Cache文件夹\n4. 删除Cache_Data文件夹\n5. 启动星穹铁道游戏,打开游戏内抽卡历史记录页面\n6. 关闭这个对话框,再点击“更新数据”按钮",
"ui.extra.findCacheFolder": "如果点“打开缓存文件夹”按钮没有反应,可以手动找到游戏的网页缓存文件夹,目录为“你的游戏安装路径/Star Rail/Game/StarRail_Data/webCaches/Cache/”", "ui.extra.findCacheFolder": "如果点“打开缓存文件夹”按钮没有反应,可以手动找到游戏的网页缓存文件夹,目录为“你的游戏安装路径/Star Rail/Game/StarRail_Data/webCaches/Cache/”",
"ui.extra.urlCopied": "URL已复制" "ui.extra.urlCopied": "URL已复制"

View File

@ -3,7 +3,9 @@
"ui.button.load": "載入資料", "ui.button.load": "載入資料",
"ui.button.update": "更新資料", "ui.button.update": "更新資料",
"ui.button.directUpdate": "直接更新", "ui.button.directUpdate": "直接更新",
"ui.button.files": "匯出檔案",
"ui.button.excel": "匯出 Excel", "ui.button.excel": "匯出 Excel",
"ui.button.srgf": "匯出 JSON",
"ui.button.url": "輸入 URL", "ui.button.url": "輸入 URL",
"ui.button.setting": "設定", "ui.button.setting": "設定",
"ui.button.option": "選項", "ui.button.option": "選項",
@ -83,6 +85,7 @@
"excel.customFont": "微軟正黑體", "excel.customFont": "微軟正黑體",
"excel.filePrefix": "星穹鐵道躍遷紀錄", "excel.filePrefix": "星穹鐵道躍遷紀錄",
"excel.fileType": "Excel 檔案", "excel.fileType": "Excel 檔案",
"srgf.fileType":"星穹鐵道躍遷紀錄格式檔案",
"ui.extra.cacheClean": "1. 確認是否已經開啟遊戲內的躍遷歷史紀錄,如果仍然出現「身分驗證已過期」的錯誤,再嘗試下面的步驟\n2. 關閉「崩壞:星穹鐵道」的遊戲視窗\n3. 按一下上方的「開啟快取資料夾」按鈕開啟「Cache」資料夾\n4. 刪除「Cache_Data」資料夾\n5. 啟動「崩壞:星穹鐵道」遊戲,開啟遊戲內躍遷歷史紀錄頁面\n6. 關閉這個對話方塊,再按下「更新資料」按鈕", "ui.extra.cacheClean": "1. 確認是否已經開啟遊戲內的躍遷歷史紀錄,如果仍然出現「身分驗證已過期」的錯誤,再嘗試下面的步驟\n2. 關閉「崩壞:星穹鐵道」的遊戲視窗\n3. 按一下上方的「開啟快取資料夾」按鈕開啟「Cache」資料夾\n4. 刪除「Cache_Data」資料夾\n5. 啟動「崩壞:星穹鐵道」遊戲,開啟遊戲內躍遷歷史紀錄頁面\n6. 關閉這個對話方塊,再按下「更新資料」按鈕",
"ui.extra.findCacheFolder": "如果按下「開啟快取資料夾」按鈕沒有回應,可以手動找到遊戲的網頁快取資料夾,目錄為「您的遊戲安裝路徑/Star Rail/Games/StarRail_Data/webCaches/Cache/」" "ui.extra.findCacheFolder": "如果按下「開啟快取資料夾」按鈕沒有回應,可以手動找到遊戲的網頁快取資料夾,目錄為「您的遊戲安裝路徑/Star Rail/Games/StarRail_Data/webCaches/Cache/」"
} }

View File

@ -3,6 +3,7 @@ const fs = require('fs-extra')
const path = require('path') const path = require('path')
const getData = require('./getData').getData const getData = require('./getData').getData
const { version } = require('../../package.json') const { version } = require('../../package.json')
const i18n = require('./i18n')
const getTimeString = () => { const getTimeString = () => {
return new Date().toLocaleString('sv').replace(/[- :]/g, '').slice(0, -2) return new Date().toLocaleString('sv').replace(/[- :]/g, '').slice(0, -2)
@ -15,67 +16,51 @@ const formatDate = (date) => {
return `${y}-${m}-${d} ${date.toLocaleString('zh-cn', { hour12: false }).slice(-8)}` return `${y}-${m}-${d} ${date.toLocaleString('zh-cn', { hour12: false }).slice(-8)}`
} }
const fakeIdFn = () => {
let id = 1000000000000000000n
return () => {
id = id + 1n
return id.toString()
}
}
const shouldBeString = (value) => {
if (typeof value !== 'string') {
return ''
}
return value
}
const start = async () => { const start = async () => {
const { dataMap, current } = await getData() const { dataMap, current } = await getData()
const data = dataMap.get(current) const data = dataMap.get(current)
if (!data.result.size) { if (!data.result.size) {
throw new Error('数据为空') throw new Error('数据为空')
} }
const fakeId = fakeIdFn()
const result = { const result = {
info: { info: {
uid: data.uid, uid: data.uid,
lang: data.lang, lang: data.lang,
export_time: formatDate(new Date()), export_time: formatDate(new Date()),
export_timestamp: Date.now(), export_timestamp: Math.ceil(Date.now() / 1000),
export_app: 'genshin-wish-export', export_app: 'star-rail-warp-export',
export_app_version: `v${version}`, export_app_version: `v${version}`,
uigf_version: 'v2.2' region_time_zone: data.region_time_zone,
srgf_version: 'v1.0'
}, },
list: [] list: []
} }
const listTemp = [] const listTemp = []
for (let [type, arr] of data.result) { for (let [type, arr] of data.result) {
arr.forEach(item => { arr.forEach(log => {
listTemp.push({ listTemp.push({
gacha_type: shouldBeString(item[4]) || type, gacha_id: log.gacha_id,
time: item[0], gacha_type: log.gacha_type,
timestamp: new Date(item[0]).getTime(), item_id: log.item_id,
name: item[1], count: '1',
item_type: item[2], time: log.time,
rank_type: `${item[3]}`, name: log.name,
id: shouldBeString(item[5]) || '', item_type: log.item_type,
uigf_gacha_type: type rank_type: log.rank_type,
id: log.id
}) })
}) })
} }
listTemp.sort((a, b) => a.timestamp - b.timestamp) listTemp.sort((a, b) => Number(BigInt(a.id) - BigInt(b.id)))
listTemp.forEach(item => { listTemp.forEach(item => {
delete item.timestamp
result.list.push({ result.list.push({
...item, ...item
id: item.id || fakeId()
}) })
}) })
const filePath = dialog.showSaveDialogSync({ const filePath = dialog.showSaveDialogSync({
defaultPath: path.join(app.getPath('downloads'), `UIGF_${data.uid}_${getTimeString()}`), defaultPath: path.join(app.getPath('downloads'), `SRGF_${data.uid}_${getTimeString()}`),
filters: [ filters: [
{ name: 'JSON文件', extensions: ['json'] } { name: i18n.srgf.fileType, extensions: ['json'] }
] ]
}) })
if (filePath) { if (filePath) {
@ -84,6 +69,6 @@ const start = async () => {
} }
} }
ipcMain.handle('EXPORT_UIGF_JSON', async () => { ipcMain.handle('EXPORT_SRGF_JSON', async () => {
await start() await start()
}) })

View File

@ -57,7 +57,7 @@ const start = async () => {
const workbook = new ExcelJS.Workbook() const workbook = new ExcelJS.Workbook()
for (let [key, value] of data.result) { for (let [key, value] of data.result) {
const name = data.typeMap.get(key) const name = data.typeMap.get(key)
const sheet = workbook.addWorksheet(name, {views: [{state: 'frozen', ySplit: 1}]}) const sheet = workbook.addWorksheet(name.replace(/[*?:\/\\]/g, ' '), {views: [{state: 'frozen', ySplit: 1}]})
let width = [24, 14, 8, 8, 8, 8, 8] let width = [24, 14, 8, 8, 8, 8, 8]
if (!data.lang.includes('zh-')) { if (!data.lang.includes('zh-')) {
width = [24, 32, 16, 12, 12, 12, 8] width = [24, 32, 16, 12, 12, 12, 8]

View File

@ -3,7 +3,7 @@ const util = require('util')
const path = require('path') const path = require('path')
const { URL } = require('url') const { URL } = require('url')
const { app, ipcMain, shell } = require('electron') const { app, ipcMain, shell } = require('electron')
const { sleep, request, sendMsg, readJSON, saveJSON, detectLocale, userDataPath, userPath, localIp, langMap, globalUserDataPath } = require('./utils') const { sleep, request, sendMsg, readJSON, saveJSON, detectLocale, getCacheText, userDataPath, userPath, localIp, langMap, globalUserDataPath } = require('./utils')
const config = require('./config') const config = require('./config')
const i18n = require('./i18n') const i18n = require('./i18n')
const { enableProxy, disableProxy } = require('./module/system-proxy') const { enableProxy, disableProxy } = require('./module/system-proxy')
@ -142,13 +142,10 @@ const readLog = async () => {
const logText = await fs.readFile(logpath, 'utf8') const logText = await fs.readFile(logpath, 'utf8')
const gamePathMch = logText.match(/\w:\/.*?\/StarRail_Data\//i) const gamePathMch = logText.match(/\w:\/.*?\/StarRail_Data\//i)
if (gamePathMch) { if (gamePathMch) {
let cacheText = '' const [cacheText, cacheFile] = await getCacheText(gamePathMch[0])
try {
cacheText = await fs.readFile(path.join(gamePathMch[0], '/webCaches/Cache/Cache_Data/data_2'), 'utf8')
} catch (e) {}
const urlMch = cacheText.match(/https.+?&auth_appid=webview_gacha&.+?authkey=.+?&game_biz=hkrpg_.+?&plat_type=pc/g) const urlMch = cacheText.match(/https.+?&auth_appid=webview_gacha&.+?authkey=.+?&game_biz=hkrpg_.+?&plat_type=pc/g)
if (urlMch) { if (urlMch) {
cacheFolder = path.join(gamePathMch[0], '/webCaches/Cache/') cacheFolder = cacheFile.replace(/Cache_Data[/\\]data_2$/, '')
return getLatestUrl(urlMch) return getLatestUrl(urlMch)
} }
} }
@ -293,7 +290,7 @@ const fixAuthkey = (url) => {
const getQuerystring = (url) => { const getQuerystring = (url) => {
const text = i18n.log const text = i18n.log
const { searchParams, host } = new URL(fixAuthkey(url)) const { searchParams, host } = new URL(fixAuthkey(url))
if (host.includes('webstatic-sea') || host.includes('hkrpg-api-os') || host.includes("api-os-takumi")) { if (host.includes('webstatic-sea') || host.includes('hkrpg-api-os') || host.includes('api-os-takumi') || host.includes('hoyoverse.com')) {
apiDomain = 'https://api-os-takumi.mihoyo.com' apiDomain = 'https://api-os-takumi.mihoyo.com'
} else { } else {
apiDomain = 'https://api-takumi.mihoyo.com' apiDomain = 'https://api-takumi.mihoyo.com'

View File

@ -76,7 +76,7 @@ const parseText = (text, data) => {
} }
const mainProps = [ const mainProps = [
'symbol', 'ui', 'log', 'excel' 'symbol', 'ui', 'log', 'excel',"srgf"
] ]
const i18n = new Proxy(raw, { const i18n = new Proxy(raw, {

View File

@ -4,7 +4,7 @@ const { disableProxy, proxyStatus } = require('./module/system-proxy')
require('./getData') require('./getData')
require('./bridge') require('./bridge')
require('./excel') require('./excel')
require('./UIGFJson') require('./SRGFJson')
const { getUpdateInfo } = require('./update/index') const { getUpdateInfo } = require('./update/index')
const isDev = !app.isPackaged const isDev = !app.isPackaged

View File

@ -6,6 +6,7 @@ const crypto = require('crypto')
const unhandled = require('electron-unhandled') const unhandled = require('electron-unhandled')
const windowStateKeeper = require('electron-window-state') const windowStateKeeper = require('electron-window-state')
const debounce = require('lodash/debounce') const debounce = require('lodash/debounce')
const { glob } = require('glob')
const isDev = !app.isPackaged const isDev = !app.isPackaged
@ -202,8 +203,23 @@ const localIp = () => {
return '127.0.0.1' return '127.0.0.1'
} }
async function getCacheText(gamePath) {
const results = await glob(path.join(gamePath, '/webCaches{/,/*/}Cache/Cache_Data/data_2'), {
stat: true,
withFileTypes: true,
nodir: true,
windowsPathsNoEscape: true
})
const timeSortedFiles = results
.sort((a, b) => b.mtimeMs - a.mtimeMs)
.map(path => path.fullpath())
const cacheText = await fs.readFile(path.join(timeSortedFiles[0]), 'utf8')
return [cacheText, timeSortedFiles[0]]
}
module.exports = { module.exports = {
sleep, request, hash, cipherAes, decipherAes, saveLog, sleep, request, hash, cipherAes, decipherAes, saveLog, getCacheText,
sendMsg, readJSON, saveJSON, initWindow, getWin, localIp, userPath, detectLocale, langMap, sendMsg, readJSON, saveJSON, initWindow, getWin, localIp, userPath, detectLocale, langMap,
appRoot, userDataPath, globalUserDataPath appRoot, userDataPath, globalUserDataPath
} }

View File

@ -1,9 +1,20 @@
<template> <template>
<div v-if="ui" class="relative"> <div v-if="ui" class="relative">
<div class="flex justify-between"> <div class="flex justify-between">
<div> <div class="space-x-3">
<el-button type="primary" :icon="state.status === 'init' ? 'milk-tea': 'refresh-right'" class="focus:outline-none" :disabled="!allowClick()" plain @click="fetchData()" :loading="state.status === 'loading'">{{state.status === 'init' ? ui.button.load: ui.button.update}}</el-button> <el-button type="primary" :icon="state.status === 'init' ? 'milk-tea': 'refresh-right'" class="focus:outline-none" :disabled="!allowClick()" plain @click="fetchData()" :loading="state.status === 'loading'">{{state.status === 'init' ? ui.button.load: ui.button.update}}</el-button>
<el-button icon="folder-opened" @click="saveExcel" class="focus:outline-none" :disabled="!gachaData" type="success" plain>{{ui.button.excel}}</el-button> <el-dropdown :disabled="!gachaData" @command="exportCommand">
<el-button :disabled="!gachaData" icon="folder-opened" class="focus:outline-none" type="success" plain>
{{ui.button.files}}
<el-icon class="el-icon--right"><arrow-down /></el-icon>
</el-button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item command="excel">{{ui.button.excel}}</el-dropdown-item>
<el-dropdown-item command="srgf-json">{{ui.button.srgf}}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
<el-tooltip v-if="detail && state.status !== 'loading'" :content="ui.hint.newAccount" placement="bottom"> <el-tooltip v-if="detail && state.status !== 'loading'" :content="ui.hint.newAccount" placement="bottom">
<el-button @click="newUser()" plain icon="plus" class="focus:outline-none"></el-button> <el-button @click="newUser()" plain icon="plus" class="focus:outline-none"></el-button>
</el-tooltip> </el-tooltip>
@ -20,7 +31,7 @@
:value="item[0]"> :value="item[0]">
</el-option> </el-option>
</el-select> </el-select>
<el-dropdown @command="optionCommand" > <el-dropdown @command="optionCommand">
<el-button @click="showSetting(true)" class="focus:outline-none" plain type="info" icon="more" >{{ui.button.option}}</el-button> <el-button @click="showSetting(true)" class="focus:outline-none" plain type="info" icon="more" >{{ui.button.option}}</el-button>
<template #dropdown> <template #dropdown>
<el-dropdown-menu> <el-dropdown-menu>
@ -45,7 +56,7 @@
</div> </div>
<Setting v-show="state.showSetting" :i18n="state.i18n" :gacha-data-info="dataInfo" @refreshData="readData()" @changeLang="getI18nData()" @close="showSetting(false)"></Setting> <Setting v-show="state.showSetting" :i18n="state.i18n" :gacha-data-info="dataInfo" @refreshData="readData()" @changeLang="getI18nData()" @close="showSetting(false)"></Setting>
<el-dialog :title="ui.urlDialog.title" v-model="state.showUrlDlg" width="90%" custom-class="max-w-md"> <el-dialog :title="ui.urlDialog.title" v-model="state.showUrlDlg" width="90%" class="max-w-md">
<p class="mb-4 text-gray-500">{{ui.urlDialog.hint}}</p> <p class="mb-4 text-gray-500">{{ui.urlDialog.hint}}</p>
<el-input type="textarea" :autosize="{minRows: 4, maxRows: 6}" :placeholder="ui.urlDialog.placeholder" v-model="state.urlInput" spellcheck="false"></el-input> <el-input type="textarea" :autosize="{minRows: 4, maxRows: 6}" :placeholder="ui.urlDialog.placeholder" v-model="state.urlInput" spellcheck="false"></el-input>
<template #footer> <template #footer>
@ -56,7 +67,7 @@
</template> </template>
</el-dialog> </el-dialog>
<el-dialog :title="ui.button.solution" v-model="state.showCacheCleanDlg" width="90%" custom-class="max-w-md cache-clean-dialog"> <el-dialog :title="ui.button.solution" v-model="state.showCacheCleanDlg" width="90%" class="max-w-md cache-clean-dialog">
<el-button plain icon="folder" type="success" @click="openCacheFolder">{{ui.button.cacheFolder}}</el-button> <el-button plain icon="folder" type="success" @click="openCacheFolder">{{ui.button.cacheFolder}}</el-button>
<p class="my-2 flex flex-col text-teal-800 text-[13px]"> <p class="my-2 flex flex-col text-teal-800 text-[13px]">
<span class="my-1" v-for="txt of cacheCleanTextList">{{ txt }}</span> <span class="my-1" v-for="txt of cacheCleanTextList">{{ txt }}</span>
@ -145,7 +156,7 @@ const uidSelectText = computed(() => {
const allowClick = () => { const allowClick = () => {
const data = state.dataMap.get(state.current) const data = state.dataMap.get(state.current)
if (!data) return true if (!data) return true
if (Date.now() - data.time < 1000 * 60) { if (Date.now() - data.time < 1000 * 10) {
return false return false
} }
return true return true
@ -227,6 +238,18 @@ const saveExcel = async () => {
await ipcRenderer.invoke('SAVE_EXCEL') await ipcRenderer.invoke('SAVE_EXCEL')
} }
const exportSRGFJSON = () => {
ipcRenderer.invoke('EXPORT_SRGF_JSON')
}
const exportCommand = (type) => {
if (type === 'excel') {
saveExcel()
} else if (type === 'srgf-json') {
exportSRGFJSON()
}
}
const openCacheFolder = async () => { const openCacheFolder = async () => {
await ipcRenderer.invoke('OPEN_CACHE_FOLDER') await ipcRenderer.invoke('OPEN_CACHE_FOLDER')
} }

View File

@ -1,8 +1,8 @@
<template> <template>
<div class="bg-white pt-2 pb-4 px-6 w-full h-full absolute inset-0"> <div class="bg-white py-4 px-6 w-screen h-screen fixed inset-0 overflow-y-auto">
<div class="flex content-center items-center mb-4 justify-between"> <div class="flex content-center items-center mb-4 justify-between">
<h3 class="text-lg">{{text.title}}</h3> <h3 class="text-lg">{{text.title}}</h3>
<el-button icon="close" @click="closeSetting" plain circle type="default" class="w-8 h-8 relative -right-4 -top-2 shadow-md focus:shadow-none focus:outline-none"></el-button> <el-button icon="close" @click="closeSetting" plain circle type="default" class="w-8 h-8 shadow-md focus:shadow-none focus:outline-none fixed top-4 right-6"></el-button>
</div> </div>
<el-form :model="settingForm" label-width="120px"> <el-form :model="settingForm" label-width="120px">
<el-form-item :label="text.language"> <el-form-item :label="text.language">
@ -56,31 +56,31 @@
<p class="text-gray-600 text-xs mt-1">{{about.license}}</p> <p class="text-gray-600 text-xs mt-1">{{about.license}}</p>
<p class="text-gray-600 text-xs mt-1 pb-6">Github: <a @click="openGithub" class="cursor-pointer text-blue-400">https://github.com/biuuu/star-rail-warp-export</a></p> <p class="text-gray-600 text-xs mt-1 pb-6">Github: <a @click="openGithub" class="cursor-pointer text-blue-400">https://github.com/biuuu/star-rail-warp-export</a></p>
<el-dialog v-model="state.showDataDialog" :title="common.dataManage" width="90%"> <el-dialog v-model="state.showDataDialog" :title="common.dataManage" width="90%">
<div class=""> <div class="">
<el-table :data="gachaDataInfo" border stripe> <el-table :data="gachaDataInfo" border stripe>
<el-table-column property="uid" label="UID" width="128" /> <el-table-column property="uid" label="UID" width="128" />
<el-table-column property="time" :label="common.updateTime"> <el-table-column property="time" :label="common.updateTime">
<template #default="scope"> <template #default="scope">
{{ new Date(scope.row.time).toLocaleString() }} {{ new Date(scope.row.time).toLocaleString() }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column property="deleted" :label="common.status" width="128"> <el-table-column property="deleted" :label="common.status" width="128">
<template #default="scope"> <template #default="scope">
<el-tag type="info" size="small" v-if="scope.row.deleted">{{common.deleted}}</el-tag> <el-tag type="info" size="small" v-if="scope.row.deleted">{{common.deleted}}</el-tag>
<el-tag type="success" size="small" v-else>{{common.normal}}</el-tag> <el-tag type="success" size="small" v-else>{{common.normal}}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column property="deleted" :label="common.action" width="128"> <el-table-column property="deleted" :label="common.action" width="128">
<template #default="scope"> <template #default="scope">
<el-tooltip :content="scope.row.deleted ? common.restore : common.delete" placement="top"> <el-tooltip :content="scope.row.deleted ? common.restore : common.delete" placement="top">
<el-button :loading="state.dataActionLoading" size="small" icon="refresh" plain type="success" @click="deleteData(scope.row.uid, false)" v-if="scope.row.deleted"></el-button> <el-button :loading="state.dataActionLoading" size="small" icon="refresh" plain type="success" @click="deleteData(scope.row.uid, false)" v-if="scope.row.deleted"></el-button>
<el-button :loading="state.dataActionLoading" size="small" icon="delete" plain type="danger" @click="deleteData(scope.row.uid, true)" v-else></el-button> <el-button :loading="state.dataActionLoading" size="small" icon="delete" plain type="danger" @click="deleteData(scope.row.uid, true)" v-else></el-button>
</el-tooltip> </el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -139,10 +139,6 @@ const disableProxy = async () => {
const openGithub = () => shell.openExternal('https://github.com/biuuu/star-rail-warp-export') const openGithub = () => shell.openExternal('https://github.com/biuuu/star-rail-warp-export')
const openLink = (link) => shell.openExternal(link) const openLink = (link) => shell.openExternal(link)
const exportUIGFJSON = () => {
ipcRenderer.invoke('EXPORT_UIGF_JSON')
}
const deleteData = async (uid, action) => { const deleteData = async (uid, action) => {
state.dataActionLoading = true state.dataActionLoading = true
await ipcRenderer.invoke('DELETE_DATA', uid, action) await ipcRenderer.invoke('DELETE_DATA', uid, action)

View File

@ -6,11 +6,11 @@
:root { :root {
--el-font-size-base: 12px !important; --el-font-size-base: 12px !important;
} }
body::-webkit-scrollbar { ::-webkit-scrollbar {
width: 6px; width: 6px;
height: 6px; height: 6px;
} }
body::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
@apply rounded-full bg-gray-300; @apply rounded-full bg-gray-300;
} }
} }

View File

@ -1,11 +1,11 @@
import * as IconComponents from '@element-plus/icons-vue' import * as IconComponents from '@element-plus/icons-vue'
const weaponTypeNames = new Set([ const weaponTypeNames = new Set([
'光锥', '光錐', 'Lichtkegel', 'Light Cone', 'Conos de luz', 'cônes de lumière', '光円錐', '광추', 'Cones de Luz', 'Световые конусы', 'Nón Ánh Sáng' '光锥', '光錐', 'Lichtkegel', 'Light Cone', 'Conos de luz', 'cônes de lumière', '光円錐', '광추', 'Cones de Luz', 'Световые конусы', 'Nón Ánh Sáng', 'Cône de lumière'
]) ])
const characterTypeNames = new Set([ const characterTypeNames = new Set([
'角色', 'Figur', 'Character', 'Personajes', 'Personnages', 'Karakter', 'キャラクター', '캐릭터', 'Personagens', 'Персонажи', 'ตัวละคร', 'Nhân Vật' '角色', 'Figur', 'Character', 'Personajes', 'Personnages', 'Karakter', 'キャラクター', '캐릭터', 'Personagens', 'Персонажи', 'ตัวละคร', 'Nhân Vật', 'Personnage'
]) ])
const isCharacter = (name) => characterTypeNames.has(name) const isCharacter = (name) => characterTypeNames.has(name)

297
yarn.lock
View File

@ -330,10 +330,10 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
"@ctrl/tinycolor@^3.4.0": "@ctrl/tinycolor@^3.4.1":
version "3.4.0" version "3.6.0"
resolved "https://registry.npm.taobao.org/@ctrl/tinycolor/download/@ctrl/tinycolor-3.4.0.tgz?cache=0&sync_timestamp=1612895880147&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40ctrl%2Ftinycolor%2Fdownload%2F%40ctrl%2Ftinycolor-3.4.0.tgz#c3c5ae543c897caa9c2a68630bed355be5f9990f" resolved "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.0.tgz#53fa5fe9c34faee89469e48f91d51a3766108bc8"
integrity sha1-w8WuVDyJfKqcKmhjC+01W+X5mQ8= integrity sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==
"@develar/schema-utils@~2.6.5": "@develar/schema-utils@~2.6.5":
version "2.6.5" version "2.6.5"
@ -372,10 +372,34 @@
minimatch "^3.0.4" minimatch "^3.0.4"
plist "^3.0.4" plist "^3.0.4"
"@element-plus/icons-vue@^0.2.6": "@element-plus/icons-vue@^2.0.6", "@element-plus/icons-vue@^2.1.0":
version "0.2.6" version "2.1.0"
resolved "https://registry.npmmirror.com/@element-plus/icons-vue/download/@element-plus/icons-vue-0.2.6.tgz#28e48aa4abd5b02638b41c1d95a6e7f96bb23308" resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.1.0.tgz#7ad90d08a8c0d5fd3af31c4f73264ca89614397a"
integrity sha512-2gg7VCq4d2firgl7/aVym4Cx/wqKFwKybEQGJiiWJN4urW36+QdAEG1knqSD9qidbjhVp0Jnc9XdSTR1/4Whzw== integrity sha512-PSBn3elNoanENc1vnCfh+3WA9fimRC7n+fWkf3rE5jvv+aBohNHABC/KAR5KWPecxWxDTVT1ERpRbOMRcOV/vA==
"@floating-ui/core@^1.3.1":
version "1.3.1"
resolved "https://registry.npmmirror.com/@floating-ui/core/-/core-1.3.1.tgz#4d795b649cc3b1cbb760d191c80dcb4353c9a366"
integrity sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==
"@floating-ui/dom@^1.0.1":
version "1.4.2"
resolved "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.4.2.tgz#eb3a37f7506c4f95ef735967dc3496b5012e11cb"
integrity sha512-VKmvHVatWnewmGGy+7Mdy4cTJX71Pli6v/Wjb5RQBuq5wjUYx+Ef+kRThi8qggZqDgD8CogCpqhRoVp3+yQk+g==
dependencies:
"@floating-ui/core" "^1.3.1"
"@isaacs/cliui@^8.0.2":
version "8.0.2"
resolved "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==
dependencies:
string-width "^5.1.2"
string-width-cjs "npm:string-width@^4.2.0"
strip-ansi "^7.0.1"
strip-ansi-cjs "npm:strip-ansi@^6.0.1"
wrap-ansi "^8.1.0"
wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
"@istanbuljs/load-nyc-config@^1.0.0": "@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0" version "1.1.0"
@ -660,10 +684,15 @@
"@nodelib/fs.scandir" "2.1.4" "@nodelib/fs.scandir" "2.1.4"
fastq "^1.6.0" fastq "^1.6.0"
"@popperjs/core@^2.11.2": "@pkgjs/parseargs@^0.11.0":
version "2.11.2" version "0.11.0"
resolved "https://registry.npmmirror.com/@popperjs/core/download/@popperjs/core-2.11.2.tgz#830beaec4b4091a9e9398ac50f865ddea52186b9" resolved "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
integrity sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA== integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
"@popperjs/core@npm:@sxzz/popperjs-es@^2.11.7":
version "2.11.7"
resolved "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz#a7f69e3665d3da9b115f9e71671dae1b97e13671"
integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==
"@rollup/plugin-alias@^3.1.9": "@rollup/plugin-alias@^3.1.9":
version "3.1.9" version "3.1.9"
@ -848,6 +877,18 @@
dependencies: dependencies:
"@types/istanbul-lib-report" "*" "@types/istanbul-lib-report" "*"
"@types/lodash-es@^4.17.6":
version "4.17.7"
resolved "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.7.tgz#22edcae9f44aff08546e71db8925f05b33c7cc40"
integrity sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==
dependencies:
"@types/lodash" "*"
"@types/lodash@*", "@types/lodash@^4.14.182":
version "4.14.195"
resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.195.tgz#bafc975b252eb6cea78882ce8a7b6bf22a6de632"
integrity sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==
"@types/minimatch@*": "@types/minimatch@*":
version "3.0.3" version "3.0.3"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
@ -903,6 +944,11 @@
resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.4.tgz#805c0612b3a0c124cf99f517364142946b74ba3b" resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.4.tgz#805c0612b3a0c124cf99f517364142946b74ba3b"
integrity sha512-OjJdqx6QlbyZw9LShPwRW+Kmiegeg3eWNI41MQQKaG3vjdU2L9SRElntM51HmHBY1cu7izxQJ1lMYioQh3XMBg== integrity sha512-OjJdqx6QlbyZw9LShPwRW+Kmiegeg3eWNI41MQQKaG3vjdU2L9SRElntM51HmHBY1cu7izxQJ1lMYioQh3XMBg==
"@types/web-bluetooth@^0.0.16":
version "0.0.16"
resolved "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz#1d12873a8e49567371f2a75fe3e7f7edca6662d8"
integrity sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==
"@types/yargs-parser@*": "@types/yargs-parser@*":
version "20.2.0" version "20.2.0"
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9"
@ -1017,18 +1063,25 @@
resolved "https://registry.npmmirror.com/@vue/shared/download/@vue/shared-3.2.29.tgz#07dac7051117236431d2f737d16932aa38bbb925" resolved "https://registry.npmmirror.com/@vue/shared/download/@vue/shared-3.2.29.tgz#07dac7051117236431d2f737d16932aa38bbb925"
integrity sha512-BjNpU8OK6Z0LVzGUppEk0CMYm/hKDnZfYdjSmPOs0N+TR1cLKJAkDwW8ASZUvaaSLEi6d3hVM7jnWnX+6yWnHw== integrity sha512-BjNpU8OK6Z0LVzGUppEk0CMYm/hKDnZfYdjSmPOs0N+TR1cLKJAkDwW8ASZUvaaSLEi6d3hVM7jnWnX+6yWnHw==
"@vueuse/core@^7.5.4": "@vueuse/core@^9.1.0":
version "7.5.4" version "9.13.0"
resolved "https://registry.npmmirror.com/@vueuse/core/download/@vueuse/core-7.5.4.tgz#c515c6795f1b8ab9a50e62e2f1aa75aac5f1ca14" resolved "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz#2f69e66d1905c1e4eebc249a01759cf88ea00cf4"
integrity sha512-PKmyHN2lZuttGgKmsoMMqiSojSYYKraszilP0gpQIGcLt2YoLABaG3VFjdPs2tY6DM+HG3o70HuzOMEQCY8fqQ== integrity sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==
dependencies: dependencies:
"@vueuse/shared" "7.5.4" "@types/web-bluetooth" "^0.0.16"
"@vueuse/metadata" "9.13.0"
"@vueuse/shared" "9.13.0"
vue-demi "*" vue-demi "*"
"@vueuse/shared@7.5.4": "@vueuse/metadata@9.13.0":
version "7.5.4" version "9.13.0"
resolved "https://registry.npmmirror.com/@vueuse/shared/download/@vueuse/shared-7.5.4.tgz#4285e5c47fe5f2d608f115bf2aa26154f474e881" resolved "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz#bc25a6cdad1b1a93c36ce30191124da6520539ff"
integrity sha512-750RnGUEgg1+K4jGVkv7M5UOStAa/IjAInV6BugyBOvRYL2l1lcIDUi4V/qIKTlhd2oUAByCEnlqIpFD2a3tfw== integrity sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==
"@vueuse/shared@9.13.0":
version "9.13.0"
resolved "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz#089ff4cc4e2e7a4015e57a8f32e4b39d096353b9"
integrity sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==
dependencies: dependencies:
vue-demi "*" vue-demi "*"
@ -1113,6 +1166,11 @@ ansi-regex@^5.0.1:
resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
integrity sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ= integrity sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=
ansi-regex@^6.0.1:
version "6.0.1"
resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
ansi-styles@^2.2.1: ansi-styles@^2.2.1:
version "2.2.1" version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
@ -1137,6 +1195,11 @@ ansi-styles@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
ansi-styles@^6.1.0:
version "6.2.1"
resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
anymatch@^3.0.3: anymatch@^3.0.3:
version "3.1.3" version "3.1.3"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
@ -1239,10 +1302,10 @@ async-exit-hook@^2.0.1:
resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3"
integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==
async-validator@^4.0.7: async-validator@^4.2.5:
version "4.0.7" version "4.2.5"
resolved "https://registry.npmmirror.com/async-validator/download/async-validator-4.0.7.tgz?cache=0&sync_timestamp=1634529574100&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fasync-validator%2Fdownload%2Fasync-validator-4.0.7.tgz#034a0fd2103a6b2ebf010da75183bec299247afe" resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339"
integrity sha1-A0oP0hA6ay6/AQ2nUYO+wpkkev4= integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==
async@^2.6.2: async@^2.6.2:
version "2.6.3" version "2.6.3"
@ -1822,7 +1885,7 @@ cross-env@^7.0.3:
dependencies: dependencies:
cross-spawn "^7.0.1" cross-spawn "^7.0.1"
cross-spawn@^7.0.1, cross-spawn@^7.0.3: cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.3:
version "7.0.3" version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@ -1841,10 +1904,10 @@ csstype@^2.6.8:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.16.tgz#544d69f547013b85a40d15bff75db38f34fe9c39" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.16.tgz#544d69f547013b85a40d15bff75db38f34fe9c39"
integrity sha512-61FBWoDHp/gRtsoDkq/B1nWrCUG/ok1E3tUrcNbZjsE9Cxd9yzUirjS3+nAATB8U4cTtaQmAHbNndoFz5L6C9Q== integrity sha512-61FBWoDHp/gRtsoDkq/B1nWrCUG/ok1E3tUrcNbZjsE9Cxd9yzUirjS3+nAATB8U4cTtaQmAHbNndoFz5L6C9Q==
dayjs@^1.10.7: dayjs@^1.11.3:
version "1.10.7" version "1.11.8"
resolved "https://registry.npmmirror.com/dayjs/download/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.8.tgz#4282f139c8c19dd6d0c7bd571e30c2d0ba7698ea"
integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== integrity sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==
debug@4, debug@^4.3.4: debug@4, debug@^4.3.4:
version "4.3.4" version "4.3.4"
@ -2042,6 +2105,11 @@ duplexer3@^0.1.4:
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
eastasianwidth@^0.2.0:
version "0.2.0"
resolved "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
echarts@^5.2.2: echarts@^5.2.2:
version "5.2.2" version "5.2.2"
resolved "https://registry.npmmirror.com/echarts/download/echarts-5.2.2.tgz#ec3c8b2a151cbba71ba3c2c7cf9b2f2047ce4370" resolved "https://registry.npmmirror.com/echarts/download/echarts-5.2.2.tgz#ec3c8b2a151cbba71ba3c2c7cf9b2f2047ce4370"
@ -2149,20 +2217,26 @@ electron@^16.0.7:
"@types/node" "^14.6.2" "@types/node" "^14.6.2"
extract-zip "^1.0.3" extract-zip "^1.0.3"
element-plus@^1.3.0-beta.7: element-plus@^2.3.7:
version "1.3.0-beta.7" version "2.3.7"
resolved "https://registry.npmmirror.com/element-plus/download/element-plus-1.3.0-beta.7.tgz#8c589d5f6e945dc36181571cacd617f93d93f8f5" resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.3.7.tgz#544a127f0e65f51715e3b24ec3ebf545c46859cd"
integrity sha512-zrkw0OqhJG70oA+O796HK0IU1KSHboQbHcSeQVqhWLxmv/rEHOzEAcRKKeOACQFoJY/EU7CKJVjlV+Gaww1ccA== integrity sha512-h6TxclbaLUJxg/Bv5j/ZKsK+K5yadQliw5+R30HWyE69pXlqXTX24oYx+yw3pA4Dy+lqEDi5501FQ0CORk3OSA==
dependencies: dependencies:
"@ctrl/tinycolor" "^3.4.0" "@ctrl/tinycolor" "^3.4.1"
"@element-plus/icons-vue" "^0.2.6" "@element-plus/icons-vue" "^2.0.6"
"@popperjs/core" "^2.11.2" "@floating-ui/dom" "^1.0.1"
"@vueuse/core" "^7.5.4" "@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.7"
async-validator "^4.0.7" "@types/lodash" "^4.14.182"
dayjs "^1.10.7" "@types/lodash-es" "^4.17.6"
"@vueuse/core" "^9.1.0"
async-validator "^4.2.5"
dayjs "^1.11.3"
escape-html "^1.0.3"
lodash "^4.17.21" lodash "^4.17.21"
lodash-es "^4.17.21"
lodash-unified "^1.0.2"
memoize-one "^6.0.0" memoize-one "^6.0.0"
normalize-wheel-es "^1.1.1" normalize-wheel-es "^1.2.0"
emittery@^0.13.1: emittery@^0.13.1:
version "0.13.1" version "0.13.1"
@ -2174,6 +2248,11 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
emoji-regex@^9.2.2:
version "9.2.2"
resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
encodeurl@^1.0.2: encodeurl@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
@ -2333,6 +2412,11 @@ escalade@^3.1.1:
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
escape-html@^1.0.3:
version "1.0.3"
resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5" version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
@ -2498,6 +2582,14 @@ find-up@^4.0.0, find-up@^4.1.0:
locate-path "^5.0.0" locate-path "^5.0.0"
path-exists "^4.0.0" path-exists "^4.0.0"
foreground-child@^3.1.0:
version "3.1.1"
resolved "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d"
integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==
dependencies:
cross-spawn "^7.0.0"
signal-exit "^4.0.1"
form-data@^4.0.0: form-data@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.npm.taobao.org/form-data/download/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" resolved "https://registry.npm.taobao.org/form-data/download/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
@ -2619,6 +2711,17 @@ glob-parent@^6.0.2:
dependencies: dependencies:
is-glob "^4.0.3" is-glob "^4.0.3"
glob@^10.3.3:
version "10.3.3"
resolved "https://registry.npmmirror.com/glob/-/glob-10.3.3.tgz#8360a4ffdd6ed90df84aa8d52f21f452e86a123b"
integrity sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==
dependencies:
foreground-child "^3.1.0"
jackspeak "^2.0.3"
minimatch "^9.0.1"
minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
path-scurry "^1.10.1"
glob@^7.1.3, glob@^7.1.6: glob@^7.1.3, glob@^7.1.6:
version "7.1.6" version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
@ -3056,6 +3159,15 @@ istanbul-reports@^3.1.3:
html-escaper "^2.0.0" html-escaper "^2.0.0"
istanbul-lib-report "^3.0.0" istanbul-lib-report "^3.0.0"
jackspeak@^2.0.3:
version "2.2.1"
resolved "https://registry.npmmirror.com/jackspeak/-/jackspeak-2.2.1.tgz#655e8cf025d872c9c03d3eb63e8f0c024fef16a6"
integrity sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==
dependencies:
"@isaacs/cliui" "^8.0.2"
optionalDependencies:
"@pkgjs/parseargs" "^0.11.0"
jake@^10.8.5: jake@^10.8.5:
version "10.8.6" version "10.8.6"
resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.6.tgz#227a96786a1e035214e0ba84b482d6223d41ef04" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.6.tgz#227a96786a1e035214e0ba84b482d6223d41ef04"
@ -3578,6 +3690,11 @@ lodash-es@^4.17.21:
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
lodash-unified@^1.0.2:
version "1.0.3"
resolved "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz#80b1eac10ed2eb02ed189f08614a29c27d07c894"
integrity sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==
lodash._arraycopy@^3.0.0: lodash._arraycopy@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1" resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1"
@ -3770,6 +3887,11 @@ lru-cache@^6.0.0:
dependencies: dependencies:
yallist "^4.0.0" yallist "^4.0.0"
"lru-cache@^9.1.1 || ^10.0.0":
version "10.0.0"
resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.0.0.tgz#b9e2a6a72a129d81ab317202d93c7691df727e61"
integrity sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==
magic-string@^0.25.7: magic-string@^0.25.7:
version "0.25.7" version "0.25.7"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
@ -3800,8 +3922,8 @@ matcher@^3.0.0:
memoize-one@^6.0.0: memoize-one@^6.0.0:
version "6.0.0" version "6.0.0"
resolved "https://registry.npmmirror.com/memoize-one/download/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" resolved "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045"
integrity sha1-slkbhx7YKUiu5HJ9xqvO7qyMEEU= integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==
merge-stream@^2.0.0: merge-stream@^2.0.0:
version "2.0.0" version "2.0.0"
@ -3877,6 +3999,13 @@ minimatch@^5.0.1:
dependencies: dependencies:
brace-expansion "^2.0.1" brace-expansion "^2.0.1"
minimatch@^9.0.1:
version "9.0.3"
resolved "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
dependencies:
brace-expansion "^2.0.1"
minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
version "1.2.5" version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
@ -3894,6 +4023,11 @@ minipass@^5.0.0:
resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
"minipass@^5.0.0 || ^6.0.2 || ^7.0.0":
version "7.0.2"
resolved "https://registry.npmmirror.com/minipass/-/minipass-7.0.2.tgz#58a82b7d81c7010da5bd4b2c0c85ac4b4ec5131e"
integrity sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==
minizlib@^2.1.1: minizlib@^2.1.1:
version "2.1.2" version "2.1.2"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
@ -3996,10 +4130,10 @@ normalize-url@^4.1.0:
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129"
integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
normalize-wheel-es@^1.1.1: normalize-wheel-es@^1.2.0:
version "1.1.1" version "1.2.0"
resolved "https://registry.npmmirror.com/normalize-wheel-es/download/normalize-wheel-es-1.1.1.tgz#a8096db6a56f94332d884fd8ebeda88f2fc79569" resolved "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz#0fa2593d619f7245a541652619105ab076acf09e"
integrity sha1-qAlttqVvlDMtiE/Y6+2ojy/HlWk= integrity sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==
npm-conf@^1.1.3: npm-conf@^1.1.3:
version "1.1.3" version "1.1.3"
@ -4144,6 +4278,14 @@ path-parse@^1.0.7:
resolved "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" resolved "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU= integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=
path-scurry@^1.10.1:
version "1.10.1"
resolved "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698"
integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==
dependencies:
lru-cache "^9.1.1 || ^10.0.0"
minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
path-type@^4.0.0: path-type@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
@ -4583,6 +4725,11 @@ signal-exit@^3.0.3, signal-exit@^3.0.7:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
signal-exit@^4.0.1:
version "4.0.2"
resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967"
integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==
simple-update-notifier@^1.0.7: simple-update-notifier@^1.0.7:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82" resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82"
@ -4675,6 +4822,15 @@ string-length@^4.0.1:
char-regex "^1.0.2" char-regex "^1.0.2"
strip-ansi "^6.0.0" strip-ansi "^6.0.0"
"string-width-cjs@npm:string-width@^4.2.0":
version "4.2.3"
resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
string-width@^4.1.0, string-width@^4.2.0: string-width@^4.1.0, string-width@^4.2.0:
version "4.2.2" version "4.2.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
@ -4693,6 +4849,15 @@ string-width@^4.2.3:
is-fullwidth-code-point "^3.0.0" is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1" strip-ansi "^6.0.1"
string-width@^5.0.1, string-width@^5.1.2:
version "5.1.2"
resolved "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
dependencies:
eastasianwidth "^0.2.0"
emoji-regex "^9.2.2"
strip-ansi "^7.0.1"
string_decoder@^1.1.1: string_decoder@^1.1.1:
version "1.3.0" version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
@ -4707,6 +4872,13 @@ string_decoder@~1.1.1:
dependencies: dependencies:
safe-buffer "~5.1.0" safe-buffer "~5.1.0"
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
version "6.0.1"
resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
dependencies:
ansi-regex "^5.0.1"
strip-ansi@^3.0.0: strip-ansi@^3.0.0:
version "3.0.1" version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
@ -4728,6 +4900,13 @@ strip-ansi@^6.0.1:
dependencies: dependencies:
ansi-regex "^5.0.1" ansi-regex "^5.0.1"
strip-ansi@^7.0.1:
version "7.1.0"
resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==
dependencies:
ansi-regex "^6.0.1"
strip-bom@^4.0.0: strip-bom@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
@ -4982,9 +5161,9 @@ vite@2.7.13:
fsevents "~2.3.2" fsevents "~2.3.2"
vue-demi@*: vue-demi@*:
version "0.12.1" version "0.14.5"
resolved "https://registry.npmmirror.com/vue-demi/download/vue-demi-0.12.1.tgz#f7e18efbecffd11ab069d1472d7a06e319b4174c" resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.5.tgz#676d0463d1a1266d5ab5cba932e043d8f5f2fbd9"
integrity sha1-9+GO++z/0RqwadFHLXoG4xm0F0w= integrity sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==
vue@^3.2.29: vue@^3.2.29:
version "3.2.29" version "3.2.29"
@ -5031,6 +5210,15 @@ winreg@^1.2.4:
resolved "https://registry.yarnpkg.com/winreg/-/winreg-1.2.4.tgz#ba065629b7a925130e15779108cf540990e98d1b" resolved "https://registry.yarnpkg.com/winreg/-/winreg-1.2.4.tgz#ba065629b7a925130e15779108cf540990e98d1b"
integrity sha1-ugZWKbepJRMOFXeRCM9UCZDpjRs= integrity sha1-ugZWKbepJRMOFXeRCM9UCZDpjRs=
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
version "7.0.0"
resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
dependencies:
ansi-styles "^4.0.0"
string-width "^4.1.0"
strip-ansi "^6.0.0"
wrap-ansi@^7.0.0: wrap-ansi@^7.0.0:
version "7.0.0" version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
@ -5040,6 +5228,15 @@ wrap-ansi@^7.0.0:
string-width "^4.1.0" string-width "^4.1.0"
strip-ansi "^6.0.0" strip-ansi "^6.0.0"
wrap-ansi@^8.1.0:
version "8.1.0"
resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==
dependencies:
ansi-styles "^6.1.0"
string-width "^5.0.1"
strip-ansi "^7.0.1"
wrappy@1: wrappy@1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"