diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 91f21a92..83e11b5a 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -10,15 +10,15 @@ jobs: steps: - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 - # - uses: pnpm/action-setup@v2.0.1 + # - uses: pnpm/action-setup@v3 # with: - # version: latest - # - uses: actions/setup-node@v2 + # version: 9 + # - uses: actions/setup-node@v4 # with: - # node-version: '16' + # node-version: '20' # cache: 'pnpm' # - run: npm add -g @antfu/ni diff --git a/.github/workflows/deploy-page.yml b/.github/workflows/deploy-page.yml index 2fe7f12a..ba5c6a80 100644 --- a/.github/workflows/deploy-page.yml +++ b/.github/workflows/deploy-page.yml @@ -10,15 +10,15 @@ jobs: steps: - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 - # - uses: pnpm/action-setup@v2.0.1 + # - uses: pnpm/action-setup@v3 # with: - # version: latest - # - uses: actions/setup-node@v2 + # version: 9 + # - uses: actions/setup-node@v4 # with: - # node-version: '16' + # node-version: '20' # cache: 'pnpm' # - run: npm add -g @antfu/ni diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9c02c098..e038b702 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,7 +13,7 @@ jobs: changed-files: ${{ toJSON(steps.changed-files-docs.outputs) }} bump-version: ${{ steps.changed-files-docs.outputs.only_changed == 'false' }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Get changed files in the docs folder @@ -23,77 +23,22 @@ jobs: files: | website/** - upload: - if: "! contains(toJSON(github.event.commits.*.message), '[skip actions]')" - needs: check-files - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - uses: pnpm/action-setup@v2.0.1 - with: - version: latest - - uses: actions/setup-node@v2 - with: - node-version: '16' - cache: 'pnpm' - - - run: npm add -g @antfu/ni - - run: nci - - # - name: Deploy Page Site - # uses: blocklet/action-workflow@v1 - # with: - # skip-deps: false - # skip-bundle: false - # skip-upload: true - # skip-deploy: false - # skip-release: true - # deploy-app-did: zNKkQuRidtsBVskb8oDXKVh5PpM5uD5PKxim - # deploy-mount-point: / - # bundle-command: nr bundle - # working-directory: website/pages - # server-endpoint: ${{ secrets.XMARK_NODE_ENDPOINT }} - # server-access-key: ${{ secrets.XMARK_NODE_ACCESS_KEY }} - # server-access-secret: ${{ secrets.XMARK_NODE_ACCESS_SECRET }} - # slack-webhook: ${{ secrets.SLACK_WEBHOOK }} - - # - name: Deploy Docs Site - # uses: blocklet/action-workflow@v1 - # with: - # skip-deps: true - # skip-bundle: false - # skip-upload: true - # skip-deploy: false - # skip-release: true - # deploy-app-did: zNKkQuRidtsBVskb8oDXKVh5PpM5uD5PKxim - # deploy-mount-point: /docs - # bundle-command: nr bundle - # working-directory: website/docs - # server-endpoint: ${{ secrets.XMARK_NODE_ENDPOINT }} - # server-access-key: ${{ secrets.XMARK_NODE_ACCESS_KEY }} - # server-access-secret: ${{ secrets.XMARK_NODE_ACCESS_SECRET }} - # slack-webhook: ${{ secrets.SLACK_WEBHOOK }} - publish: if: needs.check-files.outputs.bump-version == 'true' runs-on: ubuntu-latest needs: - check-files - - upload steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.GIT_HUB_TOKEN }} - - uses: pnpm/action-setup@v2.0.1 + - uses: pnpm/action-setup@v3 with: - version: latest - - uses: actions/setup-node@v2 + version: 9 + - uses: actions/setup-node@v4 with: - node-version: '18' + node-version: '20' cache: 'pnpm' - run: npm add -g @antfu/ni - run: nci diff --git a/.prettierrc b/.prettierrc index c598203c..acd189f6 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,7 +1,7 @@ { "printWidth": 120, "tabWidth": 2, - "trailingComma": "es5", + "trailingComma": "all", "jsxBracketSameLine": true, "semi": true, "singleQuote": true diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cdbb169..cbb1ba92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,39 @@ +## 0.8.0 (2024-6-30) + +- chore: update root bump-version script +- chore(template): update template docs link +- chore(template): remove svelte template eslint config +- chore(template): polish template details +- chore(template): update blocklet specVersion +- chore(template): update template doc link +- chore(template): tweak template info +- chore(create): eslint should work with create-app +- chore(deps): update deps +- chore(style): update prettier config +- chore(template): update dapp bundle mode -> compact +- chore(template): update todo-list-example template +- chore(template): update svelte-dapp template +- chore(template): update svelte-static template +- chore(template): update vue-dapp template +- chore(deps): update eslint-config-prettier version +- chore(template): update vue-static template +- chore(template): update solidjs-dapp template +- chore(template): update solidjs-static template +- chore(template): update nestjs-api template +- chore(template): update express-api template +- chore(remplate): update prepare scripts +- chore(template): update react-dapp-ts templat +- chore(template): update react-dapp template +- chore(template): update clean script +- chore(templace): update template html file viewport +- chore(create): update react-static templace +- chore(ci): update ci deps +- chore(deps): update missing deps +- chore(deps): update zx & bumpp +- chore(deps): update template deps +- chore(deps): update deps +- chore(ci): update ci version + ## 0.7.9 (2024-4-7) - feat(todo-list-example): improve the todo-list template diff --git a/package.json b/package.json index e4827bf1..9aa336a1 100644 --- a/package.json +++ b/package.json @@ -1,28 +1,28 @@ { "name": "create-blocklet", "private": true, - "version": "0.7.9", + "version": "0.8.0", "description": "", + "keywords": [], + "author": "", + "license": "ISC", "scripts": { + "prepare": "npx simple-git-hooks", "debug": "node packages/create-app/index.js", "test": "echo \"Error: no test specified\" && exit 1", "bump-version": "zx --quiet scripts/bump-version.mjs", - "update:deps": "pnpm -r exec taze -r -n '/arcblock|ocap|abtnode|blocklet|did-connect|did-comment|nedb/' -w", + "update:deps": "pnpm -r exec npx taze -r -n '/arcblock|ocap|abtnode|blocklet|did-connect|did-comment|nedb/' -w", "preinstall": "npx only-allow pnpm", "publish-plugins": "zx --quiet scripts/publish-plugins.mjs" }, - "keywords": [], - "author": "", - "license": "ISC", "dependencies": { - "bumpp": "^7.2.0", - "taze": "^0.13.0", - "zx": "^7.2.3" + "bumpp": "^9.4.1", + "zx": "^8.1.3" + }, + "devDependencies": { + "simple-git-hooks": "^2.11.1" }, - "resolutions": { - "@blocklet/sdk": "^1.16.20", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.1", - "vite-plugin-node-polyfills": "^0.17.0" + "simple-git-hooks": { + "pre-commit": "pnpm -r lint" } } diff --git a/packages/create-app/.eslintignore b/packages/create-app/.eslintignore new file mode 100644 index 00000000..f8a26871 --- /dev/null +++ b/packages/create-app/.eslintignore @@ -0,0 +1 @@ +templates diff --git a/packages/create-app/.eslintrc.js b/packages/create-app/.eslintrc.cjs similarity index 86% rename from packages/create-app/.eslintrc.js rename to packages/create-app/.eslintrc.cjs index 86f3edfe..7671695e 100644 --- a/packages/create-app/.eslintrc.js +++ b/packages/create-app/.eslintrc.cjs @@ -5,6 +5,7 @@ module.exports = { }, extends: '@arcblock/eslint-config-base', rules: { + 'no-use-before-define': ['error', { functions: false }], 'import/extensions': 'off', 'no-console': 'off', 'import/no-unresolved': 'off', diff --git a/packages/create-app/common/.github/workflows/main.yml b/packages/create-app/common/.github/workflows/main.yml index 3fac548c..c0984cd9 100644 --- a/packages/create-app/common/.github/workflows/main.yml +++ b/packages/create-app/common/.github/workflows/main.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - master jobs: Deploy: @@ -13,20 +14,22 @@ jobs: steps: - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - name: Set yarn cache - uses: c-hive/gha-yarn-cache@v2 - - - name: Install dependencies - run: yarn + - uses: pnpm/action-setup@v3 + with: + version: 9 + - uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'pnpm' - name: Blocklet workflow uses: blocklet/action-workflow@v1 with: skip-upload: false skip-deploy: false - bundle-command: yarn bundle + bundle-command: pnpm bundle store-endpoint: ${{ secrets.STORE_ENDPOINT }} store-access-token: ${{ secrets.STORE_ACCESS_TOKEN }} server-endpoint: ${{ secrets.SERVER_ENDPOINT }} diff --git a/packages/create-app/common/.husky/pre-commit b/packages/create-app/common/.husky/pre-commit deleted file mode 100755 index 36af2198..00000000 --- a/packages/create-app/common/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx lint-staged diff --git a/packages/create-app/common/.prettierrc b/packages/create-app/common/.prettierrc index 4d129cc9..3efd235a 100644 --- a/packages/create-app/common/.prettierrc +++ b/packages/create-app/common/.prettierrc @@ -2,7 +2,7 @@ "printWidth": 120, "useTabs": false, "tabWidth": 2, - "trailingComma": "es5", + "trailingComma": "all", "bracketSameLine": true, "semi": true, "singleQuote": true diff --git a/packages/create-app/common/LICENSE b/packages/create-app/common/LICENSE index f8393f76..c3f438c1 100644 --- a/packages/create-app/common/LICENSE +++ b/packages/create-app/common/LICENSE @@ -1,4 +1,4 @@ -Copyright 2018-2020 ArcBlock +Copyright 2018-2024 ArcBlock Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/packages/create-app/common/_gitignore b/packages/create-app/common/_gitignore index e41f4548..ac987bb5 100644 --- a/packages/create-app/common/_gitignore +++ b/packages/create-app/common/_gitignore @@ -14,6 +14,7 @@ build dist dist-ssr .blocklet +.next # local env files *.local diff --git a/packages/create-app/common/_npmrc b/packages/create-app/common/_npmrc deleted file mode 100644 index 6ef2a288..00000000 --- a/packages/create-app/common/_npmrc +++ /dev/null @@ -1,4 +0,0 @@ -## force pnpm to hoist -shamefully-hoist=true -strict-peer-dependencies=false -node-linker=hoisted diff --git a/packages/create-app/common/scripts/build-clean.js b/packages/create-app/common/scripts/build-clean.js deleted file mode 100644 index e40180dc..00000000 --- a/packages/create-app/common/scripts/build-clean.js +++ /dev/null @@ -1,5 +0,0 @@ -const rimraf = require('rimraf'); - -console.log('clean .blocklet folder'); -rimraf.sync('.blocklet'); -console.log('clean .blocklet folder done!'); diff --git a/packages/create-app/common/scripts/build-clean.mjs b/packages/create-app/common/scripts/build-clean.mjs new file mode 100644 index 00000000..5daa6ece --- /dev/null +++ b/packages/create-app/common/scripts/build-clean.mjs @@ -0,0 +1,7 @@ +/* eslint-disable no-console */ + +import { rimrafSync } from 'rimraf'; + +console.log('clean .blocklet folder'); +rimrafSync('.blocklet'); +console.log('clean .blocklet folder done!'); diff --git a/packages/create-app/index.js b/packages/create-app/index.js index c11fbede..39c3679d 100755 --- a/packages/create-app/index.js +++ b/packages/create-app/index.js @@ -33,6 +33,7 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url)); const cwd = process.cwd(); const templates = [ + // dapp { name: 'react-dapp', display: '[dapp] react + express.js', @@ -58,11 +59,11 @@ const templates = [ display: '[dapp] vue3 + express.js', color: green, }, - { - name: 'vue2-dapp', - display: '[dapp] vue2 + express.js', - color: green, - }, + // { + // name: 'vue2-dapp', + // display: '[dapp] vue2 + express.js', + // color: green, + // }, { name: 'svelte-dapp', display: '[dapp] svelte + express.js', @@ -73,11 +74,12 @@ const templates = [ display: '[dapp] next.js', color: blue, }, - { - name: 'react-gun-dapp', - display: '[dapp] react + gun.js + express.js', - color: blue, - }, + // { + // name: 'react-gun-dapp', + // display: '[dapp] react + gun.js + express.js', + // color: blue, + // }, + // static { name: 'react-static', display: '[static] react', @@ -93,11 +95,11 @@ const templates = [ display: '[static] vue3', color: green, }, - { - name: 'vue2-static', - display: '[static] vue2', - color: green, - }, + // { + // name: 'vue2-static', + // display: '[static] vue2', + // color: green, + // }, { name: 'svelte-static', display: '[static] svelte', @@ -108,6 +110,7 @@ const templates = [ display: '[static] html', color: blue, }, + // api { name: 'express-api', display: '[api] express.js', @@ -120,7 +123,7 @@ const templates = [ }, ]; -//see: https://github.com/npm/npm/issues/3763 +// see: https://github.com/npm/npm/issues/3763 const renameFiles = { _gitignore: '.gitignore', _npmrc: '.npmrc', @@ -145,13 +148,14 @@ async function init() { let targetDir = argv._[0] ? String(argv._[0]) : undefined; const inputTemplateName = argv.template; - const connectUrl = argv.connectUrl; + const connectUrl = argv?.connectUrl; const inputDid = argv.did; const checkRes = checkDid(inputDid); if (typeof checkRes === 'string') { console.error(checkRes); return; - } else if (checkRes !== true) { + } + if (checkRes !== true) { console.error(`Invalid blocklet did: ${inputDid}`); return; } @@ -255,7 +259,7 @@ async function init() { onCancel: () => { throw new Error(`${red('✖')} Operation cancelled`); }, - } + }, ); } catch (cancelled) { console.error(cancelled.message); @@ -333,6 +337,7 @@ async function init() { for (const file of commonFiles) { // 如果选择多个模板,每个子 package 中 只会包含必要的 文件 if (mainBlocklet && !['screenshots', 'public', 'logo.png', '.prettierrc', 'LICENSE'].includes(file)) { + // eslint-disable-next-line no-continue continue; } // html-staic 和 xmark 相关的模板不添加 .husky @@ -350,7 +355,7 @@ async function init() { // copy template files (() => { // 过滤掉 template-info.json 文件 - let files = fs.readdirSync(templateDir).filter((file) => file !== 'template-info.json'); + const files = fs.readdirSync(templateDir).filter((file) => file !== 'template-info.json'); for (const file of files) { write(file, null, templateDir, templateName); } @@ -365,7 +370,7 @@ async function init() { pkg.name = mainBlocklet ? finalTemplateName : name; }, templateDir, - templateName + templateName, ); modifyBlockletYaml( (yamlConfig) => { @@ -373,20 +378,21 @@ async function init() { yamlConfig.title = mainBlocklet ? templateName : name; }, templateDir, - templateName + templateName, ); // patch blocklet author modifyBlockletYaml( - async (yamlConfig) => { + (yamlConfig) => { yamlConfig.author.name = authorName; yamlConfig.author.email = authorEmail; }, templateDir, - templateName + templateName, ); // patch did + // eslint-disable-next-line no-inner-declarations, require-await async function patchDid() { const did = didList[index]; modifyBlockletYaml( @@ -394,7 +400,7 @@ async function init() { yamlConfig.did = did; }, templateDir, - templateName + templateName, ); modifyPackage( (pkg) => { @@ -422,12 +428,13 @@ async function init() { } }, templateDir, - templateName + templateName, ); // disabled random logo // const pngIcon = toDidIcon(did, undefined, true); // fs.writeFileSync(path.join(root, 'logo.png'), pngIcon); } + // eslint-disable-next-line no-await-in-loop await patchDid(); } @@ -462,7 +469,7 @@ async function init() { await initGitRepo(root); let defaultAgent = 'npm'; - let agentList = ['npm', 'yarn', 'pnpm']; + const agentList = ['npm', 'yarn', 'pnpm']; // switch (templateNames) { // case 'react': @@ -493,7 +500,7 @@ async function init() { padding: 1, margin: 1, float: 'center', - }) + }), ); hasStart = true; execSync('blocklet dev', { stdio: 'inherit' }); @@ -540,7 +547,7 @@ async function init() { // console.log(dim('\n start it later by:\n')); if (root !== cwd) console.log(blue(` cd ${bold(related)}`)); if (mainBlocklet) { - console.log(blue(`npm run init`)); + console.log(blue('npm run init')); } else { console.log(blue(`${defaultAgent === 'yarn' ? 'yarn' : `${defaultAgent} install`}`)); console.log(cyan('blocklet dev')); @@ -571,20 +578,21 @@ async function init() { return null; } - function modifyPackage(modifyFn = () => {}, templateDir, templateName) { + function modifyPackage(modifyFn = () => {}, templateDir = '', templateName = '') { const pkg = JSON.parse(read('package.json', templateName)); modifyFn(pkg); write('package.json', JSON.stringify(pkg, null, 2), templateDir, templateName); } - function modifyBlockletYaml(modifyFn = () => {}, templateDir, templateName) { + function modifyBlockletYaml(modifyFn = () => {}, templateDir = '', templateName = '') { const blockletYaml = read('blocklet.yml', templateName); const yamlConfig = YAML.parse(blockletYaml); modifyFn(yamlConfig); write('blocklet.yml', YAML.stringify(yamlConfig, 2), templateDir, templateName); } - function modifyEnv(modifyFn = (...args) => ({ ...args }), templateDir, templateName) { + // eslint-disable-next-line no-unused-vars + function modifyEnv(modifyFn = (...args) => ({ ...args }), templateDir = '', templateName = '') { const envContent = read('.env', templateName); if (envContent) { const env = envfile.parse(envContent); diff --git a/packages/create-app/lib/arcblock.js b/packages/create-app/lib/arcblock.js index ac23e0aa..c6bb1811 100644 --- a/packages/create-app/lib/arcblock.js +++ b/packages/create-app/lib/arcblock.js @@ -25,7 +25,7 @@ export function echoBrand({ version = '' }) { }); } export function echoDocument() { - const url = 'https://developer.blocklet.io/docs/'; + const url = 'https://www.arcblock.io/docs/blocklet-developer'; let msg; if (terminalLink.isSupported) { msg = green(terminalLink(`Documentation: ${url}`, url)); diff --git a/packages/create-app/lib/constant.js b/packages/create-app/lib/constant.js index 217da023..bd8a2e41 100644 --- a/packages/create-app/lib/constant.js +++ b/packages/create-app/lib/constant.js @@ -1 +1,2 @@ +/* eslint-disable import/prefer-default-export */ export const BLOCKLET_COMMAND = 'blocklet'; diff --git a/packages/create-app/lib/did.js b/packages/create-app/lib/did.js index cb6aeeff..9379f917 100644 --- a/packages/create-app/lib/did.js +++ b/packages/create-app/lib/did.js @@ -18,7 +18,7 @@ export function toDidIcon(did, size = 200, isPng = false) { return isPng ? jdenticon.toPng(did, size) : jdenticon.toSvg(did, size); } -export async function getBlockletDidList(monikerList = [], connectUrl) { +export async function getBlockletDidList(monikerList = [], connectUrl = '') { try { let command = `${BLOCKLET_COMMAND} init`; if (monikerList.length > 0) { @@ -28,6 +28,7 @@ export async function getBlockletDidList(monikerList = [], connectUrl) { } if (connectUrl) { + // eslint-disable-next-line no-unused-vars command += ` --connectUrl=${connectUrl}`; } const runCommand = new Promise((resolve, reject) => { diff --git a/packages/create-app/lib/git.js b/packages/create-app/lib/git.js index abc9b854..57fef751 100644 --- a/packages/create-app/lib/git.js +++ b/packages/create-app/lib/git.js @@ -4,15 +4,6 @@ const { yellow } = chalk; $.verbose = false; -async function canInitGit() { - const isInstalled = await isGitInstalled(); - const gitInfo = await getUserInfo(); - if (isInstalled && gitInfo.name && gitInfo.email) { - return true; - } - return false; -} - export async function isGitInstalled() { try { await which('git'); @@ -22,18 +13,6 @@ export async function isGitInstalled() { } } -export async function initGitRepo(root) { - const canInstalled = await canInitGit(); - if (canInstalled) { - await cd(root); - await $`git init`; - await $`git add .`; - await $`git commit -m 'init'`; - } else { - console.warn(`${yellow('Git is not installed')}`); - } -} - export async function getUserInfo() { try { const { stdout: name } = await $`git config user.name`; @@ -46,3 +25,24 @@ export async function getUserInfo() { }; } } + +async function canInitGit() { + const isInstalled = await isGitInstalled(); + const gitInfo = await getUserInfo(); + if (isInstalled && gitInfo.name && gitInfo.email) { + return true; + } + return false; +} + +export async function initGitRepo(root) { + const canInstalled = await canInitGit(); + if (canInstalled) { + await cd(root); + await $`git init`; + await $`git add .`; + await $`git commit -m 'init'`; + } else { + console.warn(`${yellow('Git is not installed')}`); + } +} diff --git a/packages/create-app/lib/server.js b/packages/create-app/lib/server.js index d7f52362..d12d8acc 100644 --- a/packages/create-app/lib/server.js +++ b/packages/create-app/lib/server.js @@ -4,7 +4,16 @@ import { BLOCKLET_COMMAND } from './constant.js'; $.verbose = false; -export async function trimServerOutputVersion(output = '', command) { +export async function getServerVersion() { + try { + const { stdout: output } = await $`${BLOCKLET_COMMAND} --version`; + return output.trim(); + } catch (e) { + return '0.0.0'; + } +} + +export async function trimServerOutputVersion(output = '', command = '') { // 调用 blocklet 命令时,都会在第一行先打印一个 blocklet [command] [version] 的信息,需要把这个信息 trim 掉 const version = await getServerVersion(); if (command) { @@ -23,15 +32,6 @@ export async function checkServerInstalled() { } } -export async function getServerVersion() { - try { - const { stdout: output } = await $`${BLOCKLET_COMMAND} --version`; - return output.trim(); - } catch (e) { - return '0.0.0'; - } -} - export async function getServerStatus() { try { const { stdout: output } = await $`${BLOCKLET_COMMAND} server status`; diff --git a/packages/create-app/lib/utils.js b/packages/create-app/lib/utils.js index cd763f76..378bcb81 100644 --- a/packages/create-app/lib/utils.js +++ b/packages/create-app/lib/utils.js @@ -6,6 +6,7 @@ $.verbose = false; export function copy(src, dest) { const stat = fs.statSync(src); if (stat.isDirectory()) { + // eslint-disable-next-line no-use-before-define copyDir(src, dest); } else { fs.copySync(src, dest); @@ -56,7 +57,7 @@ export function emptyDir(dir) { export function fuzzyQuery(list = [], keyWord = '') { const arr = []; - for (var i = 0; i < list.length; i++) { + for (let i = 0; i < list.length; i++) { if (keyWord.includes(list[i])) { arr.push(list[i]); } diff --git a/packages/create-app/package.json b/packages/create-app/package.json index b05fb860..686a13a8 100644 --- a/packages/create-app/package.json +++ b/packages/create-app/package.json @@ -1,6 +1,6 @@ { "name": "create-blocklet", - "version": "0.7.9", + "version": "0.8.0", "exports": "./index.js", "type": "module", "repository": "git@github.com:blocklet/create-blocklet.git", @@ -23,31 +23,31 @@ }, "homepage": "https://github.com/blocklet/create-blocklet/tree/main#readme", "scripts": { - "lint": "eslint .", + "lint": "eslint index.js lib test", "test": "NODE_ENV=development vitest", "test:ui": "vitest --ui", "test:run": "vitest run" }, "dependencies": { - "@arcblock/did": "^1.18.108", - "@ocap/mcrypto": "^1.18.108", - "@ocap/util": "^1.18.108", - "boxen": "^6.2.1", - "ejs": "^3.1.9", - "envfile": "^6.22.0", + "@arcblock/did": "^1.18.124", + "@ocap/mcrypto": "^1.18.124", + "@ocap/util": "^1.18.124", + "boxen": "^7.1.1", + "ejs": "^3.1.10", + "envfile": "^7.1.0", "figlet": "^1.7.0", "gradient-string": "^2.0.2", - "jdenticon": "^3.2.0", - "ora": "^6.3.1", + "jdenticon": "^3.3.0", + "ora": "^8.0.1", "prompts": "^2.4.2", - "semver": "^7.5.4", + "semver": "^7.6.2", "terminal-link": "^3.0.0", - "zx": "7.2.3" + "zx": "^8.1.3" }, "devDependencies": { - "@arcblock/eslint-config-base": "0.2.4", - "eslint": "^8.56.0", - "prettier": "^3.1.1", - "vitest": "^1.1.0" + "@arcblock/eslint-config-base": "^0.3.2", + "eslint": "^8.57.0", + "prettier": "^3.3.2", + "vitest": "^1.6.0" } } diff --git a/packages/create-app/templates/express-api/.env b/packages/create-app/templates/express-api/.env deleted file mode 100644 index b60a167a..00000000 --- a/packages/create-app/templates/express-api/.env +++ /dev/null @@ -1 +0,0 @@ -APP_TITLE='' diff --git a/packages/create-app/templates/express-api/README.md b/packages/create-app/templates/express-api/README.md index 1a6585de..bfed024e 100644 --- a/packages/create-app/templates/express-api/README.md +++ b/packages/create-app/templates/express-api/README.md @@ -31,14 +31,14 @@ This blocklet is a dapp project, which means this is a full-stack application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -138,7 +138,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/express-api/api/hooks/pre-start.js b/packages/create-app/templates/express-api/api/hooks/pre-start.js index dff31e54..f1514a82 100644 --- a/packages/create-app/templates/express-api/api/hooks/pre-start.js +++ b/packages/create-app/templates/express-api/api/hooks/pre-start.js @@ -25,9 +25,10 @@ const ensureAccountDeclared = async () => { (async () => { try { await ensureAccountDeclared(); + logger.info(`${name} pre-start successfully`); process.exit(0); } catch (err) { - logger.error(`${name} pre-start error`, err.message); + logger.error(`${name} pre-start error`, err); process.exit(1); } })(); diff --git a/packages/create-app/templates/express-api/api/index.js b/packages/create-app/templates/express-api/api/index.js index 510c0dc6..fc3d5635 100644 --- a/packages/create-app/templates/express-api/api/index.js +++ b/packages/create-app/templates/express-api/api/index.js @@ -1,22 +1,11 @@ const express = require('express'); -const env = require('./libs/env'); const app = express(); const port = process.env.BLOCKLET_PORT || process.env.PORT || 3030; app.get('/', (req, res) => { - res.send(` -
-

- Blocklet - + Express -

-
-${JSON.stringify(env, null, 2)}
-
-
- `); + res.send('Hello Blocklet!'); }); app.listen(port, () => { diff --git a/packages/create-app/templates/express-api/blocklet.yml b/packages/create-app/templates/express-api/blocklet.yml index 57e2f791..56239a0b 100644 --- a/packages/create-app/templates/express-api/blocklet.yml +++ b/packages/create-app/templates/express-api/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/express-api/package.json b/packages/create-app/templates/express-api/package.json index a8bea056..2abc2a9e 100644 --- a/packages/create-app/templates/express-api/package.json +++ b/packages/create-app/templates/express-api/package.json @@ -1,5 +1,5 @@ { - "name": "express", + "name": "template-express-api", "version": "0.1.0", "description": "", "main": "api/index.js", @@ -8,13 +8,13 @@ "lint:fix": "npm run lint -- --fix", "dev": "blocklet dev", "start": "NODE_ENV=development nodemon api/index.js -w api", - "clean": "node scripts/build-clean.js", - "bundle": "npm run clean && blocklet bundle --zip --create-release", + "clean": "node scripts/build-clean.mjs", + "bundle": "npm run clean && blocklet bundle --compact --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "lint-staged": { @@ -31,20 +31,23 @@ "license": "ISC", "dependencies": { "@arcblock/did-auth-storage-nedb": "^1.7.1", - "@blocklet/sdk": "^1.16.20", - "@ocap/client": "^1.18.108", - "dotenv-flow": "^3.3.0", - "express": "^4.18.2" + "@blocklet/sdk": "^1.16.28", + "@ocap/client": "^1.18.124", + "dotenv-flow": "^4.1.0", + "express": "^4.19.2" }, "devDependencies": { - "@arcblock/eslint-config-base": "^0.2.4", - "bumpp": "^8.2.1", - "eslint": "^8.56.0", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "nodemon": "^3.0.2", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", - "zx": "^7.2.3" + "@arcblock/eslint-config-base": "^0.3.2", + "bumpp": "^9.4.1", + "eslint": "^8.57.0", + "lint-staged": "^15.2.7", + "nodemon": "^3.1.4", + "prettier": "^3.3.2", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "zx": "^8.1.3" + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/express-api/template-info.json b/packages/create-app/templates/express-api/template-info.json index 166288b1..d1a8fe97 100644 --- a/packages/create-app/templates/express-api/template-info.json +++ b/packages/create-app/templates/express-api/template-info.json @@ -1,11 +1,14 @@ { "name": "express-api", - "desc": { "en": "A server-side API application built on Express", "zh": "一个基于 Express 构建的服务端 API 应用" }, + "desc": { + "en": "A server-side API application built on Express", + "zh": "一个基于 Express 构建的服务端 API 应用" + }, "displayName": "Express API", "blockletType": "dapp", "composable": true, "framework": "Express", "languages": "JavaScript", "useCase": "Server Side Application", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/templates/html-static/README.md b/packages/create-app/templates/html-static/README.md index 19be7e99..599136df 100644 --- a/packages/create-app/templates/html-static/README.md +++ b/packages/create-app/templates/html-static/README.md @@ -27,14 +27,14 @@ This blocklet is a static project, which means this is a frontend application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -134,7 +134,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/html-static/app/index.html b/packages/create-app/templates/html-static/app/index.html index 9a07b9d5..4f6b8436 100644 --- a/packages/create-app/templates/html-static/app/index.html +++ b/packages/create-app/templates/html-static/app/index.html @@ -1,40 +1,39 @@ - - - - - - - HTML Template - - - -
-
- - -
-
-
- -
- + +
+
+ + + + + diff --git a/packages/create-app/templates/html-static/app/styles/style.css b/packages/create-app/templates/html-static/app/styles/style.css index 45639228..1ea96f89 100644 --- a/packages/create-app/templates/html-static/app/styles/style.css +++ b/packages/create-app/templates/html-static/app/styles/style.css @@ -22,6 +22,7 @@ a { } .logo { font-size: 18px; + text-align: center; } .footer { @@ -55,7 +56,14 @@ a { background: #fafafa; border-radius: 5px; padding: 0.75rem; - font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, + font-family: + Menlo, + Monaco, + Lucida Console, + Liberation Mono, + DejaVu Sans Mono, + Bitstream Vera Sans Mono, + Courier New, monospace; } diff --git a/packages/create-app/templates/html-static/blocklet.yml b/packages/create-app/templates/html-static/blocklet.yml index ae26b665..4b567b6f 100644 --- a/packages/create-app/templates/html-static/blocklet.yml +++ b/packages/create-app/templates/html-static/blocklet.yml @@ -14,7 +14,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/html-static/package.json b/packages/create-app/templates/html-static/package.json index a9fbf957..78699cfb 100644 --- a/packages/create-app/templates/html-static/package.json +++ b/packages/create-app/templates/html-static/package.json @@ -1,9 +1,9 @@ { - "name": "template-html", + "name": "template-html-static", "version": "0.1.0", "scripts": { "dev": "blocklet dev", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run clean && blocklet bundle --zip --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", @@ -15,8 +15,9 @@ "author": "", "license": "ISC", "devDependencies": { - "bumpp": "^8.2.1", - "rimraf": "^3.0.2", - "zx": "^7.2.3" + "bumpp": "^9.4.1", + "prettier": "^3.3.2", + "rimraf": "^5.0.7", + "zx": "^8.1.3" } } diff --git a/packages/create-app/templates/html-static/template-info.json b/packages/create-app/templates/html-static/template-info.json index fb60216d..3cdf73f9 100644 --- a/packages/create-app/templates/html-static/template-info.json +++ b/packages/create-app/templates/html-static/template-info.json @@ -8,5 +8,5 @@ "composable": true, "languages": "HTML", "useCase": "Starter", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/templates/monorepo/eslintrc.js b/packages/create-app/templates/monorepo/.eslintrc.js similarity index 100% rename from packages/create-app/templates/monorepo/eslintrc.js rename to packages/create-app/templates/monorepo/.eslintrc.js diff --git a/packages/create-app/templates/monorepo/.husky/pre-commit b/packages/create-app/templates/monorepo/.husky/pre-commit deleted file mode 100755 index 36af2198..00000000 --- a/packages/create-app/templates/monorepo/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx lint-staged diff --git a/packages/create-app/templates/monorepo/.prettierrc b/packages/create-app/templates/monorepo/.prettierrc index 4d129cc9..3efd235a 100644 --- a/packages/create-app/templates/monorepo/.prettierrc +++ b/packages/create-app/templates/monorepo/.prettierrc @@ -2,7 +2,7 @@ "printWidth": 120, "useTabs": false, "tabWidth": 2, - "trailingComma": "es5", + "trailingComma": "all", "bracketSameLine": true, "semi": true, "singleQuote": true diff --git a/packages/create-app/templates/monorepo/README.md b/packages/create-app/templates/monorepo/README.md index 53705234..31840c50 100644 --- a/packages/create-app/templates/monorepo/README.md +++ b/packages/create-app/templates/monorepo/README.md @@ -27,14 +27,14 @@ This project is a monorepo project, which means that there are multiple blocklet Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. init project diff --git a/packages/create-app/templates/monorepo/package.json b/packages/create-app/templates/monorepo/package.json index 9180a19f..532b31cf 100644 --- a/packages/create-app/templates/monorepo/package.json +++ b/packages/create-app/templates/monorepo/package.json @@ -1,21 +1,17 @@ { - "name": "root", - "version": "0.1.1", + "name": "template-monorepo", + "version": "0.1.0", "private": true, "workspaces": [ "blocklets/*" ], - "husky": { - "hooks": { - "pre-commit": "npm run lint" - } - }, "scripts": { "init": "lerna bootstrap && lerna link", "lint": "lerna run lint", "lint:fix": "lerna run lint:fix", "build": "lerna run clean && lerna run build", "clean": "lerna clean && lerna run clean", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs", "update:deps": "lerna exec --no-bail -- \"ncu -u -f /arcblock\\|ocap\\|abtnode\\|blocklet\\|did-connect/\" && lerna bootstrap && npx yarn-deduplicate yarn.lock && yarn" }, @@ -23,11 +19,23 @@ "author": "", "license": "ISC", "devDependencies": { - "@arcblock/eslint-config": "0.2.4", - "bumpp": "^7.2.0", - "eslint": "^8.56.0", - "husky": "^4.3.8", - "prettier": "^3.1.1", - "zx": "^7.2.3" + "@arcblock/eslint-config": "^0.3.2", + "bumpp": "^9.4.1", + "eslint": "^8.57.0", + "prettier": "^3.3.2", + "simple-git-hooks": "^2.11.1", + "zx": "^8.1.3" + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" + }, + "lint-staged": { + "*.{mjs,js,ts}": [ + "prettier --write", + "eslint" + ], + "*.{css,less,scss,json,graphql}": [ + "prettier --write" + ] } } diff --git a/packages/create-app/templates/monorepo/scripts/bump-version.mjs b/packages/create-app/templates/monorepo/scripts/bump-version.mjs index 72281d01..4aeee6de 100644 --- a/packages/create-app/templates/monorepo/scripts/bump-version.mjs +++ b/packages/create-app/templates/monorepo/scripts/bump-version.mjs @@ -5,7 +5,7 @@ import { $, chalk, fs, path } from 'zx'; const cwd = process.cwd(); // 获取脚本执行目录 // or use pnpm to bump version: `pnpm -r --filter {packages/*, themes/*} -- pnpm version` -execSync('bumpp package.json blocklets/*/package.json', { stdio: 'inherit' }); +execSync('bumpp --no-tag --no-commit --no-push package.json blocklets/*/package.json', { stdio: 'inherit' }); const { version } = await fs.readJSON('package.json'); await fs.writeFileSync('version', version); diff --git a/packages/create-app/templates/nestjs-api/.eslintrc.js b/packages/create-app/templates/nestjs-api/.eslintrc.js index 17bafcc7..81b503df 100644 --- a/packages/create-app/templates/nestjs-api/.eslintrc.js +++ b/packages/create-app/templates/nestjs-api/.eslintrc.js @@ -1,17 +1,20 @@ +const { join } = require('path'); + module.exports = { parser: '@typescript-eslint/parser', parserOptions: { - project: 'tsconfig.json', tsconfigRootDir: __dirname, sourceType: 'module', + project: [join(__dirname, 'tsconfig.eslint.json'), join(__dirname, 'tsconfig.json')], }, - plugins: ['@typescript-eslint/eslint-plugin'], root: true, - extends: '@arcblock/eslint-config-base', + plugins: ['@typescript-eslint/eslint-plugin'], + extends: ['@arcblock/eslint-config-base'], globals: { logger: true, }, rules: { + 'import/prefer-default-export': 'off', 'no-console': 'off', 'no-restricted-syntax': [ 'error', @@ -20,5 +23,26 @@ module.exports = { message: 'Unexpected property on console object was called', }, ], + 'import/extensions': [ + 'error', + 'ignorePackages', + { + js: 'never', + jsx: 'never', + ts: 'never', + tsx: 'never', + }, + ], + }, + settings: { + 'import/extensions': ['.js', '.jsx', '.ts', '.tsx'], + 'import/parsers': { + '@typescript-eslint/parser': ['.ts', '.tsx'], + }, + 'import/resolver': { + node: { + extensions: ['.js', '.jsx', '.ts', '.tsx'], + }, + }, }, }; diff --git a/packages/create-app/templates/nestjs-api/README.md b/packages/create-app/templates/nestjs-api/README.md index e4ec809b..2a7552b9 100644 --- a/packages/create-app/templates/nestjs-api/README.md +++ b/packages/create-app/templates/nestjs-api/README.md @@ -27,14 +27,14 @@ This blocklet is a dapp project, which means this is a full-stack application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -134,7 +134,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/nestjs-api/api/app.controller.ts b/packages/create-app/templates/nestjs-api/api/app.controller.ts index cce879ee..f7e30b03 100644 --- a/packages/create-app/templates/nestjs-api/api/app.controller.ts +++ b/packages/create-app/templates/nestjs-api/api/app.controller.ts @@ -3,7 +3,9 @@ import { AppService } from './app.service'; @Controller() export class AppController { - constructor(private readonly appService: AppService) {} + constructor(private readonly appService: AppService) { + this.appService = appService; + } @Get() getHello(): string { diff --git a/packages/create-app/templates/nestjs-api/api/app.service.ts b/packages/create-app/templates/nestjs-api/api/app.service.ts index dee8e46d..81fa99d3 100644 --- a/packages/create-app/templates/nestjs-api/api/app.service.ts +++ b/packages/create-app/templates/nestjs-api/api/app.service.ts @@ -1,23 +1,8 @@ import { Injectable } from '@nestjs/common'; -const env = require('@blocklet/sdk/lib/env'); -const environment = { - ...env, - chainHost: process.env.CHAIN_HOST || '', -}; @Injectable() export class AppService { getHello(): string { - return ` -
-

- Blocklet - + NestJS -

-
-    ${JSON.stringify(environment, null, 2)}
-    
-
- `; + return 'Hello Blocklet!'; } } diff --git a/packages/create-app/templates/nestjs-api/api/hooks/pre-start.js b/packages/create-app/templates/nestjs-api/api/hooks/pre-start.js index dff31e54..f1514a82 100644 --- a/packages/create-app/templates/nestjs-api/api/hooks/pre-start.js +++ b/packages/create-app/templates/nestjs-api/api/hooks/pre-start.js @@ -25,9 +25,10 @@ const ensureAccountDeclared = async () => { (async () => { try { await ensureAccountDeclared(); + logger.info(`${name} pre-start successfully`); process.exit(0); } catch (err) { - logger.error(`${name} pre-start error`, err.message); + logger.error(`${name} pre-start error`, err); process.exit(1); } })(); diff --git a/packages/create-app/templates/nestjs-api/blocklet.yml b/packages/create-app/templates/nestjs-api/blocklet.yml index a6016aa9..6709f429 100644 --- a/packages/create-app/templates/nestjs-api/blocklet.yml +++ b/packages/create-app/templates/nestjs-api/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/nestjs-api/package.json b/packages/create-app/templates/nestjs-api/package.json index 403501ba..dcaf9630 100644 --- a/packages/create-app/templates/nestjs-api/package.json +++ b/packages/create-app/templates/nestjs-api/package.json @@ -1,5 +1,5 @@ { - "name": "nestjs", + "name": "template-nestjs-api", "version": "0.1.0", "description": "", "main": "api/main.ts", @@ -9,13 +9,13 @@ "build": "nest build", "dev": "blocklet dev", "start": "NODE_ENV=development && nest start --watch", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run clean && blocklet bundle --zip --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "lint-staged": { @@ -32,35 +32,38 @@ "license": "ISC", "dependencies": { "@arcblock/did-auth-storage-nedb": "^1.7.1", - "@blocklet/sdk": "^1.16.20", - "@nestjs/common": "^10.3.0", - "@nestjs/core": "^10.3.0", - "@nestjs/platform-express": "^10.3.0", - "@ocap/client": "^1.18.108", - "dotenv-flow": "^3.3.0", - "express": "^4.18.2", - "reflect-metadata": "^0.1.14", + "@blocklet/sdk": "^1.16.28", + "@nestjs/common": "^10.3.9", + "@nestjs/core": "^10.3.9", + "@nestjs/platform-express": "^10.3.9", + "@ocap/client": "^1.18.124", + "dotenv-flow": "^4.1.0", + "express": "^4.19.2", + "reflect-metadata": "^0.2.2", "rxjs": "^7.8.1" }, "devDependencies": { - "@arcblock/eslint-config-base": "^0.2.4", - "@nestjs/cli": "^10.2.1", - "@nestjs/schematics": "^10.0.3", + "@arcblock/eslint-config-base": "^0.3.2", + "@nestjs/cli": "^10.3.2", + "@nestjs/schematics": "^10.1.1", "@types/express": "^4.17.21", - "@types/node": "^18.19.3", - "@typescript-eslint/eslint-plugin": "^6.15.0", - "@typescript-eslint/parser": "^6.15.0", - "bumpp": "^8.2.1", - "eslint": "^8.56.0", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "nodemon": "^3.0.2", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", + "@types/node": "^20.14.9", + "@typescript-eslint/eslint-plugin": "^7.14.1", + "@typescript-eslint/parser": "^7.14.1", + "bumpp": "^9.4.1", + "eslint": "^8.57.0", + "lint-staged": "^15.2.7", + "nodemon": "^3.1.4", + "prettier": "^3.3.2", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", "source-map-support": "^0.5.21", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", - "typescript": "^5.3.3", - "zx": "^7.2.3" + "typescript": "^5.5.2", + "zx": "^8.1.3" + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/nestjs-api/template-info.json b/packages/create-app/templates/nestjs-api/template-info.json index 5dadbcb9..b34cd594 100644 --- a/packages/create-app/templates/nestjs-api/template-info.json +++ b/packages/create-app/templates/nestjs-api/template-info.json @@ -1,6 +1,9 @@ { "name": "nestjs-api", - "desc": { "en": "A server-side API application built on NestJS", "zh": "一个基于 NestJS 构建的服务端 API 应用" }, + "desc": { + "en": "A server-side API application built on NestJS", + "zh": "一个基于 NestJS 构建的服务端 API 应用" + }, "displayName": "NestJS API", "blockletType": "dapp", "composable": true, diff --git a/packages/create-app/templates/nestjs-api/tsconfig.build.json b/packages/create-app/templates/nestjs-api/tsconfig.build.json index 2fe1df27..04a31572 100644 --- a/packages/create-app/templates/nestjs-api/tsconfig.build.json +++ b/packages/create-app/templates/nestjs-api/tsconfig.build.json @@ -1,4 +1,9 @@ { "extends": "./tsconfig.json", - "exclude": ["node_modules", "dist", "test", "**/*spec.ts"] + "exclude": [ + "node_modules", + "dist", + "test", + "**/*spec.ts" + ] } diff --git a/packages/create-app/templates/nestjs-api/tsconfig.eslint.json b/packages/create-app/templates/nestjs-api/tsconfig.eslint.json new file mode 100644 index 00000000..a3129675 --- /dev/null +++ b/packages/create-app/templates/nestjs-api/tsconfig.eslint.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "noEmit": true + }, + "include": [".eslintrc.js"] +} diff --git a/packages/create-app/templates/nextjs-dapp/README.md b/packages/create-app/templates/nextjs-dapp/README.md index a184e51d..4ccadf64 100644 --- a/packages/create-app/templates/nextjs-dapp/README.md +++ b/packages/create-app/templates/nextjs-dapp/README.md @@ -38,14 +38,14 @@ This blocklet is a dapp project, which means this is a full-stack application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -145,7 +145,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/nextjs-dapp/api/hooks/pre-start.js b/packages/create-app/templates/nextjs-dapp/api/hooks/pre-start.js index dff31e54..f1514a82 100644 --- a/packages/create-app/templates/nextjs-dapp/api/hooks/pre-start.js +++ b/packages/create-app/templates/nextjs-dapp/api/hooks/pre-start.js @@ -25,9 +25,10 @@ const ensureAccountDeclared = async () => { (async () => { try { await ensureAccountDeclared(); + logger.info(`${name} pre-start successfully`); process.exit(0); } catch (err) { - logger.error(`${name} pre-start error`, err.message); + logger.error(`${name} pre-start error`, err); process.exit(1); } })(); diff --git a/packages/create-app/templates/nextjs-dapp/blocklet.yml b/packages/create-app/templates/nextjs-dapp/blocklet.yml index 7dab96b9..d1e2fe9f 100644 --- a/packages/create-app/templates/nextjs-dapp/blocklet.yml +++ b/packages/create-app/templates/nextjs-dapp/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/nextjs-dapp/package.json b/packages/create-app/templates/nextjs-dapp/package.json index 3455aff7..f55eb9bc 100644 --- a/packages/create-app/templates/nextjs-dapp/package.json +++ b/packages/create-app/templates/nextjs-dapp/package.json @@ -1,5 +1,5 @@ { - "name": "nextjs", + "name": "template-nextjs-dapp", "version": "0.1.0", "private": true, "scripts": { @@ -7,15 +7,15 @@ "start": "nodemon -w api api/index.js", "lint": "next lint", "lint:fix": "npm run lint -- --fix", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run bundle:client && npm run bundle:api", "bundle:client": "PUBLIC_URL='/.blocklet/proxy/<%= did %>' next build", - "bundle:api": "npm run clean && blocklet bundle --zip --create-release", + "bundle:api": "npm run clean && blocklet bundle --compact --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "lint-staged": { @@ -28,27 +28,30 @@ ] }, "dependencies": { - "@arcblock/did-auth": "^1.18.108", + "@arcblock/did-auth": "^1.18.124", "@arcblock/did-auth-storage-nedb": "^1.7.1", - "@blocklet/sdk": "^1.16.20", - "@ocap/client": "^1.18.108", - "@ocap/mcrypto": "^1.18.108", - "@ocap/wallet": "^1.18.108", - "dotenv-flow": "^3.3.0", - "express": "^4.18.2", - "next": "14.0.4", + "@blocklet/sdk": "^1.16.28", + "@ocap/client": "^1.18.124", + "@ocap/mcrypto": "^1.18.124", + "@ocap/wallet": "^1.18.124", + "dotenv-flow": "^4.1.0", + "express": "^4.19.2", + "next": "14.2.4", "react": "18.2.0", "react-dom": "18.2.0" }, "devDependencies": { - "bumpp": "^8.2.1", - "eslint": "8.56.0", - "eslint-config-next": "14.0.4", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "nodemon": "^3.0.2", + "bumpp": "^9.4.1", + "eslint": "8.57.0", + "eslint-config-next": "14.2.4", + "lint-staged": "^15.2.7", + "nodemon": "^3.1.4", "npm-run-all": "^4.1.5", - "rimraf": "^3.0.2", - "zx": "^7.2.3" + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "zx": "^8.1.3" + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/nextjs-dapp/pages/_app.js b/packages/create-app/templates/nextjs-dapp/pages/_app.js index 197b6341..fedfc1e9 100644 --- a/packages/create-app/templates/nextjs-dapp/pages/_app.js +++ b/packages/create-app/templates/nextjs-dapp/pages/_app.js @@ -8,7 +8,7 @@ function MyApp({ Component, pageProps }) { {process.env.APP_TITLE} - + - + + + + + + + + + + +
+ + + diff --git a/packages/create-app/templates/react-dapp-ts/package.json b/packages/create-app/templates/react-dapp-ts/package.json index 31e54954..aaac5133 100644 --- a/packages/create-app/templates/react-dapp-ts/package.json +++ b/packages/create-app/templates/react-dapp-ts/package.json @@ -1,18 +1,18 @@ { - "name": "template-react-ts", + "name": "template-react-dapp-ts", "version": "0.1.0", "scripts": { "dev": "blocklet dev", "lint": "tsc --noEmit && eslint src api/src --ext .mjs,.js,.jsx,.ts,.tsx", "lint:fix": "npm run lint -- --fix", "start": "cross-env NODE_ENV=development nodemon api/dev.ts -w api", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "tsc --noEmit && npm run bundle:client && npm run bundle:api", "bundle:client": "vite build", - "bundle:api": "npm run clean && tsc -p tsconfig.api.json && blocklet bundle --zip --create-release", + "bundle:api": "npm run clean && tsc -p tsconfig.api.json && blocklet bundle --compact --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "lint-staged": { @@ -37,50 +37,51 @@ ] }, "dependencies": { - "@arcblock/did-auth": "^1.18.108", + "@arcblock/did-auth": "^1.18.124", "@arcblock/did-auth-storage-nedb": "^1.7.1", - "@blocklet/sdk": "^1.16.20", - "@ocap/client": "^1.18.108", - "@ocap/mcrypto": "^1.18.108", - "@ocap/wallet": "^1.18.108", - "axios": "^1.6.2", + "@blocklet/sdk": "^1.16.28", + "@ocap/client": "^1.18.124", + "@ocap/mcrypto": "^1.18.124", + "@ocap/wallet": "^1.18.124", + "axios": "^1.7.2", "cookie-parser": "^1.4.6", "cors": "^2.8.5", - "dotenv-flow": "^3.3.0", - "express": "^4.18.2", - "express-async-errors": "^3.1.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-router-dom": "^6.21.0", - "rimraf": "^3.0.2" + "dotenv-flow": "^4.1.0", + "express": "^4.19.2", + "express-async-errors": "^3.1.1" }, "devDependencies": { - "@arcblock/eslint-config": "^0.2.4", - "@arcblock/eslint-config-ts": "^0.2.4", - "@types/cookie-parser": "^1.4.6", + "@arcblock/eslint-config": "^0.3.2", + "@arcblock/eslint-config-ts": "^0.3.2", + "@blocklet/js-sdk": "^1.16.28", + "@types/cookie-parser": "^1.4.7", "@types/cors": "^2.8.17", "@types/dotenv-flow": "^3.3.3", "@types/express": "^4.17.21", - "@types/node": "^18.19.3", - "@types/react": "^18.2.45", - "@types/react-dom": "^18.2.18", - "@vitejs/plugin-react": "^4.2.1", - "bumpp": "^8.2.1", + "@types/node": "^20.14.9", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "bumpp": "^9.4.1", "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "husky": "^8.0.3", + "eslint": "^8.57.0", "import-sort-style-module": "^6.0.0", - "lint-staged": "^12.5.0", - "nodemon": "^3.0.2", + "lint-staged": "^15.2.7", + "nodemon": "^3.1.4", "npm-run-all": "^4.1.5", - "prettier": "^3.1.1", + "prettier": "^3.3.2", "prettier-plugin-import-sort": "^0.0.7", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.24.0", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", "ts-node": "^10.9.2", - "typescript": "^5.3.3", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", + "typescript": "^5.5.2", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", "vite-plugin-svgr": "^4.2.0", - "zx": "^7.2.3" + "zx": "^8.1.3" }, "importSort": { ".js, .jsx, .mjs": { @@ -91,5 +92,8 @@ "style": "module", "parser": "typescript" } + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/react-dapp-ts/src/app.css b/packages/create-app/templates/react-dapp-ts/src/app.css deleted file mode 100644 index 492f88d4..00000000 --- a/packages/create-app/templates/react-dapp-ts/src/app.css +++ /dev/null @@ -1,30 +0,0 @@ -html, -body { - padding: 0; - margin: 0; -} -.app { - text-align: center; -} - -.app-logo { - height: 10vmin; - pointer-events: none; -} - -.app-header { - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); -} - -pre { - font-size: 0.75em; -} - -.app-link { - color: #4f6af5; -} diff --git a/packages/create-app/templates/react-dapp-ts/src/app.tsx b/packages/create-app/templates/react-dapp-ts/src/app.tsx index 6b9a37e0..ac560aa1 100644 --- a/packages/create-app/templates/react-dapp-ts/src/app.tsx +++ b/packages/create-app/templates/react-dapp-ts/src/app.tsx @@ -1,8 +1,5 @@ -import './app.css'; +import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; -import { Navigate, Route, BrowserRouter as Router, Routes } from 'react-router-dom'; - -import About from './pages/about'; import Home from './pages/home'; function App() { @@ -10,8 +7,6 @@ function App() {
} /> - } /> - } /> } />
diff --git a/packages/create-app/templates/react-dapp-ts/src/assets/blocklet.svg b/packages/create-app/templates/react-dapp-ts/src/assets/blocklet.svg new file mode 100644 index 00000000..13e63446 --- /dev/null +++ b/packages/create-app/templates/react-dapp-ts/src/assets/blocklet.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/packages/create-app/templates/react-dapp-ts/src/assets/react.svg b/packages/create-app/templates/react-dapp-ts/src/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/packages/create-app/templates/react-dapp-ts/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/create-app/templates/react-dapp-ts/src/assets/vite.svg b/packages/create-app/templates/react-dapp-ts/src/assets/vite.svg new file mode 100644 index 00000000..e7b8dfb1 --- /dev/null +++ b/packages/create-app/templates/react-dapp-ts/src/assets/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/create-app/templates/react-dapp-ts/src/index.css b/packages/create-app/templates/react-dapp-ts/src/index.css new file mode 100644 index 00000000..6119ad9a --- /dev/null +++ b/packages/create-app/templates/react-dapp-ts/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/packages/create-app/templates/react-dapp-ts/src/index.tsx b/packages/create-app/templates/react-dapp-ts/src/index.tsx index ffa04516..2ed02a0c 100644 --- a/packages/create-app/templates/react-dapp-ts/src/index.tsx +++ b/packages/create-app/templates/react-dapp-ts/src/index.tsx @@ -1,6 +1,6 @@ import ReactDOM from 'react-dom/client'; - import App from './app'; +import './index.css'; -const root = ReactDOM.createRoot(document.getElementById('app')!); +const root = ReactDOM.createRoot(document.getElementById('app') as HTMLElement); root.render(); diff --git a/packages/create-app/templates/react-dapp-ts/src/libs/api.ts b/packages/create-app/templates/react-dapp-ts/src/libs/api.ts index 2b3e6c64..e595a8b7 100644 --- a/packages/create-app/templates/react-dapp-ts/src/libs/api.ts +++ b/packages/create-app/templates/react-dapp-ts/src/libs/api.ts @@ -1,14 +1,7 @@ -import axios from 'axios'; +import { createAxios } from '@blocklet/js-sdk'; -axios.interceptors.request.use( - (config) => { - const prefix = window.blocklet ? window.blocklet.prefix : '/'; - config.baseURL = prefix || ''; - config.timeout = 200000; +const api = createAxios({ + baseURL: window?.blocklet?.prefix || '/', +}); - return config; - }, - (error) => Promise.reject(error) -); - -export default axios; +export default api; diff --git a/packages/create-app/templates/react-dapp-ts/src/logo.svg b/packages/create-app/templates/react-dapp-ts/src/logo.svg deleted file mode 100644 index ec2e1d92..00000000 --- a/packages/create-app/templates/react-dapp-ts/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/create-app/templates/react-dapp-ts/src/pages/about.tsx b/packages/create-app/templates/react-dapp-ts/src/pages/about.tsx deleted file mode 100644 index 2e92ae8b..00000000 --- a/packages/create-app/templates/react-dapp-ts/src/pages/about.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { Link } from 'react-router-dom'; - -function About() { - return ( -
-

- - Back Home - -

-

Hello, i'm a dapp blocklet

-
- ); -} - -export default About; diff --git a/packages/create-app/templates/react-dapp-ts/src/pages/home.css b/packages/create-app/templates/react-dapp-ts/src/pages/home.css new file mode 100644 index 00000000..601e2693 --- /dev/null +++ b/packages/create-app/templates/react-dapp-ts/src/pages/home.css @@ -0,0 +1,45 @@ +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} +.logo.blocklet:hover { + filter: drop-shadow(0 0 2em #22cdcdaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/packages/create-app/templates/react-dapp-ts/src/pages/home.tsx b/packages/create-app/templates/react-dapp-ts/src/pages/home.tsx index 8b7cba31..18882a26 100644 --- a/packages/create-app/templates/react-dapp-ts/src/pages/home.tsx +++ b/packages/create-app/templates/react-dapp-ts/src/pages/home.tsx @@ -1,21 +1,48 @@ -import { Link } from 'react-router-dom'; - -import logo from '../logo.svg'; +import { useState } from 'react'; +import reactLogo from '../assets/react.svg'; +import blockletLogo from '../assets/blocklet.svg'; +import viteLogo from '../assets/vite.svg'; +import './home.css'; +import api from '../libs/api'; function Home() { + const [count, setCount] = useState(0); + + async function getApiData() { + const { data } = await api.get('/api/data'); + const { message } = data; + alert(`Message from api: ${message}`); + } + return ( -
- logo -
-        window.blocklet = {JSON.stringify(window.blocklet, null, 2)}
-      
- - About - - - Learn Blocklet - -
+ <> +
+ + Vite logo + + + React logo + + + Blocklet logo + +
+

Vite + React + Blocklet

+
+ +
+
+ +

+ Edit src/app.tsx and save to test HMR +

+
+

Click on the Vite and React logos to learn more

+ ); } diff --git a/packages/create-app/templates/react-dapp-ts/tsconfig.api.json b/packages/create-app/templates/react-dapp-ts/tsconfig.api.json index ded8cffd..d3430112 100644 --- a/packages/create-app/templates/react-dapp-ts/tsconfig.api.json +++ b/packages/create-app/templates/react-dapp-ts/tsconfig.api.json @@ -5,5 +5,8 @@ "noEmit": false, "noEmitOnError": true }, - "include": ["api/*.d.ts", "api/src"] + "include": [ + "api/*.d.ts", + "api/src" + ] } diff --git a/packages/create-app/templates/react-dapp-ts/tsconfig.eslint.json b/packages/create-app/templates/react-dapp-ts/tsconfig.eslint.json index a3129675..131cc4ea 100644 --- a/packages/create-app/templates/react-dapp-ts/tsconfig.eslint.json +++ b/packages/create-app/templates/react-dapp-ts/tsconfig.eslint.json @@ -3,5 +3,7 @@ "compilerOptions": { "noEmit": true }, - "include": [".eslintrc.js"] + "include": [ + ".eslintrc.js" + ] } diff --git a/packages/create-app/templates/react-dapp/README.md b/packages/create-app/templates/react-dapp/README.md index 280e0add..b802678c 100644 --- a/packages/create-app/templates/react-dapp/README.md +++ b/packages/create-app/templates/react-dapp/README.md @@ -38,14 +38,14 @@ This blocklet is a dapp project, which means this is a full-stack application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -145,7 +145,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/react-dapp/api/hooks/pre-start.js b/packages/create-app/templates/react-dapp/api/hooks/pre-start.js index dff31e54..f1514a82 100644 --- a/packages/create-app/templates/react-dapp/api/hooks/pre-start.js +++ b/packages/create-app/templates/react-dapp/api/hooks/pre-start.js @@ -25,9 +25,10 @@ const ensureAccountDeclared = async () => { (async () => { try { await ensureAccountDeclared(); + logger.info(`${name} pre-start successfully`); process.exit(0); } catch (err) { - logger.error(`${name} pre-start error`, err.message); + logger.error(`${name} pre-start error`, err); process.exit(1); } })(); diff --git a/packages/create-app/templates/react-dapp/api/routes/index.js b/packages/create-app/templates/react-dapp/api/routes/index.js index 04f50432..cf8fa991 100644 --- a/packages/create-app/templates/react-dapp/api/routes/index.js +++ b/packages/create-app/templates/react-dapp/api/routes/index.js @@ -3,4 +3,10 @@ const router = require('express').Router(); router.use('/user', middleware.user(), (req, res) => res.json(req.user || {})); +router.use('/data', (req, res) => + res.json({ + message: 'Hello Blocklet!', + }), +); + module.exports = router; diff --git a/packages/create-app/templates/react-dapp/blocklet.yml b/packages/create-app/templates/react-dapp/blocklet.yml index 625491c1..27f5ca82 100644 --- a/packages/create-app/templates/react-dapp/blocklet.yml +++ b/packages/create-app/templates/react-dapp/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/react-dapp/index.html b/packages/create-app/templates/react-dapp/index.html index 8e678c45..13e89557 100644 --- a/packages/create-app/templates/react-dapp/index.html +++ b/packages/create-app/templates/react-dapp/index.html @@ -1,14 +1,17 @@ - - - - - - - - -
- - + + + + + + + + + + +
+ + + diff --git a/packages/create-app/templates/react-dapp/package.json b/packages/create-app/templates/react-dapp/package.json index 0b36312d..b1331ac7 100644 --- a/packages/create-app/templates/react-dapp/package.json +++ b/packages/create-app/templates/react-dapp/package.json @@ -1,20 +1,20 @@ { - "name": "template-react", + "name": "template-react-dapp", "version": "0.1.0", "scripts": { "dev": "blocklet dev", "lint": "eslint src api --ext .mjs,.js,.jsx,.ts,.tsx", "lint:fix": "npm run lint -- --fix", "start": "cross-env NODE_ENV=development nodemon api/dev.js -w api", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run bundle:client && npm run bundle:api", "bundle:client": "vite build", - "bundle:api": "npm run clean && blocklet bundle --zip --create-release", + "bundle:api": "npm run clean && blocklet bundle --compact --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "lint-staged": { @@ -39,37 +39,41 @@ ] }, "dependencies": { - "@arcblock/did-auth": "^1.18.108", + "@arcblock/did-auth": "^1.18.124", "@arcblock/did-auth-storage-nedb": "^1.7.1", - "@blocklet/sdk": "^1.16.20", - "@ocap/client": "^1.18.108", - "@ocap/mcrypto": "^1.18.108", - "@ocap/wallet": "^1.18.108", - "axios": "^1.6.2", + "@blocklet/sdk": "^1.16.28", + "@ocap/client": "^1.18.124", + "@ocap/mcrypto": "^1.18.124", + "@ocap/wallet": "^1.18.124", + "axios": "^1.7.2", "cookie-parser": "^1.4.6", "cors": "^2.8.5", - "dotenv-flow": "^3.3.0", - "express": "^4.18.2", - "express-async-errors": "^3.1.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-router-dom": "^6.21.0", - "rimraf": "^3.0.2" + "dotenv-flow": "^4.1.0", + "express": "^4.19.2", + "express-async-errors": "^3.1.1" }, "devDependencies": { - "@arcblock/eslint-config": "^0.2.4", - "@vitejs/plugin-react": "^4.2.1", - "bumpp": "^8.2.1", + "@arcblock/eslint-config": "^0.3.2", + "@blocklet/js-sdk": "^1.16.28", + "@vitejs/plugin-react": "^4.3.1", + "bumpp": "^9.4.1", "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "nodemon": "^3.0.2", + "eslint": "^8.57.0", + "lint-staged": "^15.2.7", + "nodemon": "^3.1.4", "npm-run-all": "^4.1.5", - "prettier": "^3.1.1", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", + "prettier": "^3.3.2", + "rimraf": "^5.0.7", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.24.0", + "simple-git-hooks": "^2.11.1", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", "vite-plugin-svgr": "^4.2.0", - "zx": "^7.2.3" + "zx": "^8.1.3" + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/react-dapp/src/app.css b/packages/create-app/templates/react-dapp/src/app.css deleted file mode 100644 index 492f88d4..00000000 --- a/packages/create-app/templates/react-dapp/src/app.css +++ /dev/null @@ -1,30 +0,0 @@ -html, -body { - padding: 0; - margin: 0; -} -.app { - text-align: center; -} - -.app-logo { - height: 10vmin; - pointer-events: none; -} - -.app-header { - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); -} - -pre { - font-size: 0.75em; -} - -.app-link { - color: #4f6af5; -} diff --git a/packages/create-app/templates/react-dapp/src/app.jsx b/packages/create-app/templates/react-dapp/src/app.jsx index 05b65baa..ac560aa1 100644 --- a/packages/create-app/templates/react-dapp/src/app.jsx +++ b/packages/create-app/templates/react-dapp/src/app.jsx @@ -1,16 +1,12 @@ import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; -import './app.css'; import Home from './pages/home'; -import About from './pages/about'; function App() { return (
- } /> - } /> - } /> + } /> } />
diff --git a/packages/create-app/templates/react-dapp/src/assets/blocklet.svg b/packages/create-app/templates/react-dapp/src/assets/blocklet.svg new file mode 100644 index 00000000..13e63446 --- /dev/null +++ b/packages/create-app/templates/react-dapp/src/assets/blocklet.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/packages/create-app/templates/react-dapp/src/assets/react.svg b/packages/create-app/templates/react-dapp/src/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/packages/create-app/templates/react-dapp/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/create-app/templates/react-dapp/src/assets/vite.svg b/packages/create-app/templates/react-dapp/src/assets/vite.svg new file mode 100644 index 00000000..e7b8dfb1 --- /dev/null +++ b/packages/create-app/templates/react-dapp/src/assets/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/create-app/templates/react-dapp/src/index.css b/packages/create-app/templates/react-dapp/src/index.css new file mode 100644 index 00000000..6119ad9a --- /dev/null +++ b/packages/create-app/templates/react-dapp/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/packages/create-app/templates/react-dapp/src/index.jsx b/packages/create-app/templates/react-dapp/src/index.jsx index 29816d8a..ee7d71d6 100644 --- a/packages/create-app/templates/react-dapp/src/index.jsx +++ b/packages/create-app/templates/react-dapp/src/index.jsx @@ -1,5 +1,6 @@ import ReactDOM from 'react-dom/client'; import App from './app'; +import './index.css'; const root = ReactDOM.createRoot(document.getElementById('app')); root.render(); diff --git a/packages/create-app/templates/react-dapp/src/libs/api.js b/packages/create-app/templates/react-dapp/src/libs/api.js index 2b3e6c64..e595a8b7 100644 --- a/packages/create-app/templates/react-dapp/src/libs/api.js +++ b/packages/create-app/templates/react-dapp/src/libs/api.js @@ -1,14 +1,7 @@ -import axios from 'axios'; +import { createAxios } from '@blocklet/js-sdk'; -axios.interceptors.request.use( - (config) => { - const prefix = window.blocklet ? window.blocklet.prefix : '/'; - config.baseURL = prefix || ''; - config.timeout = 200000; +const api = createAxios({ + baseURL: window?.blocklet?.prefix || '/', +}); - return config; - }, - (error) => Promise.reject(error) -); - -export default axios; +export default api; diff --git a/packages/create-app/templates/react-dapp/src/logo.svg b/packages/create-app/templates/react-dapp/src/logo.svg deleted file mode 100644 index ec2e1d92..00000000 --- a/packages/create-app/templates/react-dapp/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/create-app/templates/react-dapp/src/pages/about.jsx b/packages/create-app/templates/react-dapp/src/pages/about.jsx deleted file mode 100644 index 2e92ae8b..00000000 --- a/packages/create-app/templates/react-dapp/src/pages/about.jsx +++ /dev/null @@ -1,16 +0,0 @@ -import { Link } from 'react-router-dom'; - -function About() { - return ( -
-

- - Back Home - -

-

Hello, i'm a dapp blocklet

-
- ); -} - -export default About; diff --git a/packages/create-app/templates/react-dapp/src/pages/home.css b/packages/create-app/templates/react-dapp/src/pages/home.css new file mode 100644 index 00000000..601e2693 --- /dev/null +++ b/packages/create-app/templates/react-dapp/src/pages/home.css @@ -0,0 +1,45 @@ +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} +.logo.blocklet:hover { + filter: drop-shadow(0 0 2em #22cdcdaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/packages/create-app/templates/react-dapp/src/pages/home.jsx b/packages/create-app/templates/react-dapp/src/pages/home.jsx index 8b7cba31..27134e93 100644 --- a/packages/create-app/templates/react-dapp/src/pages/home.jsx +++ b/packages/create-app/templates/react-dapp/src/pages/home.jsx @@ -1,21 +1,48 @@ -import { Link } from 'react-router-dom'; - -import logo from '../logo.svg'; +import { useState } from 'react'; +import reactLogo from '../assets/react.svg'; +import blockletLogo from '../assets/blocklet.svg'; +import viteLogo from '../assets/vite.svg'; +import './home.css'; +import api from '../libs/api'; function Home() { + const [count, setCount] = useState(0); + + async function getApiData() { + const { data } = await api.get('/api/data'); + const { message } = data; + alert(`Message from api: ${message}`); + } + return ( -
- logo -
-        window.blocklet = {JSON.stringify(window.blocklet, null, 2)}
-      
- - About - - - Learn Blocklet - -
+ <> +
+ + Vite logo + + + React logo + + + Blocklet logo + +
+

Vite + React + Blocklet

+
+ +
+
+ +

+ Edit src/app.jsx and save to test HMR +

+
+

Click on the Vite and React logos to learn more

+ ); } diff --git a/packages/create-app/templates/react-dapp/template-info.json b/packages/create-app/templates/react-dapp/template-info.json index 17378946..a12c9ea8 100644 --- a/packages/create-app/templates/react-dapp/template-info.json +++ b/packages/create-app/templates/react-dapp/template-info.json @@ -8,5 +8,5 @@ "composable": true, "languages": "JavaScript", "useCase": "Starter", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/templates/react-gun-dapp/README.md b/packages/create-app/templates/react-gun-dapp/README.md index b1167270..39c00320 100644 --- a/packages/create-app/templates/react-gun-dapp/README.md +++ b/packages/create-app/templates/react-gun-dapp/README.md @@ -38,14 +38,14 @@ This blocklet is a dapp project, which means this is a full-stack application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -145,7 +145,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/react-gun-dapp/api/hooks/pre-start.js b/packages/create-app/templates/react-gun-dapp/api/hooks/pre-start.js index dff31e54..f1514a82 100644 --- a/packages/create-app/templates/react-gun-dapp/api/hooks/pre-start.js +++ b/packages/create-app/templates/react-gun-dapp/api/hooks/pre-start.js @@ -25,9 +25,10 @@ const ensureAccountDeclared = async () => { (async () => { try { await ensureAccountDeclared(); + logger.info(`${name} pre-start successfully`); process.exit(0); } catch (err) { - logger.error(`${name} pre-start error`, err.message); + logger.error(`${name} pre-start error`, err); process.exit(1); } })(); diff --git a/packages/create-app/templates/react-gun-dapp/blocklet.yml b/packages/create-app/templates/react-gun-dapp/blocklet.yml index 1e8d04f8..2ab50d98 100644 --- a/packages/create-app/templates/react-gun-dapp/blocklet.yml +++ b/packages/create-app/templates/react-gun-dapp/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/react-gun-dapp/index.html b/packages/create-app/templates/react-gun-dapp/index.html index 8e678c45..13e89557 100644 --- a/packages/create-app/templates/react-gun-dapp/index.html +++ b/packages/create-app/templates/react-gun-dapp/index.html @@ -1,14 +1,17 @@ - - - - - - - - -
- - + + + + + + + + + + +
+ + + diff --git a/packages/create-app/templates/react-gun-dapp/package.json b/packages/create-app/templates/react-gun-dapp/package.json index 4ca73ef0..c52bebed 100644 --- a/packages/create-app/templates/react-gun-dapp/package.json +++ b/packages/create-app/templates/react-gun-dapp/package.json @@ -1,20 +1,20 @@ { - "name": "react-gun", + "name": "template-react-gun-dapp", "version": "0.1.0", "scripts": { "dev": "blocklet dev", "lint": "eslint src api --ext .mjs,.js,.jsx,.ts,.tsx", "lint:fix": "npm run lint -- --fix", "start": "cross-env NODE_ENV=development nodemon api/dev.js -w api", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run bundle:client && npm run bundle:api", "bundle:client": "vite build", - "bundle:api": "npm run clean && blocklet bundle --zip --create-release", + "bundle:api": "npm run clean && blocklet bundle --compact --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "lint-staged": { @@ -39,38 +39,41 @@ ] }, "dependencies": { - "@arcblock/did-auth": "^1.18.108", + "@arcblock/did-auth": "^1.18.124", "@arcblock/did-auth-storage-nedb": "^1.7.1", - "@blocklet/sdk": "^1.16.20", - "@ocap/client": "^1.18.108", - "@ocap/mcrypto": "^1.18.108", - "@ocap/wallet": "^1.18.108", - "axios": "^1.6.2", + "@blocklet/sdk": "^1.16.28", + "@ocap/client": "^1.18.124", + "@ocap/mcrypto": "^1.18.124", + "@ocap/wallet": "^1.18.124", + "axios": "^1.7.2", "cookie-parser": "^1.4.6", "cors": "^2.8.5", - "dotenv-flow": "^3.3.0", - "express": "^4.18.2", + "dotenv-flow": "^4.1.0", + "express": "^4.19.2", "express-async-errors": "^3.1.1", - "gun": "^0.2020.1239", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-router-dom": "^6.21.0" + "gun": "^0.2020.1240" }, "devDependencies": { - "@arcblock/eslint-config": "^0.2.4", - "@vitejs/plugin-react": "^4.2.1", - "bumpp": "^8.2.1", + "@arcblock/eslint-config": "^0.3.2", + "@vitejs/plugin-react": "^4.3.1", + "bumpp": "^9.4.1", "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "nodemon": "^3.0.2", + "eslint": "^8.57.0", + "lint-staged": "^15.2.7", + "nodemon": "^3.1.4", "npm-run-all": "^4.1.5", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", + "prettier": "^3.3.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.24.0", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", "vite-plugin-svgr": "^4.2.0", - "zx": "^7.2.3" + "zx": "^8.1.3" + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/react-gun-dapp/src/app.jsx b/packages/create-app/templates/react-gun-dapp/src/app.jsx index 05b65baa..d2bea45b 100644 --- a/packages/create-app/templates/react-gun-dapp/src/app.jsx +++ b/packages/create-app/templates/react-gun-dapp/src/app.jsx @@ -8,7 +8,7 @@ function App() { return (
- } /> + } /> } /> } /> } /> diff --git a/packages/create-app/templates/react-gun-dapp/src/libs/api.js b/packages/create-app/templates/react-gun-dapp/src/libs/api.js index 2b3e6c64..12b0d1b4 100644 --- a/packages/create-app/templates/react-gun-dapp/src/libs/api.js +++ b/packages/create-app/templates/react-gun-dapp/src/libs/api.js @@ -8,7 +8,7 @@ axios.interceptors.request.use( return config; }, - (error) => Promise.reject(error) + (error) => Promise.reject(error), ); export default axios; diff --git a/packages/create-app/templates/react-gun-dapp/src/pages/about.jsx b/packages/create-app/templates/react-gun-dapp/src/pages/about.jsx index 18e28245..308a4f7d 100644 --- a/packages/create-app/templates/react-gun-dapp/src/pages/about.jsx +++ b/packages/create-app/templates/react-gun-dapp/src/pages/about.jsx @@ -12,7 +12,11 @@ function About() { Home - + Learn Blocklet diff --git a/packages/create-app/templates/react-gun-dapp/src/pages/home.jsx b/packages/create-app/templates/react-gun-dapp/src/pages/home.jsx index 71478c06..562a07e4 100644 --- a/packages/create-app/templates/react-gun-dapp/src/pages/home.jsx +++ b/packages/create-app/templates/react-gun-dapp/src/pages/home.jsx @@ -49,7 +49,11 @@ export default function Home() { Home - + Learn Blocklet diff --git a/packages/create-app/templates/react-static/README.md b/packages/create-app/templates/react-static/README.md index 46d5bf1e..4fae611e 100644 --- a/packages/create-app/templates/react-static/README.md +++ b/packages/create-app/templates/react-static/README.md @@ -32,14 +32,14 @@ This blocklet is a static project, which means this is a frontend application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -139,7 +139,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/react-static/blocklet.yml b/packages/create-app/templates/react-static/blocklet.yml index 4697bfb3..2540e841 100644 --- a/packages/create-app/templates/react-static/blocklet.yml +++ b/packages/create-app/templates/react-static/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/react-static/index.html b/packages/create-app/templates/react-static/index.html index 8e678c45..13e89557 100644 --- a/packages/create-app/templates/react-static/index.html +++ b/packages/create-app/templates/react-static/index.html @@ -1,14 +1,17 @@ - - - - - - - - -
- - + + + + + + + + + + +
+ + + diff --git a/packages/create-app/templates/react-static/package.json b/packages/create-app/templates/react-static/package.json index 97134792..c9aa9768 100644 --- a/packages/create-app/templates/react-static/package.json +++ b/packages/create-app/templates/react-static/package.json @@ -1,5 +1,6 @@ { - "name": "template-react", + "name": "template-react-static", + "private": true, "version": "0.1.0", "scripts": { "dev": "blocklet dev", @@ -7,13 +8,13 @@ "lint": "eslint src --ext .mjs,.js,.jsx,.ts,.tsx", "lint:fix": "npm run lint -- --fix", "start": "vite --host", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run clean && vite build && blocklet bundle --zip --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "lint-staged": { @@ -37,23 +38,24 @@ "last 1 safari version" ] }, - "dependencies": { + "devDependencies": { + "@arcblock/eslint-config": "^0.3.2", + "@vitejs/plugin-react": "^4.3.1", + "bumpp": "^9.4.1", + "eslint": "^8.57.0", + "lint-staged": "^15.2.7", + "prettier": "^3.3.2", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-router-dom": "^6.21.0" - }, - "devDependencies": { - "@arcblock/eslint-config": "^0.2.4", - "@vitejs/plugin-react": "^4.2.1", - "bumpp": "^8.2.1", - "eslint": "^8.56.0", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", + "react-router-dom": "^6.24.0", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", "vite-plugin-svgr": "^4.2.0", - "zx": "^7.2.3" + "zx": "^8.1.3" + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/react-static/src/app.css b/packages/create-app/templates/react-static/src/app.css deleted file mode 100644 index 492f88d4..00000000 --- a/packages/create-app/templates/react-static/src/app.css +++ /dev/null @@ -1,30 +0,0 @@ -html, -body { - padding: 0; - margin: 0; -} -.app { - text-align: center; -} - -.app-logo { - height: 10vmin; - pointer-events: none; -} - -.app-header { - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); -} - -pre { - font-size: 0.75em; -} - -.app-link { - color: #4f6af5; -} diff --git a/packages/create-app/templates/react-static/src/app.jsx b/packages/create-app/templates/react-static/src/app.jsx index 05b65baa..ac560aa1 100644 --- a/packages/create-app/templates/react-static/src/app.jsx +++ b/packages/create-app/templates/react-static/src/app.jsx @@ -1,16 +1,12 @@ import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; -import './app.css'; import Home from './pages/home'; -import About from './pages/about'; function App() { return (
- } /> - } /> - } /> + } /> } />
diff --git a/packages/create-app/templates/react-static/src/assets/blocklet.svg b/packages/create-app/templates/react-static/src/assets/blocklet.svg new file mode 100644 index 00000000..13e63446 --- /dev/null +++ b/packages/create-app/templates/react-static/src/assets/blocklet.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/packages/create-app/templates/react-static/src/assets/react.svg b/packages/create-app/templates/react-static/src/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/packages/create-app/templates/react-static/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/create-app/templates/react-static/src/assets/vite.svg b/packages/create-app/templates/react-static/src/assets/vite.svg new file mode 100644 index 00000000..e7b8dfb1 --- /dev/null +++ b/packages/create-app/templates/react-static/src/assets/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/create-app/templates/react-static/src/index.css b/packages/create-app/templates/react-static/src/index.css new file mode 100644 index 00000000..6119ad9a --- /dev/null +++ b/packages/create-app/templates/react-static/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/packages/create-app/templates/react-static/src/index.jsx b/packages/create-app/templates/react-static/src/index.jsx index 29816d8a..ee7d71d6 100644 --- a/packages/create-app/templates/react-static/src/index.jsx +++ b/packages/create-app/templates/react-static/src/index.jsx @@ -1,5 +1,6 @@ import ReactDOM from 'react-dom/client'; import App from './app'; +import './index.css'; const root = ReactDOM.createRoot(document.getElementById('app')); root.render(); diff --git a/packages/create-app/templates/react-static/src/logo.svg b/packages/create-app/templates/react-static/src/logo.svg deleted file mode 100644 index 133db0d6..00000000 --- a/packages/create-app/templates/react-static/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/create-app/templates/react-static/src/pages/about.jsx b/packages/create-app/templates/react-static/src/pages/about.jsx deleted file mode 100644 index 1a906922..00000000 --- a/packages/create-app/templates/react-static/src/pages/about.jsx +++ /dev/null @@ -1,16 +0,0 @@ -import { Link } from 'react-router-dom'; - -function About() { - return ( -
-

- - Back Home - -

-

Hello, i'm a static blocklet

-
- ); -} - -export default About; diff --git a/packages/create-app/templates/react-static/src/pages/home.css b/packages/create-app/templates/react-static/src/pages/home.css new file mode 100644 index 00000000..601e2693 --- /dev/null +++ b/packages/create-app/templates/react-static/src/pages/home.css @@ -0,0 +1,45 @@ +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} +.logo.blocklet:hover { + filter: drop-shadow(0 0 2em #22cdcdaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/packages/create-app/templates/react-static/src/pages/home.jsx b/packages/create-app/templates/react-static/src/pages/home.jsx index 8b7cba31..ec5e8b4d 100644 --- a/packages/create-app/templates/react-static/src/pages/home.jsx +++ b/packages/create-app/templates/react-static/src/pages/home.jsx @@ -1,21 +1,36 @@ -import { Link } from 'react-router-dom'; - -import logo from '../logo.svg'; +import { useState } from 'react'; +import reactLogo from '../assets/react.svg'; +import blockletLogo from '../assets/blocklet.svg'; +import viteLogo from '../assets/vite.svg'; +import './home.css'; function Home() { + const [count, setCount] = useState(0); + return ( -
- logo -
-        window.blocklet = {JSON.stringify(window.blocklet, null, 2)}
-      
- - About - -
- Learn Blocklet - -
+ <> + +

Vite + React + Blocklet

+
+ +

+ Edit src/app.jsx and save to test HMR +

+
+

Click on the Vite and React logos to learn more

+ ); } diff --git a/packages/create-app/templates/react-static/template-info.json b/packages/create-app/templates/react-static/template-info.json index 68e6a377..343324ce 100644 --- a/packages/create-app/templates/react-static/template-info.json +++ b/packages/create-app/templates/react-static/template-info.json @@ -1,9 +1,12 @@ { "name": "react-static", - "desc": { "en": "A front-end application skeleton built with React", "zh": "一个基于 React 构建的前端应用骨架" }, + "desc": { + "en": "A front-end application skeleton built with React", + "zh": "一个基于 React 构建的前端应用骨架" + }, "blockletType": "static", "composable": true, "languages": "JavaScript", "useCase": "Starter", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/templates/solidjs-dapp/.eslintrc.js b/packages/create-app/templates/solidjs-dapp/.eslintrc.js index 17f43072..518224fb 100644 --- a/packages/create-app/templates/solidjs-dapp/.eslintrc.js +++ b/packages/create-app/templates/solidjs-dapp/.eslintrc.js @@ -6,7 +6,8 @@ module.exports = { es6: true, }, parserOptions: { - ecmaVersion: 2018, + ecmaVersion: 'latest', + sourceType: 'module', }, plugins: ['solid'], extends: ['eslint:recommended', 'plugin:prettier/recommended', 'plugin:solid/recommended'], diff --git a/packages/create-app/templates/solidjs-dapp/README.md b/packages/create-app/templates/solidjs-dapp/README.md index 8f9d5640..dc2f5fc9 100644 --- a/packages/create-app/templates/solidjs-dapp/README.md +++ b/packages/create-app/templates/solidjs-dapp/README.md @@ -32,14 +32,14 @@ This blocklet is a static project, which means this is a frontend application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -139,7 +139,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/solidjs-dapp/api/hooks/pre-start.js b/packages/create-app/templates/solidjs-dapp/api/hooks/pre-start.js index dff31e54..f1514a82 100644 --- a/packages/create-app/templates/solidjs-dapp/api/hooks/pre-start.js +++ b/packages/create-app/templates/solidjs-dapp/api/hooks/pre-start.js @@ -25,9 +25,10 @@ const ensureAccountDeclared = async () => { (async () => { try { await ensureAccountDeclared(); + logger.info(`${name} pre-start successfully`); process.exit(0); } catch (err) { - logger.error(`${name} pre-start error`, err.message); + logger.error(`${name} pre-start error`, err); process.exit(1); } })(); diff --git a/packages/create-app/templates/solidjs-dapp/api/routes/index.js b/packages/create-app/templates/solidjs-dapp/api/routes/index.js index 04f50432..cf8fa991 100644 --- a/packages/create-app/templates/solidjs-dapp/api/routes/index.js +++ b/packages/create-app/templates/solidjs-dapp/api/routes/index.js @@ -3,4 +3,10 @@ const router = require('express').Router(); router.use('/user', middleware.user(), (req, res) => res.json(req.user || {})); +router.use('/data', (req, res) => + res.json({ + message: 'Hello Blocklet!', + }), +); + module.exports = router; diff --git a/packages/create-app/templates/solidjs-dapp/blocklet.yml b/packages/create-app/templates/solidjs-dapp/blocklet.yml index b4fe121a..c6e800e6 100644 --- a/packages/create-app/templates/solidjs-dapp/blocklet.yml +++ b/packages/create-app/templates/solidjs-dapp/blocklet.yml @@ -6,19 +6,21 @@ keywords: - solidjs group: dapp did: '' -main: dist +main: api/index.js author: name: Blocklet email: blocklet@arcblock.io repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: - logo.png - screenshots + - dist + - api/hooks/pre-start.js interfaces: - type: web name: publicUrl diff --git a/packages/create-app/templates/solidjs-dapp/index.html b/packages/create-app/templates/solidjs-dapp/index.html index 6a68895c..0e0e475c 100644 --- a/packages/create-app/templates/solidjs-dapp/index.html +++ b/packages/create-app/templates/solidjs-dapp/index.html @@ -1,15 +1,18 @@ - - - - - - - - -
- - - + + + + + + + + + + +
+ + + + diff --git a/packages/create-app/templates/solidjs-dapp/package.json b/packages/create-app/templates/solidjs-dapp/package.json index 00e27827..64ad979f 100644 --- a/packages/create-app/templates/solidjs-dapp/package.json +++ b/packages/create-app/templates/solidjs-dapp/package.json @@ -1,64 +1,68 @@ { - "name": "vite-template-solid", + "name": "template-solid-dapp", "version": "0.0.0", "description": "", "scripts": { "dev": "blocklet dev", "start": "cross-env NODE_ENV=development nodemon api/dev.js -w api", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run bundle:client && npm run bundle:api", "bundle:client": "vite build", - "bundle:api": "npm run clean && blocklet bundle --zip --create-release", + "bundle:api": "npm run clean && blocklet bundle --compact --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", - "lint": "eslint src --ext .mjs,.js,.jsx", + "lint": "eslint src --ext .mjs,.js,.jsx,.tsx", "lint:fix": "npm run lint -- --fix", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "license": "MIT", "devDependencies": { - "bumpp": "^8.2.1", + "@blocklet/js-sdk": "^1.16.28", + "bumpp": "^9.4.1", "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-solid": "0.13.0", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "nodemon": "^3.0.2", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-solid": "0.14.1", + "lint-staged": "^15.2.7", + "nodemon": "^3.1.4", "npm-run-all": "^4.1.5", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", - "vite-plugin-solid": "^2.8.0", - "zx": "^7.2.3" + "prettier": "^3.3.2", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", + "vite-plugin-solid": "^2.10.2", + "zx": "^8.1.3" }, "dependencies": { - "@arcblock/did-auth": "^1.18.108", + "@arcblock/did-auth": "^1.18.124", "@arcblock/did-auth-storage-nedb": "^1.7.1", - "@blocklet/sdk": "^1.16.20", - "@ocap/client": "^1.18.108", - "@ocap/mcrypto": "^1.18.108", - "@ocap/wallet": "^1.18.108", - "axios": "^1.6.2", + "@blocklet/sdk": "^1.16.28", + "@ocap/client": "^1.18.124", + "@ocap/mcrypto": "^1.18.124", + "@ocap/wallet": "^1.18.124", + "axios": "^1.7.2", "cookie-parser": "^1.4.6", "cors": "^2.8.5", - "dotenv-flow": "^3.3.0", - "express": "^4.18.2", + "dotenv-flow": "^4.1.0", + "express": "^4.19.2", "express-async-errors": "^3.1.1", - "solid-js": "^1.8.7" + "solid-js": "^1.8.18" }, "lint-staged": { - "*.{mjs,js,vue}": [ + "*.{mjs,js,jsx,tsx}": [ "prettier --write", - "eslint --ext .js,.vue,.mjs" + "eslint --ext .js,.mjs,.jsx,.tsx" ], "*.{css,less,scss,json,graphql}": [ "prettier --write" ] + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/solidjs-dapp/src/App.jsx b/packages/create-app/templates/solidjs-dapp/src/App.jsx index 2b1e9182..1e23b3cd 100644 --- a/packages/create-app/templates/solidjs-dapp/src/App.jsx +++ b/packages/create-app/templates/solidjs-dapp/src/App.jsx @@ -1,17 +1,29 @@ -import logo from './logo.svg'; +import solidjsLogo from './assets/solidjs.svg'; +import blockletLogo from './assets/blocklet.svg'; import styles from './App.module.css'; +import api from './libs/api'; function App() { + async function getApiData() { + const { data } = await api.get('/api/data'); + const { message } = data; + alert(`Message from api: ${message}`); + } + return (
- logo +
+ solidjs logo + blocklet logo +

Edit src/App.jsx and save to reload.

+ Learn Blocklet diff --git a/packages/create-app/templates/solidjs-dapp/src/App.module.css b/packages/create-app/templates/solidjs-dapp/src/App.module.css index 48308b24..0a5ee9f5 100644 --- a/packages/create-app/templates/solidjs-dapp/src/App.module.css +++ b/packages/create-app/templates/solidjs-dapp/src/App.module.css @@ -4,7 +4,7 @@ .logo { animation: logo-spin infinite 20s linear; - height: 40vmin; + height: 20vmin; pointer-events: none; } @@ -23,6 +23,12 @@ color: #b318f0; } +.container { + display: flex; + align-items: center; + gap: 6vmin; +} + @keyframes logo-spin { from { transform: rotate(0deg); diff --git a/packages/create-app/templates/solidjs-dapp/src/assets/blocklet.svg b/packages/create-app/templates/solidjs-dapp/src/assets/blocklet.svg new file mode 100644 index 00000000..13e63446 --- /dev/null +++ b/packages/create-app/templates/solidjs-dapp/src/assets/blocklet.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/packages/create-app/templates/solidjs-static/src/logo.svg b/packages/create-app/templates/solidjs-dapp/src/assets/solidjs.svg similarity index 96% rename from packages/create-app/templates/solidjs-static/src/logo.svg rename to packages/create-app/templates/solidjs-dapp/src/assets/solidjs.svg index 025aa303..88498771 100644 --- a/packages/create-app/templates/solidjs-static/src/logo.svg +++ b/packages/create-app/templates/solidjs-dapp/src/assets/solidjs.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/packages/create-app/templates/solidjs-dapp/src/index.css b/packages/create-app/templates/solidjs-dapp/src/index.css index ec2585e8..08b05863 100644 --- a/packages/create-app/templates/solidjs-dapp/src/index.css +++ b/packages/create-app/templates/solidjs-dapp/src/index.css @@ -1,13 +1,29 @@ body { margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', + 'Droid Sans', 'Helvetica Neue', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 8px 18px; + font-size: 20px; + font-weight: 500; + font-family: inherit; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; } diff --git a/packages/create-app/templates/solidjs-dapp/src/libs/api.js b/packages/create-app/templates/solidjs-dapp/src/libs/api.js new file mode 100644 index 00000000..e595a8b7 --- /dev/null +++ b/packages/create-app/templates/solidjs-dapp/src/libs/api.js @@ -0,0 +1,7 @@ +import { createAxios } from '@blocklet/js-sdk'; + +const api = createAxios({ + baseURL: window?.blocklet?.prefix || '/', +}); + +export default api; diff --git a/packages/create-app/templates/solidjs-dapp/template-info.json b/packages/create-app/templates/solidjs-dapp/template-info.json index 86c51084..196678e9 100644 --- a/packages/create-app/templates/solidjs-dapp/template-info.json +++ b/packages/create-app/templates/solidjs-dapp/template-info.json @@ -8,5 +8,5 @@ "composable": true, "languages": "JavaScript", "useCase": "Starter", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/templates/solidjs-static/.eslintrc.js b/packages/create-app/templates/solidjs-static/.eslintrc.js index e5b6cdfa..3178798f 100644 --- a/packages/create-app/templates/solidjs-static/.eslintrc.js +++ b/packages/create-app/templates/solidjs-static/.eslintrc.js @@ -1,3 +1,4 @@ +/* eslint-env node */ module.exports = { root: true, plugins: ['solid'], @@ -6,4 +7,7 @@ module.exports = { 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', }, + parserOptions: { + sourceType: 'module', + }, }; diff --git a/packages/create-app/templates/solidjs-static/README.md b/packages/create-app/templates/solidjs-static/README.md index 8f9d5640..dc2f5fc9 100644 --- a/packages/create-app/templates/solidjs-static/README.md +++ b/packages/create-app/templates/solidjs-static/README.md @@ -32,14 +32,14 @@ This blocklet is a static project, which means this is a frontend application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -139,7 +139,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/solidjs-static/blocklet.yml b/packages/create-app/templates/solidjs-static/blocklet.yml index 3899deff..42986ae7 100644 --- a/packages/create-app/templates/solidjs-static/blocklet.yml +++ b/packages/create-app/templates/solidjs-static/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/solidjs-static/index.html b/packages/create-app/templates/solidjs-static/index.html index 6a68895c..0e0e475c 100644 --- a/packages/create-app/templates/solidjs-static/index.html +++ b/packages/create-app/templates/solidjs-static/index.html @@ -1,15 +1,18 @@ - - - - - - - - -
- - - + + + + + + + + + + +
+ + + + diff --git a/packages/create-app/templates/solidjs-static/package.json b/packages/create-app/templates/solidjs-static/package.json index 20733d88..d425e73a 100644 --- a/packages/create-app/templates/solidjs-static/package.json +++ b/packages/create-app/templates/solidjs-static/package.json @@ -1,5 +1,5 @@ { - "name": "vite-template-solid", + "name": "template-solid-static", "version": "0.0.0", "description": "", "scripts": { @@ -8,41 +8,42 @@ "lint": "eslint src --ext .mjs,.js,.jsx", "lint:fix": "npm run lint -- --fix", "serve": "vite preview", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run clean && vite build && blocklet bundle --zip --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "license": "MIT", "devDependencies": { - "bumpp": "^8.2.1", - "eslint": "^8.56.0", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-prettier": "^5.1.0", - "eslint-plugin-solid": "0.13.0", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", - "vite-plugin-solid": "^2.8.0", - "zx": "^7.2.3" - }, - "dependencies": { - "solid-js": "^1.8.7" + "bumpp": "^9.4.1", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-solid": "0.14.1", + "lint-staged": "^15.2.7", + "prettier": "^3.3.2", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "solid-js": "^1.8.18", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", + "vite-plugin-solid": "^2.10.2", + "zx": "^8.1.3" }, "lint-staged": { - "*.{mjs,js,vue}": [ + "*.{mjs,js,jsx,tsx}": [ "prettier --write", - "eslint --ext .js,.vue,.mjs" + "eslint --ext .js,.mjs,.jsx,.tsx" ], "*.{css,less,scss,json,graphql}": [ "prettier --write" ] + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/solidjs-static/src/App.jsx b/packages/create-app/templates/solidjs-static/src/App.jsx index 2b1e9182..9158fd66 100644 --- a/packages/create-app/templates/solidjs-static/src/App.jsx +++ b/packages/create-app/templates/solidjs-static/src/App.jsx @@ -1,17 +1,21 @@ -import logo from './logo.svg'; +import solidjsLogo from './assets/solidjs.svg'; +import blockletLogo from './assets/blocklet.svg'; import styles from './App.module.css'; function App() { return (
- logo +
+ solidjs logo + blocklet logo +

Edit src/App.jsx and save to reload.

Learn Blocklet diff --git a/packages/create-app/templates/solidjs-static/src/App.module.css b/packages/create-app/templates/solidjs-static/src/App.module.css index 48308b24..0a5ee9f5 100644 --- a/packages/create-app/templates/solidjs-static/src/App.module.css +++ b/packages/create-app/templates/solidjs-static/src/App.module.css @@ -4,7 +4,7 @@ .logo { animation: logo-spin infinite 20s linear; - height: 40vmin; + height: 20vmin; pointer-events: none; } @@ -23,6 +23,12 @@ color: #b318f0; } +.container { + display: flex; + align-items: center; + gap: 6vmin; +} + @keyframes logo-spin { from { transform: rotate(0deg); diff --git a/packages/create-app/templates/solidjs-static/src/assets/blocklet.svg b/packages/create-app/templates/solidjs-static/src/assets/blocklet.svg new file mode 100644 index 00000000..13e63446 --- /dev/null +++ b/packages/create-app/templates/solidjs-static/src/assets/blocklet.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/packages/create-app/templates/solidjs-dapp/src/logo.svg b/packages/create-app/templates/solidjs-static/src/assets/solidjs.svg similarity index 100% rename from packages/create-app/templates/solidjs-dapp/src/logo.svg rename to packages/create-app/templates/solidjs-static/src/assets/solidjs.svg diff --git a/packages/create-app/templates/solidjs-static/src/index.css b/packages/create-app/templates/solidjs-static/src/index.css index ec2585e8..7323ae85 100644 --- a/packages/create-app/templates/solidjs-static/src/index.css +++ b/packages/create-app/templates/solidjs-static/src/index.css @@ -1,13 +1,11 @@ body { margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', + 'Droid Sans', 'Helvetica Neue', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; } diff --git a/packages/create-app/templates/solidjs-static/template-info.json b/packages/create-app/templates/solidjs-static/template-info.json index f1600b76..d698529c 100644 --- a/packages/create-app/templates/solidjs-static/template-info.json +++ b/packages/create-app/templates/solidjs-static/template-info.json @@ -8,5 +8,5 @@ "composable": true, "languages": "JavaScript", "useCase": "Starter", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/templates/svelte-dapp/.eslintrc.js b/packages/create-app/templates/svelte-dapp/.eslintrc.js deleted file mode 100644 index 59e86359..00000000 --- a/packages/create-app/templates/svelte-dapp/.eslintrc.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - root: true, - env: { - es6: true, - browser: true, - }, - parserOptions: { - ecmaVersion: 2019, - sourceType: 'module', - }, - plugins: ['svelte3'], - overrides: [ - { - files: ['*.svelte'], - processor: 'svelte3/svelte3', - }, - ], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - }, -}; diff --git a/packages/create-app/templates/svelte-dapp/README.md b/packages/create-app/templates/svelte-dapp/README.md index 1280de5f..d31f0bf6 100644 --- a/packages/create-app/templates/svelte-dapp/README.md +++ b/packages/create-app/templates/svelte-dapp/README.md @@ -13,7 +13,6 @@ This blocklet is a static project, which means this is a frontend application. I - screenshots/ - Screenshots - src/ - Client side code (A standard vue app structure) - .env - Environment variables -- .eslintrc.js - ESLint configuration - .gitignore - Git ignore file - .prettierrc - Prettier configuration - blocklet.md - Blocklet README @@ -31,14 +30,14 @@ This blocklet is a static project, which means this is a frontend application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -138,7 +137,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/svelte-dapp/api/hooks/pre-start.js b/packages/create-app/templates/svelte-dapp/api/hooks/pre-start.js index dff31e54..f1514a82 100644 --- a/packages/create-app/templates/svelte-dapp/api/hooks/pre-start.js +++ b/packages/create-app/templates/svelte-dapp/api/hooks/pre-start.js @@ -25,9 +25,10 @@ const ensureAccountDeclared = async () => { (async () => { try { await ensureAccountDeclared(); + logger.info(`${name} pre-start successfully`); process.exit(0); } catch (err) { - logger.error(`${name} pre-start error`, err.message); + logger.error(`${name} pre-start error`, err); process.exit(1); } })(); diff --git a/packages/create-app/templates/svelte-dapp/api/routes/index.js b/packages/create-app/templates/svelte-dapp/api/routes/index.js index 04f50432..cf8fa991 100644 --- a/packages/create-app/templates/svelte-dapp/api/routes/index.js +++ b/packages/create-app/templates/svelte-dapp/api/routes/index.js @@ -3,4 +3,10 @@ const router = require('express').Router(); router.use('/user', middleware.user(), (req, res) => res.json(req.user || {})); +router.use('/data', (req, res) => + res.json({ + message: 'Hello Blocklet!', + }), +); + module.exports = router; diff --git a/packages/create-app/templates/svelte-dapp/blocklet.yml b/packages/create-app/templates/svelte-dapp/blocklet.yml index 63a980d7..f7798d42 100644 --- a/packages/create-app/templates/svelte-dapp/blocklet.yml +++ b/packages/create-app/templates/svelte-dapp/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/svelte-dapp/index.html b/packages/create-app/templates/svelte-dapp/index.html index 4513b38a..da3d594b 100644 --- a/packages/create-app/templates/svelte-dapp/index.html +++ b/packages/create-app/templates/svelte-dapp/index.html @@ -1,13 +1,16 @@ - - - - - - - -
- - + + + + + + + + + +
+ + + diff --git a/packages/create-app/templates/svelte-dapp/jsconfig.json b/packages/create-app/templates/svelte-dapp/jsconfig.json index 42585941..2fc14703 100644 --- a/packages/create-app/templates/svelte-dapp/jsconfig.json +++ b/packages/create-app/templates/svelte-dapp/jsconfig.json @@ -1,14 +1,14 @@ { "compilerOptions": { - "moduleResolution": "node", - "target": "esnext", - "module": "esnext", + "moduleResolution": "bundler", + "target": "ESNext", + "module": "ESNext", /** * svelte-preprocess cannot figure out whether you have * a value or a type, so tell TypeScript to enforce using * `import type` instead of `import` for Types. */ - "importsNotUsedAsValues": "error", + "verbatimModuleSyntax": true, "isolatedModules": true, "resolveJsonModule": true, /** @@ -18,8 +18,6 @@ "sourceMap": true, "esModuleInterop": true, "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "baseUrl": ".", /** * Typecheck JS in `.svelte` and `.js` files by default. * Disable this if you'd like to use dynamic types. @@ -30,5 +28,9 @@ * Use global.d.ts instead of compilerOptions.types * to avoid limiting type declarations. */ - "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"] + "include": [ + "src/**/*.d.ts", + "src/**/*.js", + "src/**/*.svelte" + ] } diff --git a/packages/create-app/templates/svelte-dapp/package.json b/packages/create-app/templates/svelte-dapp/package.json index cc712489..a35a19f8 100644 --- a/packages/create-app/templates/svelte-dapp/package.json +++ b/packages/create-app/templates/svelte-dapp/package.json @@ -1,60 +1,60 @@ { - "name": "template-svelte", + "name": "template-svelte-dapp", "private": true, "version": "0.1.0", "scripts": { "dev": "blocklet dev", "start": "cross-env NODE_ENV=development nodemon api/dev.js -w api", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run bundle:client && npm run bundle:api", "bundle:client": "vite build", - "bundle:api": "npm run clean && blocklet bundle --zip --create-release", + "bundle:api": "npm run clean && blocklet bundle --compact --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "dependencies": { - "@arcblock/did-auth": "^1.18.108", + "@arcblock/did-auth": "^1.18.124", "@arcblock/did-auth-storage-nedb": "^1.7.1", - "@blocklet/sdk": "^1.16.20", - "@ocap/client": "^1.18.108", - "@ocap/mcrypto": "^1.18.108", - "@ocap/wallet": "^1.18.108", - "axios": "^1.6.2", + "@blocklet/sdk": "^1.16.28", + "@ocap/client": "^1.18.124", + "@ocap/mcrypto": "^1.18.124", + "@ocap/wallet": "^1.18.124", + "axios": "^1.7.2", "cookie-parser": "^1.4.6", "cors": "^2.8.5", - "dotenv-flow": "^3.3.0", - "express": "^4.18.2", + "dotenv-flow": "^4.1.0", + "express": "^4.19.2", "express-async-errors": "^3.1.1" }, "devDependencies": { - "@sveltejs/vite-plugin-svelte": "3.0.1", - "bumpp": "^8.2.1", + "@blocklet/js-sdk": "^1.16.28", + "@sveltejs/vite-plugin-svelte": "3.1.1", + "bumpp": "^9.4.1", "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-svelte3": "^4.0.0", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", + "lint-staged": "^15.2.7", "npm-run-all": "^4.1.5", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", - "svelte": "^4.2.8", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", - "zx": "^7.2.3" + "prettier": "^3.3.2", + "prettier-plugin-svelte": "^3.2.5", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "svelte": "^4.2.18", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", + "zx": "^8.1.3" }, "lint-staged": { - "*.{mjs,js,vue}": [ - "prettier --write", - "eslint --ext .js,.mjs,.svelte" + "*.{mjs,js,svelte}": [ + "prettier --write" ], "*.{css,less,scss,json,graphql}": [ "prettier --write" ] + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/svelte-dapp/src/App.svelte b/packages/create-app/templates/svelte-dapp/src/App.svelte index 02b9bd93..6b873faa 100644 --- a/packages/create-app/templates/svelte-dapp/src/App.svelte +++ b/packages/create-app/templates/svelte-dapp/src/App.svelte @@ -1,64 +1,67 @@
- Svelte Logo -

Hello world!

+
+

Vite + Svelte + Blocklet

- +
+ +
+
+ +

- Visit svelte.dev to learn how to build Svelte apps. + Check out SvelteKit, the + official Svelte app framework powered by Vite!

-

- Check out SvelteKit for the officially supported framework, also - powered by Vite! -

+

Click on the Vite and Svelte logos to learn more

diff --git a/packages/create-app/templates/svelte-dapp/src/app.css b/packages/create-app/templates/svelte-dapp/src/app.css new file mode 100644 index 00000000..617f5e93 --- /dev/null +++ b/packages/create-app/templates/svelte-dapp/src/app.css @@ -0,0 +1,79 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/packages/create-app/templates/svelte-dapp/src/assets/blocklet.svg b/packages/create-app/templates/svelte-dapp/src/assets/blocklet.svg new file mode 100644 index 00000000..3ec20a18 --- /dev/null +++ b/packages/create-app/templates/svelte-dapp/src/assets/blocklet.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +
diff --git a/packages/create-app/templates/svelte-dapp/src/assets/svelte.png b/packages/create-app/templates/svelte-dapp/src/assets/svelte.png deleted file mode 100644 index 737b0c01..00000000 Binary files a/packages/create-app/templates/svelte-dapp/src/assets/svelte.png and /dev/null differ diff --git a/packages/create-app/templates/svelte-dapp/src/assets/svelte.svg b/packages/create-app/templates/svelte-dapp/src/assets/svelte.svg new file mode 100644 index 00000000..8c056ce7 --- /dev/null +++ b/packages/create-app/templates/svelte-dapp/src/assets/svelte.svg @@ -0,0 +1 @@ + diff --git a/packages/create-app/templates/svelte-dapp/src/assets/vite.svg b/packages/create-app/templates/svelte-dapp/src/assets/vite.svg new file mode 100644 index 00000000..ee9fadaf --- /dev/null +++ b/packages/create-app/templates/svelte-dapp/src/assets/vite.svg @@ -0,0 +1 @@ + diff --git a/packages/create-app/templates/svelte-dapp/src/components/Counter.svelte b/packages/create-app/templates/svelte-dapp/src/components/Counter.svelte new file mode 100644 index 00000000..1d93ce2b --- /dev/null +++ b/packages/create-app/templates/svelte-dapp/src/components/Counter.svelte @@ -0,0 +1,10 @@ + + + diff --git a/packages/create-app/templates/svelte-dapp/src/lib/Counter.svelte b/packages/create-app/templates/svelte-dapp/src/lib/Counter.svelte deleted file mode 100644 index 6a52d389..00000000 --- a/packages/create-app/templates/svelte-dapp/src/lib/Counter.svelte +++ /dev/null @@ -1,34 +0,0 @@ - - - - - diff --git a/packages/create-app/templates/svelte-dapp/src/libs/api.js b/packages/create-app/templates/svelte-dapp/src/libs/api.js new file mode 100644 index 00000000..e595a8b7 --- /dev/null +++ b/packages/create-app/templates/svelte-dapp/src/libs/api.js @@ -0,0 +1,7 @@ +import { createAxios } from '@blocklet/js-sdk'; + +const api = createAxios({ + baseURL: window?.blocklet?.prefix || '/', +}); + +export default api; diff --git a/packages/create-app/templates/svelte-dapp/src/main.js b/packages/create-app/templates/svelte-dapp/src/main.js index 7f13bc6d..d026861d 100644 --- a/packages/create-app/templates/svelte-dapp/src/main.js +++ b/packages/create-app/templates/svelte-dapp/src/main.js @@ -1,3 +1,4 @@ +import './app.css'; import App from './App.svelte'; const app = new App({ diff --git a/packages/create-app/templates/svelte-dapp/template-info.json b/packages/create-app/templates/svelte-dapp/template-info.json index 80cca534..f0aa29ea 100644 --- a/packages/create-app/templates/svelte-dapp/template-info.json +++ b/packages/create-app/templates/svelte-dapp/template-info.json @@ -8,5 +8,5 @@ "composable": true, "languages": "JavaScript", "useCase": "Starter", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/templates/svelte-dapp/vite.config.mjs b/packages/create-app/templates/svelte-dapp/vite.config.mjs index cdee5c2d..65e72091 100644 --- a/packages/create-app/templates/svelte-dapp/vite.config.mjs +++ b/packages/create-app/templates/svelte-dapp/vite.config.mjs @@ -5,6 +5,11 @@ import { createBlockletPlugin } from 'vite-plugin-blocklet'; // https://vitejs.dev/config/ export default defineConfig(() => { return { - plugins: [svelte(), createBlockletPlugin()], + plugins: [ + svelte(), + createBlockletPlugin({ + disableLoading: true, + }), + ], }; }); diff --git a/packages/create-app/templates/svelte-static/.eslintrc.js b/packages/create-app/templates/svelte-static/.eslintrc.js deleted file mode 100644 index 59e86359..00000000 --- a/packages/create-app/templates/svelte-static/.eslintrc.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - root: true, - env: { - es6: true, - browser: true, - }, - parserOptions: { - ecmaVersion: 2019, - sourceType: 'module', - }, - plugins: ['svelte3'], - overrides: [ - { - files: ['*.svelte'], - processor: 'svelte3/svelte3', - }, - ], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - }, -}; diff --git a/packages/create-app/templates/svelte-static/README.md b/packages/create-app/templates/svelte-static/README.md index 1280de5f..d31f0bf6 100644 --- a/packages/create-app/templates/svelte-static/README.md +++ b/packages/create-app/templates/svelte-static/README.md @@ -13,7 +13,6 @@ This blocklet is a static project, which means this is a frontend application. I - screenshots/ - Screenshots - src/ - Client side code (A standard vue app structure) - .env - Environment variables -- .eslintrc.js - ESLint configuration - .gitignore - Git ignore file - .prettierrc - Prettier configuration - blocklet.md - Blocklet README @@ -31,14 +30,14 @@ This blocklet is a static project, which means this is a frontend application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -138,7 +137,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/svelte-static/blocklet.yml b/packages/create-app/templates/svelte-static/blocklet.yml index 515ac331..ee61cee1 100644 --- a/packages/create-app/templates/svelte-static/blocklet.yml +++ b/packages/create-app/templates/svelte-static/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/svelte-static/index.html b/packages/create-app/templates/svelte-static/index.html index 4513b38a..da3d594b 100644 --- a/packages/create-app/templates/svelte-static/index.html +++ b/packages/create-app/templates/svelte-static/index.html @@ -1,13 +1,16 @@ - - - - - - - -
- - + + + + + + + + + +
+ + + diff --git a/packages/create-app/templates/svelte-static/jsconfig.json b/packages/create-app/templates/svelte-static/jsconfig.json index 42585941..2fc14703 100644 --- a/packages/create-app/templates/svelte-static/jsconfig.json +++ b/packages/create-app/templates/svelte-static/jsconfig.json @@ -1,14 +1,14 @@ { "compilerOptions": { - "moduleResolution": "node", - "target": "esnext", - "module": "esnext", + "moduleResolution": "bundler", + "target": "ESNext", + "module": "ESNext", /** * svelte-preprocess cannot figure out whether you have * a value or a type, so tell TypeScript to enforce using * `import type` instead of `import` for Types. */ - "importsNotUsedAsValues": "error", + "verbatimModuleSyntax": true, "isolatedModules": true, "resolveJsonModule": true, /** @@ -18,8 +18,6 @@ "sourceMap": true, "esModuleInterop": true, "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "baseUrl": ".", /** * Typecheck JS in `.svelte` and `.js` files by default. * Disable this if you'd like to use dynamic types. @@ -30,5 +28,9 @@ * Use global.d.ts instead of compilerOptions.types * to avoid limiting type declarations. */ - "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"] + "include": [ + "src/**/*.d.ts", + "src/**/*.js", + "src/**/*.svelte" + ] } diff --git a/packages/create-app/templates/svelte-static/package.json b/packages/create-app/templates/svelte-static/package.json index ddb18e04..269a0f13 100644 --- a/packages/create-app/templates/svelte-static/package.json +++ b/packages/create-app/templates/svelte-static/package.json @@ -1,45 +1,41 @@ { - "name": "template-svelte", + "name": "template-svelte-static", "private": true, "version": "0.1.0", "scripts": { "dev": "blocklet dev", "start": "vite", "preview": "vite preview", - "lint": "eslint src --ext .mjs,.js,.svelte", - "lint:fix": "npm run lint -- --fix", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run clean && vite build && blocklet bundle --zip --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "devDependencies": { - "@sveltejs/vite-plugin-svelte": "3.0.1", - "bumpp": "^8.2.1", - "eslint": "^8.56.0", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-svelte3": "^4.0.0", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", - "svelte": "^4.2.8", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", - "zx": "^7.2.3" + "bumpp": "^9.4.1", + "lint-staged": "^15.2.7", + "prettier": "^3.3.2", + "prettier-plugin-svelte": "^3.2.5", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "svelte": "^4.2.18", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", + "zx": "^8.1.3" }, "lint-staged": { - "*.{mjs,js,vue}": [ - "prettier --write", - "eslint --ext .js,.mjs,.svelte" + "*.{mjs,js,svelte}": [ + "prettier --write" ], "*.{css,less,scss,json,graphql}": [ "prettier --write" ] + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/svelte-static/src/App.svelte b/packages/create-app/templates/svelte-static/src/App.svelte index 02b9bd93..496abe09 100644 --- a/packages/create-app/templates/svelte-static/src/App.svelte +++ b/packages/create-app/templates/svelte-static/src/App.svelte @@ -1,64 +1,57 @@
- Svelte Logo -

Hello world!

- - + +

Vite + Svelte + Blocklet

+ +
+ +

- Visit svelte.dev to learn how to build Svelte apps. + Check out SvelteKit, the + official Svelte app framework powered by Vite!

-

- Check out SvelteKit for the officially supported framework, also - powered by Vite! -

+

Click on the Vite and Svelte logos to learn more

diff --git a/packages/create-app/templates/svelte-static/src/app.css b/packages/create-app/templates/svelte-static/src/app.css new file mode 100644 index 00000000..617f5e93 --- /dev/null +++ b/packages/create-app/templates/svelte-static/src/app.css @@ -0,0 +1,79 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/packages/create-app/templates/svelte-static/src/assets/blocklet.svg b/packages/create-app/templates/svelte-static/src/assets/blocklet.svg new file mode 100644 index 00000000..3ec20a18 --- /dev/null +++ b/packages/create-app/templates/svelte-static/src/assets/blocklet.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +
diff --git a/packages/create-app/templates/svelte-static/src/assets/svelte.png b/packages/create-app/templates/svelte-static/src/assets/svelte.png deleted file mode 100644 index 737b0c01..00000000 Binary files a/packages/create-app/templates/svelte-static/src/assets/svelte.png and /dev/null differ diff --git a/packages/create-app/templates/svelte-static/src/assets/svelte.svg b/packages/create-app/templates/svelte-static/src/assets/svelte.svg new file mode 100644 index 00000000..8c056ce7 --- /dev/null +++ b/packages/create-app/templates/svelte-static/src/assets/svelte.svg @@ -0,0 +1 @@ + diff --git a/packages/create-app/templates/svelte-static/src/assets/vite.svg b/packages/create-app/templates/svelte-static/src/assets/vite.svg new file mode 100644 index 00000000..ee9fadaf --- /dev/null +++ b/packages/create-app/templates/svelte-static/src/assets/vite.svg @@ -0,0 +1 @@ + diff --git a/packages/create-app/templates/svelte-static/src/components/Counter.svelte b/packages/create-app/templates/svelte-static/src/components/Counter.svelte new file mode 100644 index 00000000..1d93ce2b --- /dev/null +++ b/packages/create-app/templates/svelte-static/src/components/Counter.svelte @@ -0,0 +1,10 @@ + + + diff --git a/packages/create-app/templates/svelte-static/src/lib/Counter.svelte b/packages/create-app/templates/svelte-static/src/lib/Counter.svelte deleted file mode 100644 index 6a52d389..00000000 --- a/packages/create-app/templates/svelte-static/src/lib/Counter.svelte +++ /dev/null @@ -1,34 +0,0 @@ - - - - - diff --git a/packages/create-app/templates/svelte-static/src/main.js b/packages/create-app/templates/svelte-static/src/main.js index 7f13bc6d..d026861d 100644 --- a/packages/create-app/templates/svelte-static/src/main.js +++ b/packages/create-app/templates/svelte-static/src/main.js @@ -1,3 +1,4 @@ +import './app.css'; import App from './App.svelte'; const app = new App({ diff --git a/packages/create-app/templates/svelte-static/template-info.json b/packages/create-app/templates/svelte-static/template-info.json index 448674e4..a4f1dfab 100644 --- a/packages/create-app/templates/svelte-static/template-info.json +++ b/packages/create-app/templates/svelte-static/template-info.json @@ -1,9 +1,12 @@ { "name": "svelte-static", - "desc": { "en": "A front-end application skeleton built with Svelte", "zh": "一个基于 Svelte 构建的前端应用骨架" }, + "desc": { + "en": "A front-end application skeleton built with Svelte", + "zh": "一个基于 Svelte 构建的前端应用骨架" + }, "blockletType": "static", "composable": true, "languages": "JavaScript", "useCase": "Starter", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/templates/svelte-static/vite.config.mjs b/packages/create-app/templates/svelte-static/vite.config.mjs index cdee5c2d..65e72091 100644 --- a/packages/create-app/templates/svelte-static/vite.config.mjs +++ b/packages/create-app/templates/svelte-static/vite.config.mjs @@ -5,6 +5,11 @@ import { createBlockletPlugin } from 'vite-plugin-blocklet'; // https://vitejs.dev/config/ export default defineConfig(() => { return { - plugins: [svelte(), createBlockletPlugin()], + plugins: [ + svelte(), + createBlockletPlugin({ + disableLoading: true, + }), + ], }; }); diff --git a/packages/create-app/templates/todo-list-example/.editorconfig b/packages/create-app/templates/todo-list-example/.editorconfig deleted file mode 100644 index 66ada2c2..00000000 --- a/packages/create-app/templates/todo-list-example/.editorconfig +++ /dev/null @@ -1,23 +0,0 @@ -# For more information about the properties used in -# this file, please see the EditorConfig documentation: -# http://editorconfig.org/ -# -# Sensible EditorConfig defaults -# https://gist.github.com/matijs/662bf45dd4ec37b3a068 -root = true - -[*] -charset = utf-8 -end_of_line = lf -indent_size = 2 -indent_style = space -insert_final_newline = true -trim_trailing_whitespace = true - -# Make sure package.json always uses 2 spaces to indent -[{package.json}] -indent_size = 2 -indent_style = space - -[{makefile, Makefile}] -indent_style = tab diff --git a/packages/create-app/templates/todo-list-example/.eslintrc.js b/packages/create-app/templates/todo-list-example/.eslintrc.js index d2adfdc6..98d89e4d 100644 --- a/packages/create-app/templates/todo-list-example/.eslintrc.js +++ b/packages/create-app/templates/todo-list-example/.eslintrc.js @@ -8,6 +8,6 @@ module.exports = { project: [join(__dirname, 'tsconfig.eslint.json'), join(__dirname, 'tsconfig.json')], }, rules: { - '@typescript-eslint/comma-dangle': 'off', + 'import/no-extraneous-dependencies': ['error', { devDependencies: true }], }, }; diff --git a/packages/create-app/templates/todo-list-example/.github/workflows/main.yml b/packages/create-app/templates/todo-list-example/.github/workflows/main.yml deleted file mode 100644 index 3fac548c..00000000 --- a/packages/create-app/templates/todo-list-example/.github/workflows/main.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Deploy - -on: - push: - branches: - - main - -jobs: - Deploy: - runs-on: ubuntu-latest - - if: "! contains(github.event.head_commit.message, '[skip ci]')" - - steps: - - name: Checkout repo - uses: actions/checkout@v2 - - - name: Set yarn cache - uses: c-hive/gha-yarn-cache@v2 - - - name: Install dependencies - run: yarn - - - name: Blocklet workflow - uses: blocklet/action-workflow@v1 - with: - skip-upload: false - skip-deploy: false - bundle-command: yarn bundle - store-endpoint: ${{ secrets.STORE_ENDPOINT }} - store-access-token: ${{ secrets.STORE_ACCESS_TOKEN }} - server-endpoint: ${{ secrets.SERVER_ENDPOINT }} - server-access-key: ${{ secrets.SERVER_ACCESS_KEY }} - server-access-secret: ${{ secrets.SERVER_ACCESS_SECRET }} - slack-webhook: ${{ secrets.SLACK_WEBHOOK }} - github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/packages/create-app/templates/todo-list-example/.github/workflows/pr-title.yml b/packages/create-app/templates/todo-list-example/.github/workflows/pr-title.yml deleted file mode 100644 index 425caf03..00000000 --- a/packages/create-app/templates/todo-list-example/.github/workflows/pr-title.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: 'Lint PR Title' - -on: - pull_request: - types: - - opened - - reopened - - edited - - synchronize - branches: - - main - - dev - - master - -jobs: - lint-title: - runs-on: ubuntu-latest - steps: - - uses: ArcBlock/action-lint-pull-request-title@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/packages/create-app/templates/todo-list-example/.github/workflows/version-check.yml b/packages/create-app/templates/todo-list-example/.github/workflows/version-check.yml deleted file mode 100644 index 3e32ac3c..00000000 --- a/packages/create-app/templates/todo-list-example/.github/workflows/version-check.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: 'Version Check' - -on: - pull_request: - types: - - opened - - reopened - - edited - - synchronize - branches: - - main - - master -jobs: - main: - runs-on: ubuntu-latest - steps: - - name: action-version-check - uses: arcblock/action-version-check@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/packages/create-app/templates/todo-list-example/.husky/pre-commit b/packages/create-app/templates/todo-list-example/.husky/pre-commit deleted file mode 100755 index 36af2198..00000000 --- a/packages/create-app/templates/todo-list-example/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx lint-staged diff --git a/packages/create-app/templates/todo-list-example/.npmrc b/packages/create-app/templates/todo-list-example/.npmrc deleted file mode 100644 index 6ef2a288..00000000 --- a/packages/create-app/templates/todo-list-example/.npmrc +++ /dev/null @@ -1,4 +0,0 @@ -## force pnpm to hoist -shamefully-hoist=true -strict-peer-dependencies=false -node-linker=hoisted diff --git a/packages/create-app/templates/todo-list-example/.prettierrc b/packages/create-app/templates/todo-list-example/.prettierrc deleted file mode 100644 index 4d129cc9..00000000 --- a/packages/create-app/templates/todo-list-example/.prettierrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "printWidth": 120, - "useTabs": false, - "tabWidth": 2, - "trailingComma": "es5", - "bracketSameLine": true, - "semi": true, - "singleQuote": true -} diff --git a/packages/create-app/templates/todo-list-example/api/src/hooks/pre-start.ts b/packages/create-app/templates/todo-list-example/api/src/hooks/pre-start.ts index d6a0af50..a0e6146e 100644 --- a/packages/create-app/templates/todo-list-example/api/src/hooks/pre-start.ts +++ b/packages/create-app/templates/todo-list-example/api/src/hooks/pre-start.ts @@ -29,9 +29,10 @@ const ensureAccountDeclared = async () => { (async () => { try { await ensureAccountDeclared(); + logger.info(`${name} pre-start successfully`); process.exit(0); } catch (err) { - logger.error(`${name} pre-start error`, err.message); + logger.error(`${name} pre-start error`, err); process.exit(1); } })(); diff --git a/packages/create-app/templates/todo-list-example/api/src/routes/todo-list/$get.ts b/packages/create-app/templates/todo-list-example/api/src/routes/todo-list/$get.ts index 32ece9b9..18eb8f74 100644 --- a/packages/create-app/templates/todo-list-example/api/src/routes/todo-list/$get.ts +++ b/packages/create-app/templates/todo-list-example/api/src/routes/todo-list/$get.ts @@ -18,7 +18,7 @@ export default async function $get(req: Request, res: Response) { const { data } = await spaceClient.send( new GetObjectCommand({ key: 'todo-list.json', - }) + }), ); return res.json({ todoList: JSON.parse(await streamToString(data)) }); } catch (error) { diff --git a/packages/create-app/templates/todo-list-example/api/src/routes/todo-list/$put.ts b/packages/create-app/templates/todo-list-example/api/src/routes/todo-list/$put.ts index 67dc6bb6..3e3c0e7b 100644 --- a/packages/create-app/templates/todo-list-example/api/src/routes/todo-list/$put.ts +++ b/packages/create-app/templates/todo-list-example/api/src/routes/todo-list/$put.ts @@ -22,7 +22,7 @@ export default async function $put(req: Request, res: Response) { new PutObjectCommand({ key: 'todo-list.json', data: JSON.stringify(req.body.todoList), - }) + }), ); return res.send(); diff --git a/packages/create-app/templates/todo-list-example/blocklet.yml b/packages/create-app/templates/todo-list-example/blocklet.yml index dfa56fe9..6d6b3c3c 100644 --- a/packages/create-app/templates/todo-list-example/blocklet.yml +++ b/packages/create-app/templates/todo-list-example/blocklet.yml @@ -4,21 +4,23 @@ description: A Blocklet Server blocklet keywords: - blocklet - svelte -group: static +group: dapp did: '' -main: dist +main: api/dist/index.js author: name: Blocklet email: blocklet@arcblock.io repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: - logo.png - screenshots + - dist + - api/hooks/pre-start.js interfaces: - type: web name: publicUrl @@ -42,10 +44,10 @@ requirements: scripts: dev: npm run start environments: [] -capabilities: +capabilities: # Step 1: set capabilities.didSpace to requiredOnConnect didSpace: requiredOnConnect -screenshots: +screenshots: - 1-login.png - 2-ui.png components: [] diff --git a/packages/create-app/templates/todo-list-example/index.html b/packages/create-app/templates/todo-list-example/index.html index db5b6420..f9784f73 100644 --- a/packages/create-app/templates/todo-list-example/index.html +++ b/packages/create-app/templates/todo-list-example/index.html @@ -1,14 +1,17 @@ - - - - - - - - -
- - + + + + + + + + + + +
+ + + diff --git a/packages/create-app/templates/todo-list-example/logo.png b/packages/create-app/templates/todo-list-example/logo.png deleted file mode 100644 index 2726e82e..00000000 Binary files a/packages/create-app/templates/todo-list-example/logo.png and /dev/null differ diff --git a/packages/create-app/templates/todo-list-example/package.json b/packages/create-app/templates/todo-list-example/package.json index f44a8f86..bca5ea00 100644 --- a/packages/create-app/templates/todo-list-example/package.json +++ b/packages/create-app/templates/todo-list-example/package.json @@ -1,18 +1,18 @@ { - "name": "blocklet-project", + "name": "template-todo-list-example", "version": "0.1.0", "scripts": { "dev": "blocklet dev", "lint": "tsc --noEmit && eslint src api/src --ext .mjs,.js,.jsx,.ts,.tsx", "lint:fix": "npm run lint -- --fix", "start": "cross-env NODE_ENV=development nodemon api/dev.ts -w api", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "tsc --noEmit && npm run bundle:client && npm run bundle:api", "bundle:client": "vite build", - "bundle:api": "npm run clean && tsc -p tsconfig.api.json && blocklet bundle --zip --create-release", + "bundle:api": "npm run clean && tsc -p tsconfig.api.json && blocklet bundle --compact --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "lint-staged": { @@ -37,63 +37,63 @@ ] }, "dependencies": { - "@arcblock/did-auth": "^1.18.113", + "@arcblock/did-auth": "^1.18.124", "@arcblock/did-auth-storage-nedb": "^1.7.1", - "@arcblock/did-connect": "^2.9.63", - "@arcblock/ux": "^2.9.63", - "@blocklet/sdk": "^1.16.24", - "@blocklet/ui-react": "^2.9.63", - "@did-space/client": "^0.3.74", - "@did-space/core": "^0.3.74", - "@mui/material": "^5.15.14", - "@ocap/client": "^1.18.113", - "@ocap/mcrypto": "^1.18.113", - "@ocap/wallet": "^1.18.113", - "axios": "^1.6.8", + "@blocklet/sdk": "^1.16.28", + "@did-space/client": "^0.5.4", + "@did-space/core": "^0.5.4", + "@ocap/client": "^1.18.124", + "@ocap/mcrypto": "^1.18.124", + "@ocap/wallet": "^1.18.124", + "axios": "^1.7.2", "cookie-parser": "^1.4.6", "cors": "^2.8.5", - "dotenv-flow": "^3.3.0", + "dotenv-flow": "^4.1.0", "express": "^4.19.2", "express-async-errors": "^3.1.1", "lodash": "^4.17.21", - "nanoid": "^5.0.6", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-icons": "^5.0.1", - "react-router-dom": "^6.22.3", - "react-toastify": "^10.0.5", - "rimraf": "^3.0.2" + "nanoid": "^5.0.7" }, "devDependencies": { - "@arcblock/eslint-config": "^0.2.4", - "@arcblock/eslint-config-ts": "^0.2.4", + "@arcblock/did-connect": "^2.10.3", + "@arcblock/eslint-config": "^0.3.2", + "@arcblock/eslint-config-ts": "^0.3.2", + "@arcblock/ux": "^2.10.3", + "@blocklet/js-sdk": "^1.16.28", + "@blocklet/ui-react": "^2.10.3", + "@mui/material": "^5.15.21", "@types/cookie-parser": "^1.4.7", "@types/cors": "^2.8.17", "@types/dotenv-flow": "^3.3.3", "@types/express": "^4.17.21", - "@types/lodash": "^4.17.0", - "@types/node": "^18.19.26", - "@types/react": "^18.2.73", - "@types/react-dom": "^18.2.22", + "@types/lodash": "^4.17.6", + "@types/node": "^20.14.9", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", "@types/react-toastify": "^4.1.0", - "@vitejs/plugin-react": "^4.2.1", - "bumpp": "^8.2.1", + "@vitejs/plugin-react": "^4.3.1", + "bumpp": "^9.4.1", "cross-env": "^7.0.3", "eslint": "^8.57.0", "eslint-plugin-prettier": "^5.1.3", - "husky": "^8.0.3", "import-sort-style-module": "^6.0.0", - "lint-staged": "^12.5.0", - "nodemon": "^3.1.0", - "npm-run-all": "^4.1.5", - "prettier": "^3.2.5", + "lint-staged": "^15.2.7", + "nodemon": "^3.1.4", + "prettier": "^3.3.2", "prettier-plugin-import-sort": "^0.0.7", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-icons": "^5.2.1", + "react-router-dom": "^6.24.0", + "react-toastify": "^10.0.5", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", "ts-node": "^10.9.2", - "typescript": "^5.4.3", - "vite": "^5.0.13", - "vite-plugin-blocklet": "^0.7.9", + "typescript": "^5.5.2", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", "vite-plugin-svgr": "^4.2.0", - "zx": "^7.2.3" + "zx": "^8.1.3" }, "importSort": { ".js, .jsx, .mjs": { @@ -104,5 +104,8 @@ "style": "module", "parser": "typescript" } + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/todo-list-example/public/.gitkeep b/packages/create-app/templates/todo-list-example/public/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/create-app/templates/todo-list-example/screenshots/.gitkeep b/packages/create-app/templates/todo-list-example/screenshots/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/create-app/templates/todo-list-example/scripts/build-clean.js b/packages/create-app/templates/todo-list-example/scripts/build-clean.js deleted file mode 100644 index e40180dc..00000000 --- a/packages/create-app/templates/todo-list-example/scripts/build-clean.js +++ /dev/null @@ -1,5 +0,0 @@ -const rimraf = require('rimraf'); - -console.log('clean .blocklet folder'); -rimraf.sync('.blocklet'); -console.log('clean .blocklet folder done!'); diff --git a/packages/create-app/templates/todo-list-example/scripts/bump-version.mjs b/packages/create-app/templates/todo-list-example/scripts/bump-version.mjs deleted file mode 100644 index 3fb9e299..00000000 --- a/packages/create-app/templates/todo-list-example/scripts/bump-version.mjs +++ /dev/null @@ -1,35 +0,0 @@ -/* eslint-disable no-console */ -import { execSync } from 'child_process'; -import { $, chalk, fs } from 'zx'; - -execSync('bumpp --no-tag --no-commit --no-push package.json', { stdio: 'inherit' }); - -const { version } = await fs.readJSON('package.json'); -await fs.writeFileSync('version', version); - -console.log(chalk.greenBright(`[info]: start to modify blocklet version to ${version}`)); -await $`blocklet version ${version}`; -console.log(chalk.greenBright('[info]: blocklet version modified.')); - -let newChangelog = ''; -try { - const gitRes = await $`git log --pretty=format:"- %s" "main"...HEAD`; - newChangelog = gitRes.stdout.trim(); -} catch { - console.error(chalk.redBright('Could not get git log, please write changelog manually.')); -} - -const now = new Date(); -const currentDate = `${now.getFullYear()}-${now.getMonth() + 1}-${now.getDate()}`; -const title = `## ${version} (${currentDate})`; - -await fs.ensureFile('CHANGELOG.md'); -const oldChangelog = await fs.readFile('CHANGELOG.md', 'utf8'); -const changelog = [title, newChangelog, oldChangelog].filter((item) => !!item).join('\n\n'); -await fs.writeFile('CHANGELOG.md', changelog); - -console.log(`\nNow you can make adjustments to ${chalk.cyan('CHANGELOG.md')} . Then press enter to continue.`); - -process.stdin.setRawMode(true); -process.stdin.resume(); -process.stdin.on('data', process.exit.bind(process, 0)); diff --git a/packages/create-app/templates/todo-list-example/src/components/layout.tsx b/packages/create-app/templates/todo-list-example/src/components/layout.tsx index ae2f1368..e8c33702 100644 --- a/packages/create-app/templates/todo-list-example/src/components/layout.tsx +++ b/packages/create-app/templates/todo-list-example/src/components/layout.tsx @@ -1,4 +1,4 @@ -import Header from '@blocklet/ui-react/lib/Header'; +import { Header } from '@blocklet/ui-react'; import { Outlet } from 'react-router-dom'; export default function Layout() { diff --git a/packages/create-app/templates/todo-list-example/src/libs/api.ts b/packages/create-app/templates/todo-list-example/src/libs/api.ts index 2b3e6c64..e595a8b7 100644 --- a/packages/create-app/templates/todo-list-example/src/libs/api.ts +++ b/packages/create-app/templates/todo-list-example/src/libs/api.ts @@ -1,14 +1,7 @@ -import axios from 'axios'; +import { createAxios } from '@blocklet/js-sdk'; -axios.interceptors.request.use( - (config) => { - const prefix = window.blocklet ? window.blocklet.prefix : '/'; - config.baseURL = prefix || ''; - config.timeout = 200000; +const api = createAxios({ + baseURL: window?.blocklet?.prefix || '/', +}); - return config; - }, - (error) => Promise.reject(error) -); - -export default axios; +export default api; diff --git a/packages/create-app/templates/todo-list-example/src/logo.svg b/packages/create-app/templates/todo-list-example/src/logo.svg index ec2e1d92..e61d005e 100644 --- a/packages/create-app/templates/todo-list-example/src/logo.svg +++ b/packages/create-app/templates/todo-list-example/src/logo.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/packages/create-app/templates/todo-list-example/src/pages/required-login.tsx b/packages/create-app/templates/todo-list-example/src/pages/required-login.tsx index 8a4a1eb1..835b1da7 100644 --- a/packages/create-app/templates/todo-list-example/src/pages/required-login.tsx +++ b/packages/create-app/templates/todo-list-example/src/pages/required-login.tsx @@ -21,20 +21,17 @@ function RequiredLogin({ onLogin = () => {}, nextUrl = undefined, ...rest }: Rea const navigate = useNavigate(); useEffect(() => { - if (!session.user) { - session.login(onLogin); - } else if (session.user && nextUrl) { + if (session.user) { navigate(`${nextUrl}${window.location.search}`, { replace: false }); } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [session.user, session.login]); + }, [session.user, navigate, nextUrl]); return ( Connect to the DID Wallet login to access the website
diff --git a/packages/create-app/templates/todo-list-example/template-info.json b/packages/create-app/templates/todo-list-example/template-info.json index 3bfcb975..67492bbb 100644 --- a/packages/create-app/templates/todo-list-example/template-info.json +++ b/packages/create-app/templates/todo-list-example/template-info.json @@ -9,4 +9,4 @@ "languages": "Typescript", "useCase": "Starter", "author": "JianChao Ye" -} \ No newline at end of file +} diff --git a/packages/create-app/templates/todo-list-example/tsconfig.api.json b/packages/create-app/templates/todo-list-example/tsconfig.api.json index ded8cffd..d3430112 100644 --- a/packages/create-app/templates/todo-list-example/tsconfig.api.json +++ b/packages/create-app/templates/todo-list-example/tsconfig.api.json @@ -5,5 +5,8 @@ "noEmit": false, "noEmitOnError": true }, - "include": ["api/*.d.ts", "api/src"] + "include": [ + "api/*.d.ts", + "api/src" + ] } diff --git a/packages/create-app/templates/todo-list-example/tsconfig.eslint.json b/packages/create-app/templates/todo-list-example/tsconfig.eslint.json index a3129675..131cc4ea 100644 --- a/packages/create-app/templates/todo-list-example/tsconfig.eslint.json +++ b/packages/create-app/templates/todo-list-example/tsconfig.eslint.json @@ -3,5 +3,7 @@ "compilerOptions": { "noEmit": true }, - "include": [".eslintrc.js"] + "include": [ + ".eslintrc.js" + ] } diff --git a/packages/create-app/templates/vue-dapp/README.md b/packages/create-app/templates/vue-dapp/README.md index 8f9d5640..dc2f5fc9 100644 --- a/packages/create-app/templates/vue-dapp/README.md +++ b/packages/create-app/templates/vue-dapp/README.md @@ -32,14 +32,14 @@ This blocklet is a static project, which means this is a frontend application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -139,7 +139,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/vue-dapp/api/hooks/pre-start.js b/packages/create-app/templates/vue-dapp/api/hooks/pre-start.js index dff31e54..f1514a82 100644 --- a/packages/create-app/templates/vue-dapp/api/hooks/pre-start.js +++ b/packages/create-app/templates/vue-dapp/api/hooks/pre-start.js @@ -25,9 +25,10 @@ const ensureAccountDeclared = async () => { (async () => { try { await ensureAccountDeclared(); + logger.info(`${name} pre-start successfully`); process.exit(0); } catch (err) { - logger.error(`${name} pre-start error`, err.message); + logger.error(`${name} pre-start error`, err); process.exit(1); } })(); diff --git a/packages/create-app/templates/vue-dapp/api/routes/index.js b/packages/create-app/templates/vue-dapp/api/routes/index.js index 04f50432..cf8fa991 100644 --- a/packages/create-app/templates/vue-dapp/api/routes/index.js +++ b/packages/create-app/templates/vue-dapp/api/routes/index.js @@ -3,4 +3,10 @@ const router = require('express').Router(); router.use('/user', middleware.user(), (req, res) => res.json(req.user || {})); +router.use('/data', (req, res) => + res.json({ + message: 'Hello Blocklet!', + }), +); + module.exports = router; diff --git a/packages/create-app/templates/vue-dapp/blocklet.yml b/packages/create-app/templates/vue-dapp/blocklet.yml index db012028..efb16188 100644 --- a/packages/create-app/templates/vue-dapp/blocklet.yml +++ b/packages/create-app/templates/vue-dapp/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/vue-dapp/index.html b/packages/create-app/templates/vue-dapp/index.html index 3e0b5588..8a9f8f0a 100644 --- a/packages/create-app/templates/vue-dapp/index.html +++ b/packages/create-app/templates/vue-dapp/index.html @@ -1,14 +1,17 @@ - - - - - - - - -
- - + + + + + + + + + + +
+ + + diff --git a/packages/create-app/templates/vue-dapp/package.json b/packages/create-app/templates/vue-dapp/package.json index 6d66ac4a..adbf209f 100644 --- a/packages/create-app/templates/vue-dapp/package.json +++ b/packages/create-app/templates/vue-dapp/package.json @@ -1,54 +1,55 @@ { - "name": "template-vue", + "name": "template-vue-dapp", "version": "0.1.0", "scripts": { "dev": "blocklet dev", "start": "cross-env NODE_ENV=development nodemon api/dev.js -w api", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run bundle:client && npm run bundle:api", "bundle:client": "vite build", - "bundle:api": "npm run clean && blocklet bundle --zip --create-release", + "bundle:api": "npm run clean && blocklet bundle --compact --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "lint": "eslint src api --ext .mjs,.js,.vue", "lint:fix": "npm run lint -- --fix", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "dependencies": { - "@arcblock/did-auth": "^1.18.108", + "@arcblock/did-auth": "^1.18.124", "@arcblock/did-auth-storage-nedb": "^1.7.1", - "@blocklet/sdk": "^1.16.20", - "@ocap/client": "^1.18.108", - "@ocap/mcrypto": "^1.18.108", - "@ocap/wallet": "^1.18.108", - "axios": "^1.6.2", + "@blocklet/sdk": "^1.16.28", + "@ocap/client": "^1.18.124", + "@ocap/mcrypto": "^1.18.124", + "@ocap/wallet": "^1.18.124", + "axios": "^1.7.2", "cookie-parser": "^1.4.6", "cors": "^2.8.5", - "dotenv-flow": "^3.3.0", - "express": "^4.18.2", - "express-async-errors": "^3.1.1", - "vue": "^3.3.13" + "dotenv-flow": "^4.1.0", + "express": "^4.19.2", + "express-async-errors": "^3.1.1" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.5.2", - "bumpp": "^8.2.1", + "@blocklet/js-sdk": "^1.16.28", + "@vitejs/plugin-vue": "^5.0.5", + "bumpp": "^9.4.1", "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-vue": "^9.19.2", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "nodemon": "^3.0.2", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-vue": "^9.26.0", + "lint-staged": "^15.2.7", + "nodemon": "^3.1.4", "npm-run-all": "^4.1.5", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", - "zx": "^7.2.3" + "prettier": "^3.3.2", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", + "vue": "^3.4.31", + "zx": "^8.1.3" }, "lint-staged": { "*.{mjs,js,vue}": [ @@ -58,5 +59,8 @@ "*.{css,less,scss,json,graphql}": [ "prettier --write" ] + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/vue-dapp/src/App.vue b/packages/create-app/templates/vue-dapp/src/App.vue index 17201b1d..8ffee950 100644 --- a/packages/create-app/templates/vue-dapp/src/App.vue +++ b/packages/create-app/templates/vue-dapp/src/App.vue @@ -1,29 +1,36 @@ - diff --git a/packages/create-app/templates/vue-dapp/src/assets/blocklet.svg b/packages/create-app/templates/vue-dapp/src/assets/blocklet.svg new file mode 100644 index 00000000..3ec20a18 --- /dev/null +++ b/packages/create-app/templates/vue-dapp/src/assets/blocklet.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +
diff --git a/packages/create-app/templates/vue-dapp/src/assets/vite.svg b/packages/create-app/templates/vue-dapp/src/assets/vite.svg new file mode 100644 index 00000000..ee9fadaf --- /dev/null +++ b/packages/create-app/templates/vue-dapp/src/assets/vite.svg @@ -0,0 +1 @@ + diff --git a/packages/create-app/templates/vue-dapp/src/assets/vue.svg b/packages/create-app/templates/vue-dapp/src/assets/vue.svg new file mode 100644 index 00000000..ca8129c2 --- /dev/null +++ b/packages/create-app/templates/vue-dapp/src/assets/vue.svg @@ -0,0 +1 @@ + diff --git a/packages/create-app/templates/vue-dapp/src/components/HelloWorld.vue b/packages/create-app/templates/vue-dapp/src/components/HelloWorld.vue index 48da87f5..1d42992f 100644 --- a/packages/create-app/templates/vue-dapp/src/components/HelloWorld.vue +++ b/packages/create-app/templates/vue-dapp/src/components/HelloWorld.vue @@ -1,38 +1,48 @@ diff --git a/packages/create-app/templates/vue-dapp/src/libs/api.js b/packages/create-app/templates/vue-dapp/src/libs/api.js index 2b3e6c64..e595a8b7 100644 --- a/packages/create-app/templates/vue-dapp/src/libs/api.js +++ b/packages/create-app/templates/vue-dapp/src/libs/api.js @@ -1,14 +1,7 @@ -import axios from 'axios'; +import { createAxios } from '@blocklet/js-sdk'; -axios.interceptors.request.use( - (config) => { - const prefix = window.blocklet ? window.blocklet.prefix : '/'; - config.baseURL = prefix || ''; - config.timeout = 200000; +const api = createAxios({ + baseURL: window?.blocklet?.prefix || '/', +}); - return config; - }, - (error) => Promise.reject(error) -); - -export default axios; +export default api; diff --git a/packages/create-app/templates/vue-dapp/src/main.js b/packages/create-app/templates/vue-dapp/src/main.js index 684d0421..f8c23e47 100644 --- a/packages/create-app/templates/vue-dapp/src/main.js +++ b/packages/create-app/templates/vue-dapp/src/main.js @@ -1,4 +1,5 @@ import { createApp } from 'vue'; +import './style.css'; import App from './App.vue'; createApp(App).mount('#app'); diff --git a/packages/create-app/templates/vue-dapp/src/style.css b/packages/create-app/templates/vue-dapp/src/style.css new file mode 100644 index 00000000..bb131d6b --- /dev/null +++ b/packages/create-app/templates/vue-dapp/src/style.css @@ -0,0 +1,79 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/packages/create-app/templates/vue-dapp/template-info.json b/packages/create-app/templates/vue-dapp/template-info.json index f61e557e..4bf34854 100644 --- a/packages/create-app/templates/vue-dapp/template-info.json +++ b/packages/create-app/templates/vue-dapp/template-info.json @@ -8,5 +8,5 @@ "composable": true, "languages": "JavaScript", "useCase": "Starter", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/templates/vue-static/README.md b/packages/create-app/templates/vue-static/README.md index 1280de5f..9322f001 100644 --- a/packages/create-app/templates/vue-static/README.md +++ b/packages/create-app/templates/vue-static/README.md @@ -31,14 +31,14 @@ This blocklet is a static project, which means this is a frontend application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -138,7 +138,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/vue-static/blocklet.yml b/packages/create-app/templates/vue-static/blocklet.yml index eb3f21b1..8523b4b7 100644 --- a/packages/create-app/templates/vue-static/blocklet.yml +++ b/packages/create-app/templates/vue-static/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/vue-static/index.html b/packages/create-app/templates/vue-static/index.html index 3e0b5588..8a9f8f0a 100644 --- a/packages/create-app/templates/vue-static/index.html +++ b/packages/create-app/templates/vue-static/index.html @@ -1,14 +1,17 @@ - - - - - - - - -
- - + + + + + + + + + + +
+ + + diff --git a/packages/create-app/templates/vue-static/package.json b/packages/create-app/templates/vue-static/package.json index 6c6d459c..f541d118 100644 --- a/packages/create-app/templates/vue-static/package.json +++ b/packages/create-app/templates/vue-static/package.json @@ -1,5 +1,5 @@ { - "name": "template-vue", + "name": "template-vue-static", "version": "0.1.0", "scripts": { "dev": "blocklet dev", @@ -7,32 +7,30 @@ "lint": "eslint src --ext .mjs,.js,.vue", "lint:fix": "npm run lint -- --fix", "serve": "vite preview", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run clean && vite build && blocklet bundle --zip --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, - "dependencies": { - "vue": "^3.3.13" - }, "devDependencies": { - "@vitejs/plugin-vue": "^4.5.2", - "bumpp": "^8.2.1", - "eslint": "^8.56.0", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-prettier": "^5.1.0", - "eslint-plugin-vue": "^9.19.2", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", - "zx": "^7.2.3" + "@vitejs/plugin-vue": "^5.0.5", + "bumpp": "^9.4.1", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-vue": "^9.26.0", + "lint-staged": "^15.2.7", + "prettier": "^3.3.2", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", + "vue": "^3.4.31", + "zx": "^8.1.3" }, "lint-staged": { "*.{mjs,js,vue}": [ @@ -42,5 +40,8 @@ "*.{css,less,scss,json,graphql}": [ "prettier --write" ] + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/vue-static/src/App.vue b/packages/create-app/templates/vue-static/src/App.vue index bfb098ed..8ffee950 100644 --- a/packages/create-app/templates/vue-static/src/App.vue +++ b/packages/create-app/templates/vue-static/src/App.vue @@ -1,21 +1,36 @@ - diff --git a/packages/create-app/templates/vue-static/src/assets/blocklet.svg b/packages/create-app/templates/vue-static/src/assets/blocklet.svg new file mode 100644 index 00000000..3ec20a18 --- /dev/null +++ b/packages/create-app/templates/vue-static/src/assets/blocklet.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +
diff --git a/packages/create-app/templates/vue-static/src/assets/logo.png b/packages/create-app/templates/vue-static/src/assets/logo.png deleted file mode 100644 index f3d2503f..00000000 Binary files a/packages/create-app/templates/vue-static/src/assets/logo.png and /dev/null differ diff --git a/packages/create-app/templates/vue-static/src/assets/vite.svg b/packages/create-app/templates/vue-static/src/assets/vite.svg new file mode 100644 index 00000000..ee9fadaf --- /dev/null +++ b/packages/create-app/templates/vue-static/src/assets/vite.svg @@ -0,0 +1 @@ + diff --git a/packages/create-app/templates/vue-static/src/assets/vue.svg b/packages/create-app/templates/vue-static/src/assets/vue.svg new file mode 100644 index 00000000..ca8129c2 --- /dev/null +++ b/packages/create-app/templates/vue-static/src/assets/vue.svg @@ -0,0 +1 @@ + diff --git a/packages/create-app/templates/vue-static/src/components/HelloWorld.vue b/packages/create-app/templates/vue-static/src/components/HelloWorld.vue index 48da87f5..084f5b9e 100644 --- a/packages/create-app/templates/vue-static/src/components/HelloWorld.vue +++ b/packages/create-app/templates/vue-static/src/components/HelloWorld.vue @@ -11,28 +11,28 @@ const count = ref(0); diff --git a/packages/create-app/templates/vue-static/src/main.js b/packages/create-app/templates/vue-static/src/main.js index 684d0421..f8c23e47 100644 --- a/packages/create-app/templates/vue-static/src/main.js +++ b/packages/create-app/templates/vue-static/src/main.js @@ -1,4 +1,5 @@ import { createApp } from 'vue'; +import './style.css'; import App from './App.vue'; createApp(App).mount('#app'); diff --git a/packages/create-app/templates/vue-static/src/style.css b/packages/create-app/templates/vue-static/src/style.css new file mode 100644 index 00000000..bb131d6b --- /dev/null +++ b/packages/create-app/templates/vue-static/src/style.css @@ -0,0 +1,79 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/packages/create-app/templates/vue-static/template-info.json b/packages/create-app/templates/vue-static/template-info.json index f83db5c9..30e14828 100644 --- a/packages/create-app/templates/vue-static/template-info.json +++ b/packages/create-app/templates/vue-static/template-info.json @@ -1,9 +1,12 @@ { "name": "vue-static", - "desc": { "en": "A front-end application skeleton built with Vue 3", "zh": "一个基于 Vue 3 构建的前端应用骨架" }, + "desc": { + "en": "A front-end application skeleton built with Vue 3", + "zh": "一个基于 Vue 3 构建的前端应用骨架" + }, "blockletType": "static", "composable": true, "languages": "JavaScript", "useCase": "Starter", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/templates/vue2-dapp/README.md b/packages/create-app/templates/vue2-dapp/README.md index c52befe4..d4d26d26 100644 --- a/packages/create-app/templates/vue2-dapp/README.md +++ b/packages/create-app/templates/vue2-dapp/README.md @@ -32,14 +32,14 @@ This blocklet is a static project, which means this is a frontend application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -139,7 +139,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/vue2-dapp/api/hooks/pre-start.js b/packages/create-app/templates/vue2-dapp/api/hooks/pre-start.js index dff31e54..f1514a82 100644 --- a/packages/create-app/templates/vue2-dapp/api/hooks/pre-start.js +++ b/packages/create-app/templates/vue2-dapp/api/hooks/pre-start.js @@ -25,9 +25,10 @@ const ensureAccountDeclared = async () => { (async () => { try { await ensureAccountDeclared(); + logger.info(`${name} pre-start successfully`); process.exit(0); } catch (err) { - logger.error(`${name} pre-start error`, err.message); + logger.error(`${name} pre-start error`, err); process.exit(1); } })(); diff --git a/packages/create-app/templates/vue2-dapp/blocklet.yml b/packages/create-app/templates/vue2-dapp/blocklet.yml index edbb33cf..1a3b9a9e 100644 --- a/packages/create-app/templates/vue2-dapp/blocklet.yml +++ b/packages/create-app/templates/vue2-dapp/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: git+https://github.com/blocklet/create-blocklet.git -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/vue2-dapp/index.html b/packages/create-app/templates/vue2-dapp/index.html index 3e0b5588..8a9f8f0a 100644 --- a/packages/create-app/templates/vue2-dapp/index.html +++ b/packages/create-app/templates/vue2-dapp/index.html @@ -1,14 +1,17 @@ - - - - - - - - -
- - + + + + + + + + + + +
+ + + diff --git a/packages/create-app/templates/vue2-dapp/package.json b/packages/create-app/templates/vue2-dapp/package.json index b72d72ed..9744a038 100644 --- a/packages/create-app/templates/vue2-dapp/package.json +++ b/packages/create-app/templates/vue2-dapp/package.json @@ -1,54 +1,54 @@ { - "name": "template-vue2", + "name": "template-vue2-dapp", "version": "0.1.0", "scripts": { "dev": "blocklet dev", "start": "cross-env NODE_ENV=development nodemon api/dev.js -w api", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run bundle:client && npm run bundle:api", "bundle:client": "vite build", - "bundle:api": "npm run clean && blocklet bundle --zip --create-release", + "bundle:api": "npm run clean && blocklet bundle --compact --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "lint": "eslint src api --ext .mjs,.js,.vue", "lint:fix": "npm run lint -- --fix", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, "dependencies": { - "@arcblock/did-auth": "^1.18.108", + "@arcblock/did-auth": "^1.18.124", "@arcblock/did-auth-storage-nedb": "^1.7.1", - "@blocklet/sdk": "^1.16.20", - "@ocap/client": "^1.18.108", - "@ocap/mcrypto": "^1.18.108", - "@ocap/wallet": "^1.18.108", - "axios": "^1.6.2", + "@blocklet/sdk": "^1.16.28", + "@ocap/client": "^1.18.124", + "@ocap/mcrypto": "^1.18.124", + "@ocap/wallet": "^1.18.124", + "axios": "^1.7.2", "cookie-parser": "^1.4.6", "cors": "^2.8.5", - "dotenv-flow": "^3.3.0", - "express": "^4.18.2", - "express-async-errors": "^3.1.1", - "vue": "^2.7.15" + "dotenv-flow": "^4.1.0", + "express": "^4.19.2", + "express-async-errors": "^3.1.1" }, "devDependencies": { "@vitejs/plugin-vue2": "^2.3.1", - "bumpp": "^8.2.1", + "bumpp": "^9.4.1", "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-vue": "^9.19.2", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "nodemon": "^3.0.2", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-vue": "^9.26.0", + "lint-staged": "^15.2.7", + "nodemon": "^3.1.4", "npm-run-all": "^4.1.5", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", - "zx": "^7.2.3" + "prettier": "^3.3.2", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", + "vue": "^2.7.16", + "zx": "^8.1.3" }, "lint-staged": { "*.{mjs,js,vue}": [ @@ -58,5 +58,8 @@ "*.{css,less,scss,json,graphql}": [ "prettier --write" ] + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/vue2-dapp/src/libs/api.js b/packages/create-app/templates/vue2-dapp/src/libs/api.js index 2b3e6c64..12b0d1b4 100644 --- a/packages/create-app/templates/vue2-dapp/src/libs/api.js +++ b/packages/create-app/templates/vue2-dapp/src/libs/api.js @@ -8,7 +8,7 @@ axios.interceptors.request.use( return config; }, - (error) => Promise.reject(error) + (error) => Promise.reject(error), ); export default axios; diff --git a/packages/create-app/templates/vue2-dapp/template-info.json b/packages/create-app/templates/vue2-dapp/template-info.json index 64b1cf5b..36e92862 100644 --- a/packages/create-app/templates/vue2-dapp/template-info.json +++ b/packages/create-app/templates/vue2-dapp/template-info.json @@ -8,5 +8,5 @@ "composable": true, "languages": "JavaScript", "useCase": "Starter", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/templates/vue2-static/README.md b/packages/create-app/templates/vue2-static/README.md index c52befe4..d4d26d26 100644 --- a/packages/create-app/templates/vue2-static/README.md +++ b/packages/create-app/templates/vue2-static/README.md @@ -32,14 +32,14 @@ This blocklet is a static project, which means this is a frontend application. I Blocklet needs blocklet server as a dependency. So you need to install it first. `npm install -g @blocklet/cli` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution](https://developer.blocklet.io/docs/en/quick-start/blocklet-server#use-the-binary-distribution) + See details in [https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli](https://www.arcblock.io/docs/blocklet-developer/install-blocklet-cli) 2. Init blocklet server & start blocklet server Before starting an blocklet server, you need to init blocklet server. `blocklet server init --mode=debug` `blocklet server start` - See details in [https://developer.blocklet.io/docs/en/quick-start/blocklet-server](https://developer.blocklet.io/docs/en/quick-start/blocklet-server) + See details in [https://www.arcblock.io/docs/blocklet-developer/getting-started](https://www.arcblock.io/docs/blocklet-developer/getting-started) 3. Go to the project directory `cd [name]` 4. Install dependencies: `npm install` or `yarn` @@ -139,7 +139,7 @@ After developing a blocklet, you may need to bundle it. Use `npm run bundle` com ## Learn More - Full specification of `blocklet.yml`: [https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md](https://github.com/blocklet/blocklet-specification/blob/main/docs/meta.md) -- Full document of Blocklet Server & blocklet development: [https://developer.blocklet.io/docs/en](https://developer.blocklet.io/docs/en) +- Full document of Blocklet Server & blocklet development: [https://www.arcblock.io/docs/blocklet-developer](https://www.arcblock.io/docs/blocklet-developer) ## License diff --git a/packages/create-app/templates/vue2-static/blocklet.yml b/packages/create-app/templates/vue2-static/blocklet.yml index b7478f87..74289366 100644 --- a/packages/create-app/templates/vue2-static/blocklet.yml +++ b/packages/create-app/templates/vue2-static/blocklet.yml @@ -13,7 +13,7 @@ author: repository: type: git url: 'git+https://github.com/blocklet/create-blocklet.git' -specVersion: 1.1.1 +specVersion: 1.2.8 version: 0.1.0 logo: logo.png files: diff --git a/packages/create-app/templates/vue2-static/index.html b/packages/create-app/templates/vue2-static/index.html index 3e0b5588..8a9f8f0a 100644 --- a/packages/create-app/templates/vue2-static/index.html +++ b/packages/create-app/templates/vue2-static/index.html @@ -1,14 +1,17 @@ - - - - - - - - -
- - + + + + + + + + + + +
+ + + diff --git a/packages/create-app/templates/vue2-static/package.json b/packages/create-app/templates/vue2-static/package.json index 71bc2d6b..7e1f12d4 100644 --- a/packages/create-app/templates/vue2-static/package.json +++ b/packages/create-app/templates/vue2-static/package.json @@ -1,5 +1,5 @@ { - "name": "template-vue2", + "name": "template-vue2-static", "version": "0.1.0", "scripts": { "dev": "blocklet dev", @@ -7,32 +7,30 @@ "lint": "eslint src --ext .mjs,.js,.vue", "lint:fix": "npm run lint -- --fix", "serve": "vite preview", - "clean": "node scripts/build-clean.js", + "clean": "node scripts/build-clean.mjs", "bundle": "npm run clean && vite build && blocklet bundle --zip --create-release", "deploy": "npm run bundle && blocklet deploy .blocklet/bundle", "upload": "npm run bundle && blocklet upload .blocklet/release/blocklet.json", "deploy:child": "npm run bundle && blocklet deploy .blocklet/bundle --app-did=<%= did %>", "dev:child": "blocklet dev --component --app-did=<%= did %>", - "prepare": "husky install", + "prepare": "npx simple-git-hooks", "bump-version": "zx --quiet scripts/bump-version.mjs" }, - "dependencies": { - "vue": "^2.7.15" - }, "devDependencies": { "@vitejs/plugin-vue2": "^2.3.1", - "bumpp": "^8.2.1", - "eslint": "^8.56.0", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-vue": "^9.19.2", - "husky": "^8.0.3", - "lint-staged": "^12.5.0", - "prettier": "^3.1.1", - "rimraf": "^3.0.2", - "vite": "^5.0.10", - "vite-plugin-blocklet": "^0.7.9", - "zx": "^7.2.3" + "bumpp": "^9.4.1", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-vue": "^9.26.0", + "lint-staged": "^15.2.7", + "prettier": "^3.3.2", + "rimraf": "^5.0.7", + "simple-git-hooks": "^2.11.1", + "vite": "^5.3.2", + "vite-plugin-blocklet": "^0.8.0", + "vue": "^2.7.16", + "zx": "^8.1.3" }, "lint-staged": { "*.{mjs,js,vue}": [ @@ -42,5 +40,8 @@ "*.{css,less,scss,json,graphql}": [ "prettier --write" ] + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" } } diff --git a/packages/create-app/templates/vue2-static/template-info.json b/packages/create-app/templates/vue2-static/template-info.json index 1a711756..31838f00 100644 --- a/packages/create-app/templates/vue2-static/template-info.json +++ b/packages/create-app/templates/vue2-static/template-info.json @@ -1,9 +1,12 @@ { "name": "vue2-static", - "desc": { "en": "A front-end application skeleton built with Vue 2", "zh": "一个基于 Vue 2 构建的前端应用骨架" }, + "desc": { + "en": "A front-end application skeleton built with Vue 2", + "zh": "一个基于 Vue 2 构建的前端应用骨架" + }, "blockletType": "static", "composable": true, "languages": "JavaScript", "useCase": "Starter", - "author": "ZhangHan" -} \ No newline at end of file + "author": "Blocklet" +} diff --git a/packages/create-app/test/blocklet-server.test.js b/packages/create-app/test/blocklet-server.test.js index 40e81bea..abf9f5b8 100644 --- a/packages/create-app/test/blocklet-server.test.js +++ b/packages/create-app/test/blocklet-server.test.js @@ -14,7 +14,7 @@ test( const cleanVersion = semver.valid(semver.coerce(version)); expect(semver.satisfies(cleanVersion, '>=1.7.0')).toBe(true); }, - -1 + -1, ); test( @@ -24,7 +24,7 @@ test( console.log('isRunning', isRunning === true); expect(isRunning).toBe(true); }, - -1 + -1, ); test( @@ -33,5 +33,5 @@ test( const directory = await getServerDirectory(); expect(directory).toBe('/workspace/.run/prod'); }, - -1 + -1, ); diff --git a/packages/create-app/test/info.test.js b/packages/create-app/test/info.test.js index b2a4cee7..28e7c13c 100644 --- a/packages/create-app/test/info.test.js +++ b/packages/create-app/test/info.test.js @@ -10,5 +10,5 @@ test.only( name: 'zhanghan', }); }, - -1 + -1, ); diff --git a/plugins/vite-plugin-blocklet/libs/hmr.js b/plugins/vite-plugin-blocklet/libs/hmr.js index 34d5ce4b..0bf8fb48 100644 --- a/plugins/vite-plugin-blocklet/libs/hmr.js +++ b/plugins/vite-plugin-blocklet/libs/hmr.js @@ -22,7 +22,7 @@ export default function createHmrPlugin(options = {}) { replacedCode = replacedCode.replace("const base = __BASE__ || '/';\n", ''); replacedCode = replacedCode.replace( 'const socketHost = `${__HMR_HOSTNAME__ || location.hostname}:${__HMR_PORT__}`;', - "const base = __BASE__ || '/';\nlet tmpPort = __HMR_PORT__;\nif (window.blocklet) {\ntmpPort = new URL(window.location.href).port + base;\n}\nconst socketHost = `${__HMR_HOSTNAME__ || location.hostname}${tmpPort ? `:${tmpPort}` : ''}`;" + "const base = __BASE__ || '/';\nlet tmpPort = __HMR_PORT__;\nif (window.blocklet) {\ntmpPort = new URL(window.location.href).port + base;\n}\nconst socketHost = `${__HMR_HOSTNAME__ || location.hostname}${tmpPort ? `:${tmpPort}` : ''}`;", ); return replacedCode; } diff --git a/plugins/vite-plugin-blocklet/package.json b/plugins/vite-plugin-blocklet/package.json index ef449f31..ebfbcae2 100644 --- a/plugins/vite-plugin-blocklet/package.json +++ b/plugins/vite-plugin-blocklet/package.json @@ -1,7 +1,7 @@ { "name": "vite-plugin-blocklet", "type": "module", - "version": "0.7.9", + "version": "0.8.0", "description": "", "main": "index.js", "files": [ @@ -24,19 +24,19 @@ "author": "", "license": "ISC", "devDependencies": { - "rollup": "^2.79.1" + "rollup": "^4.18.0" }, "dependencies": { - "@arcblock/did": "^1.18.108", - "@ocap/mcrypto": "^1.18.108", - "@ocap/util": "^1.18.108", + "@arcblock/did": "^1.18.124", + "@ocap/mcrypto": "^1.18.124", + "@ocap/util": "^1.18.124", "dotenv": "^16.4.5", "get-port": "^5.1.1", "ismobilejs": "^1.1.1", "mri": "^1.2.0", - "semver": "^7.5.4", - "vite-plugin-node-polyfills": "^0.17.0", - "yaml": "^2.3.4" + "semver": "^7.6.2", + "vite-plugin-node-polyfills": "^0.22.0", + "yaml": "^2.4.5" }, "peerDependencies": { "vite": ">=5" diff --git a/plugins/vite-plugin-wss-hmr/index.js b/plugins/vite-plugin-wss-hmr/index.js index 10336d23..5d1708f9 100644 --- a/plugins/vite-plugin-wss-hmr/index.js +++ b/plugins/vite-plugin-wss-hmr/index.js @@ -72,7 +72,7 @@ async function createVitePlugin() { console.log(`[vite-plugin-wss-hmr] hmrServer working on wss://${host}:${port}${base}`); setTimeout(() => { console.warn( - `[vite-plugin-wss-hmr] if you use this plugin for the first time, please visit https://${host}:${port}${base} , and add your browser(which used of dev) as trust` + `[vite-plugin-wss-hmr] if you use this plugin for the first time, please visit https://${host}:${port}${base} , and add your browser(which used of dev) as trust`, ); }, 3000); } diff --git a/plugins/vite-plugin-wss-hmr/package.json b/plugins/vite-plugin-wss-hmr/package.json index b2b947d4..dde623ca 100644 --- a/plugins/vite-plugin-wss-hmr/package.json +++ b/plugins/vite-plugin-wss-hmr/package.json @@ -1,7 +1,7 @@ { "name": "vite-plugin-wss-hmr", "type": "module", - "version": "0.7.9", + "version": "0.8.0", "description": "", "main": "index.js", "exports": { @@ -21,6 +21,6 @@ "license": "ISC", "devDependencies": { "rollup": "^2.79.1", - "vite": "^5.0.10" + "vite": "^5.3.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16b284f3..7d5b9c41 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,49 +1,44 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - '@blocklet/sdk': ^1.16.20 - vite: ^5.0.10 - vite-plugin-blocklet: ^0.7.1 - vite-plugin-node-polyfills: ^0.17.0 - importers: .: dependencies: bumpp: - specifier: ^7.2.0 - version: 7.2.0 - taze: - specifier: ^0.13.0 - version: 0.13.0 + specifier: ^9.4.1 + version: 9.4.1 zx: - specifier: ^7.2.3 - version: 7.2.3 + specifier: ^8.1.3 + version: 8.1.3 + devDependencies: + simple-git-hooks: + specifier: ^2.11.1 + version: 2.11.1 packages/create-app: dependencies: '@arcblock/did': - specifier: ^1.18.108 - version: 1.18.108 + specifier: ^1.18.124 + version: 1.18.124 '@ocap/mcrypto': - specifier: ^1.18.108 - version: 1.18.108 + specifier: ^1.18.124 + version: 1.18.124 '@ocap/util': - specifier: ^1.18.108 - version: 1.18.108 + specifier: ^1.18.124 + version: 1.18.124 boxen: - specifier: ^6.2.1 - version: 6.2.1 + specifier: ^7.1.1 + version: 7.1.1 ejs: - specifier: ^3.1.9 - version: 3.1.9 + specifier: ^3.1.10 + version: 3.1.10 envfile: - specifier: ^6.22.0 - version: 6.22.0 + specifier: ^7.1.0 + version: 7.1.0 figlet: specifier: ^1.7.0 version: 1.7.0 @@ -51,48 +46,48 @@ importers: specifier: ^2.0.2 version: 2.0.2 jdenticon: - specifier: ^3.2.0 - version: 3.2.0 + specifier: ^3.3.0 + version: 3.3.0 ora: - specifier: ^6.3.1 - version: 6.3.1 + specifier: ^8.0.1 + version: 8.0.1 prompts: specifier: ^2.4.2 version: 2.4.2 semver: - specifier: ^7.5.4 - version: 7.5.4 + specifier: ^7.6.2 + version: 7.6.2 terminal-link: specifier: ^3.0.0 version: 3.0.0 zx: - specifier: 7.2.3 - version: 7.2.3 + specifier: ^8.1.3 + version: 8.1.3 devDependencies: '@arcblock/eslint-config-base': - specifier: 0.2.4 - version: 0.2.4(eslint@8.56.0)(prettier@3.1.1)(typescript@5.3.3) + specifier: ^0.3.2 + version: 0.3.2(@typescript-eslint/eslint-plugin@7.14.1(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(prettier@3.3.2)(typescript@5.3.3) eslint: - specifier: ^8.56.0 - version: 8.56.0 + specifier: ^8.57.0 + version: 8.57.0 prettier: - specifier: ^3.1.1 - version: 3.1.1 + specifier: ^3.3.2 + version: 3.3.2 vitest: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.6.0 + version: 1.6.0(@types/node@20.14.8) plugins/vite-plugin-blocklet: dependencies: '@arcblock/did': - specifier: ^1.18.108 - version: 1.18.108 + specifier: ^1.18.124 + version: 1.18.124 '@ocap/mcrypto': - specifier: ^1.18.108 - version: 1.18.108 + specifier: ^1.18.124 + version: 1.18.124 '@ocap/util': - specifier: ^1.18.108 - version: 1.18.108 + specifier: ^1.18.124 + version: 1.18.124 dotenv: specifier: ^16.4.5 version: 16.4.5 @@ -106,21 +101,21 @@ importers: specifier: ^1.2.0 version: 1.2.0 semver: - specifier: ^7.5.4 - version: 7.5.4 + specifier: ^7.6.2 + version: 7.6.2 vite: - specifier: ^5.0.10 - version: 5.0.10 + specifier: '>=5' + version: 5.3.2(@types/node@20.14.8) vite-plugin-node-polyfills: - specifier: ^0.17.0 - version: 0.17.0(rollup@2.79.1)(vite@5.0.10) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.18.0)(vite@5.3.2(@types/node@20.14.8)) yaml: - specifier: ^2.3.4 - version: 2.3.4 + specifier: ^2.4.5 + version: 2.4.5 devDependencies: rollup: - specifier: ^2.79.1 - version: 2.79.1 + specifier: ^4.18.0 + version: 4.18.0 plugins/vite-plugin-wss-hmr: devDependencies: @@ -128,505 +123,243 @@ importers: specifier: ^2.79.1 version: 2.79.1 vite: - specifier: ^5.0.10 - version: 5.0.10 + specifier: ^5.3.2 + version: 5.3.2(@types/node@20.14.8) packages: - /@aashutoshrathi/word-wrap@1.2.6: + '@aashutoshrathi/word-wrap@1.2.6': resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - dev: true - /@antfu/ni@0.21.12: - resolution: {integrity: sha512-2aDL3WUv8hMJb2L3r/PIQWsTLyq7RQr3v9xD16fiz6O8ys1xEyLhhTOv8gxtZvJiTzjTF5pHoArvRdesGL1DMQ==} - hasBin: true - dev: false - - /@antfu/utils@0.7.7: - resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} - dev: false - - /@arcblock/did@1.18.108: - resolution: {integrity: sha512-Q5SxeD2ygi4HZi1xAa2pW/TAFisAWegQcUBcgu2zuQ0yKKF927w25csTCtXFPcQ+3OTmX9SCGgbsPfvPxmPakg==} - dependencies: - '@ocap/mcrypto': 1.18.108 - '@ocap/util': 1.18.108 - bn.js: 5.2.1 - debug: 4.3.4 - lodash: 4.17.21 - transitivePeerDependencies: - - supports-color - dev: false + '@arcblock/did@1.18.124': + resolution: {integrity: sha512-TS2452GllL6kcoGbYIHhTrzSg0UoGLbaU2V1uhoF7clMeywLcip98h19iPyAHGVqlaQDU+dWtYGlRmRu/oQHFw==} - /@arcblock/eslint-config-base@0.2.4(eslint@8.56.0)(prettier@3.1.1)(typescript@5.3.3): - resolution: {integrity: sha512-8kO/1wAkAgkYVNbvLLjZEut/zZ7SVxPwyHe8mHdKZYMSAyaROIV3NN1PA4NtSxCpJWRG+UtOtheaKbZffE8N6w==} + '@arcblock/eslint-config-base@0.3.2': + resolution: {integrity: sha512-Af66GNE2o+v2H7O0D8gpoCQ7usLadGGiun8zY830hPb5QqQmv2PO9x3/BHxrOJaCSeAgrTURc8Pyi9OMaItpuA==} peerDependencies: - eslint: ^8.17.0 - prettier: ^2.7.1 - dependencies: - eslint: 8.56.0 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.56.0) - eslint-config-prettier: 8.10.0(eslint@8.56.0) - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-jest: 27.6.0(eslint@8.56.0)(typescript@5.3.3) - eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.56.0)(prettier@3.1.1) - eslint-plugin-unicorn: 47.0.0(eslint@8.56.0) - prettier: 3.1.1 - transitivePeerDependencies: - - '@typescript-eslint/eslint-plugin' - - '@typescript-eslint/parser' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - supports-color - - typescript - dev: true + eslint: ^8.57.0 + prettier: ^3.3.2 - /@babel/code-frame@7.22.5: + '@babel/code-frame@7.22.5': resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.5 - dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - dev: true - /@babel/highlight@7.22.5: + '@babel/highlight@7.22.5': resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@esbuild/aix-ppc64@0.19.10: - resolution: {integrity: sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - optional: true - /@esbuild/android-arm64@0.19.10: - resolution: {integrity: sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==} + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - optional: true - /@esbuild/android-arm@0.19.10: - resolution: {integrity: sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==} + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - optional: true - /@esbuild/android-x64@0.19.10: - resolution: {integrity: sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==} + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - optional: true - /@esbuild/darwin-arm64@0.19.10: - resolution: {integrity: sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==} + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - optional: true - /@esbuild/darwin-x64@0.19.10: - resolution: {integrity: sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==} + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - optional: true - /@esbuild/freebsd-arm64@0.19.10: - resolution: {integrity: sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==} + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - optional: true - /@esbuild/freebsd-x64@0.19.10: - resolution: {integrity: sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==} + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - optional: true - /@esbuild/linux-arm64@0.19.10: - resolution: {integrity: sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==} + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-arm@0.19.10: - resolution: {integrity: sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==} + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-ia32@0.19.10: - resolution: {integrity: sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==} + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-loong64@0.19.10: - resolution: {integrity: sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==} + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-mips64el@0.19.10: - resolution: {integrity: sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==} + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-ppc64@0.19.10: - resolution: {integrity: sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==} + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-riscv64@0.19.10: - resolution: {integrity: sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==} + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-s390x@0.19.10: - resolution: {integrity: sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==} + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-x64@0.19.10: - resolution: {integrity: sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==} + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/netbsd-x64@0.19.10: - resolution: {integrity: sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==} + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - optional: true - /@esbuild/openbsd-x64@0.19.10: - resolution: {integrity: sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==} + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - optional: true - /@esbuild/sunos-x64@0.19.10: - resolution: {integrity: sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==} + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - optional: true - /@esbuild/win32-arm64@0.19.10: - resolution: {integrity: sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==} + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-ia32@0.19.10: - resolution: {integrity: sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==} + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-x64@0.19.10: - resolution: {integrity: sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==} + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.56.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/regexpp@4.6.1: - resolution: {integrity: sha512-O7x6dMstWLn2ktjcoiNLDkAGG2EjveHL+Vvc+n0fXumkJYAcSqcVYKtwDU+hDZ0uDUsnUagSYaZrOLAYE8un1A==} + '@eslint-community/regexpp@4.10.1': + resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - /@eslint/eslintrc@2.1.4: + '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/js@8.56.0: - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@8.57.0': + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true + deprecated: Use @eslint/config-array instead - /@humanwhocodes/module-importer@1.0.1: + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - dev: true - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} - dev: true - - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.0.1 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: false + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead - /@jest/schemas@29.6.3: + '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jridgewell/sourcemap-codec@1.4.15: + '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jsdevtools/ez-spawn@3.0.4: + '@jsdevtools/ez-spawn@3.0.4': resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} engines: {node: '>=10'} - dependencies: - call-me-maybe: 1.0.1 - cross-spawn: 7.0.3 - string-argv: 0.3.1 - type-detect: 4.0.8 - dev: false - /@nodelib/fs.scandir@2.1.5: + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - /@nodelib/fs.stat@2.0.5: + '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - /@nodelib/fs.walk@1.2.8: + '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.13.0 - - /@npmcli/agent@2.2.0: - resolution: {integrity: sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - agent-base: 7.1.0 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.1 - lru-cache: 10.1.0 - socks-proxy-agent: 8.0.1 - transitivePeerDependencies: - - supports-color - dev: false - - /@npmcli/config@8.0.3: - resolution: {integrity: sha512-rqRX7/UORvm2YRImY67kyfwD9rpi5+KXXb1j/cpTUKRcUqvpJ9/PMMc7Vv57JVqmrFj8siBBFEmXI3Gg7/TonQ==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/map-workspaces': 3.0.4 - ci-info: 4.0.0 - ini: 4.1.1 - nopt: 7.2.0 - proc-log: 3.0.0 - read-package-json-fast: 3.0.2 - semver: 7.5.4 - walk-up-path: 3.0.1 - dev: false - - /@npmcli/fs@3.1.0: - resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - semver: 7.5.4 - dev: false - - /@npmcli/git@5.0.3: - resolution: {integrity: sha512-UZp9NwK+AynTrKvHn5k3KviW/hA5eENmFsu3iAPe7sWRt0lFUdsY/wXIYjpDFe7cdSNwOIzbObfwgt6eL5/2zw==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/promise-spawn': 7.0.0 - lru-cache: 10.1.0 - npm-pick-manifest: 9.0.0 - proc-log: 3.0.0 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.5.4 - which: 4.0.0 - transitivePeerDependencies: - - bluebird - dev: false - - /@npmcli/installed-package-contents@2.0.2: - resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - npm-bundled: 3.0.0 - npm-normalize-package-bin: 3.0.1 - dev: false - - /@npmcli/map-workspaces@3.0.4: - resolution: {integrity: sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@npmcli/name-from-folder': 2.0.0 - glob: 10.3.10 - minimatch: 9.0.3 - read-package-json-fast: 3.0.2 - dev: false - - /@npmcli/name-from-folder@2.0.0: - resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false - - /@npmcli/node-gyp@3.0.0: - resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false - - /@npmcli/promise-spawn@7.0.0: - resolution: {integrity: sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - which: 4.0.0 - dev: false - - /@npmcli/run-script@7.0.2: - resolution: {integrity: sha512-Omu0rpA8WXvcGeY6DDzyRoY1i5DkCBkzyJ+m2u7PD6quzb0TvSqdIPOkTn8ZBOj7LbbcbMfZ3c5skwSu6m8y2w==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/node-gyp': 3.0.0 - '@npmcli/promise-spawn': 7.0.0 - node-gyp: 10.0.1 - read-package-json-fast: 3.0.2 - which: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /@ocap/mcrypto@1.18.108: - resolution: {integrity: sha512-uZao2erYvvsGhYgMQ8lLsQM0JRM/8x7BGUZjweegXdnqDmU9BMQa6+WQ3hK6t1b/l83kwczYVOVeRoeHb3hfog==} - dependencies: - '@ocap/util': 1.18.108 - bn.js: 5.2.1 - crypto-js: 4.1.1 - elliptic: 6.5.4 - eth-lib: 0.2.8 - hash.js: 1.1.7 - interface: 1.2.1 - js-sha3: 0.8.0 - randombytes: 2.1.0 - tweetnacl: 1.0.3 - dev: false + '@ocap/mcrypto@1.18.124': + resolution: {integrity: sha512-FNcFrw062J+z+AZvAXTcmkyn8dg2JbLvW7juGXJqZt8cpDB4k2FQImA7taYWSK9NrZjkh4NydG9IhR1l5umgsg==} - /@ocap/util@1.18.108: - resolution: {integrity: sha512-LUcj6idssf9YIYrKkTY8PuNmquIIhXmNsmkEnCAvYDgLkLIC+Skia0OrJcbDhrsLENHz7lVLthHEsK8E/EX6Kw==} - dependencies: - base64-url: 2.3.3 - bn.js: 5.2.1 - bs58: 5.0.0 - lodash: 4.17.21 - utf8: 3.0.0 - dev: false + '@ocap/util@1.18.124': + resolution: {integrity: sha512-i2RvkJNJ9ETk30BEvmV14Mv30A6vmm/BpRhcByE/ZbY9VDm9+HiOKI5oh8FXaca3wgGHmt97UMh7BdZtyChonA==} - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true - dev: false - optional: true + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - /@rollup/plugin-inject@5.0.5(rollup@2.79.1): + '@rollup/plugin-inject@5.0.5': resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -634,14 +367,8 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) - estree-walker: 2.0.2 - magic-string: 0.30.5 - rollup: 2.79.1 - dev: false - /@rollup/pluginutils@5.0.2(rollup@2.79.1): + '@rollup/pluginutils@5.0.2': resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -649,470 +376,2594 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@types/estree': 1.0.0 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 2.79.1 - dev: false - /@rollup/rollup-android-arm-eabi@4.9.1: - resolution: {integrity: sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==} + '@rollup/rollup-android-arm-eabi@4.18.0': + resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} cpu: [arm] os: [android] - requiresBuild: true - optional: true - /@rollup/rollup-android-arm64@4.9.1: - resolution: {integrity: sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==} + '@rollup/rollup-android-arm64@4.18.0': + resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} cpu: [arm64] os: [android] - requiresBuild: true - optional: true - /@rollup/rollup-darwin-arm64@4.9.1: - resolution: {integrity: sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==} + '@rollup/rollup-darwin-arm64@4.18.0': + resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} cpu: [arm64] os: [darwin] - requiresBuild: true - optional: true - /@rollup/rollup-darwin-x64@4.9.1: - resolution: {integrity: sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==} + '@rollup/rollup-darwin-x64@4.18.0': + resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} cpu: [x64] os: [darwin] - requiresBuild: true - optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.9.1: - resolution: {integrity: sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==} + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.18.0': + resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} cpu: [arm] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-arm64-gnu@4.9.1: - resolution: {integrity: sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==} + '@rollup/rollup-linux-arm64-gnu@4.18.0': + resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-arm64-musl@4.9.1: - resolution: {integrity: sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==} + '@rollup/rollup-linux-arm64-musl@4.18.0': + resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-riscv64-gnu@4.9.1: - resolution: {integrity: sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.18.0': + resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} cpu: [riscv64] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-x64-gnu@4.9.1: - resolution: {integrity: sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==} + '@rollup/rollup-linux-s390x-gnu@4.18.0': + resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.18.0': + resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-linux-x64-musl@4.9.1: - resolution: {integrity: sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==} + '@rollup/rollup-linux-x64-musl@4.18.0': + resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@rollup/rollup-win32-arm64-msvc@4.9.1: - resolution: {integrity: sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==} + '@rollup/rollup-win32-arm64-msvc@4.18.0': + resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} cpu: [arm64] os: [win32] - requiresBuild: true - optional: true - /@rollup/rollup-win32-ia32-msvc@4.9.1: - resolution: {integrity: sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==} + '@rollup/rollup-win32-ia32-msvc@4.18.0': + resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} cpu: [ia32] os: [win32] - requiresBuild: true - optional: true - /@rollup/rollup-win32-x64-msvc@4.9.1: - resolution: {integrity: sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==} + '@rollup/rollup-win32-x64-msvc@4.18.0': + resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} cpu: [x64] os: [win32] - requiresBuild: true - optional: true - /@sigstore/bundle@2.1.0: - resolution: {integrity: sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.2.1 - dev: false - - /@sigstore/protobuf-specs@0.2.1: - resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false - - /@sigstore/sign@2.2.0: - resolution: {integrity: sha512-AAbmnEHDQv6CSfrWA5wXslGtzLPtAtHZleKOgxdQYvx/s76Fk6T6ZVt7w2IGV9j1UrFeBocTTQxaXG2oRrDhYA==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/bundle': 2.1.0 - '@sigstore/protobuf-specs': 0.2.1 - make-fetch-happen: 13.0.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@sigstore/tuf@2.2.0: - resolution: {integrity: sha512-KKATZ5orWfqd9ZG6MN8PtCIx4eevWSuGRKQvofnWXRpyMyUEpmrzg5M5BrCpjM+NfZ0RbNGOh5tCz/P2uoRqOA==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.2.1 - tuf-js: 2.1.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@sinclair/typebox@0.27.8: + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - - /@tufjs/canonical-json@2.0.0: - resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} - engines: {node: ^16.14.0 || >=18.0.0} - dev: false - /@tufjs/models@2.0.0: - resolution: {integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.3 - dev: false - - /@types/estree@1.0.0: - resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - dev: false + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/fs-extra@11.0.1: + '@types/fs-extra@11.0.1': resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} - dependencies: - '@types/jsonfile': 6.1.1 - '@types/node': 18.17.0 - dev: false - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true - - /@types/json5@0.0.29: + '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - /@types/jsonfile@6.1.1: + '@types/jsonfile@6.1.1': resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} - dependencies: - '@types/node': 18.17.0 - dev: false - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - dev: false + '@types/node@20.14.8': + resolution: {integrity: sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==} - /@types/node@18.17.0: - resolution: {integrity: sha512-GXZxEtOxYGFchyUzxvKI14iff9KZ2DI+A6a37o6EQevtg6uO9t+aUZKcaC1Te5Ng1OnLM7K9NVVj+FbecD9cJg==} - dev: false - - /@types/normalize-package-data@2.4.1: + '@types/normalize-package-data@2.4.1': resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - dev: true - - /@types/ps-tree@1.1.2: - resolution: {integrity: sha512-ZREFYlpUmPQJ0esjxoG1fMvB2HNaD3z+mjqdSosZvd3RalncI9NEur73P8ZJz4YQdL64CmV1w0RuqoRUlhQRBw==} - dev: false - /@types/semver@7.5.6: - resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} - dev: true - - /@types/tinycolor2@1.4.3: + '@types/tinycolor2@1.4.3': resolution: {integrity: sha512-Kf1w9NE5HEgGxCRyIcRXR/ZYtDv0V8FVPtYHwLxl0O+maGX0erE77pQlD0gpP+/KByMZ87mOA79SjifhSB3PjQ==} - dev: false - /@types/which@3.0.3: - resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==} - dev: false + '@typescript-eslint/eslint-plugin@7.14.1': + resolution: {integrity: sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - /@typescript-eslint/scope-manager@5.62.0: - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - dev: true + '@typescript-eslint/scope-manager@7.14.1': + resolution: {integrity: sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==} + engines: {node: ^18.18.0 || >=20.0.0} - /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + '@typescript-eslint/type-utils@7.14.1': + resolution: {integrity: sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/types@7.14.1': + resolution: {integrity: sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@7.14.1': + resolution: {integrity: sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - tsutils: 3.21.0(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/utils@7.14.1': + resolution: {integrity: sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) - eslint: 8.56.0 - eslint-scope: 5.1.1 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true + eslint: ^8.56.0 - /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.3 - dev: true + '@typescript-eslint/visitor-keys@7.14.1': + resolution: {integrity: sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==} + engines: {node: ^18.18.0 || >=20.0.0} - /@ungap/structured-clone@1.2.0: + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - - /@vitest/expect@1.1.0: - resolution: {integrity: sha512-9IE2WWkcJo2BR9eqtY5MIo3TPmS50Pnwpm66A6neb2hvk/QSLfPXBz2qdiwUOQkwyFuuXEUj5380CbwfzW4+/w==} - dependencies: - '@vitest/spy': 1.1.0 - '@vitest/utils': 1.1.0 - chai: 4.3.10 - dev: true - /@vitest/runner@1.1.0: - resolution: {integrity: sha512-zdNLJ00pm5z/uhbWF6aeIJCGMSyTyWImy3Fcp9piRGvueERFlQFbUwCpzVce79OLm2UHk9iwaMSOaU9jVHgNVw==} - dependencies: - '@vitest/utils': 1.1.0 - p-limit: 5.0.0 - pathe: 1.1.1 - dev: true + '@vitest/expect@1.6.0': + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} - /@vitest/snapshot@1.1.0: - resolution: {integrity: sha512-5O/wyZg09V5qmNmAlUgCBqflvn2ylgsWJRRuPrnHEfDNT6tQpQ8O1isNGgo+VxofISHqz961SG3iVvt3SPK/QQ==} - dependencies: - magic-string: 0.30.5 - pathe: 1.1.1 - pretty-format: 29.7.0 - dev: true + '@vitest/runner@1.6.0': + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} - /@vitest/spy@1.1.0: - resolution: {integrity: sha512-sNOVSU/GE+7+P76qYo+VXdXhXffzWZcYIPQfmkiRxaNCSPiLANvQx5Mx6ZURJ/ndtEkUJEpvKLXqAYTKEY+lTg==} - dependencies: - tinyspy: 2.2.0 - dev: true + '@vitest/snapshot@1.6.0': + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} - /@vitest/utils@1.1.0: - resolution: {integrity: sha512-z+s510fKmYz4Y41XhNs3vcuFTFhcij2YF7F8VQfMEYAAUfqQh0Zfg7+w9xdgFGhPf3tX3TicAe+8BDITk6ampQ==} - dependencies: - diff-sequences: 29.6.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true + '@vitest/spy@1.6.0': + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} - /abbrev@2.0.0: - resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + '@vitest/utils@1.6.0': + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - /acorn-jsx@5.3.2(acorn@8.10.0): + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.10.0 - dev: true - /acorn-walk@8.3.1: - resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} + acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} - dev: true - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} hasBin: true - /agent-base@7.1.0: - resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} - engines: {node: '>= 14'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: false - - /ajv@6.12.6: + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - /ansi-align@3.0.1: + ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - dependencies: - string-width: 4.2.3 - dev: false - /ansi-escapes@5.0.0: + ansi-escapes@5.0.0: resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} engines: {node: '>=12'} - dependencies: - type-fest: 1.4.0 - dev: false - /ansi-regex@5.0.1: + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - /ansi-regex@6.0.1: + ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - dev: false - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /ansi-styles@6.1.1: - resolution: {integrity: sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg==} + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - dev: false - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} - /array-back@3.1.0: - resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} - engines: {node: '>=6'} - dev: false + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /array-buffer-byte-length@1.0.0: + array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - dependencies: - call-bind: 1.0.5 - is-array-buffer: 3.0.2 - dev: true - /array-includes@3.1.7: + array-includes@3.1.7: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-string: 1.0.7 - dev: true - /array-union@2.1.0: + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - /array.prototype.findlastindex@1.2.3: + array.prototype.findlastindex@1.2.3: resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.2 - dev: true - /array.prototype.flat@1.3.2: + array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 - dev: true - /array.prototype.flatmap@1.3.2: + array.prototype.flatmap@1.3.2: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + + asn1.js@5.4.1: + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + + assert@2.0.0: + resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} + + assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + + async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + + available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-x@4.0.0: + resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + base64-url@2.3.3: + resolution: {integrity: sha512-dLMhIsK7OplcDauDH/tZLvK7JmUZK3A7KiQpjNzsBrM6Etw7hzNI1tLEywqJk9NnwkgWuFKSlx/IUO7vF6Mo8Q==} + engines: {node: '>=6'} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bn.js@4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + browser-resolve@2.0.0: + resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} + + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + + browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + + browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + + browserify-rsa@4.1.0: + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + + browserify-sign@4.2.1: + resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} + + browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bs58@5.0.0: + resolution: {integrity: sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==} + + buffer-to-arraybuffer@0.0.5: + resolution: {integrity: sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==} + + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + + bumpp@9.4.1: + resolution: {integrity: sha512-kzhp/LpNX0HkUpEyLd7sU2LTN/mbAVgcxJ1Zi2cAJTE/tul6rypSKGpH8UywDpzKWItL8LVdKsIFnwmylw0+7g==} + engines: {node: '>=10'} + hasBin: true + + c12@1.11.1: + resolution: {integrity: sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg==} + peerDependencies: + magicast: ^0.3.4 + peerDependenciesMeta: + magicast: + optional: true + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + + call-me-maybe@1.0.1: + resolution: {integrity: sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-lite@1.0.30001638: + resolution: {integrity: sha512-5SuJUJ7cZnhPpeLHaH0c/HPAnAHZvS6ElWyHK9GSIbVOQABLzowiI2pjmpvZ1WEbkyz46iFd4UXlOHR5SqgfMQ==} + + canvas-renderer@2.2.1: + resolution: {integrity: sha512-RrBgVL5qCEDIXpJ6NrzyRNoTnXxYarqm/cS/W6ERhUJts5UQtt/XPEosGN3rqUkZ4fjBArlnCbsISJ+KCFnIAg==} + + chai@4.3.10: + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + + cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + + confusing-browser-globals@1.0.11: + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + console-browserify@1.2.0: + resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + + constants-browserify@1.0.0: + resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} + + core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + + create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crypto-browserify@3.12.0: + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + + crypto-js@4.1.1: + resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-uri-component@0.2.0: + resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} + engines: {node: '>=0.10'} + + decompress-response@3.3.0: + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} + engines: {node: '>=4'} + + deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + + define-properties@1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + engines: {node: '>= 0.4'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + + domain-browser@4.22.0: + resolution: {integrity: sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==} + engines: {node: '>=10'} + + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true + + electron-to-chromium@1.4.812: + resolution: {integrity: sha512-7L8fC2Ey/b6SePDFKR2zHAy4mbdp1/38Yk5TsARO66W3hC5KEaeKMMHoxwtuH+jcu2AYLSn9QX04i95t6Fl1Hg==} + + elliptic@6.5.4: + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + + emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + envfile@7.1.0: + resolution: {integrity: sha512-dyH4QnnZsArCLhPASr29eqBWDvKpq0GggQFTmysTT/S9TTmt1JrEKNvTBc09Cd7ujVZQful2HBGRMe2agu7Krg==} + engines: {node: '>=8'} + hasBin: true + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + es6-object-assign@1.1.0: + resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-airbnb-base@15.0.0: + resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.2 + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-module-utils@2.8.0: + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-import@2.29.1: + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-jest@28.6.0: + resolution: {integrity: sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + + eslint-plugin-prettier@5.1.3: + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-plugin-unicorn@54.0.0: + resolution: {integrity: sha512-XxYLRiYtAWiAjPv6z4JREby1TAE2byBC7wlh0V4vWDCpccOSU1KovWV//jqPXF6bq3WKxqX9rdjoRQ1EhdmNdQ==} + engines: {node: '>=18.18'} + peerDependencies: + eslint: '>=8.56.0' + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + espree@10.1.0: + resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eth-lib@0.2.8: + resolution: {integrity: sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.13.0: + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + + figlet@1.7.0: + resolution: {integrity: sha512-gO8l3wvqo0V7wEFLXPbkX83b7MVjRrk1oRLfYlZXol8nEpb/ON9pcKLI4qpBv5YtOTfrINtqb7b40iYY2FTWFg==} + engines: {node: '>= 0.4.0'} + hasBin: true + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + + get-port@5.1.1: + resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} + engines: {node: '>=8'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + + giget@1.2.3: + resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} + hasBin: true + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + + globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + gradient-string@2.0.2: + resolution: {integrity: sha512-rEDCuqUQ4tbD78TpzsMtt5OIf0cBCSDWSJtUDaF6JsAh+k0v9r++NzxNEG87oDZx9ZwGhD8DaezR2L/yrw0Jdw==} + engines: {node: '>=10'} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + + has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + + has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + + hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + interface@1.2.1: + resolution: {integrity: sha512-qMf+X2WyPxlGKE/lyBxQ7Ju3RNe8buQUxRBVPlmrmqMyMvQtPUShz7a/281njPjGnUMJ7hJ8+3Wx8Y7H6L5ixw==} + + internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + + is-nan@1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-unicode-supported@2.0.0: + resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + engines: {node: '>=18'} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + ismobilejs@1.1.1: + resolution: {integrity: sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==} + + isomorphic-timers-promises@1.0.1: + resolution: {integrity: sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==} + engines: {node: '>=10'} + + jake@10.8.5: + resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} + engines: {node: '>=10'} + hasBin: true + + jdenticon@3.3.0: + resolution: {integrity: sha512-DhuBRNRIybGPeAjMjdHbkIfiwZCCmf8ggu7C49jhp6aJ7DYsZfudnvnTY5/1vgUhrGA7JaDAx1WevnpjCPvaGg==} + engines: {node: '>=6.4.0'} + hasBin: true + + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + + js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + + magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + + miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + + min-document@2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.0: + resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} + engines: {node: '>=10'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + node-stdlib-browser@1.2.0: + resolution: {integrity: sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==} + engines: {node: '>=10'} + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + nypm@0.3.8: + resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + object-is@1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + + object.entries@1.1.5: + resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.1: + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + + object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + + ohash@1.1.3: + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + ora@8.0.1: + resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==} + engines: {node: '>=18'} + + os-browserify@0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-asn1@5.1.6: + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} + + parse-headers@2.0.5: + resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pkg-dir@5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} + engines: {node: '>=10'} + + pkg-types@1.1.1: + resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + punycode@2.1.1: + resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + engines: {node: '>=6'} + + qs@6.11.2: + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} + + query-string@5.1.1: + resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} + engines: {node: '>=0.10.0'} + + querystring-es3@0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} + engines: {node: '>=0.4.x'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + + react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readable-stream@3.6.0: + resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + + rollup@2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + + rollup@4.18.0: + resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + semver@5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + + set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-get@2.8.2: + resolution: {integrity: sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==} + + simple-git-hooks@2.11.1: + resolution: {integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==} + hasBin: true + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + spdx-correct@3.1.1: + resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + + spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.12: + resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + std-env@3.6.0: + resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} + + stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + + stream-browserify@3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + + stream-http@3.2.0: + resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + + strict-uri-encode@1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@7.1.0: + resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + engines: {node: '>=18'} + + string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + + string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + terminal-link@3.0.0: + resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} + engines: {node: '>=12'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + timed-out@4.0.1: + resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} + engines: {node: '>=0.10.0'} + + timers-browserify@2.0.12: + resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} + engines: {node: '>=0.6.0'} + + tinybench@2.5.1: + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} + + tinycolor2@1.4.2: + resolution: {integrity: sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==} + + tinygradient@1.1.5: + resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==} + + tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + engines: {node: '>=14.0.0'} + + tinyspy@2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + + tty-browserify@0.0.1: + resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} + + tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + + typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-set-query@1.0.0: + resolution: {integrity: sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==} + + url@0.11.1: + resolution: {integrity: sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==} + + utf8@3.0.0: + resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + vite-plugin-node-polyfills@0.22.0: + resolution: {integrity: sha512-F+G3LjiGbG8QpbH9bZ//GSBr9i1InSTkaulfUHFa9jkLqVGORFBoqc2A/Yu5Mmh1kNAbiAeKeK+6aaQUf3x0JA==} + peerDependencies: + vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + + vite@5.3.2: + resolution: {integrity: sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vitest@1.6.0: + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + vm-browserify@1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + xhr-request-promise@0.1.3: + resolution: {integrity: sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==} + + xhr-request@1.1.0: + resolution: {integrity: sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==} + + xhr@2.6.0: + resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + engines: {node: '>= 14'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + + zx@8.1.3: + resolution: {integrity: sha512-fA44CRlggDOKeqt66aMwzLj1tb0zEQJmIjsSDXpmNjRRKaLFYkpeGE/zXnO05sJvSuzAlbVM50zexJJGMrIvuQ==} + engines: {node: '>= 12.17.0'} + hasBin: true + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@arcblock/did@1.18.124': + dependencies: + '@ocap/mcrypto': 1.18.124 + '@ocap/util': 1.18.124 + bn.js: 5.2.1 + debug: 4.3.4 + lodash: 4.17.21 + transitivePeerDependencies: + - supports-color + + '@arcblock/eslint-config-base@0.3.2(@typescript-eslint/eslint-plugin@7.14.1(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(prettier@3.3.2)(typescript@5.3.3)': + dependencies: + eslint: 8.57.0 + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0) + eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-plugin-import: 2.29.1(eslint@8.57.0) + eslint-plugin-jest: 28.6.0(@typescript-eslint/eslint-plugin@7.14.1(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3) + eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2) + eslint-plugin-unicorn: 54.0.0(eslint@8.57.0) + prettier: 3.3.2 + transitivePeerDependencies: + - '@types/eslint' + - '@typescript-eslint/eslint-plugin' + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - jest + - supports-color + - typescript + + '@babel/code-frame@7.22.5': + dependencies: + '@babel/highlight': 7.22.5 + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.22.5': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.1': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.20.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.1.0': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 10.1.0 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.57.0': {} + + '@humanwhocodes/config-array@0.11.14': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jsdevtools/ez-spawn@3.0.4': + dependencies: + call-me-maybe: 1.0.1 + cross-spawn: 7.0.3 + string-argv: 0.3.2 + type-detect: 4.0.8 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.13.0 + + '@ocap/mcrypto@1.18.124': + dependencies: + '@ocap/util': 1.18.124 + bn.js: 5.2.1 + crypto-js: 4.1.1 + elliptic: 6.5.4 + eth-lib: 0.2.8 + hash.js: 1.1.7 + interface: 1.2.1 + js-sha3: 0.8.0 + randombytes: 2.1.0 + tweetnacl: 1.0.3 + + '@ocap/util@1.18.124': + dependencies: + base64-url: 2.3.3 + bn.js: 5.2.1 + bs58: 5.0.0 + lodash: 4.17.21 + utf8: 3.0.0 + + '@pkgr/core@0.1.1': {} + + '@rollup/plugin-inject@5.0.5(rollup@4.18.0)': + dependencies: + '@rollup/pluginutils': 5.0.2(rollup@4.18.0) + estree-walker: 2.0.2 + magic-string: 0.30.5 + optionalDependencies: + rollup: 4.18.0 + + '@rollup/pluginutils@5.0.2(rollup@4.18.0)': + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.18.0 + + '@rollup/rollup-android-arm-eabi@4.18.0': + optional: true + + '@rollup/rollup-android-arm64@4.18.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.18.0': + optional: true + + '@rollup/rollup-darwin-x64@4.18.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.18.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.18.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.18.0': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.18.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.18.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.18.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.18.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.18.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.18.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.18.0': + optional: true + + '@sinclair/typebox@0.27.8': {} + + '@types/estree@1.0.5': {} + + '@types/fs-extra@11.0.1': + dependencies: + '@types/jsonfile': 6.1.1 + '@types/node': 20.14.8 + optional: true + + '@types/json5@0.0.29': {} + + '@types/jsonfile@6.1.1': + dependencies: + '@types/node': 20.14.8 + optional: true + + '@types/node@20.14.8': + dependencies: + undici-types: 5.26.5 + + '@types/normalize-package-data@2.4.1': {} + + '@types/tinycolor2@1.4.3': {} + + '@typescript-eslint/eslint-plugin@7.14.1(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@eslint-community/regexpp': 4.10.1 + '@typescript-eslint/scope-manager': 7.14.1 + '@typescript-eslint/type-utils': 7.14.1(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.14.1 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + optional: true + + '@typescript-eslint/scope-manager@7.14.1': + dependencies: + '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/visitor-keys': 7.14.1 + + '@typescript-eslint/type-utils@7.14.1(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.3.3) + '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + optional: true + + '@typescript-eslint/types@7.14.1': {} + + '@typescript-eslint/typescript-estree@7.14.1(typescript@5.3.3)': + dependencies: + '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/visitor-keys': 7.14.1 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@7.14.1(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@typescript-eslint/scope-manager': 7.14.1 + '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.3.3) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@7.14.1': + dependencies: + '@typescript-eslint/types': 7.14.1 + eslint-visitor-keys: 3.4.3 + + '@ungap/structured-clone@1.2.0': {} + + '@vitest/expect@1.6.0': + dependencies: + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + chai: 4.3.10 + + '@vitest/runner@1.6.0': + dependencies: + '@vitest/utils': 1.6.0 + p-limit: 5.0.0 + pathe: 1.1.2 + + '@vitest/snapshot@1.6.0': + dependencies: + magic-string: 0.30.5 + pathe: 1.1.2 + pretty-format: 29.7.0 + + '@vitest/spy@1.6.0': + dependencies: + tinyspy: 2.2.0 + + '@vitest/utils@1.6.0': + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + + acorn-jsx@5.3.2(acorn@8.12.0): + dependencies: + acorn: 8.12.0 + + acorn-walk@8.3.3: + dependencies: + acorn: 8.12.0 + + acorn@8.12.0: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-escapes@5.0.0: + dependencies: + type-fest: 1.4.0 + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + argparse@2.0.1: {} + + array-buffer-byte-length@1.0.0: + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 + + array-includes@3.1.7: + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.0 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-string: 1.0.7 + + array-union@2.1.0: {} + + array.prototype.findlastindex@1.2.3: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 es-abstract: 1.22.3 es-shim-unscopables: 1.0.0 - dev: true + get-intrinsic: 1.2.2 - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} - engines: {node: '>= 0.4'} + array.prototype.flat@1.3.2: + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.0 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.0 + + array.prototype.flatmap@1.3.2: + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.0 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.0 + + arraybuffer.prototype.slice@1.0.2: dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.5 @@ -1121,114 +2972,72 @@ packages: get-intrinsic: 1.2.2 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 - dev: true - /asn1.js@5.4.1: - resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + asn1.js@5.4.1: dependencies: bn.js: 4.12.0 inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 - dev: false - /assert@2.0.0: - resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} + assert@2.0.0: dependencies: es6-object-assign: 1.1.0 is-nan: 1.3.2 object-is: 1.1.5 util: 0.12.5 - dev: false - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true + assertion-error@1.1.0: {} - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - dev: false + async@3.2.4: {} - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} + available-typed-arrays@1.0.5: {} - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@1.0.2: {} - /base-x@4.0.0: - resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} - dev: false + base-x@4.0.0: {} - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: false + base64-js@1.5.1: {} - /base64-url@2.3.3: - resolution: {integrity: sha512-dLMhIsK7OplcDauDH/tZLvK7JmUZK3A7KiQpjNzsBrM6Etw7hzNI1tLEywqJk9NnwkgWuFKSlx/IUO7vF6Mo8Q==} - engines: {node: '>=6'} - dev: false + base64-url@2.3.3: {} - /bl@5.0.0: - resolution: {integrity: sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==} - dependencies: - buffer: 6.0.3 - inherits: 2.0.4 - readable-stream: 3.6.0 - dev: false + binary-extensions@2.3.0: {} - /bn.js@4.12.0: - resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} - dev: false + bn.js@4.12.0: {} - /bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - dev: false + bn.js@5.2.1: {} - /boxen@6.2.1: - resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + boxen@7.1.1: dependencies: ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 + camelcase: 7.0.1 + chalk: 5.3.0 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 widest-line: 4.0.1 wrap-ansi: 8.1.0 - dev: false - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 - dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 - /brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - dev: false + brorand@1.1.0: {} - /browser-resolve@2.0.0: - resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} + browser-resolve@2.0.0: dependencies: resolve: 1.22.8 - dev: false - /browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + browserify-aes@1.2.0: dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -1236,34 +3045,26 @@ packages: evp_bytestokey: 1.0.3 inherits: 2.0.4 safe-buffer: 5.2.1 - dev: false - /browserify-cipher@1.0.1: - resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + browserify-cipher@1.0.1: dependencies: browserify-aes: 1.2.0 browserify-des: 1.0.2 evp_bytestokey: 1.0.3 - dev: false - /browserify-des@1.0.2: - resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + browserify-des@1.0.2: dependencies: cipher-base: 1.0.4 des.js: 1.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 - dev: false - /browserify-rsa@4.1.0: - resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + browserify-rsa@4.1.0: dependencies: bn.js: 5.2.1 randombytes: 2.1.0 - dev: false - /browserify-sign@4.2.1: - resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} + browserify-sign@4.2.1: dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 @@ -1274,123 +3075,84 @@ packages: parse-asn1: 5.1.6 readable-stream: 3.6.0 safe-buffer: 5.2.1 - dev: false - /browserify-zlib@0.2.0: - resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + browserify-zlib@0.2.0: dependencies: pako: 1.0.11 - dev: false - /bs58@5.0.0: - resolution: {integrity: sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==} + browserslist@4.23.1: dependencies: - base-x: 4.0.0 - dev: false + caniuse-lite: 1.0.30001638 + electron-to-chromium: 1.4.812 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16(browserslist@4.23.1) - /buffer-to-arraybuffer@0.0.5: - resolution: {integrity: sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==} - dev: false + bs58@5.0.0: + dependencies: + base-x: 4.0.0 - /buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - dev: false + buffer-to-arraybuffer@0.0.5: {} - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false + buffer-xor@1.0.3: {} - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: false - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true - - /builtin-status-codes@3.0.0: - resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} - dev: false + builtin-modules@3.3.0: {} - /builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} - dependencies: - semver: 7.5.4 - dev: false + builtin-status-codes@3.0.0: {} - /bumpp@7.2.0: - resolution: {integrity: sha512-vQxdpWe7VzdpV4dVjpWoGwTDrKZn4eqKVmjIYUlDgrmjesXAqJnWhu+VFxazoE4pLs1q5NwDhgzK1xAFL0K+Jg==} - engines: {node: '>=10'} - hasBin: true + bumpp@9.4.1: dependencies: '@jsdevtools/ez-spawn': 3.0.4 - chalk: 4.1.2 - command-line-args: 5.2.1 - globby: 11.1.0 + c12: 1.11.1 + cac: 6.7.14 + escalade: 3.1.2 + fast-glob: 3.3.2 + js-yaml: 4.1.0 prompts: 2.4.2 - semver: 7.5.4 - dev: false + semver: 7.6.2 + transitivePeerDependencies: + - magicast - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - - /cacache@18.0.1: - resolution: {integrity: sha512-g4Uf2CFZPaxtJKre6qr4zqLDOOPU7bNVhWjlNhvzc51xaTOx2noMOLhfFkTAqwtrAZAKQUuDfyjitzilpA8WsQ==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.3 - glob: 10.3.10 - lru-cache: 10.1.0 - minipass: 7.0.4 - minipass-collect: 2.0.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - ssri: 10.0.5 - tar: 6.1.12 - unique-filename: 3.0.0 - dev: false - - /call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + c12@1.11.1: + dependencies: + chokidar: 3.6.0 + confbox: 0.1.7 + defu: 6.1.4 + dotenv: 16.4.5 + giget: 1.2.3 + jiti: 1.21.6 + mlly: 1.7.1 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.1.1 + rc9: 2.1.2 + + cac@6.7.14: {} + + call-bind@1.0.5: dependencies: function-bind: 1.1.2 get-intrinsic: 1.2.2 set-function-length: 1.1.1 - /call-me-maybe@1.0.1: - resolution: {integrity: sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==} - dev: false + call-me-maybe@1.0.1: {} - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true + callsites@3.1.0: {} - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: false + camelcase@7.0.1: {} - /canvas-renderer@2.2.1: - resolution: {integrity: sha512-RrBgVL5qCEDIXpJ6NrzyRNoTnXxYarqm/cS/W6ERhUJts5UQtt/XPEosGN3rqUkZ4fjBArlnCbsISJ+KCFnIAg==} + caniuse-lite@1.0.30001638: {} + + canvas-renderer@2.2.1: dependencies: - '@types/node': 18.17.0 - dev: false + '@types/node': 20.14.8 - /chai@4.3.10: - resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} - engines: {node: '>=4'} + chai@4.3.10: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -1399,170 +3161,103 @@ packages: loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 - dev: true - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - dev: true - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: false + chalk@5.3.0: {} - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + check-error@1.0.3: dependencies: get-func-name: 2.0.2 - dev: true - - /chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - dev: false - - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} - engines: {node: '>=8'} - dev: true - - /ci-info@4.0.0: - resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} - engines: {node: '>=8'} - dev: false - - /cipher-base@1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - dev: false - /clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} + chokidar@3.6.0: dependencies: - escape-string-regexp: 1.0.5 - dev: true + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: false + chownr@2.0.0: {} - /cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - dev: false + ci-info@4.0.0: {} - /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cipher-base@1.0.4: dependencies: - restore-cursor: 4.0.0 - dev: false + inherits: 2.0.4 + safe-buffer: 5.2.1 - /cli-progress@3.12.0: - resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} - engines: {node: '>=4'} + citty@0.1.6: dependencies: - string-width: 4.2.3 - dev: false + consola: 3.2.3 - /cli-spinners@2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} - engines: {node: '>=6'} - dev: false + clean-regexp@1.0.0: + dependencies: + escape-string-regexp: 1.0.5 - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cli-boxes@3.0.0: {} + + cli-cursor@4.0.0: dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: false + restore-cursor: 4.0.0 - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: false + cli-spinners@2.9.2: {} - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@1.9.3: dependencies: color-name: 1.1.3 - dev: true - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true + color-name@1.1.3: {} - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@1.1.4: {} - /command-line-args@5.2.1: - resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==} - engines: {node: '>=4.0.0'} - dependencies: - array-back: 3.1.0 - find-replace: 3.0.0 - lodash.camelcase: 4.3.0 - typical: 4.0.0 - dev: false + concat-map@0.0.1: {} - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + confbox@0.1.7: {} - /confusing-browser-globals@1.0.11: - resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} - dev: true + confusing-browser-globals@1.0.11: {} - /console-browserify@1.2.0: - resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} - dev: false + consola@3.2.3: {} - /constants-browserify@1.0.0: - resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} - dev: false + console-browserify@1.2.0: {} - /create-ecdh@4.0.4: - resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + constants-browserify@1.0.0: {} + + core-js-compat@3.37.1: + dependencies: + browserslist: 4.23.1 + + create-ecdh@4.0.4: dependencies: bn.js: 4.12.0 elliptic: 6.5.4 - dev: false - /create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + create-hash@1.2.0: dependencies: cipher-base: 1.0.4 inherits: 2.0.4 md5.js: 1.3.5 ripemd160: 2.0.2 sha.js: 2.4.11 - dev: false - /create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + create-hmac@1.1.7: dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -1570,22 +3265,16 @@ packages: ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.11 - dev: false - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: false + create-require@1.1.1: {} - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - /crypto-browserify@3.12.0: - resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + crypto-browserify@3.12.0: dependencies: browserify-cipher: 1.0.1 browserify-sign: 4.2.1 @@ -1598,169 +3287,84 @@ packages: public-encrypt: 4.0.3 randombytes: 2.1.0 randomfill: 1.0.4 - dev: false - - /crypto-js@4.1.1: - resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} - dev: false - /data-uri-to-buffer@4.0.0: - resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==} - engines: {node: '>= 12'} - dev: false + crypto-js@4.1.1: {} - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@3.2.7: dependencies: ms: 2.1.3 - dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.4: dependencies: ms: 2.1.2 - /decode-uri-component@0.2.0: - resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} - engines: {node: '>=0.10'} - dev: false + decode-uri-component@0.2.0: {} - /decompress-response@3.3.0: - resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} - engines: {node: '>=4'} + decompress-response@3.3.0: dependencies: mimic-response: 1.0.1 - dev: false - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} + deep-eql@4.1.3: dependencies: type-detect: 4.0.8 - dev: true - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - dev: false - - /defaults@1.0.3: - resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} - dependencies: - clone: 1.0.4 - dev: false + deep-is@0.1.4: {} - /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} - engines: {node: '>= 0.4'} + define-data-property@1.1.1: dependencies: get-intrinsic: 1.2.2 gopd: 1.0.1 has-property-descriptors: 1.0.0 - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} - engines: {node: '>= 0.4'} + define-properties@1.2.0: dependencies: has-property-descriptors: 1.0.0 object-keys: 1.1.1 - /defu@6.1.2: - resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} - dev: false + defu@6.1.4: {} - /des.js@1.1.0: - resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + des.js@1.1.0: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - dev: false - /detect-indent@7.0.1: - resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} - engines: {node: '>=12.20'} - dev: false + destr@2.0.3: {} - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + diff-sequences@29.6.3: {} - /diffie-hellman@5.0.3: - resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + diffie-hellman@5.0.3: dependencies: bn.js: 4.12.0 miller-rabin: 4.0.1 randombytes: 2.1.0 - dev: false - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} + doctrine@2.1.0: dependencies: esutils: 2.0.3 - dev: true - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + doctrine@3.0.0: dependencies: esutils: 2.0.3 - dev: true - /dom-walk@0.1.2: - resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} - dev: false - - /domain-browser@4.22.0: - resolution: {integrity: sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==} - engines: {node: '>=10'} - dev: false + dom-walk@0.1.2: {} - /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} - dev: false + domain-browser@4.22.0: {} - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: false + dotenv@16.4.5: {} - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: false + eastasianwidth@0.2.0: {} - /ejs@3.1.9: - resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} - engines: {node: '>=0.10.0'} - hasBin: true + ejs@3.1.10: dependencies: jake: 10.8.5 - dev: false - /elliptic@6.5.4: - resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + electron-to-chromium@1.4.812: {} + + elliptic@6.5.4: dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -1769,48 +3373,20 @@ packages: inherits: 2.0.4 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - dev: false - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: false - - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: false - /encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - requiresBuild: true - dependencies: - iconv-lite: 0.6.3 - dev: false - optional: true + emoji-regex@10.3.0: {} - /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - dev: false + emoji-regex@8.0.0: {} - /envfile@6.22.0: - resolution: {integrity: sha512-G9vwmk9O+eJzHh6JEfva0aTmyKtbolqGx9l/KnEVslsR3hl5XZ+g+wgY/j8gTJoikgP5upt6wxXM+E19o36iUg==} - engines: {node: '>=10'} - hasBin: true - dev: false + emoji-regex@9.2.2: {} - /err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - dev: false + envfile@7.1.0: {} - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - dev: true - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} - engines: {node: '>= 0.4'} + es-abstract@1.22.3: dependencies: array-buffer-byte-length: 1.0.0 arraybuffer.prototype.slice: 1.0.2 @@ -1851,152 +3427,88 @@ packages: typed-array-length: 1.0.4 unbox-primitive: 1.0.2 which-typed-array: 1.1.13 - dev: true - /es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} - engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.2: dependencies: get-intrinsic: 1.2.2 has-tostringtag: 1.0.0 hasown: 2.0.0 - dev: true - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + es-shim-unscopables@1.0.0: dependencies: has: 1.0.3 - dev: true - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + es-to-primitive@1.2.1: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 - dev: true - /es6-object-assign@1.1.0: - resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} - dev: false + es6-object-assign@1.1.0: {} - /esbuild@0.19.10: - resolution: {integrity: sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.21.5: optionalDependencies: - '@esbuild/aix-ppc64': 0.19.10 - '@esbuild/android-arm': 0.19.10 - '@esbuild/android-arm64': 0.19.10 - '@esbuild/android-x64': 0.19.10 - '@esbuild/darwin-arm64': 0.19.10 - '@esbuild/darwin-x64': 0.19.10 - '@esbuild/freebsd-arm64': 0.19.10 - '@esbuild/freebsd-x64': 0.19.10 - '@esbuild/linux-arm': 0.19.10 - '@esbuild/linux-arm64': 0.19.10 - '@esbuild/linux-ia32': 0.19.10 - '@esbuild/linux-loong64': 0.19.10 - '@esbuild/linux-mips64el': 0.19.10 - '@esbuild/linux-ppc64': 0.19.10 - '@esbuild/linux-riscv64': 0.19.10 - '@esbuild/linux-s390x': 0.19.10 - '@esbuild/linux-x64': 0.19.10 - '@esbuild/netbsd-x64': 0.19.10 - '@esbuild/openbsd-x64': 0.19.10 - '@esbuild/sunos-x64': 0.19.10 - '@esbuild/win32-arm64': 0.19.10 - '@esbuild/win32-ia32': 0.19.10 - '@esbuild/win32-x64': 0.19.10 - - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: false - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1)(eslint@8.56.0): - resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.2 + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + escalade@3.1.2: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0): dependencies: confusing-browser-globals: 1.0.11 - eslint: 8.56.0 - eslint-plugin-import: 2.29.1(eslint@8.56.0) + eslint: 8.57.0 + eslint-plugin-import: 2.29.1(eslint@8.57.0) object.assign: 4.1.4 object.entries: 1.1.5 semver: 6.3.1 - dev: true - /eslint-config-prettier@8.10.0(eslint@8.56.0): - resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' + eslint-config-prettier@9.1.0(eslint@8.57.0): dependencies: - eslint: 8.56.0 - dev: true + eslint: 8.57.0 - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 is-core-module: 2.13.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - dev: true - /eslint-module-utils@2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true + eslint-module-utils@2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): dependencies: debug: 3.2.7 - eslint: 8.56.0 + optionalDependencies: + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-import@2.29.1(eslint@8.56.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true + eslint-plugin-import@2.29.1(eslint@8.57.0): dependencies: array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 @@ -2004,9 +3516,9 @@ packages: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.56.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + eslint-module-utils: 2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -2020,101 +3532,64 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-plugin-jest@27.6.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 - eslint: ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true + eslint-plugin-jest@28.6.0(@typescript-eslint/eslint-plugin@7.14.1(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) - eslint: 8.56.0 + '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 7.14.1(eslint@8.57.0)(typescript@5.3.3) transitivePeerDependencies: - supports-color - typescript - dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.56.0)(prettier@3.1.1): - resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - eslint: '>=7.28.0' - eslint-config-prettier: '*' - prettier: '>=2.0.0' - peerDependenciesMeta: - eslint-config-prettier: - optional: true + eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2): dependencies: - eslint: 8.56.0 - eslint-config-prettier: 8.10.0(eslint@8.56.0) - prettier: 3.1.1 + eslint: 8.57.0 + prettier: 3.3.2 prettier-linter-helpers: 1.0.0 - dev: true + synckit: 0.8.8 + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@8.57.0) - /eslint-plugin-unicorn@47.0.0(eslint@8.56.0): - resolution: {integrity: sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==} - engines: {node: '>=16'} - peerDependencies: - eslint: '>=8.38.0' + eslint-plugin-unicorn@54.0.0(eslint@8.57.0): dependencies: - '@babel/helper-validator-identifier': 7.22.5 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - ci-info: 3.8.0 + '@babel/helper-validator-identifier': 7.24.7 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint/eslintrc': 3.1.0 + ci-info: 4.0.0 clean-regexp: 1.0.0 - eslint: 8.56.0 + core-js-compat: 3.37.1 + eslint: 8.57.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 jsesc: 3.0.2 - lodash: 4.17.21 pluralize: 8.0.0 read-pkg-up: 7.0.1 - regexp-tree: 0.1.24 + regexp-tree: 0.1.27 regjsparser: 0.10.0 - safe-regex: 2.1.1 - semver: 7.5.4 + semver: 7.6.2 strip-indent: 3.0.0 - dev: true - - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true + transitivePeerDependencies: + - supports-color - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + eslint-visitor-keys@3.4.3: {} - /eslint@8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint-visitor-keys@4.0.0: {} + + eslint@8.57.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@eslint-community/regexpp': 4.6.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.13 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -2135,7 +3610,7 @@ packages: glob-parent: 6.0.2 globals: 13.20.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -2150,85 +3625,51 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.1.0: + dependencies: + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) + eslint-visitor-keys: 4.0.0 + + espree@9.6.1: dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) eslint-visitor-keys: 3.4.3 - dev: true - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + esquery@1.5.0: dependencies: estraverse: 5.3.0 - dev: true - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - dev: true - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true + estraverse@5.3.0: {} - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true + estree-walker@2.0.2: {} - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: false + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.5 - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true + esutils@2.0.3: {} - /eth-lib@0.2.8: - resolution: {integrity: sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==} + eth-lib@0.2.8: dependencies: bn.js: 4.12.0 elliptic: 6.5.4 xhr-request-promise: 0.1.3 - dev: false - - /event-stream@3.3.4: - resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} - dependencies: - duplexer: 0.1.2 - from: 0.1.7 - map-stream: 0.1.0 - pause-stream: 0.0.11 - split: 0.3.3 - stream-combiner: 0.0.4 - through: 2.3.8 - dev: false - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false + events@3.3.0: {} - /evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + evp_bytestokey@1.0.3: dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 - dev: false - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} + execa@8.0.1: dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -2240,249 +3681,121 @@ packages: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - /exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - dev: false - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true + fast-deep-equal@3.1.3: {} - /fast-diff@1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} - dev: true + fast-diff@1.2.0: {} - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true + fast-json-stable-stringify@2.1.0: {} - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true + fast-levenshtein@2.0.6: {} - /fastq@1.13.0: - resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + fastq@1.13.0: dependencies: reusify: 1.0.4 - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - dev: false - - /figlet@1.7.0: - resolution: {integrity: sha512-gO8l3wvqo0V7wEFLXPbkX83b7MVjRrk1oRLfYlZXol8nEpb/ON9pcKLI4qpBv5YtOTfrINtqb7b40iYY2FTWFg==} - engines: {node: '>= 0.4.0'} - hasBin: true - dev: false + figlet@1.7.0: {} - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@6.0.1: dependencies: flat-cache: 3.0.4 - dev: true - /filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + filelist@1.0.4: dependencies: minimatch: 5.1.0 - dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - /find-replace@3.0.0: - resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} - engines: {node: '>=4.0.0'} - dependencies: - array-back: 3.1.0 - dev: false - - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@3.0.4: dependencies: flatted: 3.2.7 rimraf: 3.0.2 - dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - dev: true + flatted@3.2.7: {} - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.3: dependencies: is-callable: 1.2.7 - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - dev: false - - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - dependencies: - fetch-blob: 3.2.0 - dev: false - - /from@0.1.7: - resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - dev: false - - /fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} + fs-minipass@2.1.0: dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: false + minipass: 3.3.6 - /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.4 - dev: false - - /fs-minipass@3.0.3: - resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.4 - dev: false - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true + fs.realpath@1.0.0: {} - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true + fsevents@2.3.3: optional: true - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-bind@1.1.2: {} - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + function.prototype.name@1.1.6: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 es-abstract: 1.22.3 - functions-have-names: 1.2.3 - dev: true - - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true + functions-have-names: 1.2.3 - /fx@31.0.0: - resolution: {integrity: sha512-OoeYSPKqNKmfnH4s+rGYI0c8OZmqqOOXsUtqy0YyHqQQoQSDiDs3m3M9uXKx5OQR+jDx7/FhYqpO3kl/As/xgg==} - hasBin: true - dev: false + functions-have-names@1.2.3: {} - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: false + get-east-asian-width@1.2.0: {} - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true + get-func-name@2.0.2: {} - /get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + get-intrinsic@1.2.2: dependencies: function-bind: 1.1.2 has-proto: 1.0.1 has-symbols: 1.0.3 hasown: 2.0.0 - /get-port@5.1.1: - resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} - engines: {node: '>=8'} - dev: false + get-port@5.1.1: {} - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} + get-stream@8.0.1: {} - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} + get-symbol-description@1.0.0: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 - dev: true - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + giget@1.2.3: dependencies: - is-glob: 4.0.3 + citty: 0.1.6 + consola: 3.2.3 + defu: 6.1.4 + node-fetch-native: 1.6.4 + nypm: 0.3.8 + ohash: 1.1.3 + pathe: 1.1.2 + tar: 6.2.1 - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - dev: true - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + glob-parent@6.0.2: dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 - dev: false + is-glob: 4.0.3 - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -2490,876 +3803,390 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /global@4.4.0: - resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + global@4.4.0: dependencies: min-document: 2.19.0 process: 0.11.10 - dev: false - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} - engines: {node: '>=8'} + globals@13.20.0: dependencies: type-fest: 0.20.2 - dev: true - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} + globals@14.0.0: {} + + globalthis@1.0.3: dependencies: define-properties: 1.2.0 - dev: true - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.2.4 + fast-glob: 3.3.2 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 - /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 4.0.0 - dev: false - - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.0.1: dependencies: get-intrinsic: 1.2.2 - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: false - - /gradient-string@2.0.2: - resolution: {integrity: sha512-rEDCuqUQ4tbD78TpzsMtt5OIf0cBCSDWSJtUDaF6JsAh+k0v9r++NzxNEG87oDZx9ZwGhD8DaezR2L/yrw0Jdw==} - engines: {node: '>=10'} + gradient-string@2.0.2: dependencies: chalk: 4.1.2 tinygradient: 1.1.5 - dev: false - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + graphemer@1.4.0: {} - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true + has-bigints@1.0.2: {} - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true + has-flag@3.0.0: {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + has-flag@4.0.0: {} - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + has-property-descriptors@1.0.0: dependencies: get-intrinsic: 1.2.2 - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} + has-proto@1.0.1: {} - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} + has-symbols@1.0.3: {} - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} + has-tostringtag@1.0.0: dependencies: has-symbols: 1.0.3 - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + has@1.0.3: dependencies: function-bind: 1.1.2 - dev: true - /hash-base@3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} + hash-base@3.1.0: dependencies: inherits: 2.0.4 readable-stream: 3.6.0 safe-buffer: 5.2.1 - dev: false - /hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hash.js@1.1.7: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - dev: false - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} + hasown@2.0.0: dependencies: function-bind: 1.1.2 - /hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - dev: false - - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true - - /hosted-git-info@7.0.1: - resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - lru-cache: 10.1.0 - dev: false - - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: false - - /http-proxy-agent@7.0.0: - resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /https-browserify@1.0.0: - resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} - dev: false - - /https-proxy-agent@7.0.1: - resolution: {integrity: sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} + hosted-git-info@2.8.9: {} - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dependencies: - safer-buffer: 2.1.2 - dev: false - optional: true + https-browserify@1.0.0: {} - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false + human-signals@5.0.0: {} - /ignore-walk@6.0.4: - resolution: {integrity: sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minimatch: 9.0.3 - dev: false + ieee754@1.2.1: {} - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} + ignore@5.3.1: {} - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + imurmurhash@0.1.4: {} - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} + indent-string@4.0.0: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /ini@4.1.1: - resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + inherits@2.0.4: {} - /interface@1.2.1: - resolution: {integrity: sha512-qMf+X2WyPxlGKE/lyBxQ7Ju3RNe8buQUxRBVPlmrmqMyMvQtPUShz7a/281njPjGnUMJ7hJ8+3Wx8Y7H6L5ixw==} - dev: false + interface@1.2.1: {} - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} - engines: {node: '>= 0.4'} + internal-slot@1.0.5: dependencies: get-intrinsic: 1.2.2 has: 1.0.3 side-channel: 1.0.4 - dev: true - - /ip@2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} - dev: false - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} + is-arguments@1.1.1: dependencies: call-bind: 1.0.5 has-tostringtag: 1.0.0 - dev: false - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + is-array-buffer@3.0.2: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.12 - dev: true - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true + is-arrayish@0.2.1: {} - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 - dev: true - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.1.2: dependencies: call-bind: 1.0.5 has-tostringtag: 1.0.0 - dev: true - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 - dev: true - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} + is-callable@1.2.7: {} - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.13.1: dependencies: hasown: 2.0.0 - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.0 - dev: true - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + is-extglob@2.1.1: {} - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: false + is-fullwidth-code-point@3.0.0: {} - /is-function@1.0.2: - resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} - dev: false + is-function@1.0.2: {} - /is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} + is-generator-function@1.0.10: dependencies: has-tostringtag: 1.0.0 - dev: false - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - /is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - dev: false - - /is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - dev: false + is-interactive@2.0.0: {} - /is-nan@1.3.2: - resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} - engines: {node: '>= 0.4'} + is-nan@1.3.2: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 - dev: false - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - dev: true + is-negative-zero@2.0.2: {} - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.0 - dev: true - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + is-number@7.0.0: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true + is-path-inside@3.0.3: {} - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + is-regex@1.1.4: dependencies: call-bind: 1.0.5 has-tostringtag: 1.0.0 - dev: true - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.2: dependencies: call-bind: 1.0.5 - dev: true - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-stream@3.0.0: {} - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.0 - dev: true - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 - dev: true - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} + is-typed-array@1.1.12: dependencies: which-typed-array: 1.1.13 - /is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - dev: false + is-unicode-supported@1.3.0: {} - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-unicode-supported@2.0.0: {} + + is-weakref@1.0.2: dependencies: call-bind: 1.0.5 - dev: true - - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - /isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} - dev: false + isarray@2.0.5: {} - /ismobilejs@1.1.1: - resolution: {integrity: sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==} - dev: false + isexe@2.0.0: {} - /isomorphic-timers-promises@1.0.1: - resolution: {integrity: sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==} - engines: {node: '>=10'} - dev: false + ismobilejs@1.1.1: {} - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - dev: false + isomorphic-timers-promises@1.0.1: {} - /jake@10.8.5: - resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} - engines: {node: '>=10'} - hasBin: true + jake@10.8.5: dependencies: async: 3.2.4 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 - dev: false - /jdenticon@3.2.0: - resolution: {integrity: sha512-z6Iq3fTODUMSOiR2nNYrqigS6Y0GvdXfyQWrUby7htDHvX7GNEwaWR4hcaL+FmhEgBe08Xkup/BKxXQhDJByPA==} - engines: {node: '>=6.4.0'} - hasBin: true + jdenticon@3.3.0: dependencies: canvas-renderer: 2.2.1 - dev: false - /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true - dev: false + jiti@1.21.6: {} - /js-sha3@0.8.0: - resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} - dev: false + js-sha3@0.8.0: {} - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true + js-tokens@4.0.0: {} - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-tokens@9.0.0: {} + + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - dev: true - - /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - dev: true - /jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - dev: true + jsesc@0.5.0: {} - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true + jsesc@3.0.2: {} - /json-parse-even-better-errors@3.0.0: - resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + json-parse-even-better-errors@2.3.1: {} - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + json-schema-traverse@0.4.1: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-stable-stringify-without-jsonify@1.0.1: {} - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true + json5@1.0.2: dependencies: minimist: 1.2.8 - dev: true - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + kleur@3.0.3: {} - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.10 - dev: false - - /jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - dev: false - - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: false - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true + lines-and-columns@1.2.4: {} - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} + local-pkg@0.5.0: dependencies: - mlly: 1.4.2 - pkg-types: 1.0.3 - dev: true + mlly: 1.7.1 + pkg-types: 1.1.1 - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 - dev: true - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - /lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - dev: false + lodash.merge@4.6.2: {} - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.21: {} - /log-symbols@5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} + log-symbols@6.0.0: dependencies: chalk: 5.3.0 is-unicode-supported: 1.3.0 - dev: false - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + loupe@2.3.7: dependencies: get-func-name: 2.0.2 - dev: true - - /lru-cache@10.1.0: - resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} - engines: {node: 14 || >=16.14} - dev: false - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} - engines: {node: '>=12'} + magic-string@0.30.5: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - /make-fetch-happen@13.0.0: - resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/agent': 2.2.0 - cacache: 18.0.1 - http-cache-semantics: 4.1.1 - is-lambda: 1.0.1 - minipass: 7.0.4 - minipass-fetch: 3.0.4 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - ssri: 10.0.5 - transitivePeerDependencies: - - supports-color - dev: false - - /map-stream@0.1.0: - resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} - dev: false - - /md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + md5.js@1.3.5: dependencies: hash-base: 3.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 - dev: false - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - - /miller-rabin@4.0.1: - resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} - hasBin: true - dependencies: - bn.js: 4.12.0 - brorand: 1.1.0 - dev: false - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: false - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - /mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - dev: false - - /min-document@2.19.0: - resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} - dependencies: - dom-walk: 0.1.2 - dev: false - - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true - /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: false - - /minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - dev: false + merge-stream@2.0.0: {} - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 + merge2@1.4.1: {} - /minimatch@5.1.0: - resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} - engines: {node: '>=10'} + micromatch@4.0.7: dependencies: - brace-expansion: 2.0.1 - dev: false + braces: 3.0.3 + picomatch: 2.3.1 - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + miller-rabin@4.0.1: dependencies: - brace-expansion: 2.0.1 - dev: false + bn.js: 4.12.0 + brorand: 1.1.0 - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + mimic-fn@2.1.0: {} - /minipass-collect@2.0.1: - resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - minipass: 7.0.4 - dev: false + mimic-fn@4.0.0: {} - /minipass-fetch@3.0.4: - resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.4 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: false + mimic-response@1.0.1: {} - /minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} + min-document@2.19.0: dependencies: - minipass: 3.3.4 - dev: false + dom-walk: 0.1.2 - /minipass-json-stream@1.0.1: - resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} - dependencies: - jsonparse: 1.3.1 - minipass: 3.3.4 - dev: false + min-indent@1.0.1: {} - /minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + + minimatch@3.1.2: dependencies: - minipass: 3.3.4 - dev: false + brace-expansion: 1.1.11 - /minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} + minimatch@5.1.0: dependencies: - minipass: 3.3.4 - dev: false + brace-expansion: 2.0.1 - /minipass@3.3.4: - resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} - engines: {node: '>=8'} + minimatch@9.0.5: dependencies: - yallist: 4.0.0 - dev: false + brace-expansion: 2.0.1 - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} - dev: false + minimist@1.2.8: {} - /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + minipass@3.3.6: dependencies: - minipass: 3.3.4 yallist: 4.0.0 - dev: false - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: false + minipass@5.0.0: {} - /mlly@1.4.2: - resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + minizlib@2.1.2: dependencies: - acorn: 8.10.0 - pathe: 1.1.1 - pkg-types: 1.0.3 - ufo: 1.3.2 + minipass: 3.3.6 + yallist: 4.0.0 - /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - dev: false + mkdirp@1.0.4: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + mlly@1.7.1: + dependencies: + acorn: 8.12.0 + pathe: 1.1.2 + pkg-types: 1.1.1 + ufo: 1.5.3 - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true + mri@1.2.0: {} - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + ms@2.1.2: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + ms@2.1.3: {} - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: false + nanoid@3.3.7: {} - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: false + natural-compare@1.4.0: {} - /node-fetch@3.3.1: - resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.0 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: false + node-fetch-native@1.6.4: {} - /node-gyp@10.0.1: - resolution: {integrity: sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==} - engines: {node: ^16.14.0 || >=18.0.0} - hasBin: true - dependencies: - env-paths: 2.2.1 - exponential-backoff: 3.1.1 - glob: 10.3.10 - graceful-fs: 4.2.10 - make-fetch-happen: 13.0.0 - nopt: 7.2.0 - proc-log: 3.0.0 - semver: 7.5.4 - tar: 6.1.12 - which: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: false + node-releases@2.0.14: {} - /node-stdlib-browser@1.2.0: - resolution: {integrity: sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==} - engines: {node: '>=10'} + node-stdlib-browser@1.2.0: dependencies: assert: 2.0.0 browser-resolve: 2.0.0 @@ -3388,189 +4215,86 @@ packages: url: 0.11.1 util: 0.12.5 vm-browserify: 1.1.2 - dev: false - /nopt@7.2.0: - resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - abbrev: 2.0.0 - dev: false - - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 resolve: 1.22.8 semver: 5.7.1 validate-npm-package-license: 3.0.4 - dev: true - /normalize-package-data@6.0.0: - resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - hosted-git-info: 7.0.1 - is-core-module: 2.13.1 - semver: 7.5.4 - validate-npm-package-license: 3.0.4 - dev: false - - /npm-bundled@3.0.0: - resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - npm-normalize-package-bin: 3.0.1 - dev: false - - /npm-install-checks@6.3.0: - resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - semver: 7.5.4 - dev: false - - /npm-normalize-package-bin@3.0.1: - resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false - - /npm-package-arg@11.0.1: - resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - hosted-git-info: 7.0.1 - proc-log: 3.0.0 - semver: 7.5.4 - validate-npm-package-name: 5.0.0 - dev: false - - /npm-packlist@8.0.1: - resolution: {integrity: sha512-MQpL27ZrsJQ2kiAuQPpZb5LtJwydNRnI15QWXsf3WHERu4rzjRj6Zju/My2fov7tLuu3Gle/uoIX/DDZ3u4O4Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - ignore-walk: 6.0.4 - dev: false - - /npm-pick-manifest@9.0.0: - resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - npm-install-checks: 6.3.0 - npm-normalize-package-bin: 3.0.1 - npm-package-arg: 11.0.1 - semver: 7.5.4 - dev: false - - /npm-registry-fetch@16.1.0: - resolution: {integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - make-fetch-happen: 13.0.0 - minipass: 7.0.4 - minipass-fetch: 3.0.4 - minipass-json-stream: 1.0.1 - minizlib: 2.1.2 - npm-package-arg: 11.0.1 - proc-log: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: false + normalize-path@3.0.0: {} - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.1.0: dependencies: path-key: 4.0.0 - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: false + nypm@0.3.8: + dependencies: + citty: 0.1.6 + consola: 3.2.3 + execa: 8.0.1 + pathe: 1.1.2 + ufo: 1.5.3 - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-assign@4.1.1: {} - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} + object-inspect@1.13.1: {} + + object-is@1.1.5: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 - dev: false - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + object-keys@1.1.1: {} - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.4: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /object.entries@1.1.5: - resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} - engines: {node: '>= 0.4'} + object.entries@1.1.5: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 es-abstract: 1.22.3 - dev: true - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} + object.fromentries@2.0.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 es-abstract: 1.22.3 - dev: true - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + object.groupby@1.0.1: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 es-abstract: 1.22.3 get-intrinsic: 1.2.2 - dev: true - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} + object.values@1.1.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 es-abstract: 1.22.3 - dev: true - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + ohash@1.1.3: {} + + once@1.4.0: dependencies: wrappy: 1.0.2 - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - dev: false - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -3578,301 +4302,138 @@ packages: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /ora@6.3.1: - resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + ora@8.0.1: dependencies: chalk: 5.3.0 cli-cursor: 4.0.0 - cli-spinners: 2.7.0 + cli-spinners: 2.9.2 is-interactive: 2.0.0 - is-unicode-supported: 1.3.0 - log-symbols: 5.1.0 - stdin-discarder: 0.1.0 - strip-ansi: 7.0.1 - wcwidth: 1.0.1 - dev: false + is-unicode-supported: 2.0.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.1.0 + strip-ansi: 7.1.0 - /os-browserify@0.3.0: - resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} - dev: false + os-browserify@0.3.0: {} - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + p-limit@2.3.0: dependencies: p-try: 2.2.0 - dev: true - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} + p-limit@5.0.0: dependencies: yocto-queue: 1.0.0 - dev: true - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + p-locate@4.1.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - dependencies: - aggregate-error: 3.1.0 - dev: false - - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /pacote@17.0.5: - resolution: {integrity: sha512-TAE0m20zSDMnchPja9vtQjri19X3pZIyRpm2TJVeI+yU42leJBBDTRYhOcWFsPhaMxf+3iwQkFiKz16G9AEeeA==} - engines: {node: ^16.14.0 || >=18.0.0} - hasBin: true - dependencies: - '@npmcli/git': 5.0.3 - '@npmcli/installed-package-contents': 2.0.2 - '@npmcli/promise-spawn': 7.0.0 - '@npmcli/run-script': 7.0.2 - cacache: 18.0.1 - fs-minipass: 3.0.3 - minipass: 7.0.4 - npm-package-arg: 11.0.1 - npm-packlist: 8.0.1 - npm-pick-manifest: 9.0.0 - npm-registry-fetch: 16.1.0 - proc-log: 3.0.0 - promise-retry: 2.0.1 - read-package-json: 7.0.0 - read-package-json-fast: 3.0.2 - sigstore: 2.1.0 - ssri: 10.0.5 - tar: 6.1.12 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false + p-try@2.2.0: {} - /pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - dev: false + pako@1.0.11: {} - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - dev: true - /parse-asn1@5.1.6: - resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} + parse-asn1@5.1.6: dependencies: asn1.js: 5.4.1 browserify-aes: 1.2.0 evp_bytestokey: 1.0.3 pbkdf2: 3.1.2 safe-buffer: 5.2.1 - dev: false - /parse-headers@2.0.5: - resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==} - dev: false + parse-headers@2.0.5: {} - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.22.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - dev: true - - /path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - dev: false - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true + path-browserify@1.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + path-exists@4.0.0: {} - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} + path-is-absolute@1.0.1: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-key@3.1.1: {} - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - lru-cache: 10.1.0 - minipass: 7.0.4 - dev: false + path-key@4.0.0: {} - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + path-parse@1.0.7: {} - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + path-type@4.0.0: {} - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true + pathe@1.1.2: {} - /pause-stream@0.0.11: - resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} - dependencies: - through: 2.3.8 - dev: false + pathval@1.1.1: {} - /pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} + pbkdf2@3.1.2: dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.11 - dev: false - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + perfect-debounce@1.0.0: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + picocolors@1.0.1: {} - /pkg-dir@5.0.0: - resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} - engines: {node: '>=10'} + picomatch@2.3.1: {} + + pkg-dir@5.0.0: dependencies: find-up: 5.0.0 - dev: false - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + pkg-types@1.1.1: dependencies: - jsonc-parser: 3.2.0 - mlly: 1.4.2 - pathe: 1.1.1 + confbox: 0.1.7 + mlly: 1.7.1 + pathe: 1.1.2 - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: true + pluralize@8.0.0: {} - /postcss@8.4.32: - resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.38: dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 + picocolors: 1.0.1 + source-map-js: 1.2.0 - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} + prettier-linter-helpers@1.0.0: dependencies: fast-diff: 1.2.0 - dev: true - /prettier@3.1.1: - resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==} - engines: {node: '>=14'} - hasBin: true - dev: true + prettier@3.3.2: {} - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true - - /proc-log@3.0.0: - resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false - - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: false - - /promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - dev: false - /promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} - dependencies: - err-code: 2.0.3 - retry: 0.12.0 - dev: false + process@0.11.10: {} - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - dev: false - - /ps-tree@1.2.0: - resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} - engines: {node: '>= 0.10'} - hasBin: true - dependencies: - event-stream: 3.3.4 - dev: false - /public-encrypt@4.0.3: - resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + public-encrypt@4.0.3: dependencies: bn.js: 4.12.0 browserify-rsa: 4.1.0 @@ -3880,888 +4441,478 @@ packages: parse-asn1: 5.1.6 randombytes: 2.1.0 safe-buffer: 5.2.1 - dev: false - /punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - dev: false + punycode@1.4.1: {} - /punycode@2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} - engines: {node: '>=6'} - dev: true + punycode@2.1.1: {} - /qs@6.11.2: - resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} - engines: {node: '>=0.6'} + qs@6.11.2: dependencies: side-channel: 1.0.4 - dev: false - /query-string@5.1.1: - resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} - engines: {node: '>=0.10.0'} + query-string@5.1.1: dependencies: decode-uri-component: 0.2.0 object-assign: 4.1.1 strict-uri-encode: 1.1.0 - dev: false - /querystring-es3@0.2.1: - resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} - engines: {node: '>=0.4.x'} - dev: false + querystring-es3@0.2.1: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + queue-microtask@1.2.3: {} - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - dev: false - /randomfill@1.0.4: - resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + randomfill@1.0.4: dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 - dev: false - - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - /read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + rc9@2.1.2: dependencies: - json-parse-even-better-errors: 3.0.0 - npm-normalize-package-bin: 3.0.1 - dev: false + defu: 6.1.4 + destr: 2.0.3 - /read-package-json@7.0.0: - resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - glob: 10.3.10 - json-parse-even-better-errors: 3.0.0 - normalize-package-data: 6.0.0 - npm-normalize-package-bin: 3.0.1 - dev: false + react-is@18.2.0: {} - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 - dev: true - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.1 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 - dev: true - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} + readable-stream@3.6.0: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: false - /regexp-tree@0.1.24: - resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==} - hasBin: true - dev: true + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} + regexp-tree@0.1.27: {} + + regexp.prototype.flags@1.5.1: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 set-function-name: 2.0.1 - dev: true - /regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} - hasBin: true + regjsparser@0.10.0: dependencies: jsesc: 0.5.0 - dev: true - - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: false - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true + resolve-from@4.0.0: {} - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true + resolve@1.22.8: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + restore-cursor@4.0.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: false - - /retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - dev: false - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + reusify@1.0.4: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - dev: true - /ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + ripemd160@2.0.2: dependencies: hash-base: 3.1.0 inherits: 2.0.4 - dev: false - /rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} - hasBin: true + rollup@2.79.1: optionalDependencies: fsevents: 2.3.3 - /rollup@4.9.1: - resolution: {integrity: sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true + rollup@4.18.0: + dependencies: + '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.9.1 - '@rollup/rollup-android-arm64': 4.9.1 - '@rollup/rollup-darwin-arm64': 4.9.1 - '@rollup/rollup-darwin-x64': 4.9.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.9.1 - '@rollup/rollup-linux-arm64-gnu': 4.9.1 - '@rollup/rollup-linux-arm64-musl': 4.9.1 - '@rollup/rollup-linux-riscv64-gnu': 4.9.1 - '@rollup/rollup-linux-x64-gnu': 4.9.1 - '@rollup/rollup-linux-x64-musl': 4.9.1 - '@rollup/rollup-win32-arm64-msvc': 4.9.1 - '@rollup/rollup-win32-ia32-msvc': 4.9.1 - '@rollup/rollup-win32-x64-msvc': 4.9.1 + '@rollup/rollup-android-arm-eabi': 4.18.0 + '@rollup/rollup-android-arm64': 4.18.0 + '@rollup/rollup-darwin-arm64': 4.18.0 + '@rollup/rollup-darwin-x64': 4.18.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 + '@rollup/rollup-linux-arm-musleabihf': 4.18.0 + '@rollup/rollup-linux-arm64-gnu': 4.18.0 + '@rollup/rollup-linux-arm64-musl': 4.18.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 + '@rollup/rollup-linux-riscv64-gnu': 4.18.0 + '@rollup/rollup-linux-s390x-gnu': 4.18.0 + '@rollup/rollup-linux-x64-gnu': 4.18.0 + '@rollup/rollup-linux-x64-musl': 4.18.0 + '@rollup/rollup-win32-arm64-msvc': 4.18.0 + '@rollup/rollup-win32-ia32-msvc': 4.18.0 + '@rollup/rollup-win32-x64-msvc': 4.18.0 fsevents: 2.3.3 - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} + safe-array-concat@1.0.1: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 has-symbols: 1.0.3 isarray: 2.0.5 - dev: true - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false + safe-buffer@5.2.1: {} - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + safe-regex-test@1.0.0: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-regex: 1.1.4 - dev: true - /safe-regex@2.1.1: - resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} - dependencies: - regexp-tree: 0.1.24 - dev: true - - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: false + safer-buffer@2.1.2: {} - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - dev: true + semver@5.7.1: {} - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true + semver@6.3.1: {} - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 + semver@7.6.2: {} - /set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} - engines: {node: '>= 0.4'} + set-function-length@1.1.1: dependencies: define-data-property: 1.1.1 get-intrinsic: 1.2.2 gopd: 1.0.1 has-property-descriptors: 1.0.0 - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} + set-function-name@2.0.1: dependencies: define-data-property: 1.1.1 functions-have-names: 1.2.3 has-property-descriptors: 1.0.0 - dev: true - /setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - dev: false + setimmediate@1.0.5: {} - /sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true + sha.js@2.4.11: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - dev: false - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + shebang-regex@3.0.0: {} - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.4: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 object-inspect: 1.13.1 - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true - - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: false + siginfo@2.0.0: {} - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + signal-exit@3.0.7: {} - /sigstore@2.1.0: - resolution: {integrity: sha512-kPIj+ZLkyI3QaM0qX8V/nSsweYND3W448pwkDgS6CQ74MfhEkIR8ToK5Iyx46KJYRjseVcD3Rp9zAmUAj6ZjPw==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/bundle': 2.1.0 - '@sigstore/protobuf-specs': 0.2.1 - '@sigstore/sign': 2.2.0 - '@sigstore/tuf': 2.2.0 - transitivePeerDependencies: - - supports-color - dev: false + signal-exit@4.1.0: {} - /simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - dev: false + simple-concat@1.0.1: {} - /simple-get@2.8.2: - resolution: {integrity: sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==} + simple-get@2.8.2: dependencies: decompress-response: 3.3.0 once: 1.4.0 simple-concat: 1.0.1 - dev: false - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: false - - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + simple-git-hooks@2.11.1: {} - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: false - - /smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: false - - /socks-proxy-agent@8.0.1: - resolution: {integrity: sha512-59EjPbbgg8U3x62hhKOFVAmySQUcfRQ4C7Q/D5sEHnZTQRrQlNKINks44DMR1gwXp0p4LaVIeccX2KHTTcHVqQ==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - socks: 2.7.1 - transitivePeerDependencies: - - supports-color - dev: false + sisteransi@1.0.5: {} - /socks@2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} - dependencies: - ip: 2.0.0 - smart-buffer: 4.2.0 - dev: false + slash@3.0.0: {} - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} + source-map-js@1.2.0: {} - /spdx-correct@3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + spdx-correct@3.1.1: dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.12 - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + spdx-exceptions@2.3.0: {} - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.12 - /spdx-license-ids@3.0.12: - resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} - - /split@0.3.3: - resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} - dependencies: - through: 2.3.8 - dev: false - - /ssri@10.0.5: - resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.4 - dev: false + spdx-license-ids@3.0.12: {} - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true + stackback@0.0.2: {} - /std-env@3.6.0: - resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} - dev: true + std-env@3.6.0: {} - /stdin-discarder@0.1.0: - resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - bl: 5.0.0 - dev: false + stdin-discarder@0.2.2: {} - /stream-browserify@3.0.0: - resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + stream-browserify@3.0.0: dependencies: inherits: 2.0.4 readable-stream: 3.6.0 - dev: false - - /stream-combiner@0.0.4: - resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} - dependencies: - duplexer: 0.1.2 - dev: false - /stream-http@3.2.0: - resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + stream-http@3.2.0: dependencies: builtin-status-codes: 3.0.0 inherits: 2.0.4 readable-stream: 3.6.0 xtend: 4.0.2 - dev: false - /strict-uri-encode@1.1.0: - resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} - engines: {node: '>=0.10.0'} - dev: false + strict-uri-encode@1.1.0: {} - /string-argv@0.3.1: - resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} - engines: {node: '>=0.6.19'} - dev: false + string-argv@0.3.2: {} - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: false - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.0.1 - dev: false + strip-ansi: 7.1.0 - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} + string-width@7.1.0: + dependencies: + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + + string.prototype.trim@1.2.8: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 es-abstract: 1.22.3 - dev: true - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + string.prototype.trimend@1.0.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 es-abstract: 1.22.3 - dev: true - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + string.prototype.trimstart@1.0.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.0 es-abstract: 1.22.3 - dev: true - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - dev: false - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.0.1: - resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 - dev: false - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true + strip-bom@3.0.0: {} - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} + strip-final-newline@3.0.0: {} - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 - dev: true - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + strip-json-comments@3.1.1: {} - /strip-literal@1.3.0: - resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + strip-literal@2.1.0: dependencies: - acorn: 8.10.0 - dev: true + js-tokens: 9.0.0 - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} + supports-hyperlinks@2.3.0: dependencies: has-flag: 4.0.0 supports-color: 7.2.0 - dev: false - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + supports-preserve-symlinks-flag@1.0.0: {} - /tar@6.1.12: - resolution: {integrity: sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==} - engines: {node: '>=10'} + synckit@0.8.8: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.3 + + tar@6.2.1: dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 3.3.4 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 - dev: false - - /taze@0.13.0: - resolution: {integrity: sha512-o17Y6miF+44sDJ7haRHTqZefTlGOaBSdDHRwRcrt+s3WeGSPBUtPSG18XNwToIXN//eh58hyYnyDwTnpYLp4sg==} - hasBin: true - dependencies: - '@antfu/ni': 0.21.12 - '@npmcli/config': 8.0.3 - cli-progress: 3.12.0 - deepmerge: 4.3.1 - detect-indent: 7.0.1 - execa: 8.0.1 - pacote: 17.0.5 - picocolors: 1.0.0 - prompts: 2.4.2 - semver: 7.5.4 - unconfig: 0.3.11 - yargs: 17.7.2 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - /terminal-link@3.0.0: - resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} - engines: {node: '>=12'} + terminal-link@3.0.0: dependencies: ansi-escapes: 5.0.0 supports-hyperlinks: 2.3.0 - dev: false - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: false + text-table@0.2.0: {} - /timed-out@4.0.1: - resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} - engines: {node: '>=0.10.0'} - dev: false + timed-out@4.0.1: {} - /timers-browserify@2.0.12: - resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} - engines: {node: '>=0.6.0'} + timers-browserify@2.0.12: dependencies: setimmediate: 1.0.5 - dev: false - /tinybench@2.5.1: - resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} - dev: true + tinybench@2.5.1: {} - /tinycolor2@1.4.2: - resolution: {integrity: sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==} - dev: false + tinycolor2@1.4.2: {} - /tinygradient@1.1.5: - resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==} + tinygradient@1.1.5: dependencies: '@types/tinycolor2': 1.4.3 tinycolor2: 1.4.2 - dev: false - /tinypool@0.8.1: - resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==} - engines: {node: '>=14.0.0'} - dev: true + tinypool@0.8.4: {} - /tinyspy@2.2.0: - resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} - engines: {node: '>=14.0.0'} - dev: true + tinyspy@2.2.0: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + ts-api-utils@1.3.0(typescript@5.3.3): + dependencies: + typescript: 5.3.3 + + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - dev: true - - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - - /tsutils@3.21.0(typescript@5.3.3): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 5.3.3 - dev: true - /tty-browserify@0.0.1: - resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} - dev: false + tslib@2.6.3: {} - /tuf-js@2.1.0: - resolution: {integrity: sha512-eD7YPPjVlMzdggrOeE8zwoegUaG/rt6Bt3jwoQPunRiNVzgcCE009UDFJKJjG+Gk9wFu6W/Vi+P5d/5QpdD9jA==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@tufjs/models': 2.0.0 - debug: 4.3.4 - make-fetch-happen: 13.0.0 - transitivePeerDependencies: - - supports-color - dev: false + tty-browserify@0.0.1: {} - /tweetnacl@1.0.3: - resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} - dev: false + tweetnacl@1.0.3: {} - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} + type-detect@4.0.8: {} - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + type-fest@0.20.2: {} - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true + type-fest@0.6.0: {} - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true + type-fest@0.8.1: {} - /type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - dev: false + type-fest@1.4.0: {} - /type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - dev: false + type-fest@2.19.0: {} - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} + typed-array-buffer@1.0.0: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.12 - dev: true - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.0: dependencies: call-bind: 1.0.5 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 - dev: true - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.0: dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.5 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 - dev: true - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-length@1.0.4: dependencies: call-bind: 1.0.5 for-each: 0.3.3 is-typed-array: 1.1.12 - dev: true - - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - /typical@4.0.0: - resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} - engines: {node: '>=8'} - dev: false + typescript@5.3.3: {} - /ufo@1.3.2: - resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + ufo@1.5.3: {} - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.5 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - dev: true - /unconfig@0.3.11: - resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==} - dependencies: - '@antfu/utils': 0.7.7 - defu: 6.1.2 - jiti: 1.21.0 - mlly: 1.4.2 - dev: false - - /unique-filename@3.0.0: - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - unique-slug: 4.0.0 - dev: false + undici-types@5.26.5: {} - /unique-slug@4.0.0: - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + update-browserslist-db@1.0.16(browserslist@4.23.1): dependencies: - imurmurhash: 0.1.4 - dev: false + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - dev: false - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.1.1 - dev: true - /url-set-query@1.0.0: - resolution: {integrity: sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==} - dev: false + url-set-query@1.0.0: {} - /url@0.11.1: - resolution: {integrity: sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==} + url@0.11.1: dependencies: punycode: 1.4.1 qs: 6.11.2 - dev: false - /utf8@3.0.0: - resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} - dev: false + utf8@3.0.0: {} - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: false + util-deprecate@1.0.2: {} - /util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + util@0.12.5: dependencies: inherits: 2.0.4 is-arguments: 1.1.1 is-generator-function: 1.0.10 is-typed-array: 1.1.12 which-typed-array: 1.1.13 - dev: false - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.1.1 spdx-expression-parse: 3.0.1 - /validate-npm-package-name@5.0.0: - resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - builtins: 5.0.1 - dev: false - - /vite-node@1.1.0: - resolution: {integrity: sha512-jV48DDUxGLEBdHCQvxL1mEh7+naVy+nhUUUaPAZLd3FJgXuxQiewHcfeZebbJ6onDqNGkP4r3MhQ342PRlG81Q==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true + vite-node@1.6.0(@types/node@20.14.8): dependencies: cac: 6.7.14 debug: 4.3.4 - pathe: 1.1.1 - picocolors: 1.0.0 - vite: 5.0.10 + pathe: 1.1.2 + picocolors: 1.0.1 + vite: 5.3.2(@types/node@20.14.8) transitivePeerDependencies: - '@types/node' - less @@ -4771,102 +4922,48 @@ packages: - sugarss - supports-color - terser - dev: true - /vite-plugin-node-polyfills@0.17.0(rollup@2.79.1)(vite@5.0.10): - resolution: {integrity: sha512-iPmPn7376e5u6QvoTSJa16hf5Q0DFwHFXJk2uYpsNlmI3JdPms7hWyh55o+OysJ5jo9J5XPhLC9sMOYifwFd1w==} - peerDependencies: - vite: ^5.0.10 + vite-plugin-node-polyfills@0.22.0(rollup@4.18.0)(vite@5.3.2(@types/node@20.14.8)): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@2.79.1) - buffer-polyfill: /buffer@6.0.3 + '@rollup/plugin-inject': 5.0.5(rollup@4.18.0) node-stdlib-browser: 1.2.0 - process: 0.11.10 - vite: 5.0.10 + vite: 5.3.2(@types/node@20.14.8) transitivePeerDependencies: - rollup - dev: false - /vite@5.0.10: - resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true + vite@5.3.2(@types/node@20.14.8): dependencies: - esbuild: 0.19.10 - postcss: 8.4.32 - rollup: 4.9.1 + esbuild: 0.21.5 + postcss: 8.4.38 + rollup: 4.18.0 optionalDependencies: + '@types/node': 20.14.8 fsevents: 2.3.3 - /vitest@1.1.0: - resolution: {integrity: sha512-oDFiCrw7dd3Jf06HoMtSRARivvyjHJaTxikFxuqJjO76U436PqlVw1uLn7a8OSPrhSfMGVaRakKpA2lePdw79A==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': ^1.0.0 - '@vitest/ui': ^1.0.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true + vitest@1.6.0(@types/node@20.14.8): dependencies: - '@vitest/expect': 1.1.0 - '@vitest/runner': 1.1.0 - '@vitest/snapshot': 1.1.0 - '@vitest/spy': 1.1.0 - '@vitest/utils': 1.1.0 - acorn-walk: 8.3.1 - cac: 6.7.14 + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + acorn-walk: 8.3.3 chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 magic-string: 0.30.5 - pathe: 1.1.1 - picocolors: 1.0.0 + pathe: 1.1.2 + picocolors: 1.0.1 std-env: 3.6.0 - strip-literal: 1.3.0 + strip-literal: 2.1.0 tinybench: 2.5.1 - tinypool: 0.8.1 - vite: 5.0.10 - vite-node: 1.1.0 + tinypool: 0.8.4 + vite: 5.3.2(@types/node@20.14.8) + vite-node: 1.6.0(@types/node@20.14.8) why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.14.8 transitivePeerDependencies: - less - lightningcss @@ -4875,45 +4972,18 @@ packages: - sugarss - supports-color - terser - dev: true - - /vm-browserify@1.1.2: - resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} - dev: false - - /walk-up-path@3.0.1: - resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} - dev: false - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.3 - dev: false - - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: false - - /webpod@0.0.2: - resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==} - hasBin: true - dev: false + vm-browserify@1.1.2: {} - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 - dev: true - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.13: dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.5 @@ -4921,74 +4991,32 @@ packages: gopd: 1.0.1 has-tostringtag: 1.0.0 - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - - /which@3.0.1: - resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - dev: false - - /which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - isexe: 3.1.1 - dev: false - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true + why-is-node-running@2.2.2: dependencies: siginfo: 2.0.0 stackback: 0.0.2 - dev: true - /widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} + widest-line@4.0.1: dependencies: string-width: 5.1.2 - dev: false - - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: false - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: - ansi-styles: 6.1.1 + ansi-styles: 6.2.1 string-width: 5.1.2 - strip-ansi: 7.0.1 - dev: false + strip-ansi: 7.1.0 - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + wrappy@1.0.2: {} - /xhr-request-promise@0.1.3: - resolution: {integrity: sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==} + xhr-request-promise@0.1.3: dependencies: xhr-request: 1.1.0 - dev: false - /xhr-request@1.1.0: - resolution: {integrity: sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==} + xhr-request@1.1.0: dependencies: buffer-to-arraybuffer: 0.0.5 object-assign: 4.1.1 @@ -4997,80 +5025,25 @@ packages: timed-out: 4.0.1 url-set-query: 1.0.0 xhr: 2.6.0 - dev: false - /xhr@2.6.0: - resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==} + xhr@2.6.0: dependencies: global: 4.4.0 is-function: 1.0.2 parse-headers: 2.0.5 xtend: 4.0.2 - dev: false - - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: false - - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: false - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - /yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} - engines: {node: '>= 14'} - dev: false + xtend@4.0.2: {} - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: false + yallist@4.0.0: {} - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: false + yaml@2.4.5: {} - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + yocto-queue@0.1.0: {} - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true + yocto-queue@1.0.0: {} - /zx@7.2.3: - resolution: {integrity: sha512-QODu38nLlYXg/B/Gw7ZKiZrvPkEsjPN3LQ5JFXM7h0JvwhEdPNNl+4Ao1y4+o3CLNiDUNcwzQYZ4/Ko7kKzCMA==} - engines: {node: '>= 16.0.0'} - hasBin: true - dependencies: + zx@8.1.3: + optionalDependencies: '@types/fs-extra': 11.0.1 - '@types/minimist': 1.2.2 - '@types/node': 18.17.0 - '@types/ps-tree': 1.1.2 - '@types/which': 3.0.3 - chalk: 5.3.0 - fs-extra: 11.1.1 - fx: 31.0.0 - globby: 13.2.2 - minimist: 1.2.8 - node-fetch: 3.3.1 - ps-tree: 1.2.0 - webpod: 0.0.2 - which: 3.0.1 - yaml: 2.3.4 - dev: false \ No newline at end of file + '@types/node': 20.14.8 diff --git a/scripts/batch-modify-deps-version.mjs b/scripts/batch-modify-deps-version.mjs index 2ac6b804..ef03660a 100644 --- a/scripts/batch-modify-deps-version.mjs +++ b/scripts/batch-modify-deps-version.mjs @@ -62,7 +62,7 @@ export default async function batchModifyDepsVersion({ dirPath = './', depList = } catch (error) { console.warn(chalk.yellowBright('[warn]: ', `${fullPath} no such file or directory`)); } - }) + }), ); if (resultList.some((item) => item === false)) { diff --git a/scripts/bump-version.mjs b/scripts/bump-version.mjs index 6f7faa74..18b01b7f 100644 --- a/scripts/bump-version.mjs +++ b/scripts/bump-version.mjs @@ -4,7 +4,9 @@ import { $, chalk, fs } from 'zx'; import batchModifyDepsVersion from './batch-modify-deps-version.mjs'; // or use pnpm to bump version: `pnpm -r --filter {packages/*, themes/*} -- pnpm version` -execSync('bumpp package.json packages/*/package.json plugins/*/package.json', { stdio: 'inherit' }); +execSync('bumpp --no-tag --no-commit --no-push package.json packages/*/package.json plugins/*/package.json', { + stdio: 'inherit', +}); const { version } = await fs.readJSON('package.json'); await fs.writeFileSync('version', version); diff --git a/version b/version index 1451d481..8adc70fd 100644 --- a/version +++ b/version @@ -1 +1 @@ -0.7.9 \ No newline at end of file +0.8.0 \ No newline at end of file diff --git a/website/docs/blocklet.yml b/website/docs/blocklet.yml index dba4cf99..cd7f9800 100644 --- a/website/docs/blocklet.yml +++ b/website/docs/blocklet.yml @@ -13,7 +13,7 @@ repository: type: git url: git+https://github.com/blocklet/create-blocklet.git specVersion: 1.2.8 -version: 0.7.9 +version: 0.8.0 logo: logo.png files: - logo.png diff --git a/website/pages/blocklet.yml b/website/pages/blocklet.yml index 2bb411d4..16d2c0c1 100644 --- a/website/pages/blocklet.yml +++ b/website/pages/blocklet.yml @@ -13,7 +13,7 @@ repository: type: git url: git+https://github.com/blocklet/create-blocklet.git specVersion: 1.2.8 -version: 0.7.9 +version: 0.8.0 logo: logo.png files: - logo.png