diff --git a/.eslintrc.js b/.eslintrc.js index 0e88baf18..f08e24fcd 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -6,5 +6,19 @@ module.exports = { globals: { window: true, global: true - } + }, + ignorePatterns: [ + 'lib', + 'es', + 'dist', + 'docs', + 'app', + 'ui', + 'cache/*', + '*_bak', + '*.bak', + 'pnpm-lock.yaml', + 'stats.html', + 'dist_electron' + ] } diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 1497077a3..0db990dec 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -11,9 +11,57 @@ updates: interval: weekly open-pull-requests-limit: 2 ignore: - - dependency-name: 'core-js' - - dependency-name: 'eslint' - - dependency-name: 'prettier' + - dependency-name: core-js + - dependency-name: eslint + - dependency-name: prettier + - dependency-name: '@babel/*' + - dependency-name: '@types/*' + - dependency-name: typescript + versions: [4.x] + - dependency-name: '*' + update-types: ['version-update:semver-patch'] + + - package-ecosystem: npm # See documentation for possible values + directory: /packages/api # Location of package manifests + schedule: + interval: weekly + open-pull-requests-limit: 2 + ignore: + - dependency-name: core-js + - dependency-name: eslint + - dependency-name: prettier + - dependency-name: '@babel/*' + - dependency-name: '@types/*' + - dependency-name: typescript + versions: [4.x] + - dependency-name: '*' + update-types: ['version-update:semver-patch'] + + - package-ecosystem: npm # See documentation for possible values + directory: /packages/build # Location of package manifests + schedule: + interval: weekly + open-pull-requests-limit: 2 + ignore: + - dependency-name: core-js + - dependency-name: eslint + - dependency-name: prettier + - dependency-name: '@babel/*' + - dependency-name: '@types/*' + - dependency-name: typescript + versions: [4.x] + - dependency-name: '*' + update-types: ['version-update:semver-patch'] + + - package-ecosystem: npm # See documentation for possible values + directory: /packages/cache # Location of package manifests + schedule: + interval: weekly + open-pull-requests-limit: 2 + ignore: + - dependency-name: core-js + - dependency-name: eslint + - dependency-name: prettier - dependency-name: '@babel/*' - dependency-name: '@types/*' - dependency-name: typescript @@ -27,9 +75,73 @@ updates: interval: weekly open-pull-requests-limit: 2 ignore: - - dependency-name: 'core-js' - - dependency-name: 'eslint' - - dependency-name: 'prettier' + - dependency-name: core-js + - dependency-name: eslint + - dependency-name: prettier + - dependency-name: '@babel/*' + - dependency-name: '@types/*' + - dependency-name: typescript + versions: [4.x] + - dependency-name: '*' + update-types: ['version-update:semver-patch'] + + - package-ecosystem: npm # See documentation for possible values + directory: /packages/git # Location of package manifests + schedule: + interval: weekly + open-pull-requests-limit: 2 + ignore: + - dependency-name: core-js + - dependency-name: eslint + - dependency-name: prettier + - dependency-name: '@babel/*' + - dependency-name: '@types/*' + - dependency-name: typescript + versions: [4.x] + - dependency-name: '*' + update-types: ['version-update:semver-patch'] + + - package-ecosystem: npm # See documentation for possible values + directory: /packages/go # Location of package manifests + schedule: + interval: weekly + open-pull-requests-limit: 2 + ignore: + - dependency-name: core-js + - dependency-name: eslint + - dependency-name: prettier + - dependency-name: '@babel/*' + - dependency-name: '@types/*' + - dependency-name: typescript + versions: [4.x] + - dependency-name: '*' + update-types: ['version-update:semver-patch'] + + - package-ecosystem: npm # See documentation for possible values + directory: /packages/hook # Location of package manifests + schedule: + interval: weekly + open-pull-requests-limit: 2 + ignore: + - dependency-name: core-js + - dependency-name: eslint + - dependency-name: prettier + - dependency-name: '@babel/*' + - dependency-name: '@types/*' + - dependency-name: typescript + versions: [4.x] + - dependency-name: '*' + update-types: ['version-update:semver-patch'] + + - package-ecosystem: npm # See documentation for possible values + directory: /packages/utils # Location of package manifests + schedule: + interval: weekly + open-pull-requests-limit: 2 + ignore: + - dependency-name: core-js + - dependency-name: eslint + - dependency-name: prettier - dependency-name: '@babel/*' - dependency-name: '@types/*' - dependency-name: typescript @@ -43,9 +155,9 @@ updates: interval: weekly open-pull-requests-limit: 2 ignore: - - dependency-name: 'core-js' - - dependency-name: 'eslint' - - dependency-name: 'prettier' + - dependency-name: core-js + - dependency-name: eslint + - dependency-name: prettier - dependency-name: '@babel/*' - dependency-name: '@types/*' - dependency-name: typescript @@ -59,9 +171,9 @@ updates: interval: weekly open-pull-requests-limit: 2 ignore: - - dependency-name: 'core-js' - - dependency-name: 'eslint' - - dependency-name: 'prettier' + - dependency-name: core-js + - dependency-name: eslint + - dependency-name: prettier - dependency-name: '@babel/*' - dependency-name: '@types/*' - dependency-name: typescript diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index 222e5b8e7..820b82faf 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -22,7 +22,7 @@ jobs: - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 registry-url: https://registry.npmmirror.com cache: pnpm @@ -46,7 +46,14 @@ jobs: - name: Gen .npmrc run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/api/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/build/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/cache/.npmrc - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/core/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/git/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/go/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/hook/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/utils/.npmrc - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/gitmars/.npmrc - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/docs/.npmrc @@ -55,6 +62,13 @@ jobs: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/monorepo/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/api/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/build/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/cache/sync" - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/core/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/git/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/go/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/hook/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/utils/sync" - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/gitmars/sync" - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/docs/sync" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index df24320ab..4a9125ecc 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -24,7 +24,7 @@ jobs: - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 registry-url: https://registry.npmmirror.com cache: pnpm @@ -48,7 +48,14 @@ jobs: - name: Gen .npmrc run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/api/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/build/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/cache/.npmrc - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/core/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/git/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/go/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/hook/.npmrc + - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/utils/.npmrc - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/gitmars/.npmrc - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./packages/docs/.npmrc @@ -57,6 +64,13 @@ jobs: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/monorepo/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/api/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/build/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/cache/sync" - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/core/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/git/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/go/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/hook/sync" + - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/utils/sync" - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/gitmars/sync" - run: curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/@gitmars/docs/sync" diff --git a/.gitignore b/.gitignore index 950bca059..c7a31971c 100644 --- a/.gitignore +++ b/.gitignore @@ -46,9 +46,10 @@ yarn-error.log* *.njsproj *.sln *.sw* -**/cache/* -!**/cache/.gitkeep +**/cache/cache/* +!**/cache/cache/.gitkeep stats.html #Electron-builder output dist_electron +tsconfig.tsbuildinfo diff --git a/.npmrc b/.npmrc index cf0404245..d92901fa9 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1,3 @@ shamefully-hoist=true strict-peer-dependencies=false +git-checks=false diff --git a/.reinstallerrc b/.reinstallerrc index 21021e580..0b33f34cd 100644 --- a/.reinstallerrc +++ b/.reinstallerrc @@ -2,15 +2,16 @@ "packageTags": { "@eslint-sets/eslint-config-ts": "latest", "@eslint-sets/eslint-config-vue3": "latest", - "reinstaller": "latest" + "reinstaller": "latest", + "@inquirer/prompts": "3", + "inquirer": "8", + "eslint": "8" }, "exclude": [ "slash", "lowdb", "chalk", - "ora", - "inquirer", - "@types/inquirer" + "ora" ], "packageManager": "pnpm", "registry": "https://registry.npmmirror.com" diff --git a/.vscode/settings.json b/.vscode/settings.json index 78416916b..23ccb8c99 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -68,6 +68,7 @@ "lsof", "maxage", "minify", + "miniprogram", "msg", "namespace", "npmjs", diff --git a/CHANGELOG.md b/CHANGELOG.md index 1efd57aec..1e16d3218 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # 更新日志 +## 2024.04.23 v7.0.0 + +1. 重构项目,合理规划代码 +2. 新增`build-mp`指令构建小程序 +3. `end` `combine` 指令支持批量操作 +4. `build`指令改造成可选参数形式,project参数取消必填限制 +5. 构建配置支持在list里面设置token +6. 清理不需要的依赖包 +7. 升级依赖包 + ## 2024.03.17 v6.4.0 1. 优化提示信息 diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 000000000..20963f577 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,49 @@ +module.exports = { + presets: [ + [ + '@babel/env', + { + // loose: true, + modules: 'auto', + targets: { + node: '12.20', + browsers: [ + '> 1%', + 'last 2 versions', + 'not ie < 11', + 'not ie_mob < 11', + 'not op_mini all' + ] + }, + exclude: ['transform-regenerator'] + } + ], + '@babel/typescript' + ], + env: { + es5: { + presets: [ + [ + '@babel/env', + { + modules: 'auto', + corejs: 3, + useBuiltIns: 'usage', + targets: { + node: '12.20', + browsers: [ + '> 1%', + 'last 2 versions', + 'not ie < 11', + 'not ie_mob < 11', + 'not op_mini all' + ] + }, + exclude: ['transform-regenerator'] + } + ], + '@babel/typescript' + ] + } + } +} diff --git a/build/config.ts b/build/config.ts index c7964451e..4135cdddd 100644 --- a/build/config.ts +++ b/build/config.ts @@ -1,5 +1,4 @@ -const path = require('path') -const pkg = require('../package.json') +import pkg from '../package.json' assert { type: 'json' } export const banner = '/*!\n' + @@ -28,11 +27,15 @@ export const bannerText = ' saqqdy \n' + 'Released under the MIT License.' +export const version = pkg.version export const extensions = [ - '.mjs', '.js', + '.mjs', + '.cjs', '.jsx', '.ts', + '.mts', + '.cts', '.tsx', '.es6', '.es', @@ -41,9 +44,4 @@ export const extensions = [ '.css' ] -export const alias = { - '@': path.resolve(__dirname, '../src'), - gitmars: path.resolve(__dirname, './') -} - export const jsexclude = /node_modules/ diff --git a/build/gulpfile.ts b/build/gulpfile.ts index c0dd03bf9..130c97f91 100644 --- a/build/gulpfile.ts +++ b/build/gulpfile.ts @@ -6,16 +6,14 @@ import { buildLib, copyLibFile, madgeLib } from './tasks/buildLib' import { buildApp } from './tasks/buildApp' import { buildDocs, copyMdFile } from './tasks/buildDocs' import { buildType } from './tasks/buildType' -import { packages } from './packages' +import { getLibPackages } from './packages' + +const pkgs = getLibPackages() export async function clean() { - let dirs: string[] = ['dist', 'es', 'lib'] - packages.forEach(({ name }) => { - dirs = dirs.concat([ - join('packages', name, 'dist'), - join('packages', name, 'es'), - join('packages', name, 'lib') - ]) + let dirs: string[] = [] + pkgs.forEach(({ name, output = 'dist' }) => { + dirs = dirs.concat([join('packages', name, output)]) }) await runExecSync(`rimraf ${dirs.join(' ')}`) } @@ -24,16 +22,13 @@ export { default as app } from './tasks/buildApp' export { default as docs } from './tasks/buildDocs' export { default as type } from './tasks/buildType' export default series( - wrapDisplayName('clean:dist,es,lib', clean), + wrapDisplayName('clean output dirs', clean), parallel( wrapDisplayName('copy:md', copyMdFile), wrapDisplayName('copy-lib:json,sh', copyLibFile) ), - parallel( - wrapDisplayName('build:lib', buildLib), - wrapDisplayName('build:docs', buildDocs), - wrapDisplayName('build:type', buildType) - ), + wrapDisplayName('build:type', buildType), + parallel(wrapDisplayName('build:lib', buildLib), wrapDisplayName('build:docs', buildDocs)), parallel(wrapDisplayName('build:app', buildApp)), parallel(wrapDisplayName('madge:lib', madgeLib)) ) diff --git a/build/packages.ts b/build/packages.ts index a3c5d8222..333e93bc9 100644 --- a/build/packages.ts +++ b/build/packages.ts @@ -1,25 +1,78 @@ -import type { PackageManifest } from './types' +import { intersect } from 'js-cool' +import type { Name, PackageManifest, Task } from './types' export const packages: PackageManifest[] = [ + { + name: 'utils', + pkgName: '@gitmars/utils', + buildTask: 'bundle', + external: [], + iife: false, + browser: false, + display: 'gitmars utils' + }, + { + name: 'git', + pkgName: '@gitmars/git', + buildTask: 'bundle', + iife: false, + browser: false, + display: 'gitmars git' + }, + { + name: 'hook', + pkgName: '@gitmars/hook', + buildTask: 'bundle', + iife: false, + browser: false, + display: 'gitmars hook' + }, + { + name: 'cache', + pkgName: '@gitmars/cache', + buildTask: 'bundle', + iife: false, + browser: false, + display: 'gitmars cache' + }, + { + name: 'go', + pkgName: '@gitmars/go', + buildTask: 'bundle', + iife: false, + browser: false, + display: 'gitmars go' + }, + { + name: 'api', + pkgName: '@gitmars/api', + buildTask: 'bundle', + iife: false, + browser: false, + display: 'gitmars api' + }, + { + name: 'build', + pkgName: '@gitmars/build', + buildTask: 'bundle', + iife: false, + browser: false, + display: 'gitmars build' + }, { name: 'core', pkgName: '@gitmars/core', - buildTask: ['type', 'lib'], + buildTask: 'bundle', iife: false, - cjs: true, - mjs: true, - dts: false, - output: 'lib', + browser: false, display: 'gitmars核心程序' }, { name: 'gitmars', pkgName: 'gitmars', - buildTask: ['type', 'lib'], + buildTask: 'lib', iife: false, - cjs: false, - mjs: true, - dts: false, + browser: false, output: 'lib', display: '这是一个git工作流工具' }, @@ -28,9 +81,94 @@ export const packages: PackageManifest[] = [ pkgName: '@gitmars/docs', buildTask: 'docs', iife: false, - mjs: false, - dts: false, - output: 'dist', + browser: false, display: 'gitmars文档库' + }, + { + name: 'monorepo', + pkgName: '@gitmars/monorepo', + build: false, + display: 'gitmars monorepo' } ] + +export const names = packages.map(({ name }) => name) +export const packageNames = packages.map(({ pkgName }) => pkgName) +export const buildTasks = packages.reduce((acc, cur) => { + if (cur.buildTask) + for (const item of ([] as Task[]).concat(cur.buildTask)) { + !acc.includes(item) && acc.push(item) + } + return acc +}, [] as Task[]) + +/** + * get package sets + */ +export function getPackages(name?: Name | Name[]): PackageManifest[] +export function getPackages(name?: Task | Task[]): PackageManifest[] +export function getPackages(name?: string | string[]) { + if (!name) return packages + if (typeof name === 'string') name = ([] as string[]).concat(name) + + const list = packages.filter(item => { + if (intersect(buildTasks, name).length) { + // 传入task + return ( + item.buildTask && + intersect( + typeof item.buildTask === 'string' + ? ([] as Task[]).concat(item.buildTask) + : item.buildTask, + name + ).length + ) + } + // 传入name + return name.includes(item.name) + }) + if (list.length === 0) { + console.info(`no package founded`) + return packages + } + + return list +} + +export function getLibPackages(name?: string | string[]) { + const _names = typeof name === 'string' ? ([] as string[]).concat(name) : name + const list = packages.filter(item => { + const _buildTask = + item.buildTask && typeof item.buildTask === 'string' + ? [item.buildTask] + : item.buildTask || [] + + if (!_names) return _buildTask.includes('lib') + return _buildTask.includes('lib') && _names.includes(item.name) + }) + if (list.length === 0) { + console.info(`no package founded`) + return packages + } + + return list +} + +export function getBundlePackages(name?: string | string[]) { + const _names = typeof name === 'string' ? ([] as string[]).concat(name) : name + const list = packages.filter(item => { + const _buildTask = + item.buildTask && typeof item.buildTask === 'string' + ? [item.buildTask] + : item.buildTask || [] + + if (!_names) return _buildTask.includes('bundle') + return _buildTask.includes('bundle') && _names.includes(item.name) + }) + if (list.length === 0) { + console.info(`no package founded`) + return packages + } + + return list +} diff --git a/build/plugins/babel.ts b/build/plugins/babel.ts new file mode 100644 index 000000000..8cce5f256 --- /dev/null +++ b/build/plugins/babel.ts @@ -0,0 +1,17 @@ +import _babel, { type RollupBabelInputPluginOptions } from '@rollup/plugin-babel' +import type { Plugin } from 'rollup' +import { extensions } from '../config' + +const babel = (options: RollupBabelInputPluginOptions = {}): Plugin => + _babel( + Object.assign( + { + babelHelpers: 'bundled', + extensions, + exclude: [/node_modules[\\/]core-js/] + }, + options + ) + ) + +export default babel diff --git a/build/plugins/banner.ts b/build/plugins/banner.ts index d8eb7b37d..e5bcccb93 100644 --- a/build/plugins/banner.ts +++ b/build/plugins/banner.ts @@ -1,9 +1,9 @@ -import banner, { type Options } from 'rollup-plugin-add-banner' +import _banner, { type Options } from 'rollup-plugin-add-banner' import type { Plugin } from 'rollup' import { banner as content } from '../config' -export default (options: Partial = {}): Plugin => - banner( +const banner = (options: Options): Plugin => + _banner( Object.assign( { content @@ -11,3 +11,5 @@ export default (options: Partial = {}): Plugin => options ) ) + +export default banner diff --git a/build/plugins/dts.ts b/build/plugins/dts.ts deleted file mode 100644 index 71f18336b..000000000 --- a/build/plugins/dts.ts +++ /dev/null @@ -1,4 +0,0 @@ -import dts from 'rollup-plugin-dts' -import type { Plugin } from 'rollup' - -export default dts() as Plugin diff --git a/build/plugins/index.ts b/build/plugins/index.ts index 8ea5fea89..8e362df2d 100644 --- a/build/plugins/index.ts +++ b/build/plugins/index.ts @@ -1,13 +1,15 @@ export { default as alias } from './alias' +export { default as babel } from './babel' export { default as esbuild } from './esbuild' export { default as vue } from './vue' export { default as vueJsx } from './vueJsx' export { default as defineOptions } from './defineOptions' export { default as minify } from './minify' -export { default as dts } from './dts' export { default as visual } from './visual' -export { default as banner } from './banner' +// export { default as banner } from './banner' +export { default as replace } from './replace' export { default as shebang } from './shebang' +export { default as terser } from './terser' export { default as nodeExternals } from './nodeExternals' export { default as nodeResolve } from './nodeResolve' export { default as json } from './json' diff --git a/build/plugins/nodeExternals.ts b/build/plugins/nodeExternals.ts index 1c2cdcf7f..428095ea5 100644 --- a/build/plugins/nodeExternals.ts +++ b/build/plugins/nodeExternals.ts @@ -1,8 +1,8 @@ -import { type ExternalsOptions, externals } from 'rollup-plugin-node-externals' +import { type ExternalsOptions, nodeExternals } from 'rollup-plugin-node-externals' import type { Plugin } from 'rollup' export default (options: ExternalsOptions = {}): Plugin => - externals( + nodeExternals( Object.assign( { exclude: [] diff --git a/build/plugins/replace.ts b/build/plugins/replace.ts new file mode 100644 index 000000000..03372c9db --- /dev/null +++ b/build/plugins/replace.ts @@ -0,0 +1,16 @@ +import _replace, { type RollupReplaceOptions } from '@rollup/plugin-replace' +import type { Plugin } from 'rollup' +import { version } from '../config' + +const replace = (options: RollupReplaceOptions = {}): Plugin => + _replace( + Object.assign( + { + preventAssignment: true, + __VERSION__: version + }, + options + ) + ) + +export default replace diff --git a/build/plugins/terser.ts b/build/plugins/terser.ts new file mode 100644 index 000000000..84e29c4c3 --- /dev/null +++ b/build/plugins/terser.ts @@ -0,0 +1,16 @@ +import _terser, { type Options } from '@rollup/plugin-terser' +import type { Plugin } from 'rollup' + +const terser = (options: Options = {}): Plugin => + _terser( + Object.assign( + { + // format: { + // comments: false + // } + }, + options + ) + ) + +export default terser diff --git a/build/plugins/vue.ts b/build/plugins/vue.ts index 425cdd3a2..7fa59f579 100644 --- a/build/plugins/vue.ts +++ b/build/plugins/vue.ts @@ -1,5 +1,4 @@ -import vue, { type Options } from '@vitejs/plugin-vue' +import vue from '@vitejs/plugin-vue' import type { Plugin } from 'rollup' -export default (options: Options = {}): Plugin => - vue(Object.assign({ isProduction: true }, options)) +export default vue() as Plugin diff --git a/build/rollup.config.ts b/build/rollup.config.ts new file mode 100644 index 000000000..a7a0d01bc --- /dev/null +++ b/build/rollup.config.ts @@ -0,0 +1,269 @@ +import { dirname, join, resolve, sep } from 'node:path' +import { existsSync } from 'node:fs' +import { createRequire } from 'node:module' +import { fileURLToPath } from 'node:url' +import type { InternalModuleFormat, OutputOptions, Plugin, RollupOptions } from 'rollup' +import { getBundlePackages, packageNames } from './packages' +import type { Name } from './types' +import { + babel, + commonjs, + esbuild, + filesize, + // nodePolyfills, + nodeResolve, + replace, + terser, + // typescript, + visual +} from './plugins' + +export interface Config { + input: string + file: string + format: InternalModuleFormat + browser?: boolean + minify?: boolean + transpile?: boolean + iifeName?: string + external?: string[] + externalUmd?: string[] + globals?: Record + banner?: string + env: 'development' | 'production' + plugins?: Plugin[] +} + +export interface Output extends OutputOptions { + plugins: Plugin[] +} + +export interface Options extends RollupOptions { + external: string[] + plugins: Plugin[] + output: Output +} + +const __filename = fileURLToPath(import.meta.url) +const __dirname = dirname(__filename) +const require = createRequire(import.meta.url) + +const packages = getBundlePackages(process.env.BUILD_PACKAGE as Name) +const configs: Config[] = [] + +for (const { + globals = {}, + name, + iifeName, + external = [], + externalUmd = [], + iife, + build, + cjs, + mjs, + browser, + output = 'dist' + // target +} of packages) { + if (build === false) continue + const dirName = name.replace(/\./g, sep) + const PROJECT_ROOT = resolve(__dirname, '..', 'packages', dirName) + const pkg = require(join(PROJECT_ROOT, 'package.json')) + const HAS_INDEX_MJS = existsSync(join(PROJECT_ROOT, 'src', 'index.mjs')) + const HAS_INDEX_DEFAULT = existsSync(join(PROJECT_ROOT, 'src', 'index.default.ts')) + const banner = + '/*!\n' + + ' * ' + + pkg.name + + ' v' + + pkg.version + + '\n' + + ' * ' + + pkg.description + + '\n' + + ' * (c) 2022-' + + new Date().getFullYear() + + ' saqqdy \n' + + ' * Released under the MIT License.\n' + + ' */' + + configs.push({ + input: join(PROJECT_ROOT, 'src', 'index.ts'), + file: join(PROJECT_ROOT, output, 'index.esm-bundler.js'), + format: 'es', + external, + env: 'development' + }) + + // output browser + if (browser !== false) { + configs.push( + { + input: join(PROJECT_ROOT, 'src', 'index.ts'), + file: join(PROJECT_ROOT, output, 'index.esm-browser.js'), + format: 'es', + browser: true, + banner, + external, + env: 'development' + }, + { + input: join(PROJECT_ROOT, 'src', 'index.ts'), + file: join(PROJECT_ROOT, output, 'index.esm-browser.prod.js'), + format: 'es', + browser: true, + minify: true, + banner, + external, + env: 'production' + } + ) + } + + // output mjs + if (mjs !== false && !HAS_INDEX_MJS) { + configs.push({ + input: join(PROJECT_ROOT, 'src', 'index.ts'), + file: join(PROJECT_ROOT, output, 'index.mjs'), + format: 'es', + external, + env: 'development' + }) + } + + // output cjs + if (cjs !== false) { + configs.push({ + input: join(PROJECT_ROOT, 'src', HAS_INDEX_DEFAULT ? 'index.default.ts' : 'index.ts'), + file: join(PROJECT_ROOT, output, 'index.cjs.js'), + format: 'cjs', + external, + env: 'development' + }) + } + + // output iife + if (iife !== false) { + configs.push( + { + input: join( + PROJECT_ROOT, + 'src', + HAS_INDEX_DEFAULT ? 'index.default.ts' : 'index.ts' + ), + file: join(PROJECT_ROOT, output, 'index.global.js'), + format: 'iife', + iifeName, + globals, + banner, + externalUmd, + env: 'development' + }, + { + input: join( + PROJECT_ROOT, + 'src', + HAS_INDEX_DEFAULT ? 'index.default.ts' : 'index.ts' + ), + file: join(PROJECT_ROOT, output, 'index.global.prod.js'), + format: 'iife', + minify: true, + iifeName, + globals, + banner, + externalUmd, + env: 'production' + } + ) + } +} + +function createEntries() { + return configs.map(createEntry) +} + +function createEntry(config: Config) { + const isGlobalBuild = config.format === 'iife' + const isTypeScript = config.input.endsWith('.ts') + + const _config: Options = { + external: [], + input: config.input, + plugins: [], + output: { + file: config.file, + format: config.format, + exports: 'auto', + extend: true, + plugins: [], + globals: {} + }, + onwarn: (msg: any, warn) => { + if (!/Circular/.test(msg)) { + warn(msg) + } + } + } + + if (config.banner && (isGlobalBuild || config.browser)) _config.output.banner = config.banner + + if (isGlobalBuild && config.iifeName) { + _config.output.name = config.iifeName + } + + if (!isGlobalBuild) { + _config.external.push( + '@inquirer/prompts', + '@jssj/request', + '@pkgjs/parseargs', + '@pnpm/error', + 'chalk', + 'ci-info', + 'columnify', + 'commander', + 'core-js', + 'cosmiconfig', + 'cross-spawn', + 'dayjs', + 'debug', + 'fast-glob', + 'find-up', + 'inquirer', + 'js-cool', + 'lcid', + 'load-yml', + 'micromatch', + 'node-apollo', + 'ora', + 'os-lang', + 'semver-diff', + 'shelljs', + 'slash', + ...packageNames + ) + if (config.external) _config.external = _config.external.concat(config.external) + } else if (config.externalUmd) { + _config.external = _config.external.concat(config.externalUmd) + } + + _config.plugins.push(nodeResolve(), replace(), commonjs) + + if (config.transpile !== false) { + _config.plugins.push(babel()) + isTypeScript && + _config.plugins.push( + esbuild() + // typescript() + ) + } + + if (config.minify) { + _config.plugins.push(terser({ module: config.format === 'es' })) + } + + _config.plugins.push(filesize, visual) + + return _config +} + +export default createEntries() diff --git a/build/tasks/buildApp.ts b/build/tasks/buildApp.ts index da37c4c50..728fae5b1 100644 --- a/build/tasks/buildApp.ts +++ b/build/tasks/buildApp.ts @@ -7,7 +7,7 @@ import { packages } from '../packages' export async function buildApp() { const builds = packages - .filter(({ buildTask }) => buildTask.includes('app')) + .filter(({ buildTask }) => buildTask && buildTask.includes('app')) .map(async ({ name }) => { await runSpawnSync(`pnpm build`, resolve(PACKAGE, name)) }) diff --git a/build/tasks/buildDocs.ts b/build/tasks/buildDocs.ts index 705fca161..84fc89547 100644 --- a/build/tasks/buildDocs.ts +++ b/build/tasks/buildDocs.ts @@ -6,7 +6,7 @@ import { runExec, runExecSync, runSpawnSync } from '../utils/exec' import { PACKAGE, ROOT } from '../utils/paths' import { packages } from '../packages' -const pkgs = packages.filter(({ buildTask }) => buildTask.includes('docs')) +const pkgs = packages.filter(({ buildTask }) => buildTask && buildTask.includes('docs')) const os = platform() export async function buildDocs() { @@ -33,8 +33,8 @@ export async function buildDocs() { } export async function deployDocs() { - const builds = pkgs.map(async ({ name }) => { - const RUN_PATH = resolve(PACKAGE, name, 'dist') + const builds = pkgs.map(async ({ name, output = 'dist' }) => { + const RUN_PATH = resolve(PACKAGE, name, output) await runSpawnSync(`git init`, RUN_PATH, { stdio: 'ignore' }) await runSpawnSync(`git add .`, RUN_PATH) const status = await runSpawnSync(`git status -s --no-column`, RUN_PATH, { stdio: 'pipe' }) diff --git a/build/tasks/buildLib.ts b/build/tasks/buildLib.ts index 55b9db814..86156eb41 100644 --- a/build/tasks/buildLib.ts +++ b/build/tasks/buildLib.ts @@ -1,4 +1,4 @@ -import { resolve } from 'path' +import { extname, resolve } from 'path' import { parallel, series } from 'gulp' import { rollup } from 'rollup' import type { OutputOptions } from 'rollup' @@ -6,25 +6,26 @@ import glob from 'fast-glob' import { runExec, runSpawnSync } from '../utils/exec' import { wrapDisplayName } from '../utils/gulp' import { excludeFiles, generateExternal } from '../utils/rollup' +import { version } from '../config' import { - alias, - banner as bannerPlugin, + // alias, + // banner as bannerPlugin, commonjs, - dts as dtsPlugin, esbuild, filesize, json, - minify, - nodeExternals, + // minify, + // nodeExternals, nodeResolve, + replace, shebang // visual, } from '../plugins/index' import { PACKAGE } from '../utils/paths' -import { packages } from '../packages' +import { getLibPackages } from '../packages' -let pkgs = packages.filter(({ buildTask }) => buildTask.includes('lib')) +let pkgs = getLibPackages() const childBuildLibIndex = process.argv.indexOf('lib') if (childBuildLibIndex > -1) { @@ -34,19 +35,20 @@ if (childBuildLibIndex > -1) { } export async function buildLib() { - const externals = ['js-cool', 'lodash-unified', 'lodash-es', '@gitmars/core', '@gitmars/docs'] + const externals = [ + 'js-cool', + '@gitmars/api', + '@gitmars/build', + '@gitmars/cache', + '@gitmars/core', + '@gitmars/git', + '@gitmars/go', + '@gitmars/hook', + '@gitmars/utils', + '@gitmars/docs' + ] const builds = pkgs.map( - async ({ - globals = {}, - name, - external = [], - iife, - build, - cjs, - mjs, - dts, - exportType = 'auto' - }) => { + async ({ globals = {}, name, external = [], iife, build, cjs, mjs, output = 'dist' }) => { if (build === false) return const pkg = require(resolve(PACKAGE, name, 'package.json')) const banner = @@ -64,157 +66,158 @@ export async function buildLib() { ' saqqdy \n' + ' * Released under the MIT License.\n' + ' */' - // const deps = Object.keys(pkg.dependencies || {}) - const iifeGlobals = { - 'js-cool': 'JsCool', - // 'lodash-unified': 'lodashUnified', - // 'lodash-es': 'lodashEs', - '@gitmars/utils': 'EslintSets', - '@gitmars/core': 'EslintSets', - ...globals - } - const iifeName = 'Gitmars' + // const iifeGlobals = { + // 'js-cool': 'JsCool', + // ...globals + // } + // const iifeName = 'Gitmars' const fileList = excludeFiles( glob.sync('**/*.ts', { cwd: resolve(PACKAGE, name, 'src'), ignore: ['node_modules'], + deep: 1, // absolute: true, onlyFiles: true }) ) - for (const fn of fileList) { - const input = resolve(PACKAGE, name, 'src', fn) - - const writeOptions: OutputOptions[] = [] - // output mjs - if (mjs !== false) { - writeOptions.push({ - file: resolve(PACKAGE, name, 'lib', fn.replace(/\.ts$/, '.mjs')), - exports: exportType, - banner, - format: 'es' - }) - } - // output cjs - if (cjs !== false) { - writeOptions.push({ - file: resolve(PACKAGE, name, 'lib', fn.replace(/\.ts$/, '.js')), - exports: exportType, - banner, - format: 'cjs' - }) - } - // output iife - if (iife !== false) { - writeOptions.push( - { - file: resolve(PACKAGE, name, 'dist', fn.replace(/\.ts$/, 'iife.js')), - format: 'iife', - exports: exportType, - name: iifeName, - extend: true, - globals: iifeGlobals, - banner, - plugins: [ - // injectEslintSetsCore, - ] - }, - { - file: resolve( - PACKAGE, - name, - 'dist', - fn.replace(/\.ts$/, 'iife.min.js') - ), - format: 'iife', - exports: exportType, - name: iifeName, - extend: true, - globals: iifeGlobals, - plugins: [ - // injectEslintSetsCore, - minify({ - minify: true - }), - bannerPlugin(), - filesize - ] - } - ) - } + // for (const fn of fileList) { + // const input = resolve(PACKAGE, name, 'src', fn) - const rollupConfig = { - input, - plugins: [ - alias({ - entries: [ - { - find: /^@\//, - replacement: resolve(PACKAGE, name, 'src') - }, - { - find: /^#conf(.+)$/, - replacement: resolve(PACKAGE, name, 'src', 'conf') + '$1.mjs' - } - ] - }), - nodeResolve(), - json, - commonjs, - shebang(), - esbuild(), - // target ? esbuild({ target }) : esbuild(), - filesize - ], - external: generateExternal({ name, input }, [...externals, ...external]) - } - const bundle = await rollup(rollupConfig) - await Promise.all(writeOptions.map(option => bundle.write(option))) - - // dts - if (dts !== false) { - const rollupDtsConfig = { - input, - plugins: [nodeExternals(), dtsPlugin], - external: [...externals, ...external] + const writeOptions: OutputOptions[] = [] + // output mjs + if (mjs !== false) { + writeOptions.push({ + // file: resolve(PACKAGE, name, output, fn.replace(/\.ts$/, '.mjs')), + exports: 'auto', + extend: true, + dir: resolve(PACKAGE, name, output), + preserveModules: true, + entryFileNames: '[name].mjs', + preserveModulesRoot: resolve(PACKAGE, name, 'src'), + banner, + format: 'es' + }) + } + // output cjs + // if (cjs !== false) { + // writeOptions.push({ + // // file: resolve(PACKAGE, name, output, fn.replace(/\.ts$/, '.js')), + // exports: 'auto', + // extend: true, + // dir: resolve(PACKAGE, name, output), + // preserveModules: true, + // entryFileNames: '[name].js', + // preserveModulesRoot: resolve(PACKAGE, name, 'src'), + // banner, + // format: 'cjs' + // }) + // } + // output iife + // if (iife !== false) { + // writeOptions.push( + // { + // file: resolve(PACKAGE, name, output, fn.replace(/\.ts$/, 'iife.js')), + // format: 'iife', + // exports: 'auto', + // name: iifeName, + // extend: true, + // globals: iifeGlobals, + // banner, + // plugins: [ + // // injectEslintSetsCore, + // ] + // }, + // { + // file: resolve(PACKAGE, name, output, fn.replace(/\.ts$/, 'iife.min.js')), + // format: 'iife', + // exports: 'auto', + // name: iifeName, + // extend: true, + // globals: iifeGlobals, + // plugins: [ + // // injectEslintSetsCore, + // minify({ + // minify: true + // }), + // bannerPlugin(), + // filesize + // ] + // } + // ) + // } + const input: Record = {} + fileList.forEach(file => { + input[file.slice(0, file.length - extname(file).length)] = resolve( + PACKAGE, + name, + 'src', + file + ) + }) + const rollupConfig = { + input, + plugins: [ + // alias({ + // entries: [ + // { + // find: /^@\//, + // replacement: resolve(PACKAGE, name, 'src') + // }, + // { + // find: /^#conf(.+)$/, + // replacement: resolve(PACKAGE, name, 'src', 'conf') + '$1.mjs' + // } + // ] + // }), + nodeResolve(), + replace({ + preventAssignment: true, + __VERSION__: version + }), + json, + commonjs, + shebang(), + esbuild(), + // target ? esbuild({ target }) : esbuild(), + filesize + ], + external: generateExternal({ name, input: '' }, [...externals, ...external]), + onwarn: (msg: any, warn: any) => { + if (!/Circular/.test(msg)) { + warn(msg) } - const writeDtsOptions: OutputOptions[] = [ - { - file: resolve(PACKAGE, name, 'lib', fn.replace(/\.ts$/, '.d.ts')), - format: 'es' - } - ] - const dtsBundle = await rollup(rollupDtsConfig) - await Promise.all([writeDtsOptions.map(option => dtsBundle.write(option))]) } } + const bundle = await rollup(rollupConfig) + await Promise.all(writeOptions.map(option => bundle.write(option))) } + // } ) await Promise.all(builds) } export async function madgeLib() { - for (const { name, output = 'lib' } of pkgs) { + for (const { name, output = 'dist' } of pkgs) { await runExec(`npx madge ${output}/ -c`, resolve(PACKAGE, name)) } } export async function copyLibFile() { - for (const { name } of pkgs) { + for (const { name, output = 'dist' } of pkgs) { await runExec( `rsync -av --exclude="*.ts" ${resolve(PACKAGE, name, 'src')}/ ${resolve( PACKAGE, name, - 'lib' + output )}/` ) } } export async function cleanDirs() { - for (const { name } of pkgs) { - await runSpawnSync(`rimraf lib dist`, resolve(PACKAGE, name)) + for (const { name, output = 'dist' } of pkgs) { + await runSpawnSync(`rimraf ${output}`, resolve(PACKAGE, name)) } } diff --git a/build/tasks/buildType.ts b/build/tasks/buildType.ts index b4f6bb39f..c55c98223 100644 --- a/build/tasks/buildType.ts +++ b/build/tasks/buildType.ts @@ -5,20 +5,19 @@ import { wrapDisplayName } from '../utils/gulp' import { PACKAGE } from '../utils/paths' import { packages } from '../packages' -const pkgs = packages.filter(({ buildTask }) => buildTask.includes('type')) +const pkgs = packages.filter(({ buildTask }) => buildTask && buildTask.includes('type')) export async function buildType() { - const builds = pkgs.map(async ({ name, build, dts }) => { - // Conflicts with dts=true - if (build === false || dts !== false) return + const builds = pkgs.map(async ({ name, build }) => { + if (build === false) return await runSpawnSync(`npx tsc -p tsconfig.json`, resolve(PACKAGE, name)) }) await Promise.all(builds) } export async function cleanDirs() { - for (const { name } of pkgs) { - await runSpawnSync(`rimraf lib dist`, resolve(PACKAGE, name)) + for (const { name, output = 'dist' } of pkgs) { + await runSpawnSync(`rimraf ${output}`, resolve(PACKAGE, name)) } } diff --git a/build/types.ts b/build/types.ts index 9e7af618b..67ecdcaa6 100644 --- a/build/types.ts +++ b/build/types.ts @@ -2,24 +2,57 @@ import type * as tasks from './gulpfile' type WithArray = T | T[] +export type Name = + | 'utils' + | 'git' + | 'hook' + | 'cache' + | 'go' + | 'api' + | 'build' + | 'core' + | 'gitmars' + | 'docs' + | 'monorepo' + +export type PkgName = + | '@gitmars/utils' + | '@gitmars/git' + | '@gitmars/hook' + | '@gitmars/cache' + | '@gitmars/go' + | '@gitmars/api' + | '@gitmars/build' + | '@gitmars/core' + | 'gitmars' + | '@gitmars/docs' + | '@gitmars/monorepo' + +export type Task = Exclude | 'bundle' +export type BuildTask = WithArray + export interface PackageManifest { - name: string - pkgName: string + name: Name + pkgName: PkgName display: string - buildTask: WithArray> + buildTask?: BuildTask addon?: boolean author?: string description?: string external?: string[] + externalUmd?: string[] globals?: Record manualImport?: boolean deprecated?: boolean - submodules?: boolean build?: boolean iife?: boolean + iifeName?: string cjs?: boolean mjs?: boolean - dts?: boolean - output?: 'dist' | 'lib' | 'app' | 'es' - exportType?: 'auto' | 'default' | 'named' | 'none' + browser?: boolean + bundler?: boolean + types?: boolean + output?: string + extractTypes?: boolean + // target?: string // esbuild target } diff --git a/build/utils/glob.ts b/build/utils/glob.ts deleted file mode 100644 index 147340a03..000000000 --- a/build/utils/glob.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { resolve } from 'path' -import glob, { type Options } from 'fast-glob' -import { COMPONENTS_PATH } from './paths' - -export function getPaths(source: string | string[] = '*', options: T) { - const { cwd = COMPONENTS_PATH } = options - const files = glob.sync(source, { - cwd, - onlyDirectories: false, - ...options - }) - return files.map(name => ({ - path: resolve(cwd, name), - name - })) -} diff --git a/build/utils/paths.ts b/build/utils/paths.ts index f981d9928..49d127c2b 100644 --- a/build/utils/paths.ts +++ b/build/utils/paths.ts @@ -1,4 +1,8 @@ -import { resolve } from 'path' +import { dirname, resolve } from 'node:path' +import { fileURLToPath } from 'node:url' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = dirname(__filename) export const ROOT = resolve(__dirname, '..', '..') export const BUILD = resolve(ROOT, 'build') @@ -6,10 +10,3 @@ export const PACKAGE = resolve(ROOT, 'packages') export const CORE = resolve(PACKAGE, 'core') export const GITMARS = resolve(PACKAGE, 'gitmars') export const DOCS = resolve(PACKAGE, 'docs') - -export const CORE_INPUT = resolve(CORE, 'src') -export const CORE_OUTPUT = resolve(CORE, 'lib') -export const GITMARS_INPUT = resolve(GITMARS, 'src') -export const GITMARS_OUTPUT = resolve(GITMARS, 'lib') -// export const DOCS_INPUT = resolve(DOCS, '.') -export const DOCS_OUTPUT = resolve(DOCS, 'dist') diff --git a/build/utils/rollup.ts b/build/utils/rollup.ts index 51ee405f1..1f991d8df 100644 --- a/build/utils/rollup.ts +++ b/build/utils/rollup.ts @@ -19,11 +19,7 @@ export function generateExternal( pkgs.push(...Object.keys(dependencies), ...Object.keys(devDependencies)) } return [...new Set(pkgs)].some( - pkg => - id === pkg || - id.startsWith(`${pkg}/`) || - (id !== input && id.includes(`packages/${name}`)) || - externals.includes(id) + pkg => id === pkg || id.startsWith(`${pkg}/`) || externals.includes(id) ) // return ( // id.includes('node_modules') || @@ -48,7 +44,7 @@ export function pathRewriter(bundlePath: string) { export const reporter = (opt: any, outputOptions: any, info: any) => `${chalk.cyan( - chalk.bold((info.fileName && `${outputOptions.file?.split('packages/').pop()}`) || '') + chalk.bold(info.fileName) )}: bundle size ${chalk.yellow(info.bundleSize)} -> minified ${chalk.green( (info.minSize && `${info.minSize}`) || '' )}` diff --git a/package.json b/package.json index 45fc6a8e5..fe0aee53f 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "@gitmars/monorepo", "description": "这是一个git工作流工具", - "version": "6.4.0", - "packageManager": "pnpm@8.7.4", + "version": "7.0.0-beta.24", + "packageManager": "pnpm@9.0.6", "main": "index.js", "files": [ "static", @@ -14,9 +14,10 @@ "docs:build": "vitepress build packages/docs", "docs:deploy": "pnpm build docs", "prebuild": "[[ $CI = true ]] && npx pnpm install -r --store=node_modules/.pnpm-store || echo skipping pnpm install", - "gen:version": "tscjs scripts/version", "lib": "sh scripts/lib.sh", - "build": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" gulp --require @esbuild-kit/cjs-loader -f build/gulpfile.ts", + "build:bundle": "tscjs scripts/build", + "build:rollup": "cross-env NODE_OPTIONS=\"--max-old-space-size=6144\" rollup -c build/rollup.config.ts --configPlugin @rollup/plugin-typescript", + "build": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" gulp --preload @esbuild-kit/cjs-loader -f build/gulpfile.ts", "build:types": "run-s build-temp-types roll-types", "build-temp-types": "tsc --emitDeclarationOnly --outDir temp/ -p bin/", "patch-types": "node scripts/patchTypes", @@ -31,12 +32,11 @@ "update": "tscjs scripts/update", "workflow:publish-test": "zx scripts/workflow.mjs", "clean": "rimraf dist packages/*/{dist,lib,es,app}", - "dist": "pnpm run update && pnpm build", + "dist": "pnpm run update && pnpm build:bundle", "docs": "rimraf typedoc && typedoc", "eslint": "eslint --fix --ext .ts,.js ./", "prettier": "prettier --write \"**/*.{js,ts,json,md}\"", - "prettier:docs": "prettier --write \"**/*.md\"", - "build:rollup": "cross-env NODE_OPTIONS=\"--max-old-space-size=6144\" rollup -c" + "prettier:docs": "prettier --write \"**/*.md\"" }, "directories": { "static": "static", @@ -46,57 +46,60 @@ "@node-kit/extra.fs": "^3.2.0", "chalk": "^4.1.2", "debug": "^4.3.4", - "inquirer": "^8.2.5", - "js-cool": "^5.18.1", + "js-cool": "^5.19.0", "morgan": "^1.10.0", "os-lang": "^3.2.0" }, "devDependencies": { + "@babel/preset-env": "^7.24.4", + "@babel/preset-typescript": "^7.24.1", "@esbuild-kit/cjs-loader": "^2.4.4", "@esbuild-kit/esm-loader": "^2.6.5", - "@eslint-sets/eslint-config-ts": "^5.12.0", - "@microsoft/api-extractor": "^7.42.1", + "@eslint-sets/eslint-config-ts": "^5.13.0", + "@microsoft/api-extractor": "^7.43.1", "@pnpm/logger": "^5.0.0", "@rollup/plugin-alias": "^5.1.0", + "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-replace": "^5.0.5", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-typescript": "^11.1.6", "@types/gulp": "^4.0.17", - "@types/inquirer": "^8.2.6", - "@types/node": "^20.11.24", + "@types/node": "^20.12.7", "@types/rollup-plugin-css-only": "^3.1.3", "@vitejs/plugin-vue": "^5.0.4", "@vitejs/plugin-vue-jsx": "^3.1.0", "consola": "^3.2.3", "cross-env": "^7.0.3", - "esbuild": "^0.20.1", + "esbuild": "^0.20.2", "eslint": "^8.57.0", "fast-glob": "^3.3.2", - "gulp": "^4.0.2", + "gulp": "^5.0.0", "gulp-typescript": "6.0.0-alpha.1", "load-yml": "^1.4.0", - "madge": "^6.1.0", + "madge": "^7.0.0", "npm-run-all": "^4.1.5", "prettier": "^3.2.5", "prettier-config-common": "^1.4.0", "reinstaller": "^3.0.2", "rimraf": "^5.0.5", "rm-all": "^1.1.1", - "rollup": "^4.12.0", + "rollup": "^4.16.4", "rollup-plugin-add-banner": "^1.1.0", "rollup-plugin-css-only": "^4.5.2", - "rollup-plugin-dts": "^6.1.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-filesize": "^10.0.0", - "rollup-plugin-node-externals": "^7.0.1", + "rollup-plugin-node-externals": "^7.1.2", "rollup-plugin-replace-shebang": "^1.2.0", "rollup-plugin-visualizer": "^5.12.0", "tsnd": "^1.1.0", - "typedoc": "^0.25.9", + "typedoc": "^0.25.13", "typedoc-plugin-markdown": "^3.17.1", - "typescript": "^5.3.3", - "unplugin-vue-define-options": "^1.4.2", - "zx": "^7.2.3" + "typescript": "^5.4.5", + "unplugin-vue-define-options": "^1.4.3", + "zx": "^8.0.2" }, "peerDependencies": { "eslint": ">=8.0.0", diff --git a/packages/api/.eslintrc.js b/packages/api/.eslintrc.js new file mode 100644 index 000000000..beb2a4395 --- /dev/null +++ b/packages/api/.eslintrc.js @@ -0,0 +1,21 @@ +module.exports = { + extends: '@eslint-sets/ts', + rules: { + camelcase: 0, + 'import/namespace': [2, { allowComputed: true }] + }, + ignorePatterns: [ + 'lib', + 'es', + 'dist', + 'docs', + 'app', + 'ui', + 'cache/*', + '*_bak', + '*.bak', + 'pnpm-lock.yaml', + 'stats.html', + 'dist_electron' + ] +} diff --git a/packages/api/LICENSE b/packages/api/LICENSE new file mode 100644 index 000000000..7eb5b6aa8 --- /dev/null +++ b/packages/api/LICENSE @@ -0,0 +1,676 @@ +saqqdy +========== + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/packages/api/README.md b/packages/api/README.md new file mode 100644 index 000000000..b7e266e27 --- /dev/null +++ b/packages/api/README.md @@ -0,0 +1,57 @@ +
+ +# @gitmars/api + +some api js for gitmars + +[![NPM version][npm-image]][npm-url] +[![Codacy Badge][codacy-image]][codacy-url] +[![npm download][download-image]][download-url] +[![gzip][gzip-image]][gzip-url] +[![License][license-image]][license-url] + +[![Sonar][sonar-image]][sonar-url] + +
+ +## Install + +```bash +# use npm +$ npm install @gitmars/api --save + +# use yarn +$ yarn add @gitmars/api + +# use pnpm +$ pnpm install @gitmars/api +``` + +## Usage + +```js +const { getUserInfo } = require('@gitmars/api') + +getUserInfo() +``` + +## Issues & Support + +Please open an issue [here](https://github.com/saqqdy/@gitmars/api/issues). + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/@gitmars/api.svg?style=flat-square +[npm-url]: https://npmjs.org/package/@gitmars/api +[codacy-image]: https://app.codacy.com/project/badge/Grade/f70d4880e4ad4f40aa970eb9ee9d0696 +[codacy-url]: https://www.codacy.com/gh/saqqdy/@gitmars/api/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saqqdy/@gitmars/api&utm_campaign=Badge_Grade +[download-image]: https://img.shields.io/npm/dm/@gitmars/api.svg?style=flat-square +[download-url]: https://npmjs.org/package/@gitmars/api +[gzip-image]: http://img.badgesize.io/https://unpkg.com/@gitmars/api/index.js?compression=gzip&label=gzip%20size:%20JS +[gzip-url]: http://img.badgesize.io/https://unpkg.com/@gitmars/api/index.js?compression=gzip&label=gzip%20size:%20JS +[license-image]: https://img.shields.io/badge/License-MIT-blue.svg +[license-url]: LICENSE +[sonar-image]: https://sonarcloud.io/api/project_badges/quality_gate?project=saqqdy_gitmars +[sonar-url]: https://sonarcloud.io/dashboard?id=saqqdy_gitmars diff --git a/packages/api/api-extractor.json b/packages/api/api-extractor.json new file mode 100644 index 000000000..445e874b7 --- /dev/null +++ b/packages/api/api-extractor.json @@ -0,0 +1,44 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "projectFolder": ".", + "mainEntryPointFilePath": "./temp/index.d.ts", + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./dist/index.d.ts" + }, + "apiReport": { + "enabled": false + }, + "docModel": { + "enabled": false + }, + "tsdocMetadata": { + "enabled": false + }, + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "extractorMessageReporting": { + "default": { + "logLevel": "warning", + "addToApiReportFile": true + }, + + "ae-missing-release-tag": { + "logLevel": "none" + } + }, + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + }, + "tsdoc-undefined-tag": { + "logLevel": "none" + } + } + } +} diff --git a/packages/api/package.json b/packages/api/package.json new file mode 100644 index 000000000..725e513de --- /dev/null +++ b/packages/api/package.json @@ -0,0 +1,71 @@ +{ + "name": "@gitmars/api", + "description": "gitmars api", + "version": "7.0.0-beta.24", + "private": false, + "main": "./dist/index.cjs.js", + "module": "./dist/index.esm-bundler.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "module": "./dist/index.esm-bundler.js", + "require": "./dist/index.cjs.js", + "import": "./dist/index.mjs" + }, + "./*": "./*" + }, + "files": [ + "dist", + "typings", + "*.d.ts" + ], + "scripts": {}, + "directories": { + "bin": "bin", + "dist": "dist", + "src": "src" + }, + "dependencies": { + "@gitmars/core": "workspace:*", + "@gitmars/git": "workspace:*", + "@gitmars/utils": "workspace:*", + "@jssj/request": "^1.1.0", + "chalk": "^4.1.2", + "os-lang": "^3.2.0", + "shelljs": "^0.8.5" + }, + "devDependencies": { + "@eslint-sets/eslint-config-ts": "^5.13.0", + "@types/node": "^20.12.7", + "@types/shelljs": "^0.8.15", + "cross-env": "^7.0.3", + "eslint": "^8.57.0", + "madge": "^7.0.0", + "prettier": "^3.2.5", + "prettier-config-common": "^1.4.0", + "tsnd": "^1.1.0", + "typescript": "^5.4.5" + }, + "sideEffects": false, + "keywords": [ + "gitmars", + "git", + "tool" + ], + "license": "GPL-3.0", + "author": "saqqdy ", + "homepage": "https://github.com/saqqdy/gitmars/tree/master/packages/api#readme", + "bugs": { + "url": "https://github.com/saqqdy/gitmars/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/saqqdy/gitmars.git", + "directory": "packages/api" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org", + "access": "public" + } +} diff --git a/packages/core/src/api/getUserInfo.ts b/packages/api/src/getUserInfo.ts similarity index 82% rename from packages/core/src/api/getUserInfo.ts rename to packages/api/src/getUserInfo.ts index 01c22280c..ae43e2477 100644 --- a/packages/core/src/api/getUserInfo.ts +++ b/packages/api/src/getUserInfo.ts @@ -1,11 +1,10 @@ import sh from 'shelljs' import chalk from 'chalk' import request from '@jssj/request' -import type { FetchDataType } from '../../typings/core' -import getConfig from '#lib/getConfig' -import { debug } from '#lib/utils/debug' -import { getGitUser } from '#lib/git/getGitUser' -import lang from '#lib/lang' +import { getConfig, getGitUser } from '@gitmars/git' +import { debug } from '@gitmars/utils' +import type { FetchDataType } from './types' +import lang from './lang' const { t } = lang diff --git a/packages/api/src/index.default.ts b/packages/api/src/index.default.ts new file mode 100644 index 000000000..cfa9806e2 --- /dev/null +++ b/packages/api/src/index.default.ts @@ -0,0 +1,41 @@ +import getUserInfo from './getUserInfo' +import { + acceptMergeRequest, + createMergeRequest, + deleteMergeRequest, + getMergeRequestChanges, + getMergeRequestCloseIssues, + getMergeRequestCommits, + getMergeRequestDiffVersions, + getMergeRequestList, + getMergeRequestParticipants, + updateMergeRequest +} from './mergeRequest' +import { + createMergeRequestNotes, + deleteMergeRequestNotes, + getMergeRequestNotesDetail, + getMergeRequestNotesList, + updateMergeRequestNotes +} from './mergeRequestNotes' + +export type * from './types' +export default { + version: '__VERSION__', + getUserInfo, + createMergeRequest, + getMergeRequestList, + getMergeRequestCommits, + getMergeRequestCloseIssues, + getMergeRequestParticipants, + getMergeRequestChanges, + getMergeRequestDiffVersions, + acceptMergeRequest, + updateMergeRequest, + deleteMergeRequest, + createMergeRequestNotes, + deleteMergeRequestNotes, + getMergeRequestNotesDetail, + getMergeRequestNotesList, + updateMergeRequestNotes +} diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts new file mode 100755 index 000000000..a90ee3203 --- /dev/null +++ b/packages/api/src/index.ts @@ -0,0 +1,24 @@ +export { default as getUserInfo } from './getUserInfo' +export { + createMergeRequest, + getMergeRequestList, + getMergeRequestCommits, + getMergeRequestCloseIssues, + getMergeRequestParticipants, + getMergeRequestChanges, + getMergeRequestDiffVersions, + acceptMergeRequest, + updateMergeRequest, + deleteMergeRequest +} from './mergeRequest' +export { + createMergeRequestNotes, + deleteMergeRequestNotes, + getMergeRequestNotesDetail, + getMergeRequestNotesList, + updateMergeRequestNotes +} from './mergeRequestNotes' + +export { default } from './index.default' +export type * from './index.default' +export const version = '__VERSION__' as string diff --git a/packages/api/src/lang.ts b/packages/api/src/lang.ts new file mode 100644 index 000000000..8e298ce5a --- /dev/null +++ b/packages/api/src/lang.ts @@ -0,0 +1,11 @@ +import { osLangSync } from 'os-lang' +import { useLocale } from '@gitmars/utils' +import * as languages from './locales' + +export type LanguageType = Exclude + +const locales: LanguageType[] = ['enUS', 'zhCN'] +let localeName = (process.env.GITMARS_LANG || osLangSync()).replace('-', '') as LanguageType +if (!locales.includes(localeName)) localeName = 'enUS' + +export default useLocale(languages[localeName]) diff --git a/packages/api/src/locales/en-US.ts b/packages/api/src/locales/en-US.ts new file mode 100644 index 000000000..bf11574a7 --- /dev/null +++ b/packages/api/src/locales/en-US.ts @@ -0,0 +1,3 @@ +export default { + name: 'en-US' +} diff --git a/packages/api/src/locales/index.ts b/packages/api/src/locales/index.ts new file mode 100644 index 000000000..19436241b --- /dev/null +++ b/packages/api/src/locales/index.ts @@ -0,0 +1,10 @@ +export { default as zhCN } from './zh-CN' +export { default as enUS } from './en-US' + +export interface TranslatePair { + [key: string]: string | string[] | TranslatePair +} +export interface Language extends Record { + name: string + // base?: TranslatePair +} diff --git a/packages/api/src/locales/zh-CN.ts b/packages/api/src/locales/zh-CN.ts new file mode 100644 index 000000000..380aaeb04 --- /dev/null +++ b/packages/api/src/locales/zh-CN.ts @@ -0,0 +1,8 @@ +export default { + name: 'zh-CN', + 'Please configure the address of the api interface used to request permissions, receive parameters in the form: url?name=git_user_name, return data.level': + '请配置用于请求权限的api接口地址,接收参数形式:url?name=git_user_name,返回data.level', + 'Please set the local git user name': '请设置本地git用户名', + 'No user found, please contact admin': '没有找到用户,请联系管理员', + 'The request reported an error': '请求报错了' +} diff --git a/packages/core/src/api/mergeRequest.ts b/packages/api/src/mergeRequest.ts similarity index 97% rename from packages/core/src/api/mergeRequest.ts rename to packages/api/src/mergeRequest.ts index 97e4c42ec..84918c7af 100644 --- a/packages/core/src/api/mergeRequest.ts +++ b/packages/api/src/mergeRequest.ts @@ -1,9 +1,8 @@ import chalk from 'chalk' import request from '@jssj/request' -import getConfig from '#lib/getConfig' -import { debug } from '#lib/utils/debug' -import { getGitToken } from '#lib/git/getGitUser' -import lang from '#lib/lang' +import { getConfig, getGitToken } from '@gitmars/git' +import { debug } from '@gitmars/utils' +import lang from './lang' const { t } = lang const config = getConfig() diff --git a/packages/core/src/api/mergeRequestNotes.ts b/packages/api/src/mergeRequestNotes.ts similarity index 95% rename from packages/core/src/api/mergeRequestNotes.ts rename to packages/api/src/mergeRequestNotes.ts index 7be7c49e4..0af87d15a 100644 --- a/packages/core/src/api/mergeRequestNotes.ts +++ b/packages/api/src/mergeRequestNotes.ts @@ -1,9 +1,8 @@ import chalk from 'chalk' import request from '@jssj/request' -import getConfig from '#lib/getConfig' -import { debug } from '#lib/utils/debug' -import { getGitToken } from '#lib/git/getGitUser' -import lang from '#lib/lang' +import { getConfig, getGitToken } from '@gitmars/git' +import { debug } from '@gitmars/utils' +import lang from './lang' const { t } = lang const config = getConfig() diff --git a/packages/api/src/types.ts b/packages/api/src/types.ts new file mode 100644 index 000000000..89833c991 --- /dev/null +++ b/packages/api/src/types.ts @@ -0,0 +1,4 @@ +export interface FetchDataType { + level: 1 | 2 | 3 | 4 // 1=超级管理员 2=管理员 3=审核员 4=开发者 + [prop: string]: any +} diff --git a/packages/api/tsconfig.json b/packages/api/tsconfig.json new file mode 100644 index 000000000..119b2ad90 --- /dev/null +++ b/packages/api/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + // "composite": true, + "target": "ESNext", + "module": "ESNext", + "sourceMap": true, + "declaration": true, + "emitDeclarationOnly": true, + "rootDir": "src", + "outDir": "temp", + "baseUrl": ".", + "paths": {} + } +} diff --git a/packages/api/typedoc.js b/packages/api/typedoc.js new file mode 100644 index 000000000..873fa676e --- /dev/null +++ b/packages/api/typedoc.js @@ -0,0 +1,12 @@ +module.exports = { + out: 'typedoc', + entryPoints: ['src/**/*.ts'], + json: 'typedoc/out.json', + name: 'index.md', + includeVersion: true, + readme: 'README.md' + // emit: true, + // exclude: '', + // externalPattern: '', + // excludeExternals: '' +} diff --git a/packages/build/.eslintrc.js b/packages/build/.eslintrc.js new file mode 100644 index 000000000..beb2a4395 --- /dev/null +++ b/packages/build/.eslintrc.js @@ -0,0 +1,21 @@ +module.exports = { + extends: '@eslint-sets/ts', + rules: { + camelcase: 0, + 'import/namespace': [2, { allowComputed: true }] + }, + ignorePatterns: [ + 'lib', + 'es', + 'dist', + 'docs', + 'app', + 'ui', + 'cache/*', + '*_bak', + '*.bak', + 'pnpm-lock.yaml', + 'stats.html', + 'dist_electron' + ] +} diff --git a/packages/build/LICENSE b/packages/build/LICENSE new file mode 100644 index 000000000..7eb5b6aa8 --- /dev/null +++ b/packages/build/LICENSE @@ -0,0 +1,676 @@ +saqqdy +========== + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/packages/build/README.md b/packages/build/README.md new file mode 100644 index 000000000..6c6151017 --- /dev/null +++ b/packages/build/README.md @@ -0,0 +1,57 @@ +
+ +# @gitmars/build + +some build js for gitmars + +[![NPM version][npm-image]][npm-url] +[![Codacy Badge][codacy-image]][codacy-url] +[![npm download][download-image]][download-url] +[![gzip][gzip-image]][gzip-url] +[![License][license-image]][license-url] + +[![Sonar][sonar-image]][sonar-url] + +
+ +## Install + +```bash +# use npm +$ npm install @gitmars/build --save + +# use yarn +$ yarn add @gitmars/build + +# use pnpm +$ pnpm install @gitmars/build +``` + +## Usage + +```js +const { getUserInfo } = require('@gitmars/build') + +getUserInfo() +``` + +## Issues & Support + +Please open an issue [here](https://github.com/saqqdy/@gitmars/build/issues). + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/@gitmars/build.svg?style=flat-square +[npm-url]: https://npmjs.org/package/@gitmars/build +[codacy-image]: https://app.codacy.com/project/badge/Grade/f70d4880e4ad4f40aa970eb9ee9d0696 +[codacy-url]: https://www.codacy.com/gh/saqqdy/@gitmars/build/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saqqdy/@gitmars/build&utm_campaign=Badge_Grade +[download-image]: https://img.shields.io/npm/dm/@gitmars/build.svg?style=flat-square +[download-url]: https://npmjs.org/package/@gitmars/build +[gzip-image]: http://img.badgesize.io/https://unpkg.com/@gitmars/build/index.js?compression=gzip&label=gzip%20size:%20JS +[gzip-url]: http://img.badgesize.io/https://unpkg.com/@gitmars/build/index.js?compression=gzip&label=gzip%20size:%20JS +[license-image]: https://img.shields.io/badge/License-MIT-blue.svg +[license-url]: LICENSE +[sonar-image]: https://sonarcloud.io/api/project_badges/quality_gate?project=saqqdy_gitmars +[sonar-url]: https://sonarcloud.io/dashboard?id=saqqdy_gitmars diff --git a/packages/build/api-extractor.json b/packages/build/api-extractor.json new file mode 100644 index 000000000..445e874b7 --- /dev/null +++ b/packages/build/api-extractor.json @@ -0,0 +1,44 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "projectFolder": ".", + "mainEntryPointFilePath": "./temp/index.d.ts", + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./dist/index.d.ts" + }, + "apiReport": { + "enabled": false + }, + "docModel": { + "enabled": false + }, + "tsdocMetadata": { + "enabled": false + }, + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "extractorMessageReporting": { + "default": { + "logLevel": "warning", + "addToApiReportFile": true + }, + + "ae-missing-release-tag": { + "logLevel": "none" + } + }, + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + }, + "tsdoc-undefined-tag": { + "logLevel": "none" + } + } + } +} diff --git a/packages/build/package.json b/packages/build/package.json new file mode 100644 index 000000000..4df721196 --- /dev/null +++ b/packages/build/package.json @@ -0,0 +1,73 @@ +{ + "name": "@gitmars/build", + "description": "gitmars build", + "version": "7.0.0-beta.24", + "private": false, + "main": "./dist/index.cjs.js", + "module": "./dist/index.esm-bundler.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "module": "./dist/index.esm-bundler.js", + "require": "./dist/index.cjs.js", + "import": "./dist/index.mjs" + }, + "./*": "./*" + }, + "files": [ + "dist", + "typings", + "*.d.ts" + ], + "scripts": {}, + "directories": { + "bin": "bin", + "dist": "dist", + "src": "src" + }, + "dependencies": { + "@gitmars/cache": "workspace:*", + "@gitmars/core": "workspace:*", + "@gitmars/git": "workspace:*", + "@gitmars/utils": "workspace:*", + "@jssj/request": "^1.1.0", + "chalk": "^4.1.2", + "node-apollo": "^1.2.1", + "os-lang": "^3.2.0", + "shelljs": "^0.8.5" + }, + "devDependencies": { + "@eslint-sets/eslint-config-ts": "^5.13.0", + "@types/node": "^20.12.7", + "@types/shelljs": "^0.8.15", + "cross-env": "^7.0.3", + "eslint": "^8.57.0", + "madge": "^7.0.0", + "prettier": "^3.2.5", + "prettier-config-common": "^1.4.0", + "tsnd": "^1.1.0", + "typescript": "^5.4.5" + }, + "sideEffects": false, + "keywords": [ + "gitmars", + "git", + "tool" + ], + "license": "GPL-3.0", + "author": "saqqdy ", + "homepage": "https://github.com/saqqdy/gitmars/tree/master/packages/build#readme", + "bugs": { + "url": "https://github.com/saqqdy/gitmars/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/saqqdy/gitmars.git", + "directory": "packages/build" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org", + "access": "public" + } +} diff --git a/packages/core/src/build/buildConfig.ts b/packages/build/src/buildConfig.ts similarity index 68% rename from packages/core/src/build/buildConfig.ts rename to packages/build/src/buildConfig.ts index 714a8d185..1594eb6b2 100644 --- a/packages/core/src/build/buildConfig.ts +++ b/packages/build/src/buildConfig.ts @@ -3,17 +3,18 @@ import apollo from 'node-apollo' import sh from 'shelljs' import request from '@jssj/request' import chalk from 'chalk' +import to from 'await-to-done' +import { CACHE_PATH, isCacheExpired, updateCacheTime } from '@gitmars/cache' +import { debug, isFileExist, removeFile, writeFile } from '@gitmars/utils' +import { getConfig } from '@gitmars/git' import type { + ApolloBranchList, + ApolloConfigProjectType, ApolloConfigType, GitmarsConfigApisBuildConfigType, GitmarsConfigType -} from '../../typings/core' -import { isCacheExpired, updateCacheTime } from '#lib/cache/cache' -import { isFileExist, removeFile, writeFile } from '#lib/utils/file' -import lang from '#lib/lang' -import getConfig from '#lib/getConfig' -import { debug } from '#lib/utils/debug' -import { CACHE_PATH } from '#lib/utils/paths' +} from './types' +import lang from './lang' const { t } = lang const require = createRequire(import.meta.url) @@ -39,9 +40,10 @@ function getNamespace(params: GitmarsConfigApisBuildConfigType['params'] = {}): /** * 读取构建配置 * + * @param exitOnError - exit process when error occurred * @returns buildConfig - Return the configuration object */ -export async function getBuildConfig(): Promise { +export async function getBuildConfig(exitOnError = true): Promise { const config = getConfig() as GitmarsConfigType const { apis = {} } = config let NS, _buildConfig @@ -53,8 +55,10 @@ export async function getBuildConfig(): Promise { const { appId, clusterName } = config.apolloConfig NS = getNamespace({ appId, clusterName }) } else { - sh.echo(chalk.red(t('Please configure apollo or buildConfigApi'))) - process.exit(0) + if (exitOnError) { + sh.echo(chalk.red(t('Please configure apollo or buildConfigApi'))) + process.exit(0) + } return } @@ -95,6 +99,25 @@ export async function getBuildConfig(): Promise { return _buildConfig } +/** + * 读取项目配置 + * + * @param projectName - project name + * @param env - env type, ApolloBranchList + * @param config - build config, not required + * @returns buildConfig - Return the configuration object + */ +export async function getProjectOption( + projectName: string, + env: ApolloBranchList, + config?: ApolloConfigType +): Promise { + if (!config) { + ;[, config] = await to(getBuildConfig(false).then(res => res || undefined)) + } + return config?.[env]?.list?.find(item => item.name === projectName) +} + export function cleanBuildConfig() { removeFile([ { diff --git a/packages/build/src/index.default.ts b/packages/build/src/index.default.ts new file mode 100644 index 000000000..7a1cbd5de --- /dev/null +++ b/packages/build/src/index.default.ts @@ -0,0 +1,12 @@ +import runJenkins from './runJenkins' +import { cleanBuildConfig, getBuildConfig, getProjectOption } from './buildConfig' + +export type { RunJenkinsOptionType } from './runJenkins' +export type * from './types' +export default { + version: '__VERSION__', + getBuildConfig, + getProjectOption, + cleanBuildConfig, + runJenkins +} diff --git a/packages/build/src/index.ts b/packages/build/src/index.ts new file mode 100644 index 000000000..20a0bc886 --- /dev/null +++ b/packages/build/src/index.ts @@ -0,0 +1,6 @@ +export { default as runJenkins } from './runJenkins' +export { cleanBuildConfig, getBuildConfig, getProjectOption } from './buildConfig' + +export { default } from './index.default' +export type * from './index.default' +export const version = '__VERSION__' as string diff --git a/packages/build/src/lang.ts b/packages/build/src/lang.ts new file mode 100644 index 000000000..8e298ce5a --- /dev/null +++ b/packages/build/src/lang.ts @@ -0,0 +1,11 @@ +import { osLangSync } from 'os-lang' +import { useLocale } from '@gitmars/utils' +import * as languages from './locales' + +export type LanguageType = Exclude + +const locales: LanguageType[] = ['enUS', 'zhCN'] +let localeName = (process.env.GITMARS_LANG || osLangSync()).replace('-', '') as LanguageType +if (!locales.includes(localeName)) localeName = 'enUS' + +export default useLocale(languages[localeName]) diff --git a/packages/build/src/locales/en-US.ts b/packages/build/src/locales/en-US.ts new file mode 100644 index 000000000..bf11574a7 --- /dev/null +++ b/packages/build/src/locales/en-US.ts @@ -0,0 +1,3 @@ +export default { + name: 'en-US' +} diff --git a/packages/build/src/locales/index.ts b/packages/build/src/locales/index.ts new file mode 100644 index 000000000..19436241b --- /dev/null +++ b/packages/build/src/locales/index.ts @@ -0,0 +1,10 @@ +export { default as zhCN } from './zh-CN' +export { default as enUS } from './en-US' + +export interface TranslatePair { + [key: string]: string | string[] | TranslatePair +} +export interface Language extends Record { + name: string + // base?: TranslatePair +} diff --git a/packages/build/src/locales/zh-CN.ts b/packages/build/src/locales/zh-CN.ts new file mode 100644 index 000000000..c55c4f9f5 --- /dev/null +++ b/packages/build/src/locales/zh-CN.ts @@ -0,0 +1,9 @@ +export default { + name: 'zh-CN', + 'Please configure apollo or buildConfigApi': '请配置apollo或buildConfigApi', + 'Jenkins build configuration cache file': 'Jenkins构建配置缓存文件', + 'Enter the correct environment name': '请输入正确的环境名称', + 'Enter the correct application name': '请输入正确的应用名称', + 'Please configure the Jenkins build address template': '请配置Jenkins构建地址模板', + 'Successfully pulled up Jenkins build': '成功调起Jenkins构建' +} diff --git a/packages/core/src/build/runJenkins.ts b/packages/build/src/runJenkins.ts similarity index 82% rename from packages/core/src/build/runJenkins.ts rename to packages/build/src/runJenkins.ts index 40dbfdb0e..92e13ad9c 100644 --- a/packages/core/src/build/runJenkins.ts +++ b/packages/build/src/runJenkins.ts @@ -2,10 +2,10 @@ import sh from 'shelljs' import chalk from 'chalk' import request from '@jssj/request' import { mapTemplate } from 'js-cool' -import type { ApolloBranchList, ApolloConfigBranchType, ApolloConfigType } from '../../typings/core' -import { debug } from '#lib/utils/debug' -import { getBuildConfig } from '#lib/build/buildConfig' -import lang from '#lib/lang' +import { debug } from '@gitmars/utils' +import type { ApolloBranchList, ApolloConfigBranchType, ApolloConfigType } from './types' +import { getBuildConfig } from './buildConfig' +import lang from './lang' const { t } = lang @@ -31,13 +31,13 @@ async function runJenkins({ const cfg: ApolloConfigBranchType = buildConfig[env] debug('runJenkins-buildConfig', env, project, app, buildConfig) if (!cfg) { - sh.echo(chalk.red(t('Please enter the correct environment name'))) + sh.echo(chalk.red(t('Enter the correct environment name'))) process.exit(1) return } const p = cfg.list.find(el => el.name === project) if (!p) { - sh.echo(chalk.red('Please enter the correct project name')) + sh.echo(chalk.red('Enter the correct project name')) process.exit(1) return } @@ -45,7 +45,7 @@ async function runJenkins({ const appList = app.split(',') for (const item of appList) { if (!p.apps.includes(item)) { - sh.echo(chalk.red(t('Please enter the correct application name'))) + sh.echo(chalk.red(t('Enter the correct application name'))) process.exit(1) return } @@ -62,7 +62,7 @@ async function runJenkins({ { line: cfg.line, project: p.project, - token: cfg.token, + token: p.token || cfg.token, app } ) diff --git a/packages/build/src/types.ts b/packages/build/src/types.ts new file mode 100644 index 000000000..ef4f94302 --- /dev/null +++ b/packages/build/src/types.ts @@ -0,0 +1,81 @@ +export type VersionControlType = 'patch' | 'minor' | 'major' | false + +export interface GitmarsConfigApisBuildConfigType { + url: string + method?: 'post' | 'get' | 'put' | 'delete' + params?: Record +} + +export interface GitmarsConfigType { + master: string + develop: string + release: string + bugfix: string + support: string + user?: string + email?: string + skipCI?: boolean + msgTemplate?: string + apolloConfig?: { + configServerUrl: string + appId: string + clusterName: string + namespaceName: string[] + apolloEnv: string + token: string + } + apis?: Record + api?: string + gitHost?: string + gitID?: string + hooks?: Record + filepath?: string + nameValidator?: string | RegExp + descriptionValidator?: string | RegExp + versionControlType?: VersionControlType +} // & Record + +export type GitmarsConfigProperty = keyof GitmarsConfigType +// | 'master' +// | 'develop' +// | 'release' +// | 'bugfix' +// | 'support' +// | 'user' +// | 'email' +// | 'skipCI' +// | 'msgTemplate' +// | 'apolloConfig' +// | 'apis' +// | 'api' +// | 'gitHost' +// | 'gitID' +// | 'hooks' +// | 'filepath' +// | 'nameValidator' +// | 'descriptionValidator' + +export type ApolloBranchList = 'dev' | 'bug' | 'prod' + +export interface ApolloConfigProjectType { + name: string + project: string + token?: string + apps?: string[] +} + +export interface ApolloConfigBranchType { + line: string + token: string + list: ApolloConfigProjectType[] +} + +export type ApolloConfigType = { + [props in ApolloBranchList]: ApolloConfigBranchType +} & { + username: string + password: string + template: string // 不带参数 + templateWithParam: string // 带参数 + gitNotificationGroupUrl?: string | string[] // 推送群消息的api +} diff --git a/packages/build/tsconfig.json b/packages/build/tsconfig.json new file mode 100644 index 000000000..119b2ad90 --- /dev/null +++ b/packages/build/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + // "composite": true, + "target": "ESNext", + "module": "ESNext", + "sourceMap": true, + "declaration": true, + "emitDeclarationOnly": true, + "rootDir": "src", + "outDir": "temp", + "baseUrl": ".", + "paths": {} + } +} diff --git a/packages/build/typedoc.js b/packages/build/typedoc.js new file mode 100644 index 000000000..873fa676e --- /dev/null +++ b/packages/build/typedoc.js @@ -0,0 +1,12 @@ +module.exports = { + out: 'typedoc', + entryPoints: ['src/**/*.ts'], + json: 'typedoc/out.json', + name: 'index.md', + includeVersion: true, + readme: 'README.md' + // emit: true, + // exclude: '', + // externalPattern: '', + // excludeExternals: '' +} diff --git a/packages/core/typings/node-apollo.d.ts b/packages/build/typings/node-apollo.d.ts similarity index 100% rename from packages/core/typings/node-apollo.d.ts rename to packages/build/typings/node-apollo.d.ts diff --git a/packages/cache/.eslintrc.js b/packages/cache/.eslintrc.js new file mode 100644 index 000000000..beb2a4395 --- /dev/null +++ b/packages/cache/.eslintrc.js @@ -0,0 +1,21 @@ +module.exports = { + extends: '@eslint-sets/ts', + rules: { + camelcase: 0, + 'import/namespace': [2, { allowComputed: true }] + }, + ignorePatterns: [ + 'lib', + 'es', + 'dist', + 'docs', + 'app', + 'ui', + 'cache/*', + '*_bak', + '*.bak', + 'pnpm-lock.yaml', + 'stats.html', + 'dist_electron' + ] +} diff --git a/packages/cache/LICENSE b/packages/cache/LICENSE new file mode 100644 index 000000000..7eb5b6aa8 --- /dev/null +++ b/packages/cache/LICENSE @@ -0,0 +1,676 @@ +saqqdy +========== + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/packages/cache/README.md b/packages/cache/README.md new file mode 100644 index 000000000..1b5e73281 --- /dev/null +++ b/packages/cache/README.md @@ -0,0 +1,57 @@ +
+ +# @gitmars/cache + +some cache js for gitmars + +[![NPM version][npm-image]][npm-url] +[![Codacy Badge][codacy-image]][codacy-url] +[![npm download][download-image]][download-url] +[![gzip][gzip-image]][gzip-url] +[![License][license-image]][license-url] + +[![Sonar][sonar-image]][sonar-url] + +
+ +## Install + +```bash +# use npm +$ npm install @gitmars/cache --save + +# use yarn +$ yarn add @gitmars/cache + +# use pnpm +$ pnpm install @gitmars/cache +``` + +## Usage + +```js +const { getUserInfo } = require('@gitmars/cache') + +getUserInfo() +``` + +## Issues & Support + +Please open an issue [here](https://github.com/saqqdy/@gitmars/cache/issues). + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/@gitmars/cache.svg?style=flat-square +[npm-url]: https://npmjs.org/package/@gitmars/cache +[codacy-image]: https://app.codacy.com/project/badge/Grade/f70d4880e4ad4f40aa970eb9ee9d0696 +[codacy-url]: https://www.codacy.com/gh/saqqdy/@gitmars/cache/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saqqdy/@gitmars/cache&utm_campaign=Badge_Grade +[download-image]: https://img.shields.io/npm/dm/@gitmars/cache.svg?style=flat-square +[download-url]: https://npmjs.org/package/@gitmars/cache +[gzip-image]: http://img.badgesize.io/https://unpkg.com/@gitmars/cache/index.js?compression=gzip&label=gzip%20size:%20JS +[gzip-url]: http://img.badgesize.io/https://unpkg.com/@gitmars/cache/index.js?compression=gzip&label=gzip%20size:%20JS +[license-image]: https://img.shields.io/badge/License-MIT-blue.svg +[license-url]: LICENSE +[sonar-image]: https://sonarcloud.io/api/project_badges/quality_gate?project=saqqdy_gitmars +[sonar-url]: https://sonarcloud.io/dashboard?id=saqqdy_gitmars diff --git a/packages/cache/api-extractor.json b/packages/cache/api-extractor.json new file mode 100644 index 000000000..445e874b7 --- /dev/null +++ b/packages/cache/api-extractor.json @@ -0,0 +1,44 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "projectFolder": ".", + "mainEntryPointFilePath": "./temp/index.d.ts", + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./dist/index.d.ts" + }, + "apiReport": { + "enabled": false + }, + "docModel": { + "enabled": false + }, + "tsdocMetadata": { + "enabled": false + }, + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "extractorMessageReporting": { + "default": { + "logLevel": "warning", + "addToApiReportFile": true + }, + + "ae-missing-release-tag": { + "logLevel": "none" + } + }, + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + }, + "tsdoc-undefined-tag": { + "logLevel": "none" + } + } + } +} diff --git a/packages/core/cache/.gitkeep b/packages/cache/cache/.gitkeep similarity index 100% rename from packages/core/cache/.gitkeep rename to packages/cache/cache/.gitkeep diff --git a/packages/cache/package.json b/packages/cache/package.json new file mode 100644 index 000000000..60b818b44 --- /dev/null +++ b/packages/cache/package.json @@ -0,0 +1,71 @@ +{ + "name": "@gitmars/cache", + "description": "gitmars cache", + "version": "7.0.0-beta.24", + "private": false, + "main": "./dist/index.cjs.js", + "module": "./dist/index.esm-bundler.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "module": "./dist/index.esm-bundler.js", + "require": "./dist/index.cjs.js", + "import": "./dist/index.mjs" + }, + "./*": "./*" + }, + "files": [ + "cache/.gitkeep", + "dist", + "typings", + "*.d.ts" + ], + "scripts": {}, + "directories": { + "cache": "cache", + "bin": "bin", + "dist": "dist", + "src": "src" + }, + "dependencies": { + "@gitmars/git": "workspace:*", + "@gitmars/utils": "workspace:*", + "js-cool": "^5.19.0", + "os-lang": "^3.2.0", + "shelljs": "^0.8.5" + }, + "devDependencies": { + "@eslint-sets/eslint-config-ts": "^5.13.0", + "@types/node": "^20.12.7", + "@types/shelljs": "^0.8.15", + "cross-env": "^7.0.3", + "eslint": "^8.57.0", + "madge": "^7.0.0", + "prettier": "^3.2.5", + "prettier-config-common": "^1.4.0", + "tsnd": "^1.1.0", + "typescript": "^5.4.5" + }, + "sideEffects": false, + "keywords": [ + "gitmars", + "git", + "tool" + ], + "license": "GPL-3.0", + "author": "saqqdy ", + "homepage": "https://github.com/saqqdy/gitmars/tree/master/packages/cache#readme", + "bugs": { + "url": "https://github.com/saqqdy/gitmars/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/saqqdy/gitmars.git", + "directory": "packages/cache" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org", + "access": "public" + } +} diff --git a/packages/core/src/cache/cache.ts b/packages/cache/src/cache.ts similarity index 84% rename from packages/core/src/cache/cache.ts rename to packages/cache/src/cache.ts index a115db695..84df08789 100644 --- a/packages/core/src/cache/cache.ts +++ b/packages/cache/src/cache.ts @@ -1,13 +1,13 @@ import { resolve } from 'path' import { createRequire } from 'node:module' -import { isFileExist, removeFile, writeFile } from '#lib/utils/file' -import { CACHE_PATH } from '#lib/utils/paths' -import lang from '#lib/lang' +import { isFileExist, removeFile, writeFile } from '@gitmars/utils' +import { CACHE_PATH } from './paths' +import lang from './lang' const { t } = lang const require = createRequire(import.meta.url) -type TimestampType = Record & { +export type TimestampType = Record & { packageInfoTime?: number } @@ -52,9 +52,3 @@ export async function cleanCache() { url: resolve(CACHE_PATH + 'timestamp.json') }) } - -export default { - isCacheExpired, - updateCacheTime, - cleanCache -} diff --git a/packages/core/src/cache/commandCache.ts b/packages/cache/src/commandCache.ts similarity index 81% rename from packages/core/src/cache/commandCache.ts rename to packages/cache/src/commandCache.ts index 515386a72..134dafcac 100644 --- a/packages/core/src/cache/commandCache.ts +++ b/packages/cache/src/commandCache.ts @@ -1,7 +1,7 @@ import sh from 'shelljs' -import type { CommandType } from '../../typings/core' -import getGitRevParse from '#lib/git/getGitRevParse' -import { isFileExist } from '#lib/utils/file' +import { getGitRevParse } from '@gitmars/git' +import { isFileExist } from '@gitmars/utils' +import type { CommandType } from './types' /** * 获取未执行脚本列表 @@ -46,9 +46,3 @@ export function setCommandCache(rest: Array): v export function cleanCommandCache(): void { setCommandCache([]) } - -export default { - getCommandCache, - setCommandCache, - cleanCommandCache -} diff --git a/packages/cache/src/index.default.ts b/packages/cache/src/index.default.ts new file mode 100644 index 000000000..b69cfe63a --- /dev/null +++ b/packages/cache/src/index.default.ts @@ -0,0 +1,34 @@ +import { CACHE_PATH } from './paths' +import { cleanCache, isCacheExpired, updateCacheTime } from './cache' +import { cleanLog, setLog } from './log' +import { cleanCommandCache, getCommandCache, setCommandCache } from './commandCache' +import { + addRevertCache, + cleanRevertCache, + delRevertCache, + getRevertCache, + setRevertCache +} from './revertCache' +import { cleanPkgInfo, getPkgInfo } from './pkgInfo' + +export type { TimestampType } from './cache' +export type * from './types' +export default { + version: '__VERSION__', + CACHE_PATH, + isCacheExpired, + updateCacheTime, + cleanCache, + setLog, + cleanLog, + getCommandCache, + setCommandCache, + cleanCommandCache, + getRevertCache, + setRevertCache, + addRevertCache, + delRevertCache, + cleanRevertCache, + getPkgInfo, + cleanPkgInfo +} diff --git a/packages/cache/src/index.ts b/packages/cache/src/index.ts new file mode 100644 index 000000000..df0f7a457 --- /dev/null +++ b/packages/cache/src/index.ts @@ -0,0 +1,16 @@ +export { CACHE_PATH } from './paths' +export { isCacheExpired, updateCacheTime, cleanCache } from './cache' +export { setLog, cleanLog } from './log' +export { getCommandCache, setCommandCache, cleanCommandCache } from './commandCache' +export { + getRevertCache, + setRevertCache, + addRevertCache, + delRevertCache, + cleanRevertCache +} from './revertCache' +export { getPkgInfo, cleanPkgInfo } from './pkgInfo' + +export { default } from './index.default' +export type * from './index.default' +export const version = '__VERSION__' as string diff --git a/packages/cache/src/lang.ts b/packages/cache/src/lang.ts new file mode 100644 index 000000000..8e298ce5a --- /dev/null +++ b/packages/cache/src/lang.ts @@ -0,0 +1,11 @@ +import { osLangSync } from 'os-lang' +import { useLocale } from '@gitmars/utils' +import * as languages from './locales' + +export type LanguageType = Exclude + +const locales: LanguageType[] = ['enUS', 'zhCN'] +let localeName = (process.env.GITMARS_LANG || osLangSync()).replace('-', '') as LanguageType +if (!locales.includes(localeName)) localeName = 'enUS' + +export default useLocale(languages[localeName]) diff --git a/packages/cache/src/locales/en-US.ts b/packages/cache/src/locales/en-US.ts new file mode 100644 index 000000000..bf11574a7 --- /dev/null +++ b/packages/cache/src/locales/en-US.ts @@ -0,0 +1,3 @@ +export default { + name: 'en-US' +} diff --git a/packages/cache/src/locales/index.ts b/packages/cache/src/locales/index.ts new file mode 100644 index 000000000..19436241b --- /dev/null +++ b/packages/cache/src/locales/index.ts @@ -0,0 +1,10 @@ +export { default as zhCN } from './zh-CN' +export { default as enUS } from './en-US' + +export interface TranslatePair { + [key: string]: string | string[] | TranslatePair +} +export interface Language extends Record { + name: string + // base?: TranslatePair +} diff --git a/packages/cache/src/locales/zh-CN.ts b/packages/cache/src/locales/zh-CN.ts new file mode 100644 index 000000000..dda02e18d --- /dev/null +++ b/packages/cache/src/locales/zh-CN.ts @@ -0,0 +1,7 @@ +export default { + name: 'zh-CN', + 'Gitmars package cache file': 'Gitmars包缓存文件', + 'Cache time Map file': '缓存时间Map文件', + 'Please pass in the name': '请传入名称', + 'An error occurred': '出错了' +} diff --git a/packages/core/src/cache/log.ts b/packages/cache/src/log.ts similarity index 70% rename from packages/core/src/cache/log.ts rename to packages/cache/src/log.ts index 0c33594e0..5147f05bb 100644 --- a/packages/core/src/cache/log.ts +++ b/packages/cache/src/log.ts @@ -1,8 +1,8 @@ import sh from 'shelljs' -import type { GitmarsLogType } from '../../typings/core' -import getGitRevParse from '#lib/git/getGitRevParse' -import { removeFile } from '#lib/utils/file' -import lang from '#lib/lang' +import { getGitRevParse } from '@gitmars/git' +import { removeFile } from '@gitmars/utils' +import type { GitmarsLogType } from './types' +import lang from './lang' const { t } = lang const { gitDir } = getGitRevParse() @@ -32,8 +32,3 @@ export function cleanLog() { url: gitDir + '/.gitmarslog' }) } - -export default { - setLog, - cleanLog -} diff --git a/packages/core/src/utils/paths.ts b/packages/cache/src/paths.ts similarity index 73% rename from packages/core/src/utils/paths.ts rename to packages/cache/src/paths.ts index 31840b300..5a4d0baf4 100644 --- a/packages/core/src/utils/paths.ts +++ b/packages/cache/src/paths.ts @@ -5,6 +5,4 @@ const __filename = fileURLToPath(import.meta.url) const __dirname = dirname(__filename) export const ROOT_PATH = resolve(__dirname, '..', '..') -export const SRC_PATH = resolve(ROOT_PATH, 'src') export const CACHE_PATH = resolve(ROOT_PATH, 'cache') -export const SH_PATH = resolve(ROOT_PATH, 'sh') diff --git a/packages/core/src/utils/pkgInfo.ts b/packages/cache/src/pkgInfo.ts similarity index 76% rename from packages/core/src/utils/pkgInfo.ts rename to packages/cache/src/pkgInfo.ts index c7a78e321..b529410b0 100644 --- a/packages/core/src/utils/pkgInfo.ts +++ b/packages/cache/src/pkgInfo.ts @@ -1,11 +1,10 @@ import { resolve } from 'path' import { createRequire } from 'node:module' import { getProperty } from 'js-cool' -import { spawnSync } from '#lib/spawn' -import { isCacheExpired, updateCacheTime } from '#lib/cache/cache' -import { CACHE_PATH } from '#lib/utils/paths' -import { isFileExist, removeFile, writeFile } from '#lib/utils/file' -import lang from '#lib/lang' +import { isFileExist, removeFile, spawnSync, writeFile } from '@gitmars/utils' +import { isCacheExpired, updateCacheTime } from './cache' +import { CACHE_PATH } from './paths' +import lang from './lang' const { t } = lang const require = createRequire(import.meta.url) @@ -14,7 +13,7 @@ const require = createRequire(import.meta.url) * 读取gitmars在线版本列表 * * @param name - 需要查询的内容 - * @returns {Object} arr Return the configuration object + * @returns info - arr Return the configuration object */ export async function getPkgInfo(name?: string): Promise { let packageInfo @@ -46,8 +45,3 @@ export function cleanPkgInfo() { url: resolve(CACHE_PATH + 'packageInfo.json') }) } - -export default { - getPkgInfo, - cleanPkgInfo -} diff --git a/packages/core/src/cache/revertCache.ts b/packages/cache/src/revertCache.ts similarity index 87% rename from packages/core/src/cache/revertCache.ts rename to packages/cache/src/revertCache.ts index 06cb14e9c..6e8a21bd5 100644 --- a/packages/core/src/cache/revertCache.ts +++ b/packages/cache/src/revertCache.ts @@ -1,9 +1,8 @@ import { createRequire } from 'node:module' import sh from 'shelljs' -import type { RevertCacheType } from '../../typings/core' -import getGitRevParse from '#lib/git/getGitRevParse' -import { isFileExist, writeFileSync } from '#lib/utils/file' -import { debug } from '#lib/utils/debug' +import { getGitRevParse } from '@gitmars/git' +import { debug, isFileExist, writeFileSync } from '@gitmars/utils' +import type { RevertCacheType } from './types' const require = createRequire(import.meta.url) const { gitDir } = getGitRevParse() @@ -89,11 +88,3 @@ export function delRevertCache(commitIDs: string | string[]): void { export function cleanRevertCache(): void { setRevertCache([]) } - -export default { - getRevertCache, - setRevertCache, - addRevertCache, - delRevertCache, - cleanRevertCache -} diff --git a/packages/cache/src/types.ts b/packages/cache/src/types.ts new file mode 100644 index 000000000..a0ad1a806 --- /dev/null +++ b/packages/cache/src/types.ts @@ -0,0 +1,39 @@ +import type { SpawnOptions, SpawnSyncReturns } from 'child_process' +import type { GitLogsType } from '@gitmars/git' + +export interface ModuleCommandType { + module: string + entry?: string + options?: unknown +} + +export interface CommandTypeCmd { + cmd: string | string[] | ModuleCommandType + config: QueueConfigType +} + +export interface CommandTypeMessage { + message: string +} + +export type CommandType = CommandTypeCmd | CommandTypeMessage + +export interface QueueConfigType extends SpawnOptions { + again?: boolean | string + processing?: string + success?: string + fail?: string + postmsg?: boolean + kill?: boolean +} + +export interface GitmarsLogType + extends Partial, 'stdout' | 'stderr' | 'status'>> { + command: string +} + +export interface RevertCacheType { + before: GitLogsType + after: GitLogsType + branch: string +} diff --git a/packages/cache/tsconfig.json b/packages/cache/tsconfig.json new file mode 100644 index 000000000..119b2ad90 --- /dev/null +++ b/packages/cache/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + // "composite": true, + "target": "ESNext", + "module": "ESNext", + "sourceMap": true, + "declaration": true, + "emitDeclarationOnly": true, + "rootDir": "src", + "outDir": "temp", + "baseUrl": ".", + "paths": {} + } +} diff --git a/packages/cache/typedoc.js b/packages/cache/typedoc.js new file mode 100644 index 000000000..873fa676e --- /dev/null +++ b/packages/cache/typedoc.js @@ -0,0 +1,12 @@ +module.exports = { + out: 'typedoc', + entryPoints: ['src/**/*.ts'], + json: 'typedoc/out.json', + name: 'index.md', + includeVersion: true, + readme: 'README.md' + // emit: true, + // exclude: '', + // externalPattern: '', + // excludeExternals: '' +} diff --git a/packages/core/.eslintignore b/packages/core/.eslintignore deleted file mode 100644 index c5617e9ab..000000000 --- a/packages/core/.eslintignore +++ /dev/null @@ -1,11 +0,0 @@ -lib -es -dist - -*.bak -*_bak -*.bak.js - -stats.html -#Electron-builder output -dist_electron diff --git a/packages/core/.eslintrc.js b/packages/core/.eslintrc.js index 24f66b6cd..beb2a4395 100644 --- a/packages/core/.eslintrc.js +++ b/packages/core/.eslintrc.js @@ -1,6 +1,21 @@ module.exports = { extends: '@eslint-sets/ts', rules: { - camelcase: 0 - } + camelcase: 0, + 'import/namespace': [2, { allowComputed: true }] + }, + ignorePatterns: [ + 'lib', + 'es', + 'dist', + 'docs', + 'app', + 'ui', + 'cache/*', + '*_bak', + '*.bak', + 'pnpm-lock.yaml', + 'stats.html', + 'dist_electron' + ] } diff --git a/packages/core/LICENSE b/packages/core/LICENSE new file mode 100644 index 000000000..7eb5b6aa8 --- /dev/null +++ b/packages/core/LICENSE @@ -0,0 +1,676 @@ +saqqdy +========== + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/packages/core/README.md b/packages/core/README.md index 3810615d2..09dce1ffc 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -30,9 +30,9 @@ $ pnpm install @gitmars/core ## Usage ```js -const getConfig = require('@gitmars/core/lib/getConfig') +const { sendGroupMessage } = require('@gitmars/core') -getConfig() +sendGroupMessage() ``` ## Issues & Support diff --git a/packages/core/api-extractor.json b/packages/core/api-extractor.json index 899d5623f..445e874b7 100644 --- a/packages/core/api-extractor.json +++ b/packages/core/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", "projectFolder": ".", - "mainEntryPointFilePath": "./lib/index.d.ts", + "mainEntryPointFilePath": "./temp/index.d.ts", "dtsRollup": { "enabled": true, "untrimmedFilePath": "", - "publicTrimmedFilePath": "./typings/index.d.ts" + "publicTrimmedFilePath": "./dist/index.d.ts" }, "apiReport": { "enabled": false diff --git a/packages/core/package.json b/packages/core/package.json index 6d000b784..0be9b83ca 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,89 +1,55 @@ { "name": "@gitmars/core", "description": "gitmars核心程序", - "version": "6.4.0", + "version": "7.0.0-beta.24", "private": false, - "main": "./lib/index.js", - "module": "./lib/index.mjs", + "main": "./dist/index.cjs.js", + "module": "./dist/index.esm-bundler.js", + "types": "./dist/index.d.ts", "exports": { ".": { - "types": "./lib/index.d.ts", - "require": "./lib/index.js", - "import": "./lib/index.mjs" + "types": "./dist/index.d.ts", + "module": "./dist/index.esm-bundler.js", + "require": "./dist/index.cjs.js", + "import": "./dist/index.mjs" }, - "./*": { - "types": "./lib/*.d.ts", - "require": "./lib/*.js", - "import": "./lib/*.mjs" - }, - "./lib/*": { - "types": "./lib/*.d.ts", - "require": "./lib/*.js", - "import": "./lib/*.mjs" - } - }, - "imports": { - "#lib/*": { - "require": "./lib/*.js", - "import": "./lib/*.mjs" - }, - "#typings/*": { - "require": "./typings/*.d.ts", - "import": "./typings/*.d.ts" - } + "./*": "./*" }, "files": [ - "cache/.gitkeep", - "lib", - "sh", + "dist", "typings", "*.d.ts" ], "scripts": {}, "directories": { "bin": "bin", - "lib": "lib", - "src": "src", - "cache": "cache", - "sh": "sh", - "typings": "typings" + "dist": "dist", + "src": "src" }, "dependencies": { + "@gitmars/build": "workspace:*", + "@gitmars/cache": "workspace:*", + "@gitmars/git": "workspace:*", + "@gitmars/utils": "workspace:*", "@jssj/request": "^1.1.0", "chalk": "^4.1.2", - "ci-info": "^4.0.0", - "columnify": "^1.6.0", - "commander": "^11.1.0", - "cosmiconfig": "^9.0.0", - "cross-spawn": "^7.0.3", - "dayjs": "^1.11.10", - "debug": "^4.3.4", - "inquirer": "^8.2.5", - "js-cool": "^5.18.1", - "lodash-es": "^4.17.21", - "lodash-unified": "^1.0.3", - "node-apollo": "^1.2.1", + "js-cool": "^5.19.0", "ora": "^5.4.1", "os-lang": "^3.2.0", "semver-diff": "^4.0.0", - "shelljs": "^0.8.5", - "slash": "^3.0.0" + "shelljs": "^0.8.5" }, "devDependencies": { - "@eslint-sets/eslint-config-ts": "^5.12.0", - "@types/cross-spawn": "^6.0.6", - "@types/debug": "^4.1.12", - "@types/inquirer": "^8.2.6", - "@types/lodash-es": "^4.17.12", - "@types/node": "^20.11.24", + "@eslint-sets/eslint-config-ts": "^5.13.0", + "@types/node": "^20.12.7", "@types/shelljs": "^0.8.15", "cross-env": "^7.0.3", "eslint": "^8.57.0", - "madge": "^6.1.0", + "madge": "^7.0.0", "prettier": "^3.2.5", "prettier-config-common": "^1.4.0", "tsnd": "^1.1.0", - "typescript": "^5.3.3" + "typescript": "^5.4.5" }, "sideEffects": false, "keywords": [ diff --git a/packages/core/src/api/index.ts b/packages/core/src/api/index.ts deleted file mode 100644 index 8577bf31c..000000000 --- a/packages/core/src/api/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export { default as getUserInfo } from '#lib/api/getUserInfo' - -export { - createMergeRequest, - getMergeRequestList, - getMergeRequestCommits, - getMergeRequestCloseIssues, - getMergeRequestParticipants, - getMergeRequestChanges, - getMergeRequestDiffVersions, - acceptMergeRequest, - updateMergeRequest, - deleteMergeRequest -} from '#lib/api/mergeRequest' diff --git a/packages/core/src/build/index.ts b/packages/core/src/build/index.ts deleted file mode 100644 index b6b6a435a..000000000 --- a/packages/core/src/build/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import runJenkins from '#lib/build/runJenkins' -import { cleanBuildConfig, getBuildConfig } from '#lib/build/buildConfig' - -export default { - getBuildConfig, - cleanBuildConfig, - runJenkins -} diff --git a/packages/core/src/cache/index.ts b/packages/core/src/cache/index.ts deleted file mode 100644 index 396b73518..000000000 --- a/packages/core/src/cache/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -export { isCacheExpired, updateCacheTime, cleanCache } from '#lib/cache/cache' -export { setLog, cleanLog } from '#lib/cache/log' -export { getCommandCache, setCommandCache, cleanCommandCache } from '#lib/cache/commandCache' -export { - getRevertCache, - setRevertCache, - addRevertCache, - delRevertCache, - cleanRevertCache -} from '#lib/cache/revertCache' diff --git a/packages/core/src/shell/getCurlOfMergeRequest.ts b/packages/core/src/getCurlOfMergeRequest.ts similarity index 85% rename from packages/core/src/shell/getCurlOfMergeRequest.ts rename to packages/core/src/getCurlOfMergeRequest.ts index e7b8df1fd..6568a9b9b 100644 --- a/packages/core/src/shell/getCurlOfMergeRequest.ts +++ b/packages/core/src/getCurlOfMergeRequest.ts @@ -1,6 +1,5 @@ -import { encodeUnicode } from '#lib/utils/unicode' -import getConfig from '#lib/getConfig' -import { getGitToken } from '#lib/git/getGitUser' +import { encodeUnicode } from '@gitmars/utils' +import { getConfig, getGitToken } from '@gitmars/git' const config = getConfig() /** diff --git a/packages/core/src/git/index.ts b/packages/core/src/git/index.ts deleted file mode 100644 index adf923ad7..000000000 --- a/packages/core/src/git/index.ts +++ /dev/null @@ -1,47 +0,0 @@ -import getIsGitProject from '#lib/git/getIsGitProject' -import searchBranches from '#lib/git/searchBranches' -import getCurrentBranch from '#lib/git/getCurrentBranch' -import getGitLogs from '#lib/git/getGitLogs' -import getGitLogsByCommitIDs from '#lib/git/getGitLogsByCommitIDs' -import getGitVersion from '#lib/git/getGitVersion' -import getGitConfig from '#lib/git/getGitConfig' -import getGitRevParse from '#lib/git/getGitRevParse' -import getAheadLogs from '#lib/git/getAheadLogs' -import getBehindLogs from '#lib/git/getBehindLogs' -import getIsBranchOrCommitExist from '#lib/git/getIsBranchOrCommitExist' -import getIsMergeAction from '#lib/git/getIsMergeAction' -import getIsMergedTargetBranch from '#lib/git/getIsMergedTargetBranch' -import getIsUpdatedInTime from '#lib/git/getIsUpdatedInTime' -import { getGitEmail, getGitToken, getGitUser } from '#lib/git/getGitUser' -import getBranchesFromID from '#lib/git/getBranchesFromID' -import getGitStatus from '#lib/git/getGitStatus' -import getCommandMessage from '#lib/git/getCommandMessage' -import checkGitStatus from '#lib/git/checkGitStatus' -import getStashList from '#lib/git/getStashList' -import fetch from '#lib/git/fetch' - -export default { - getIsGitProject, - searchBranches, - getCurrentBranch, - getGitLogs, - getGitLogsByCommitIDs, - getGitVersion, - getGitConfig, - getGitRevParse, - getAheadLogs, - getBehindLogs, - getIsBranchOrCommitExist, - getIsMergeAction, - getIsMergedTargetBranch, - getIsUpdatedInTime, - getGitToken, - getGitUser, - getGitEmail, - getBranchesFromID, - getGitStatus, - getCommandMessage, - checkGitStatus, - getStashList, - fetch -} diff --git a/packages/core/src/index.default.ts b/packages/core/src/index.default.ts index 561a7468e..e5f31b637 100644 --- a/packages/core/src/index.default.ts +++ b/packages/core/src/index.default.ts @@ -1,172 +1,19 @@ -import getUserInfo from '#lib/api/getUserInfo' -import { - acceptMergeRequest, - createMergeRequest, - deleteMergeRequest, - getMergeRequestChanges, - getMergeRequestCloseIssues, - getMergeRequestCommits, - getMergeRequestDiffVersions, - getMergeRequestList, - getMergeRequestParticipants, - updateMergeRequest -} from '#lib/api/mergeRequest' - -import runJenkins from '#lib/build/runJenkins' -import { cleanBuildConfig, getBuildConfig } from '#lib/build/buildConfig' - -import { cleanCache, isCacheExpired, updateCacheTime } from '#lib/cache/cache' -import { cleanLog, setLog } from '#lib/cache/log' -import { cleanCommandCache, getCommandCache, setCommandCache } from '#lib/cache/commandCache' -import { - addRevertCache, - cleanRevertCache, - delRevertCache, - getRevertCache, - setRevertCache -} from '#lib/cache/revertCache' - -import getIsGitProject from '#lib/git/getIsGitProject' -import searchBranches from '#lib/git/searchBranches' -import getCurrentBranch from '#lib/git/getCurrentBranch' -import getGitLogs from '#lib/git/getGitLogs' -import getGitLogsByCommitIDs from '#lib/git/getGitLogsByCommitIDs' -import getGitVersion from '#lib/git/getGitVersion' -import getGitConfig from '#lib/git/getGitConfig' -import getGitRevParse from '#lib/git/getGitRevParse' -import getAheadLogs from '#lib/git/getAheadLogs' -import getBehindLogs from '#lib/git/getBehindLogs' -import getIsBranchOrCommitExist from '#lib/git/getIsBranchOrCommitExist' -import getIsMergeAction from '#lib/git/getIsMergeAction' -import getIsMergedTargetBranch from '#lib/git/getIsMergedTargetBranch' -import getIsUpdatedInTime from '#lib/git/getIsUpdatedInTime' -import { getGitEmail, getGitToken, getGitUser } from '#lib/git/getGitUser' -import getBranchesFromID from '#lib/git/getBranchesFromID' -import getGitStatus from '#lib/git/getGitStatus' -import getCommandMessage from '#lib/git/getCommandMessage' -import checkGitStatus from '#lib/git/checkGitStatus' -import getStashList from '#lib/git/getStashList' -import fetch from '#lib/git/fetch' - -import cleanConfigSet from '#lib/go/cleanConfigSet' -import createPrompt from '#lib/go/createPrompt' -import getCommand from '#lib/go/getCommand' - -// import hook from '#lib/hook' - -// const { -// init, -// remove, -// createHooks, -// removeHooks, -// createHookShell, -// removeHookShell, -// createLocalShell, -// removeLocalShell -// } = hook - -import { enUS, zhCN } from '#lib/locales' -export type { TranslatePair, Language } from '#lib/locales' - -import getCurlOfMergeRequest from '#lib/shell/getCurlOfMergeRequest' - -import { isFileExist, writeFile } from '#lib/utils/file' -import { createArgs } from '#lib/utils/command' -import getSeconds from '#lib/utils/getSeconds' -import { decodeUnicode, encodeUnicode } from '#lib/utils/unicode' -import { cleanPkgInfo, getPkgInfo } from '#lib/utils/pkgInfo' -import readPkg from '#lib/utils/readPkg' -import { getMessage, postMessage } from '#lib/utils/message' -import echo from '#lib/utils/echo' -import { debug, isDebug } from '#lib/utils/debug' - +import getCurlOfMergeRequest from './getCurlOfMergeRequest' +import { getMessage, postMessage } from './message' +import { queue, wait } from './queue' +import sendGroupMessage from './sendGroupMessage' +import { isNeedUpgrade, upgradeGitmars } from './versionControl' + +export type { QueueStartFunction, WaitCallback } from './queue' +export type * from './types' export default { version: '__VERSION__', - // api - getUserInfo, - acceptMergeRequest, - createMergeRequest, - deleteMergeRequest, - getMergeRequestChanges, - getMergeRequestCloseIssues, - getMergeRequestCommits, - getMergeRequestDiffVersions, - getMergeRequestList, - getMergeRequestParticipants, - updateMergeRequest, - // build - getBuildConfig, - cleanBuildConfig, - runJenkins, - // cache - cleanCache, - isCacheExpired, - updateCacheTime, - cleanLog, - setLog, - cleanCommandCache, - getCommandCache, - setCommandCache, - addRevertCache, - cleanRevertCache, - delRevertCache, - getRevertCache, - setRevertCache, - // git - getIsGitProject, - searchBranches, - getCurrentBranch, - getGitLogs, - getGitLogsByCommitIDs, - getGitVersion, - getGitConfig, - getGitRevParse, - getAheadLogs, - getBehindLogs, - getIsBranchOrCommitExist, - getIsMergeAction, - getIsMergedTargetBranch, - getIsUpdatedInTime, - getGitToken, - getGitUser, - getGitEmail, - getBranchesFromID, - getGitStatus, - getCommandMessage, - checkGitStatus, - getStashList, - fetch, - // go - cleanConfigSet, - createPrompt, - getCommand, - // hook - // init, - // remove, - // createHooks, - // removeHooks, - // createHookShell, - // removeHookShell, - // createLocalShell, - // removeLocalShell, - // locales - zhCN, - enUS, - // shell getCurlOfMergeRequest, - // utils - writeFile, - isFileExist, - createArgs, - getSeconds, - encodeUnicode, - decodeUnicode, - getPkgInfo, - cleanPkgInfo, - readPkg, getMessage, postMessage, - echo, - isDebug, - debug + queue, + wait, + sendGroupMessage, + isNeedUpgrade, + upgradeGitmars } diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 9327e2195..e58f310cc 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,84 +1,9 @@ -export { default as getUserInfo } from '#lib/api/getUserInfo' -export { - acceptMergeRequest, - createMergeRequest, - deleteMergeRequest, - getMergeRequestChanges, - getMergeRequestCloseIssues, - getMergeRequestCommits, - getMergeRequestDiffVersions, - getMergeRequestList, - getMergeRequestParticipants, - updateMergeRequest -} from '#lib/api/mergeRequest' - -export { default as runJenkins } from '#lib/build/runJenkins' -export { cleanBuildConfig, getBuildConfig } from '#lib/build/buildConfig' - -export { cleanCache, isCacheExpired, updateCacheTime } from '#lib/cache/cache' -export { cleanLog, setLog } from '#lib/cache/log' -export { cleanCommandCache, getCommandCache, setCommandCache } from '#lib/cache/commandCache' -export { - addRevertCache, - cleanRevertCache, - delRevertCache, - getRevertCache, - setRevertCache -} from '#lib/cache/revertCache' - -export { default as getIsGitProject } from '#lib/git/getIsGitProject' -export { default as searchBranches } from '#lib/git/searchBranches' -export { default as getCurrentBranch } from '#lib/git/getCurrentBranch' -export { default as getGitLogs } from '#lib/git/getGitLogs' -export { default as getGitLogsByCommitIDs } from '#lib/git/getGitLogsByCommitIDs' -export { default as getGitVersion } from '#lib/git/getGitVersion' -export { default as getGitConfig } from '#lib/git/getGitConfig' -export { default as getGitRevParse } from '#lib/git/getGitRevParse' -export { default as getAheadLogs } from '#lib/git/getAheadLogs' -export { default as getBehindLogs } from '#lib/git/getBehindLogs' -export { default as getIsBranchOrCommitExist } from '#lib/git/getIsBranchOrCommitExist' -export { default as getIsMergeAction } from '#lib/git/getIsMergeAction' -export { default as getIsMergedTargetBranch } from '#lib/git/getIsMergedTargetBranch' -export { default as getIsUpdatedInTime } from '#lib/git/getIsUpdatedInTime' -export { getGitEmail, getGitToken, getGitUser } from '#lib/git/getGitUser' -export { default as getBranchesFromID } from '#lib/git/getBranchesFromID' -export { default as getGitStatus } from '#lib/git/getGitStatus' -export { default as getCommandMessage } from '#lib/git/getCommandMessage' -export { default as checkGitStatus } from '#lib/git/checkGitStatus' -export { default as getStashList } from '#lib/git/getStashList' -export { default as fetch } from '#lib/git/fetch' - -export { default as cleanConfigSet } from '#lib/go/cleanConfigSet' -export { default as createPrompt } from '#lib/go/createPrompt' -export { default as getCommand } from '#lib/go/getCommand' - -// export { default as hook } from '#lib/hook' - -// const { -// init, -// remove, -// createHooks, -// removeHooks, -// createHookShell, -// removeHookShell, -// createLocalShell, -// removeLocalShell -// } = hook - -export { enUS, zhCN } from '#lib/locales' -export type { TranslatePair, Language } from '#lib/locales' - -export { default as getCurlOfMergeRequest } from '#lib/shell/getCurlOfMergeRequest' - -export { isFileExist, writeFile } from '#lib/utils/file' -export { createArgs } from '#lib/utils/command' -export { default as getSeconds } from '#lib/utils/getSeconds' -export { decodeUnicode, encodeUnicode } from '#lib/utils/unicode' -export { cleanPkgInfo, getPkgInfo } from '#lib/utils/pkgInfo' -export { default as readPkg } from '#lib/utils/readPkg' -export { getMessage, postMessage } from '#lib/utils/message' -export { default as echo } from '#lib/utils/echo' -export { debug, isDebug } from '#lib/utils/debug' +export { default as getCurlOfMergeRequest } from './getCurlOfMergeRequest' +export { getMessage, postMessage } from './message' +export { wait, queue } from './queue' +export { default as sendGroupMessage } from './sendGroupMessage' +export { isNeedUpgrade, upgradeGitmars } from './versionControl' export { default } from './index.default' +export type * from './index.default' export const version = '__VERSION__' as string diff --git a/packages/core/src/lang.ts b/packages/core/src/lang.ts index 269a110e1..8e298ce5a 100644 --- a/packages/core/src/lang.ts +++ b/packages/core/src/lang.ts @@ -1,11 +1,11 @@ import { osLangSync } from 'os-lang' -import { useLocale } from '#lib/utils/local' -import * as languages from '#lib/locales/index' +import { useLocale } from '@gitmars/utils' +import * as languages from './locales' export type LanguageType = Exclude const locales: LanguageType[] = ['enUS', 'zhCN'] -let locale = (process.env.GITMARS_LANG || osLangSync()).replace('-', '') as LanguageType -if (!locales.includes(locale)) locale = 'enUS' +let localeName = (process.env.GITMARS_LANG || osLangSync()).replace('-', '') as LanguageType +if (!locales.includes(localeName)) localeName = 'enUS' -export default useLocale(languages[locale]) +export default useLocale(languages[localeName]) diff --git a/packages/core/src/locales/en-US.ts b/packages/core/src/locales/en-US.ts index 13e416456..bf11574a7 100644 --- a/packages/core/src/locales/en-US.ts +++ b/packages/core/src/locales/en-US.ts @@ -1,100 +1,3 @@ export default { - name: 'en-US', - 'The current directory is not a git project directory': - 'The current directory is not a git project directory', - 'Successful Pushed': 'Successful Pushed', - 'Processing complete': 'Processing complete', - 'Command name cannot be empty': 'Command name cannot be empty', - 'Please enter gitm continue to continue after processing the issue in question': - 'Please enter gitm continue to continue after processing the issue in question', - Message: 'Message', - Processing: 'Processing', - 'No group message push address configured': 'No group message push address configured', - 'Sending message successfully': 'Sending message successfully', - 'Your version is detected as old, please upgrade before using': - 'Your version is detected as old, please upgrade before using', - '\nMac users upgrade method: sudo gitm upgrade latest -m -c npm \nWindows users use PowerShell or CMD: gitm upgrade latest -m -c npm.cmd': - '\nMac users upgrade method: sudo gitm upgrade latest -m -c npm \nWindows users use PowerShell or CMD: gitm upgrade latest -m -c npm.cmd', - 'Please configure the address of the api interface used to request permissions, receive parameters in the form: url?name=git_user_name, return data.level': - 'Please configure the address of the api interface used to request permissions, receive parameters in the form: url?name=git_user_name, return data.level', - 'Please set the local git user name': 'Please set the local git user name', - 'No user found, please contact admin': 'No user found, please contact admin', - 'Please set git access token': 'Please set git access token', - 'The request reported an error': 'The request reported an error', - 'Please enter the correct environment name': 'Please enter the correct environment name', - 'Please enter the correct application name': 'Please enter the correct application name', - 'Please configure the Jenkins build address template': - 'Please configure the Jenkins build address template', - 'Successfully pulled up Jenkins build': 'Successfully pulled up Jenkins build', - 'Cache time Map file': 'Cache time Map file', - 'Please pass in the name': 'Please pass in the name', - 'Gitmars package cache file': 'Gitmars package cache file', - 'You still have uncommitted files, please process them before continuing': - 'You still have uncommitted files, please process them before continuing', - 'If you need to staging files please do: gitm save\nWhen resuming: gitm get': - 'If you need to staging files please do: gitm save\nWhen resuming: gitm get', - 'You have uncommitted files': 'You have uncommitted files', - 'If you need to staging files please run: gitm save --force\nWhen resuming: gitm get': - 'If you need to staging files please run: gitm save --force\nWhen resuming: gitm get', - 'Checkout branches now': 'Checkout branches now', - 'Checkout branch successfully': 'Checkout branch successfully', - 'Failed to checkout': 'Failed to checkout', - 'Pulling code successfully': 'Pulling code successfully', - 'Failed to pull code': 'Failed to pull code', - 'Pulling code now': 'Pulling code now', - 'Pulling remote version': 'Pulling remote version', - 'Fetching success': 'Fetching success', - 'Failed to fetch': 'Failed to fetch', - Committing: 'Committing', - 'Commit success': 'Commit success', - 'Commit Failure': 'Commit Failure', - Pushing: 'Pushing', - 'Push failed': 'Push failed', - 'Syncing submission records': 'Syncing submission records', - 'Syncing submission records successfully': 'Syncing submission records successfully', - 'Failed to sync commit records': 'Failed to sync commit records', - 'Merging branch': 'Merging branch', - 'merge branch succeeded': 'merge branch succeeded', - 'merge branch failed': 'merge branch failed', - 'working on rebase branch': 'working on rebase branch', - 'rebase branch succeeded': 'rebase branch succeeded', - 'rebase branch failed': 'rebase branch failed', - 'Undoing code': 'Undoing code', - 'Undoing success': 'Undoing success', - 'undo failed': 'undo failed', - 'Cleaning up': 'Cleaning up', - 'Cleanup successful': 'Cleanup successful', - 'Cleanup failed': 'Cleanup failed', - 'git not found': 'git not found', - 'Please select': 'Please select', - 'Please fill in': 'Please fill in', - 'If prompted "fatal: not a git repository", please check the value of GIT_DIR': - 'If prompted "fatal: not a git repository", please check the value of GIT_DIR', - 'Continuous integration environment, skip hook installation': - 'Continuous integration environment, skip hook installation', - 'Environment variable GITMARS_SKIP_HOOKS already exists, skip installation': - 'Environment variable GITMARS_SKIP_HOOKS already exists, skip installation', - 'Gitmars requires Git version 2.13.0 or higher, current version': - 'Gitmars requires Git version 2.13.0 or higher, current version', - 'Gitmars > Unknown error! Please contact Wu Feng': - 'Gitmars > Unknown error! Please contact Wu Feng', - 'Please configure the message sending api template address': - 'Please configure the message sending api template address', - 'An error occurred': 'An error occurred', - 'An error has occurred! Command {command} execution failed, process exits': - 'An error has occurred! Command {command} execution failed, process exits', - 'Command {command} Execution failed': 'Command {command} Execution failed', - 'Enter the value of parameter {option}': 'Enter the value of parameter {option}', - 'Not required{tips}': 'Not required{tips}', - 'default "{defaultValue}"': 'default "{defaultValue}"', - 'Merge existing ghooks hooks: {name}': 'Merge existing ghooks hooks: {name}', - 'Merge existing pre-commit hooks: {name}': 'Merge existing pre-commit hooks: {name}', - 'Skip existing git hooks: {name}': 'Skip existing git hooks: {name}', - 'Cleaned up': 'Cleaned up', - '{name} not found': '{name} not found', - '{name} deleted': '{name} deleted', - 'File write error': 'File write error', - 'Jenkins build configuration cache file': 'Jenkins build configuration cache file', - 'Please configure apollo or buildConfigApi': 'Please configure apollo or buildConfigApi', - 'Please enter the correct project name': 'Please enter the correct project name' + name: 'en-US' } diff --git a/packages/core/src/locales/index.ts b/packages/core/src/locales/index.ts index 29486ce98..19436241b 100644 --- a/packages/core/src/locales/index.ts +++ b/packages/core/src/locales/index.ts @@ -1,5 +1,5 @@ -export { default as zhCN } from '#lib/locales/zh-CN' -export { default as enUS } from '#lib/locales/en-US' +export { default as zhCN } from './zh-CN' +export { default as enUS } from './en-US' export interface TranslatePair { [key: string]: string | string[] | TranslatePair diff --git a/packages/core/src/locales/zh-CN.ts b/packages/core/src/locales/zh-CN.ts index 5a7a25e9c..0283ee793 100644 --- a/packages/core/src/locales/zh-CN.ts +++ b/packages/core/src/locales/zh-CN.ts @@ -1,10 +1,9 @@ export default { name: 'zh-CN', - 'The current directory is not a git project directory': '当前目录不是git项目目录', 'Successful Pushed': '推送成功', 'Processing complete': '处理完成', 'Command name cannot be empty': '指令名称不能为空', - 'Please enter gitm continue to continue after processing the issue in question': + 'Enter gitm continue to continue after processing the issue in question': '请处理相关问题之后输入gitm continue继续', Message: '消息', Processing: '正在处理', @@ -14,56 +13,6 @@ export default { '检测到你的版本比较古老,请升级之后再使用', '\nMac users upgrade method: sudo gitm upgrade latest -m -c npm \nWindows users use PowerShell or CMD: gitm upgrade latest -m -c npm.cmd': '\nMac用户升级方法:sudo gitm upgrade latest -m -c npm\nWindows用户使用PowerShell或CMD:gitm upgrade latest -m -c npm.cmd', - 'Please configure the address of the api interface used to request permissions, receive parameters in the form: url?name=git_user_name, return data.level': - '请配置用于请求权限的api接口地址,接收参数形式:url?name=git_user_name,返回data.level', - 'Please set the local git user name': '请设置本地git用户名', - 'No user found, please contact admin': '没有找到用户,请联系管理员', - 'Please set git access token': '请设置git access token', - 'The request reported an error': '请求报错了', - 'Please enter the correct environment name': '请输入正确的环境名称', - 'Please enter the correct application name': '请输入正确的应用名称', - 'Please configure the Jenkins build address template': '请配置Jenkins构建地址模板', - 'Successfully pulled up Jenkins build': '成功调起Jenkins构建', - 'Cache time Map file': '缓存时间Map文件', - 'Please pass in the name': '请传入名称', - 'Gitmars package cache file': 'Gitmars包缓存文件', - 'You still have uncommitted files, please process them before continuing': - '您还有未提交的文件,请处理后再继续', - 'If you need to staging files please do: gitm save\nWhen resuming: gitm get': - '如果需要暂存文件请执行: gitm save\n恢复时执行:gitm get', - 'You have uncommitted files': '您有未加入版本的文件', - 'If you need to staging files please run: gitm save --force\nWhen resuming: gitm get': - '如果需要暂存文件请执行: gitm save --force\n恢复时执行:gitm get', - 'Checkout branches now': '正在切换分支', - 'Checkout branch successfully': '切换分支成功', - 'Failed to checkout': '切换分支失败', - 'Pulling code successfully': '拉取代码成功', - 'Failed to pull code': '拉取代码失败', - 'Pulling code now': '正在拉取代码', - 'Pulling remote version': '正在拉取远程版本', - 'Fetching success': '抓取成功', - 'Failed to fetch': '抓取失败', - Committing: '正在提交', - 'Commit success': '提交成功', - 'Commit Failure': '提交失败', - Pushing: '正在推送', - 'Push failed': '推送失败', - 'Syncing submission records': '正在同步提交记录', - 'Syncing submission records successfully': '同步提交记录成功', - 'Failed to sync commit records': '同步提交记录失败', - 'Merging branch': '正在merge分支', - 'merge branch succeeded': 'merge分支成功', - 'merge branch failed': 'merge分支失败', - 'working on rebase branch': '正在rebase分支', - 'rebase branch succeeded': 'rebase分支成功', - 'rebase branch failed': 'rebase分支失败', - 'Undoing code': '正在回撤代码', - 'Undoing success': '撤销成功', - 'undo failed': '撤销失败', - 'Cleaning up': '正在清理', - 'Cleanup successful': '清理成功', - 'Cleanup failed': '清理失败', - 'git not found': '没有找到git', 'Please select': '请选择', 'Please fill in': '请填写', 'If prompted "fatal: not a git repository", please check the value of GIT_DIR': @@ -74,8 +23,6 @@ export default { 'Gitmars requires Git version 2.13.0 or higher, current version': 'Gitmars需要使用2.13.0以上版本的Git,当前版本', 'Gitmars > Unknown error! Please contact Wu Feng': 'Gitmars > 未知错误!请联系吴峰', - 'Please configure the message sending api template address': '请配置消息发送api模板地址', - 'An error occurred': '出错了', 'An error has occurred! Command {command} execution failed, process exits': '出错了!指令 {cmd} 执行失败,中断了进程', 'Command {command} Execution failed': '指令 {command} 执行失败', @@ -85,11 +32,7 @@ export default { 'Merge existing ghooks hooks: {name}': '合并已存在的ghooks钩子: {name}', 'Merge existing pre-commit hooks: {name}': '合并已存在的pre-commit钩子: {name}', 'Skip existing git hooks: {name}': '跳过已存在的git钩子: {name}', - 'Cleaned up': '清理完毕', - '{name} not found': '{name}未找到', - '{name} deleted': '{name}已删除', - 'File write error': '文件写入错误', - 'Jenkins build configuration cache file': 'Jenkins构建配置缓存文件', - 'Please configure apollo or buildConfigApi': '请配置apollo或buildConfigApi', - 'Please enter the correct project name': '请输入正确的项目名称' + 'Enter the correct project name': '输入正确的项目名称', + 'Enter project name': '输入项目名称', + 'Please configure the message sending api template address': '请配置消息发送api模板地址' } diff --git a/packages/core/src/utils/message.ts b/packages/core/src/message.ts similarity index 80% rename from packages/core/src/utils/message.ts rename to packages/core/src/message.ts index 12c3eb07a..dc852a75a 100644 --- a/packages/core/src/utils/message.ts +++ b/packages/core/src/message.ts @@ -1,11 +1,9 @@ import sh from 'shelljs' import chalk from 'chalk' import { mapTemplate } from 'js-cool' -import getGitConfig from '#lib/git/getGitConfig' -import getGitRevParse from '#lib/git/getGitRevParse' -import sendGroupMessage from '#lib/sendGroupMessage' -import getConfig from '#lib/getConfig' -import lang from '#lib/lang' +import { getConfig, getGitConfig, getGitRevParse } from '@gitmars/git' +import sendGroupMessage from './sendGroupMessage' +import lang from './lang' const { t } = lang @@ -61,8 +59,3 @@ export async function postMessage(msg = ''): Promise { }) message && (await sendGroupMessage(message)) } - -export default { - getMessage, - postMessage -} diff --git a/packages/core/src/queue.ts b/packages/core/src/queue.ts index 160bc9bc8..a85d31fbe 100644 --- a/packages/core/src/queue.ts +++ b/packages/core/src/queue.ts @@ -2,19 +2,12 @@ import { createRequire } from 'node:module' import ora from 'ora' import { extend } from 'js-cool' import chalk from 'chalk' -import type { - CommandMessageType, - CommandType, - CommandTypeCmd, - QueueReturnsType -} from '../typings/core' -import { setCommandCache } from '#lib/cache/commandCache' -import getCommandMessage from '#lib/git/getCommandMessage' -import { setLog } from '#lib/cache/log' -import { postMessage } from '#lib/utils/message' -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' -import lang from '#lib/lang' +import { setCommandCache, setLog } from '@gitmars/cache' +import { getCommandMessage } from '@gitmars/git' +import { debug, spawnSync } from '@gitmars/utils' +import { postMessage } from './message' +import type { CommandMessageType, CommandType, CommandTypeCmd, QueueReturnsType } from './types' +import lang from './lang' const { t } = lang const require = createRequire(import.meta.url) @@ -95,7 +88,7 @@ export function queue(list: Array): Promise): Promise 0 && spinner.fail( chalk.red( - t( - 'Please enter gitm continue to continue after processing the issue in question' - ) + t('Enter gitm continue to continue after processing the issue in question') ) ) process.exit(1) @@ -124,7 +112,7 @@ export function queue(list: Array): Promise): Promise): Promise = T extends ReadonlyArray ? T[number] : T[keyof T] + +// export function GitmarsOptionFunctionType(val: string, opts: object, cb: any): void + +export type GitmarsBranchType = 'feature' | 'bugfix' | 'support' + +export type VersionControlType = 'patch' | 'minor' | 'major' | false + +export type ApolloBranchList = 'dev' | 'bug' | 'prod' + +export interface ApolloConfigProjectType { + name: string + project: string + apps?: string[] +} + +export interface ApolloConfigBranchType { + line: string + token: string + list: ApolloConfigProjectType[] +} + +export type ApolloConfigType = { + [props in ApolloBranchList]: ApolloConfigBranchType +} & { + username: string + password: string + template: string // 不带参数 + templateWithParam: string // 带参数 + gitNotificationGroupUrl?: string | string[] // 推送群消息的api +} + +export interface ModuleCommandType { + module: string + entry?: string + options?: unknown +} + +export interface CommandTypeCmd { + cmd: string | string[] | ModuleCommandType + config: QueueConfigType +} + +export interface CommandTypeMessage { + message: string +} + +export type CommandType = CommandTypeCmd | CommandTypeMessage + +export interface QueueConfigType extends SpawnOptions { + again?: boolean | string + processing?: string + success?: string + fail?: string + postmsg?: boolean + kill?: boolean +} + +export interface QueueReturnsType + extends Partial, 'stdout' | 'stderr' | 'status'>> { + cfg: QueueConfigType + cmd: string | string[] | ModuleCommandType +} + +export interface CommandMessageType { + processing?: string + success?: string + fail?: string +} diff --git a/packages/core/src/utils/local.ts b/packages/core/src/utils/local.ts deleted file mode 100644 index 726ddb295..000000000 --- a/packages/core/src/utils/local.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { get } from 'lodash-unified' -import { type Language } from '#lib/locales/index' - -export type TranslatorOption = Record -export type Translator = (path: string, option?: TranslatorOption) => string -export interface LocaleContext { - locale: Language - lang: string - t: Translator -} - -export const translate = ( - path: string, - option: undefined | TranslatorOption, - locale: Language -): string => - (get(locale, path, path) as string).replace( - /\{(\w+)\}/g, - (_, key) => `${option?.[key] ?? `{${key}}`}` - ) - -export const buildTranslator = - (locale: Language): Translator => - (path, option) => - translate(path, option, locale) - -export const useLocale = (locale: Language): LocaleContext => { - const lang = locale.name - return { - lang, - locale, - t: buildTranslator(locale) - } as LocaleContext -} - -// import { get } from 'lodash-unified' -// import { type Language } from '#lib/locales/index' - -// export type TranslatorOption = Record -// export type Translator = (path: string, option?: TranslatorOption) => string -// export interface LocaleContext { -// locale: Language -// lang: string -// t: Translator -// } - -// export const translate = ( -// path: string, -// option: undefined | TranslatorOption, -// locale: Language -// ): string => -// (get(locale, path, path) as string).replace( -// /\{(\w+)\}/g, -// (_, key) => `${option?.[key] ?? `{${key}}`}` -// ) - -// export const buildTranslator = -// (locale: Language): Translator => -// (path, option) => -// translate(path, option, locale) - -// export const buildLocaleContext = (locale: Language): LocaleContext => { -// return { -// lang: locale.name, -// locale, -// t: buildTranslator(locale) -// } -// } - -// export const useLocale = (locale: Language): LocaleContext => { -// return buildLocaleContext(locale) as LocaleContext -// } diff --git a/packages/core/src/versionControl.ts b/packages/core/src/versionControl.ts index 787bb31c4..2c545600e 100644 --- a/packages/core/src/versionControl.ts +++ b/packages/core/src/versionControl.ts @@ -3,10 +3,10 @@ import sh from 'shelljs' import chalk from 'chalk' import semverDiff from 'semver-diff' // import { version } from '../package.json' assert { type: 'json' } -import type { VersionControlType } from '../typings/core' -import { getPkgInfo } from '#lib/utils/pkgInfo' -import { debug } from '#lib/utils/debug' -import lang from '#lib/lang' +import { getPkgInfo } from '@gitmars/cache' +import { debug } from '@gitmars/utils' +import type { VersionControlType } from './types' +import lang from './lang' const { t } = lang const require = createRequire(import.meta.url) @@ -20,8 +20,21 @@ const { version } = require('../package.json') */ export async function isNeedUpgrade(type?: VersionControlType): Promise { type ??= 'minor' - const { 'dist-tags': tags, versions } = await getPkgInfo() - debug('tags-versions', tags, versions) + const { 'dist-tags': tags } = await getPkgInfo() + let tagVersion = tags.latest, + isPreVer = false + + if (version.includes('alpha')) { + tagVersion = tags.alpha + isPreVer = true + } else if (version.includes('beta')) { + tagVersion = tags.beta + isPreVer = true + } else if (version.includes('rc')) { + tagVersion = tags.rc + isPreVer = true + } + debug('tags-versions', tags, tagVersion) // let compareVers = [] // if (version.indexOf('1.') === 0) { // // compareVers = versions.filter( @@ -37,7 +50,9 @@ export async function isNeedUpgrade(type?: VersionControlType): Promise // return parseFloat(tags.lite) > parseFloat(version) // } const semver = semverDiff(version, tags.latest) + const semverTag = semverDiff(version, tagVersion) if (!type || !semver) return false + else if (isPreVer && semverTag) return true return ( (type === 'patch' && ['prerelease', 'major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch'].includes( @@ -63,8 +78,3 @@ export function upgradeGitmars() { ) process.exit(1) } - -export default { - isNeedUpgrade, - upgradeGitmars -} diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 5c453cfee..119b2ad90 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,6 +1,5 @@ { "extends": "../../tsconfig.json", - "exclude": ["**/__tests__"], "compilerOptions": { // "composite": true, "target": "ESNext", @@ -9,11 +8,8 @@ "declaration": true, "emitDeclarationOnly": true, "rootDir": "src", - "outDir": "lib", + "outDir": "temp", "baseUrl": ".", - "paths": { - "#lib/*": ["./src/*"], - "#conf/*": ["./src/conf/*"] - } + "paths": {} } } diff --git a/packages/docs/.eslintignore b/packages/docs/.eslintignore deleted file mode 100644 index c5617e9ab..000000000 --- a/packages/docs/.eslintignore +++ /dev/null @@ -1,11 +0,0 @@ -lib -es -dist - -*.bak -*_bak -*.bak.js - -stats.html -#Electron-builder output -dist_electron diff --git a/packages/docs/.eslintrc.cjs b/packages/docs/.eslintrc.cjs index 841b0418c..c9466f720 100644 --- a/packages/docs/.eslintrc.cjs +++ b/packages/docs/.eslintrc.cjs @@ -1,3 +1,17 @@ module.exports = { - extends: '@eslint-sets/vue3' + extends: '@eslint-sets/vue3', + ignorePatterns: [ + 'lib', + 'es', + 'dist', + 'docs', + 'app', + 'ui', + 'cache/*', + '*_bak', + '*.bak', + 'pnpm-lock.yaml', + 'stats.html', + 'dist_electron' + ] } diff --git a/packages/docs/.vitepress/config.ts b/packages/docs/.vitepress/config.ts index 656485582..27f83330f 100644 --- a/packages/docs/.vitepress/config.ts +++ b/packages/docs/.vitepress/config.ts @@ -146,6 +146,10 @@ const sidebar = { text: 'gitm build', link: '/api/#gitm-build' }, + { + text: 'gitm build-mp', + link: '/api/#gitm-build-mp' + }, { text: 'gitm branch', link: '/api/#gitm-branch' diff --git a/packages/docs/api/index.md b/packages/docs/api/index.md index 5ce781973..ded108347 100644 --- a/packages/docs/api/index.md +++ b/packages/docs/api/index.md @@ -16,9 +16,9 @@ sidebarDepth: 2
-| 参数 | 说明 | 类型 | 可选值 | 必填 | 默认 | -| ------- | -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ---- | -| command | 指令名称 | `String` | combine、end、update、build、start、undo、redo、suggest、approve、review、admin.publish、admin.update、admin.create、admin.clean、admin.approve、branch、copy、get、save、cleanbranch、clean、revert、link、unlink、postmsg | 否 | - | +| 参数 | 说明 | 类型 | 可选值 | 必填 | 默认 | +| ------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ---- | +| command | 指令名称 | `String` | combine、end、update、build、build-mp、start、undo、redo、suggest、approve、review、admin.publish、admin.update、admin.create、admin.clean、admin.approve、branch、copy、get、save、cleanbranch、clean、revert、link、unlink、postmsg | 否 | - |
@@ -158,6 +158,7 @@ gitm start bugfix 1001 --tag 20211010 > v2.11.0 新增`--description`传参 > v5.3.0 增加data传值,支持传入额外的参数 +> v7.0.0 开始支持批量合并 bugfix 分支和 feature 分支需要提交到 dev 或者预发布环境时使用 combine 指令来自动执行合并 @@ -244,12 +245,20 @@ gitm cb -pd --no-bugfix gitm combine -b --data '{"app_id":"xxxxxx"}' ``` +7. 批量选择feature分支进行合并 + +```shell +# 输入指令并按提示选择要合并的分支 +gitm cb feature -d +``` + ### gitm end #### 短指令:gitm ed > v2.9.6 版本开始,`end`指令智能判断是否需要合并代码,不传`--no-combine`时,不需要合并的时候不会发起合并操作
> v2.11.0 新增`--description`传参 +> v7.0.0 开始支持批量结束分支 任务完成,合并并删除分支,这个操作会把 20001 这个分支代码合并到 bug 分支并删除 20001 分支(远程的 20001 分支也会同步删除) @@ -299,6 +308,13 @@ gitm end --no-combine gitm end --as-feature ``` +3. 批量选择feature分支进行清理 + +```shell +# 输入指令并按提示选择要清理的分支 +gitm end feature +``` + ### gitm update #### 短指令:gitm up @@ -456,17 +472,18 @@ gitm cp xxxxxx > v5.3.0 增加data传值,支持传入额外的参数
> v6.2.0 新增--confirm 参数 +> v7.0.0 版本调整为支持选择参数的形式,`project`参数取消必填限制 该指令用于发起 Jenkins 构建,project 必传,app 名称可传入 all -- 使用:`gitm build [-e --env [env]] [-a --app [app]] [-d --data ] [-c --confirm]` +- 使用:`gitm build [project] [-e --env [env]] [-a --app [app]] [-d --data ] [-c --confirm]` - 参数:
-| 参数 | 说明 | 类型 | 可选值 | 必填 | 默认 | -| ------- | -------------- | -------- | ------ | ---- | ---- | -| project | 需要构建的项目 | `String` | - | 是 | - | +| 参数 | 说明 | 类型 | 可选值 | 必填 | 默认 | +| ------- | --------------------------------------------- | -------- | ------ | ---- | ---- | +| project | 需要构建的项目,不传时,取git地址上的项目名称 | `String` | - | 否 | - |
@@ -476,8 +493,8 @@ gitm cp xxxxxx | 名称 | 简写 | 说明 | 类型 | 可选值 | 传值必填 | 默认 | | --------- | ---- | ---------------------------------- | --------- | ------------ | -------- | ------- | -| --env | -e | 要构建的环境 | `String` | dev/prod/bug | 是 | - | -| --app | -a | 需要构建的子项目 | `String` | - | 否 | `all` | +| --env | -e | 要构建的环境 | `String` | dev/prod/bug | 否 | - | +| --app | -a | 需要构建的子项目 | `String` | - | 否 | - | | --data | -d | 需要传输的其他数据,传入JSON字符串 | `String` | - | 否 | '{}' | | --confirm | -c | 确认开始,为 true 时不显示确认框 | `Boolean` | - | 否 | `false` | @@ -491,6 +508,61 @@ gitm cp xxxxxx gitm build gitmars --env dev --app app ``` +2. 自选参数形式 + +```shell +gitm build +``` + +### gitm build-mp + +#### 短指令:gitm bdm + +> v7.0.0 版本新增 + +该指令用于发起 Jenkins 构建小程序 + +- 使用:`gitm build-mp [project] [-e --env [env]] [--api-env [apiEnv]] [-mp --miniprogram [miniprogram]] [-des --description [description]] [-a --app [app]] [-d --data ] [-c --confirm]` +- 参数: + +
+ +| 参数 | 说明 | 类型 | 可选值 | 必填 | 默认 | +| ------- | --------------------------------------------- | -------- | ------ | ---- | ---- | +| project | 需要构建的项目,不传时,取git地址上的项目名称 | `String` | - | 否 | - | + +
+ +- 传值: + +
+ +| 名称 | 简写 | 说明 | 类型 | 可选值 | 传值必填 | 默认 | +| ------------- | ---- | ---------------------------------- | --------- | ---------------------------- | -------- | ------- | +| --env | -e | 要构建的环境 | `String` | dev/prod/bug | 否 | - | +| --api-env | | 要构建的API环境 | `String` | alpha/tag/release/production | 否 | - | +| --miniprogram | -mp | 生成体验版小程序 | `String` | - | 否 | - | +| --description | -des | 版本描述 | `String` | - | 否 | - | +| --app | -a | 需要构建的子项目 | `String` | weapp/alipay/tt/dd/swan | 否 | - | +| --data | -d | 需要传输的其他数据,传入JSON字符串 | `String` | - | 否 | '{}' | +| --confirm | -c | 确认开始,为 true 时不显示确认框 | `Boolean` | - | 否 | `false` | + +
+ +- 示例: + +1. 构建 gitmars 的 app 应用 + +```shell +gitm build-mp gitmars --env dev --app weapp +``` + +2. 自选参数形式 + +```shell +gitm build-mp +``` + ### gitm branch #### 短指令:gitm bh diff --git a/packages/docs/changelog.md b/packages/docs/changelog.md index 1efd57aec..1e16d3218 100644 --- a/packages/docs/changelog.md +++ b/packages/docs/changelog.md @@ -1,5 +1,15 @@ # 更新日志 +## 2024.04.23 v7.0.0 + +1. 重构项目,合理规划代码 +2. 新增`build-mp`指令构建小程序 +3. `end` `combine` 指令支持批量操作 +4. `build`指令改造成可选参数形式,project参数取消必填限制 +5. 构建配置支持在list里面设置token +6. 清理不需要的依赖包 +7. 升级依赖包 + ## 2024.03.17 v6.4.0 1. 优化提示信息 diff --git a/packages/docs/go/index.md b/packages/docs/go/index.md index 9ce5d2e63..5c6464f29 100644 --- a/packages/docs/go/index.md +++ b/packages/docs/go/index.md @@ -11,9 +11,9 @@ sidebar: null
-| 参数 | 说明 | 类型 | 可选值 | 必填 | 默认 | -| ------- | -------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ---- | -| command | 指令名称 | String | combine、end、update、build、start、undo、redo、suggest、approve、review、admin.publish、admin.update、admin.create、admin.clean、admin.approve、branch、copy、get、save、revert、link、unlink、postmsg | 否 | - | +| 参数 | 说明 | 类型 | 可选值 | 必填 | 默认 | +| ------- | -------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ---- | +| command | 指令名称 | String | combine、end、update、build、build-mp、start、undo、redo、suggest、approve、review、admin.publish、admin.update、admin.create、admin.clean、admin.approve、branch、copy、get、save、revert、link、unlink、postmsg | 否 | - |
diff --git a/packages/docs/guide/basic-config.md b/packages/docs/guide/basic-config.md index 57dc9c118..7cbca0a51 100644 --- a/packages/docs/guide/basic-config.md +++ b/packages/docs/guide/basic-config.md @@ -163,7 +163,8 @@ apollo 构建项目配置参考 "list": [ { "name": "project1", - "project": "git_project1" + "project": "git_project1", + "token": "" // 这个token的优先级比上一层的token高 }, { "name": "project2", diff --git a/packages/docs/guide/index.md b/packages/docs/guide/index.md index fd1f37b5a..bd21caf9e 100644 --- a/packages/docs/guide/index.md +++ b/packages/docs/guide/index.md @@ -81,6 +81,7 @@ title: guide - 查看当前分支状态 [gitm status](../api/#gitm-status) - 升级 gitmars [gitm upgrade](../api/#gitm-upgrade) - 构建 Jenkins [gitm build](../api/#gitm-build) +- 构建小程序 Jenkins [gitm build-mp](../api/#gitm-build-mp) - 解除软链接 [gitm unlink](../api/#gitm-unlink) - 软链接 [gitm link](../api/#gitm-link) - 清除缓存 [gitm clean](../api/#gitm-clean) diff --git a/packages/docs/package.json b/packages/docs/package.json index d55c52f73..c0eb51415 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,7 +1,7 @@ { "name": "@gitmars/docs", "description": "gitmars文档库", - "version": "6.4.0", + "version": "7.0.0-beta.24", "private": false, "files": [ "dist", @@ -20,25 +20,24 @@ "directories": { "dist": "dist", "es": "es", - "lib": "lib", - "typings": "typings" + "lib": "lib" }, "dependencies": { - "js-cool": "^5.18.1" + "js-cool": "^5.19.0" }, "devDependencies": { - "@eslint-sets/eslint-config-vue3": "^5.12.0", - "@types/markdown-it": "^13.0.7", - "@types/node": "^20.11.24", + "@eslint-sets/eslint-config-vue3": "^5.13.0", + "@types/markdown-it": "^14.0.1", + "@types/node": "^20.12.7", "eslint": "^8.57.0", - "markdown-it": "^14.0.0", + "markdown-it": "^14.1.0", "markdown-it-anchor": "^8.6.7", "markdown-it-container": "^4.0.0", "prettier": "^3.2.5", "prettier-config-common": "^1.4.0", "tsnd": "^1.1.0", - "typescript": "^5.3.3", - "vitepress": "1.0.0-rc.44" + "typescript": "^5.4.5", + "vitepress": "1.1.3" }, "sideEffects": false, "keywords": [ @@ -61,5 +60,8 @@ "publishConfig": { "registry": "https://registry.npmjs.org", "access": "public" - } + }, + "module": "./dist/index.esm-bundler.js", + "main": "./dist/index.cjs.js", + "types": "./dist/index.d.ts" } diff --git a/packages/docs/vite.config.mts b/packages/docs/vite.config.mts index 76e9c9681..bfc992536 100644 --- a/packages/docs/vite.config.mts +++ b/packages/docs/vite.config.mts @@ -1,4 +1,4 @@ -import { resolve } from 'path' +// import { resolve } from 'path' import { defineConfig } from 'vite' export default defineConfig({ diff --git a/packages/git/.eslintrc.js b/packages/git/.eslintrc.js new file mode 100644 index 000000000..beb2a4395 --- /dev/null +++ b/packages/git/.eslintrc.js @@ -0,0 +1,21 @@ +module.exports = { + extends: '@eslint-sets/ts', + rules: { + camelcase: 0, + 'import/namespace': [2, { allowComputed: true }] + }, + ignorePatterns: [ + 'lib', + 'es', + 'dist', + 'docs', + 'app', + 'ui', + 'cache/*', + '*_bak', + '*.bak', + 'pnpm-lock.yaml', + 'stats.html', + 'dist_electron' + ] +} diff --git a/packages/git/LICENSE b/packages/git/LICENSE new file mode 100644 index 000000000..7eb5b6aa8 --- /dev/null +++ b/packages/git/LICENSE @@ -0,0 +1,676 @@ +saqqdy +========== + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/packages/git/README.md b/packages/git/README.md new file mode 100644 index 000000000..e0e1fb8b4 --- /dev/null +++ b/packages/git/README.md @@ -0,0 +1,57 @@ +
+ +# @gitmars/git + +some git js for gitmars + +[![NPM version][npm-image]][npm-url] +[![Codacy Badge][codacy-image]][codacy-url] +[![npm download][download-image]][download-url] +[![gzip][gzip-image]][gzip-url] +[![License][license-image]][license-url] + +[![Sonar][sonar-image]][sonar-url] + +
+ +## Install + +```bash +# use npm +$ npm install @gitmars/git --save + +# use yarn +$ yarn add @gitmars/git + +# use pnpm +$ pnpm install @gitmars/git +``` + +## Usage + +```js +const { getUserInfo } = require('@gitmars/git') + +getUserInfo() +``` + +## Issues & Support + +Please open an issue [here](https://github.com/saqqdy/@gitmars/git/issues). + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/@gitmars/git.svg?style=flat-square +[npm-url]: https://npmjs.org/package/@gitmars/git +[codacy-image]: https://app.codacy.com/project/badge/Grade/f70d4880e4ad4f40aa970eb9ee9d0696 +[codacy-url]: https://www.codacy.com/gh/saqqdy/@gitmars/git/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saqqdy/@gitmars/git&utm_campaign=Badge_Grade +[download-image]: https://img.shields.io/npm/dm/@gitmars/git.svg?style=flat-square +[download-url]: https://npmjs.org/package/@gitmars/git +[gzip-image]: http://img.badgesize.io/https://unpkg.com/@gitmars/git/index.js?compression=gzip&label=gzip%20size:%20JS +[gzip-url]: http://img.badgesize.io/https://unpkg.com/@gitmars/git/index.js?compression=gzip&label=gzip%20size:%20JS +[license-image]: https://img.shields.io/badge/License-MIT-blue.svg +[license-url]: LICENSE +[sonar-image]: https://sonarcloud.io/api/project_badges/quality_gate?project=saqqdy_gitmars +[sonar-url]: https://sonarcloud.io/dashboard?id=saqqdy_gitmars diff --git a/packages/git/api-extractor.json b/packages/git/api-extractor.json new file mode 100644 index 000000000..445e874b7 --- /dev/null +++ b/packages/git/api-extractor.json @@ -0,0 +1,44 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "projectFolder": ".", + "mainEntryPointFilePath": "./temp/index.d.ts", + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./dist/index.d.ts" + }, + "apiReport": { + "enabled": false + }, + "docModel": { + "enabled": false + }, + "tsdocMetadata": { + "enabled": false + }, + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "extractorMessageReporting": { + "default": { + "logLevel": "warning", + "addToApiReportFile": true + }, + + "ae-missing-release-tag": { + "logLevel": "none" + } + }, + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + }, + "tsdoc-undefined-tag": { + "logLevel": "none" + } + } + } +} diff --git a/packages/git/package.json b/packages/git/package.json new file mode 100644 index 000000000..50207627c --- /dev/null +++ b/packages/git/package.json @@ -0,0 +1,71 @@ +{ + "name": "@gitmars/git", + "description": "gitmars git", + "version": "7.0.0-beta.24", + "private": false, + "main": "./dist/index.cjs.js", + "module": "./dist/index.esm-bundler.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "module": "./dist/index.esm-bundler.js", + "require": "./dist/index.cjs.js", + "import": "./dist/index.mjs" + }, + "./*": "./*" + }, + "files": [ + "dist", + "typings", + "*.d.ts" + ], + "scripts": {}, + "directories": { + "bin": "bin", + "dist": "dist", + "src": "src" + }, + "dependencies": { + "@gitmars/core": "workspace:*", + "@gitmars/utils": "workspace:*", + "chalk": "^4.1.2", + "cosmiconfig": "^9.0.0", + "os-lang": "^3.2.0", + "shelljs": "^0.8.5", + "slash": "^3.0.0" + }, + "devDependencies": { + "@eslint-sets/eslint-config-ts": "^5.13.0", + "@types/node": "^20.12.7", + "@types/shelljs": "^0.8.15", + "cross-env": "^7.0.3", + "eslint": "^8.57.0", + "madge": "^7.0.0", + "prettier": "^3.2.5", + "prettier-config-common": "^1.4.0", + "tsnd": "^1.1.0", + "typescript": "^5.4.5" + }, + "sideEffects": false, + "keywords": [ + "gitmars", + "git", + "tool" + ], + "license": "GPL-3.0", + "author": "saqqdy ", + "homepage": "https://github.com/saqqdy/gitmars/tree/master/packages/git#readme", + "bugs": { + "url": "https://github.com/saqqdy/gitmars/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/saqqdy/gitmars.git", + "directory": "packages/git" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org", + "access": "public" + } +} diff --git a/packages/core/src/git/checkGitStatus.ts b/packages/git/src/checkGitStatus.ts similarity index 87% rename from packages/core/src/git/checkGitStatus.ts rename to packages/git/src/checkGitStatus.ts index 99eb99c86..88426618a 100644 --- a/packages/core/src/git/checkGitStatus.ts +++ b/packages/git/src/checkGitStatus.ts @@ -1,8 +1,8 @@ import sh from 'shelljs' import chalk from 'chalk' -import { debug } from '#lib/utils/debug' -import getGitStatus from '#lib/git/getGitStatus' -import lang from '#lib/lang' +import { debug } from '@gitmars/utils' +import getGitStatus from './getGitStatus' +import lang from './lang' const { t } = lang diff --git a/packages/core/src/git/fetch.ts b/packages/git/src/fetch.ts similarity index 63% rename from packages/core/src/git/fetch.ts rename to packages/git/src/fetch.ts index d9d0dd872..38edcb26a 100644 --- a/packages/core/src/git/fetch.ts +++ b/packages/git/src/fetch.ts @@ -1,5 +1,4 @@ -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' +import { debug, spawnSync } from '@gitmars/utils' /** * 同步远程版本 diff --git a/packages/core/src/git/getAheadLogs.ts b/packages/git/src/getAheadLogs.ts similarity index 69% rename from packages/core/src/git/getAheadLogs.ts rename to packages/git/src/getAheadLogs.ts index e38c22e09..f50f400da 100644 --- a/packages/core/src/git/getAheadLogs.ts +++ b/packages/git/src/getAheadLogs.ts @@ -1,7 +1,6 @@ -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' -import fetch from '#lib/git/fetch' -import getCurrentBranch from '#lib/git/getCurrentBranch' +import { debug, spawnSync } from '@gitmars/utils' +import fetch from './fetch' +import getCurrentBranch from './getCurrentBranch' /** * 获取当前本地分支领先远程的日志 diff --git a/packages/core/src/git/getBehindLogs.ts b/packages/git/src/getBehindLogs.ts similarity index 73% rename from packages/core/src/git/getBehindLogs.ts rename to packages/git/src/getBehindLogs.ts index 957b118a8..b5fdaa05c 100644 --- a/packages/core/src/git/getBehindLogs.ts +++ b/packages/git/src/getBehindLogs.ts @@ -1,7 +1,6 @@ -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' -import fetch from '#lib/git/fetch' -import getCurrentBranch from '#lib/git/getCurrentBranch' +import { debug, spawnSync } from '@gitmars/utils' +import fetch from './fetch' +import getCurrentBranch from './getCurrentBranch' /** * 获取当前本地分支落后远程的日志 diff --git a/packages/core/src/git/getBranchesFromID.ts b/packages/git/src/getBranchesFromID.ts similarity index 85% rename from packages/core/src/git/getBranchesFromID.ts rename to packages/git/src/getBranchesFromID.ts index 5832be900..1e15c8d49 100644 --- a/packages/core/src/git/getBranchesFromID.ts +++ b/packages/git/src/getBranchesFromID.ts @@ -1,5 +1,4 @@ -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' +import { debug, spawnSync } from '@gitmars/utils' /** * 获取包含commitID的分支 diff --git a/packages/core/src/git/getCommandMessage.ts b/packages/git/src/getCommandMessage.ts similarity index 95% rename from packages/core/src/git/getCommandMessage.ts rename to packages/git/src/getCommandMessage.ts index 6b139fc41..2bf1612e8 100644 --- a/packages/core/src/git/getCommandMessage.ts +++ b/packages/git/src/getCommandMessage.ts @@ -1,5 +1,5 @@ -import type { CommandMessageType } from '../../typings/core' -import lang from '#lib/lang' +import type { CommandMessageType } from './types' +import lang from './lang' const { t } = lang diff --git a/packages/core/src/getConfig.ts b/packages/git/src/getConfig.ts similarity index 88% rename from packages/core/src/getConfig.ts rename to packages/git/src/getConfig.ts index 5b96a6ed6..3330eaf48 100644 --- a/packages/core/src/getConfig.ts +++ b/packages/git/src/getConfig.ts @@ -1,10 +1,9 @@ import { statSync } from 'fs' import { cosmiconfigSync } from 'cosmiconfig' -import type { GitmarsConfigExtend } from '../typings/core' -import getGitRevParse from '#lib/git/getGitRevParse' -import { debug } from '#lib/utils/debug' -import echo from '#lib/utils/echo' -import lang from '#lib/lang' +import { debug, echo } from '@gitmars/utils' +import getGitRevParse from './getGitRevParse' +import type { GitmarsConfigExtend } from './types' +import lang from './lang' const { t } = lang const defaults = { diff --git a/packages/core/src/git/getCurrentBranch.ts b/packages/git/src/getCurrentBranch.ts similarity index 74% rename from packages/core/src/git/getCurrentBranch.ts rename to packages/git/src/getCurrentBranch.ts index c922616ac..a29028990 100644 --- a/packages/core/src/git/getCurrentBranch.ts +++ b/packages/git/src/getCurrentBranch.ts @@ -1,9 +1,9 @@ -import { spawnSync } from '#lib/spawn' +import { spawnSync } from '@gitmars/utils' /** * 获取当前分支 * - * @returns {String} Return name + * @returns - Return name */ function getCurrentBranch(): string { const { stdout } = spawnSync('git', ['symbolic-ref', '--short', '-q', 'HEAD']) diff --git a/packages/core/src/git/getGitConfig.ts b/packages/git/src/getGitConfig.ts similarity index 90% rename from packages/core/src/git/getGitConfig.ts rename to packages/git/src/getGitConfig.ts index afe5eac72..a5284ef88 100644 --- a/packages/core/src/git/getGitConfig.ts +++ b/packages/git/src/getGitConfig.ts @@ -1,6 +1,5 @@ import slash from 'slash' -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' +import { debug, spawnSync } from '@gitmars/utils' export interface GitProjectConfigType { gitUrl: string diff --git a/packages/core/src/git/getGitLogs.ts b/packages/git/src/getGitLogs.ts similarity index 61% rename from packages/core/src/git/getGitLogs.ts rename to packages/git/src/getGitLogs.ts index dfd3b2fe0..137c335d1 100644 --- a/packages/core/src/git/getGitLogs.ts +++ b/packages/git/src/getGitLogs.ts @@ -1,17 +1,23 @@ -import type { GitLogKeysType, GitLogsType } from '../../typings/core' -import { spawnSync } from '#lib/spawn' -import getSeconds from '#lib/utils/getSeconds' -import { debug } from '#lib/utils/debug' -import GitLogsFormatter from '#lib/git/gitLogsFormatter' +import { debug, getSeconds, spawnSync } from '@gitmars/utils' +import GitLogsFormatter from './gitLogsFormatter' +import type { GitLogKeysType, GitLogsType } from './types' export interface GetGitLogsOption { + // 限制显示最近多长时间的日志 lastet?: string + // 限制数量 limit?: number + // Attached parameters params?: string + // Fields to be returned keys?: GitLogKeysType[] + // 是否排除merge记录 noMerges?: boolean + // 筛选关键词 grep?: string + // 筛选提交人 author?: string + // 要查询的分支 branch?: string } @@ -19,14 +25,6 @@ export interface GetGitLogsOption { * 获取日志 * * @param option - Parameters - * @param option.lastet - 限制显示最近多长时间的日志 - * @param option.limit - 限制数量 - * @param option.noMerges - 是否排除merge记录 - * @param option.params - Attached parameters - * @param option.keys - Fields to be returned - * @param option.grep - 筛选关键词 - * @param option.author - 筛选提交人 - * @param option.branch - 要查询的分支 * @returns logsList - Return array */ function getGitLogs(option: GetGitLogsOption = {}): GitLogsType[] { diff --git a/packages/core/src/git/getGitLogsByCommitIDs.ts b/packages/git/src/getGitLogsByCommitIDs.ts similarity index 67% rename from packages/core/src/git/getGitLogsByCommitIDs.ts rename to packages/git/src/getGitLogsByCommitIDs.ts index 05d7c7027..3bee3c292 100644 --- a/packages/core/src/git/getGitLogsByCommitIDs.ts +++ b/packages/git/src/getGitLogsByCommitIDs.ts @@ -1,11 +1,13 @@ -import type { GitLogKeysType, GitLogsType } from '../../typings/core' -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' -import GitLogsFormatter from '#lib/git/gitLogsFormatter' +import { debug, spawnSync } from '@gitmars/utils' +import GitLogsFormatter from './gitLogsFormatter' +import type { GitLogKeysType, GitLogsType } from './types' export interface GetGitLogsByCommitIDsOptions { + // commitID commitIDs: string | string[] + // Attached parameters params?: string + // Fields to be returned keys: GitLogKeysType[] } @@ -13,9 +15,6 @@ export interface GetGitLogsByCommitIDsOptions { * 获取日志 * * @param option - Parameters - * @param option.commitIDs - commitID - * @param option.params - Attached parameters - * @param option.keys - Fields to be returned * @returns logsList - Return array */ function getGitLogsByCommitIDs({ diff --git a/packages/core/src/git/getGitRevParse.ts b/packages/git/src/getGitRevParse.ts similarity index 92% rename from packages/core/src/git/getGitRevParse.ts rename to packages/git/src/getGitRevParse.ts index 3ae99568c..cf289d884 100644 --- a/packages/core/src/git/getGitRevParse.ts +++ b/packages/git/src/getGitRevParse.ts @@ -1,6 +1,5 @@ import slash from 'slash' -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' +import { debug, spawnSync } from '@gitmars/utils' export interface GitProjectRevParseType { prefix: string diff --git a/packages/core/src/git/getGitStatus.ts b/packages/git/src/getGitStatus.ts similarity index 84% rename from packages/core/src/git/getGitStatus.ts rename to packages/git/src/getGitStatus.ts index 5fa5538df..3d5bbb8ee 100644 --- a/packages/core/src/git/getGitStatus.ts +++ b/packages/git/src/getGitStatus.ts @@ -1,7 +1,6 @@ import type { SpawnOptions } from 'child_process' -import type { GitStatusInfoType } from '../../typings/core' -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' +import { debug, spawnSync } from '@gitmars/utils' +import type { GitStatusInfoType } from './types' /** * 获取分支状态 diff --git a/packages/core/src/git/getGitUser.ts b/packages/git/src/getGitUser.ts similarity index 89% rename from packages/core/src/git/getGitUser.ts rename to packages/git/src/getGitUser.ts index ee2e48c36..aac849b7f 100644 --- a/packages/core/src/git/getGitUser.ts +++ b/packages/git/src/getGitUser.ts @@ -1,8 +1,7 @@ import chalk from 'chalk' import sh from 'shelljs' -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' -import lang from '#lib/lang' +import { debug, spawnSync } from '@gitmars/utils' +import lang from './lang' const { t } = lang diff --git a/packages/core/src/git/getGitVersion.ts b/packages/git/src/getGitVersion.ts similarity index 82% rename from packages/core/src/git/getGitVersion.ts rename to packages/git/src/getGitVersion.ts index 747ce1efa..d2e2f6034 100644 --- a/packages/core/src/git/getGitVersion.ts +++ b/packages/git/src/getGitVersion.ts @@ -1,8 +1,7 @@ import sh from 'shelljs' import chalk from 'chalk' -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' -import lang from '#lib/lang' +import { debug, spawnSync } from '@gitmars/utils' +import lang from './lang' const { t } = lang diff --git a/packages/core/src/git/getIsBranchOrCommitExist.ts b/packages/git/src/getIsBranchOrCommitExist.ts similarity index 84% rename from packages/core/src/git/getIsBranchOrCommitExist.ts rename to packages/git/src/getIsBranchOrCommitExist.ts index 45c93e253..e279cbe52 100644 --- a/packages/core/src/git/getIsBranchOrCommitExist.ts +++ b/packages/git/src/getIsBranchOrCommitExist.ts @@ -1,5 +1,5 @@ -import { spawnSync } from '#lib/spawn' -import getCurrentBranch from '#lib/git/getCurrentBranch' +import { spawnSync } from '@gitmars/utils' +import getCurrentBranch from './getCurrentBranch' /** * 获取是否存在某个分支 diff --git a/packages/core/src/git/getIsGitProject.ts b/packages/git/src/getIsGitProject.ts similarity index 81% rename from packages/core/src/git/getIsGitProject.ts rename to packages/git/src/getIsGitProject.ts index 6b2b1ea30..a2c32dbb4 100644 --- a/packages/core/src/git/getIsGitProject.ts +++ b/packages/git/src/getIsGitProject.ts @@ -1,5 +1,4 @@ -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' +import { debug, spawnSync } from '@gitmars/utils' /** * 获取当前是否git项目目录 diff --git a/packages/core/src/git/getIsMergeAction.ts b/packages/git/src/getIsMergeAction.ts similarity index 88% rename from packages/core/src/git/getIsMergeAction.ts rename to packages/git/src/getIsMergeAction.ts index a3a70c801..33c460160 100644 --- a/packages/core/src/git/getIsMergeAction.ts +++ b/packages/git/src/getIsMergeAction.ts @@ -1,4 +1,4 @@ -import getGitLogs from '#lib/git/getGitLogs' +import getGitLogs from './getGitLogs' /** * 获取主干分支推送的内容是否是merge内容,暂时只检测最后一条记录 diff --git a/packages/core/src/git/getIsMergedTargetBranch.ts b/packages/git/src/getIsMergedTargetBranch.ts similarity index 74% rename from packages/core/src/git/getIsMergedTargetBranch.ts rename to packages/git/src/getIsMergedTargetBranch.ts index 0e697fdd1..e05a543d5 100644 --- a/packages/core/src/git/getIsMergedTargetBranch.ts +++ b/packages/git/src/getIsMergedTargetBranch.ts @@ -1,6 +1,5 @@ -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' -import getCurrentBranch from '#lib/git/getCurrentBranch' +import { debug, spawnSync } from '@gitmars/utils' +import getCurrentBranch from './getCurrentBranch' /** * 获取是否合并过dev @@ -8,8 +7,6 @@ import getCurrentBranch from '#lib/git/getCurrentBranch' * @param branch - 待检测分支名 * @param targetBranch - 目标分支 * @param option - 参数 - * @param option.remote - 是否查询远程,默认:false - * @param option.noMerges - 是否排除merges类型,默认:true * @returns isMergedTargetBranch - 是否合并过 */ function getIsMergedTargetBranch( @@ -19,7 +16,9 @@ function getIsMergedTargetBranch( remote = false, noMerges = true }: { + // 是否查询远程,默认:false remote?: boolean + // 是否排除merges类型,默认:true noMerges?: boolean } ): boolean { diff --git a/packages/core/src/git/getIsUpdatedInTime.ts b/packages/git/src/getIsUpdatedInTime.ts similarity index 75% rename from packages/core/src/git/getIsUpdatedInTime.ts rename to packages/git/src/getIsUpdatedInTime.ts index e45f308a4..8dde0f41a 100644 --- a/packages/core/src/git/getIsUpdatedInTime.ts +++ b/packages/git/src/getIsUpdatedInTime.ts @@ -1,11 +1,14 @@ -import type { GitLogsType } from '../../typings/core' -import { debug } from '#lib/utils/debug' -import getCurrentBranch from '#lib/git/getCurrentBranch' -import getGitLogs from '#lib/git/getGitLogs' +import { debug } from '@gitmars/utils' +import getCurrentBranch from './getCurrentBranch' +import getGitLogs from './getGitLogs' +import type { GitLogsType } from './types' export interface IsUpdatedInTimeConfigType { + // 最近几天的日志,可以是10s/2m/2h/3d/4M/5y lastet: string + // 日志数量限制 limit?: number + // 目标分支 branch: string } @@ -13,9 +16,6 @@ export interface IsUpdatedInTimeConfigType { * 获取一周内是否同步过上游分支代码 * * @param option - Parameters - * @param option.lastet - 最近几天的日志,可以是10s/2m/2h/3d/4M/5y - * @param option.limit - 日志数量限制 - * @param option.branch - 目标分支 * @returns isMergedTargetBranch - 是否合并过 */ function getIsUpdatedInTime({ lastet, limit, branch }: IsUpdatedInTimeConfigType): boolean { diff --git a/packages/core/src/git/getStashList.ts b/packages/git/src/getStashList.ts similarity index 83% rename from packages/core/src/git/getStashList.ts rename to packages/git/src/getStashList.ts index 7afa99435..e28804059 100644 --- a/packages/core/src/git/getStashList.ts +++ b/packages/git/src/getStashList.ts @@ -1,8 +1,7 @@ import sh from 'shelljs' import chalk from 'chalk' -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' -import lang from '#lib/lang' +import { debug, spawnSync } from '@gitmars/utils' +import lang from './lang' const { t } = lang @@ -29,7 +28,7 @@ function getStashList(key: string) { sh.echo( chalk.yellow( t( - 'There are a total of {{length}} staging records under this item, please clean it up regularly!', + 'There are a total of {length} staging records under this item, please clean it up regularly!', { length: String(list.length) } ) ) diff --git a/packages/core/src/git/gitLogsFormatter.ts b/packages/git/src/gitLogsFormatter.ts similarity index 93% rename from packages/core/src/git/gitLogsFormatter.ts rename to packages/git/src/gitLogsFormatter.ts index 0f9e74107..b12be1ea4 100644 --- a/packages/core/src/git/gitLogsFormatter.ts +++ b/packages/git/src/gitLogsFormatter.ts @@ -1,5 +1,5 @@ -import type { GitLogKeysType, GitLogsType } from '../../typings/core' -import { debug } from '#lib/utils/debug' +import { debug } from '@gitmars/utils' +import type { GitLogKeysType, GitLogsType } from './types' class GitLogsFormatter { keys: GitLogKeysType[] = [ diff --git a/packages/git/src/index.default.ts b/packages/git/src/index.default.ts new file mode 100644 index 000000000..884fabecb --- /dev/null +++ b/packages/git/src/index.default.ts @@ -0,0 +1,60 @@ +import getIsGitProject from './getIsGitProject' +import searchBranches from './searchBranches' +import getCurrentBranch from './getCurrentBranch' +import getGitLogs from './getGitLogs' +import getGitLogsByCommitIDs from './getGitLogsByCommitIDs' +import getGitVersion from './getGitVersion' +import getGitConfig from './getGitConfig' +import getGitRevParse from './getGitRevParse' +import getAheadLogs from './getAheadLogs' +import getBehindLogs from './getBehindLogs' +import getIsBranchOrCommitExist from './getIsBranchOrCommitExist' +import getIsMergeAction from './getIsMergeAction' +import getIsMergedTargetBranch from './getIsMergedTargetBranch' +import getIsUpdatedInTime from './getIsUpdatedInTime' +import { getGitEmail, getGitToken, getGitUser } from './getGitUser' +import getBranchesFromID from './getBranchesFromID' +import getGitStatus from './getGitStatus' +import getCommandMessage from './getCommandMessage' +import checkGitStatus from './checkGitStatus' +import getStashList from './getStashList' +import fetch from './fetch' +import prune from './prune' +import readPkg from './readPkg' +import getConfig from './getConfig' + +export type { GitProjectConfigType } from './getGitConfig' +export type { GetGitLogsOption } from './getGitLogs' +export type { GetGitLogsByCommitIDsOptions } from './getGitLogsByCommitIDs' +export type { GitProjectRevParseType } from './getGitRevParse' +export type { IsUpdatedInTimeConfigType } from './getIsUpdatedInTime' +export type * from './types' +export default { + version: '__VERSION__', + getIsGitProject, + searchBranches, + getCurrentBranch, + getGitLogs, + getGitLogsByCommitIDs, + getGitVersion, + getGitConfig, + getGitRevParse, + getAheadLogs, + getBehindLogs, + getIsBranchOrCommitExist, + getIsMergeAction, + getIsMergedTargetBranch, + getIsUpdatedInTime, + getGitToken, + getGitUser, + getGitEmail, + getBranchesFromID, + getGitStatus, + getCommandMessage, + checkGitStatus, + getStashList, + fetch, + prune, + readPkg, + getConfig +} diff --git a/packages/git/src/index.ts b/packages/git/src/index.ts new file mode 100644 index 000000000..a3ad1154a --- /dev/null +++ b/packages/git/src/index.ts @@ -0,0 +1,28 @@ +export { default as getIsGitProject } from './getIsGitProject' +export { default as searchBranches } from './searchBranches' +export { default as getCurrentBranch } from './getCurrentBranch' +export { default as getGitLogs } from './getGitLogs' +export { default as getGitLogsByCommitIDs } from './getGitLogsByCommitIDs' +export { default as getGitVersion } from './getGitVersion' +export { default as getGitConfig } from './getGitConfig' +export { default as getGitRevParse } from './getGitRevParse' +export { default as getAheadLogs } from './getAheadLogs' +export { default as getBehindLogs } from './getBehindLogs' +export { default as getIsBranchOrCommitExist } from './getIsBranchOrCommitExist' +export { default as getIsMergeAction } from './getIsMergeAction' +export { default as getIsMergedTargetBranch } from './getIsMergedTargetBranch' +export { default as getIsUpdatedInTime } from './getIsUpdatedInTime' +export { getGitEmail, getGitToken, getGitUser } from './getGitUser' +export { default as getBranchesFromID } from './getBranchesFromID' +export { default as getGitStatus } from './getGitStatus' +export { default as getCommandMessage } from './getCommandMessage' +export { default as checkGitStatus } from './checkGitStatus' +export { default as getStashList } from './getStashList' +export { default as fetch } from './fetch' +export { default as prune } from './prune' +export { default as readPkg } from './readPkg' +export { default as getConfig } from './getConfig' + +export { default } from './index.default' +export type * from './index.default' +export const version = '__VERSION__' as string diff --git a/packages/git/src/lang.ts b/packages/git/src/lang.ts new file mode 100644 index 000000000..8e298ce5a --- /dev/null +++ b/packages/git/src/lang.ts @@ -0,0 +1,11 @@ +import { osLangSync } from 'os-lang' +import { useLocale } from '@gitmars/utils' +import * as languages from './locales' + +export type LanguageType = Exclude + +const locales: LanguageType[] = ['enUS', 'zhCN'] +let localeName = (process.env.GITMARS_LANG || osLangSync()).replace('-', '') as LanguageType +if (!locales.includes(localeName)) localeName = 'enUS' + +export default useLocale(languages[localeName]) diff --git a/packages/git/src/locales/en-US.ts b/packages/git/src/locales/en-US.ts new file mode 100644 index 000000000..bf11574a7 --- /dev/null +++ b/packages/git/src/locales/en-US.ts @@ -0,0 +1,3 @@ +export default { + name: 'en-US' +} diff --git a/packages/git/src/locales/index.ts b/packages/git/src/locales/index.ts new file mode 100644 index 000000000..19436241b --- /dev/null +++ b/packages/git/src/locales/index.ts @@ -0,0 +1,10 @@ +export { default as zhCN } from './zh-CN' +export { default as enUS } from './en-US' + +export interface TranslatePair { + [key: string]: string | string[] | TranslatePair +} +export interface Language extends Record { + name: string + // base?: TranslatePair +} diff --git a/packages/git/src/locales/zh-CN.ts b/packages/git/src/locales/zh-CN.ts new file mode 100644 index 000000000..9a399ab29 --- /dev/null +++ b/packages/git/src/locales/zh-CN.ts @@ -0,0 +1,45 @@ +export default { + name: 'zh-CN', + 'You still have uncommitted files, please process them before continuing': + '您还有未提交的文件,请处理后再继续', + 'If you need to staging files please do: gitm save\nWhen resuming: gitm get': + '如果需要暂存文件请执行: gitm save\n恢复时执行:gitm get', + 'You have uncommitted files': '您有未加入版本的文件', + 'If you need to staging files please run: gitm save --force\nWhen resuming: gitm get': + '如果需要暂存文件请执行: gitm save --force\n恢复时执行:gitm get', + 'Please set git access token': '请设置git access token', + 'Checkout branches now': '正在切换分支', + 'Checkout branch successfully': '切换分支成功', + 'Failed to checkout': '切换分支失败', + 'Pulling code successfully': '拉取代码成功', + 'Failed to pull code': '拉取代码失败', + 'Pulling code now': '正在拉取代码', + 'Pulling remote version': '正在拉取远程版本', + 'Fetching success': '抓取成功', + 'Failed to fetch': '抓取失败', + Committing: '正在提交', + 'Commit success': '提交成功', + 'Commit Failure': '提交失败', + Pushing: '正在推送', + 'Push failed': '推送失败', + 'Syncing submission records': '正在同步提交记录', + 'Syncing submission records successfully': '同步提交记录成功', + 'Failed to sync commit records': '同步提交记录失败', + 'Merging branch': '正在merge分支', + 'merge branch succeeded': 'merge分支成功', + 'merge branch failed': 'merge分支失败', + 'working on rebase branch': '正在rebase分支', + 'rebase branch succeeded': 'rebase分支成功', + 'rebase branch failed': 'rebase分支失败', + 'Undoing code': '正在回撤代码', + 'Undoing success': '撤销成功', + 'undo failed': '撤销失败', + 'Cleaning up': '正在清理', + 'Cleanup successful': '清理成功', + 'Cleanup failed': '清理失败', + 'git not found': '没有找到git', + 'There are a total of {length} staging records under this item, please clean it up regularly!': + '该项目下一共有{length}条暂存记录,请定期清理!', + '${message}; project: ${project}; path: ${pwd}': '${message};项目:${project};路径:${pwd}', + 'The current directory is not a git project directory': '当前目录不是git项目目录' +} diff --git a/packages/core/src/git/prune.ts b/packages/git/src/prune.ts similarity index 69% rename from packages/core/src/git/prune.ts rename to packages/git/src/prune.ts index 22b6192be..29a67d0ae 100644 --- a/packages/core/src/git/prune.ts +++ b/packages/git/src/prune.ts @@ -1,5 +1,4 @@ -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' +import { debug, spawnSync } from '@gitmars/utils' /** * 清理已删除的远程分支 diff --git a/packages/core/src/utils/readPkg.ts b/packages/git/src/readPkg.ts similarity index 89% rename from packages/core/src/utils/readPkg.ts rename to packages/git/src/readPkg.ts index 8f2e4a0b5..fcf01c794 100644 --- a/packages/core/src/utils/readPkg.ts +++ b/packages/git/src/readPkg.ts @@ -12,8 +12,8 @@ import { readFileSync } from 'fs' import { resolve } from 'path' -import type { AnyObject } from '../../typings/core' -import getGitRevParse from '#lib/git/getGitRevParse' +import getGitRevParse from './getGitRevParse' +import type { AnyObject } from './types' /** * 读取配置 diff --git a/packages/core/src/git/searchBranches.ts b/packages/git/src/searchBranches.ts similarity index 91% rename from packages/core/src/git/searchBranches.ts rename to packages/git/src/searchBranches.ts index 121cc6b82..61852a3b6 100644 --- a/packages/core/src/git/searchBranches.ts +++ b/packages/git/src/searchBranches.ts @@ -1,7 +1,6 @@ -import { spawnSync } from '#lib/spawn' -import { debug } from '#lib/utils/debug' -import getGitConfig from '#lib/git/getGitConfig' -import getGitRevParse from '#lib/git/getGitRevParse' +import { debug, spawnSync } from '@gitmars/utils' +import getGitConfig from './getGitConfig' +import getGitRevParse from './getGitRevParse' export interface SearchBranchesMapType { heads: string[] diff --git a/packages/core/typings/core.d.ts b/packages/git/src/types.ts similarity index 50% rename from packages/core/typings/core.d.ts rename to packages/git/src/types.ts index b3e343256..f2d2c3dec 100644 --- a/packages/core/typings/core.d.ts +++ b/packages/git/src/types.ts @@ -1,24 +1,7 @@ -/// - -import type { SpawnOptions, SpawnSyncReturns } from 'child_process' - export type AnyObject = Record -export interface AnyFunction extends AnyObject { - (...args: any[]): any -} - -export type ValueOf = T extends ReadonlyArray ? T[number] : T[keyof T] - -// export function GitmarsOptionFunctionType(val: string, opts: object, cb: any): void - -export type GitmarsBranchType = 'feature' | 'bugfix' | 'support' - export type VersionControlType = 'patch' | 'minor' | 'major' | false -// 127和128是git个别场景的执行结果值 -export type ShellCode = 0 | 1 | 127 | 128 - export type GitLogKeysType = | '%H' | '%h' @@ -84,61 +67,16 @@ export type GitLogsType = { [key in GitLogKeysType]?: string } -export interface GitmarsOptionArgsType { - required: boolean - name: string - variadic: boolean - validator?(val: string, opts: object, cb: Function): void - transformer?(val: string, answers: object, flags: object, options: GitmarsOptionArgsType): void - description?: string - defaultValue?: any - options?: Array - value?: string -} - -export interface GitmarsOptionOptionsType { - flags: string - required: boolean - optional: boolean - variadic: boolean - mandatory: boolean - short?: string | null - long: string - negate: boolean - description: string - defaultValue?: any - value?: any - recommend?: boolean - options?: Array - validator?(val: string, opts: object, cb: Function): void - transformer?( - val: string, - answers: object, - flags: object, - options: GitmarsOptionOptionsType - ): void - when?(answers: object): void -} +export type GitStatusListType = 'A' | 'D' | 'M' | 'UU' | '??' -export interface GitmarsOptionType { - command: string - short?: string | null - args: GitmarsOptionArgsType[] - options: GitmarsOptionOptionsType[] - validatorOpts?(val: any, opts: object, cb: Function): void - validatorArgs?(val: any, opts: object, cb: Function): void - transformOpts?(val: any, opts: object, cb: Function): void - transformArgs?(val: any, opts: object, cb: Function): void +export type GitStatusInfoType = { + [props in GitStatusListType]: string[] } -export interface GitmarsMultiOptionType { - command: string - short?: string | null - create: GitmarsOptionType - publish: GitmarsOptionType - update: GitmarsOptionType - clean: GitmarsOptionType - approve: GitmarsOptionType +export interface CommandMessageType { + processing?: string + success?: string + fail?: string } export interface GitmarsConfigApisBuildConfigType { @@ -171,8 +109,8 @@ export interface GitmarsConfigType { gitID?: string hooks?: Record filepath?: string - nameValidator?: string | regExp - descriptionValidator?: string | regExp + nameValidator?: string | RegExp + descriptionValidator?: string | RegExp versionControlType?: VersionControlType } // & Record @@ -180,107 +118,3 @@ export interface GitmarsConfigExtend extends GitmarsConfigType { skipCI: boolean filepath: string } - -export type GitmarsConfigProperty = keyof GitmarsConfigType -// | 'master' -// | 'develop' -// | 'release' -// | 'bugfix' -// | 'support' -// | 'user' -// | 'email' -// | 'skipCI' -// | 'msgTemplate' -// | 'apolloConfig' -// | 'apis' -// | 'api' -// | 'gitHost' -// | 'gitID' -// | 'hooks' -// | 'filepath' -// | 'nameValidator' -// | 'descriptionValidator' - -export type ApolloBranchList = 'dev' | 'bug' | 'prod' - -export interface ApolloConfigProjectType { - name: string - project: string - apps?: string[] -} - -export interface ApolloConfigBranchType { - line: string - token: string - list: ApolloConfigProjectType[] -} - -export type ApolloConfigType = { - [props in ApolloBranchList]: ApolloConfigBranchType -} & { - username: string - password: string - template: string // 不带参数 - templateWithParam: string // 带参数 - gitNotificationGroupUrl?: string | string[] // 推送群消息的api -} - -export interface ModuleCommandType { - module: string - entry?: string - options?: unknown -} - -export interface CommandTypeCmd { - cmd: string | string[] | ModuleCommandType - config: QueueConfigType -} - -export interface CommandTypeMessage { - message: string -} - -export type CommandType = CommandTypeCmd | CommandTypeMessage - -export interface FetchDataType { - level: 1 | 2 | 3 | 4 // 1=超级管理员 2=管理员 3=审核员 4=开发者 - [prop: string]: any -} - -export type GitStatusListType = 'A' | 'D' | 'M' | 'UU' | '??' - -export type GitStatusInfoType = { - [props in GitStatusListType]: string[] -} - -export interface QueueConfigType extends SpawnOptions { - again?: boolean | string - processing?: string - success?: string - fail?: string - postmsg?: boolean - kill?: boolean -} - -export interface QueueReturnsType - extends Partial, 'stdout' | 'stderr' | 'status'>> { - cfg: QueueConfigType - cmd: string | string[] | ModuleCommandType -} - -export interface GitmarsLogType - extends Partial, 'stdout' | 'stderr' | 'status'>> { - command: string -} - -export interface CommandMessageType { - processing?: string - success?: string - fail?: string -} - -export interface RevertCacheType { - before: GitLogsType - after: GitLogsType - branch: string -} diff --git a/packages/git/tsconfig.json b/packages/git/tsconfig.json new file mode 100644 index 000000000..119b2ad90 --- /dev/null +++ b/packages/git/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + // "composite": true, + "target": "ESNext", + "module": "ESNext", + "sourceMap": true, + "declaration": true, + "emitDeclarationOnly": true, + "rootDir": "src", + "outDir": "temp", + "baseUrl": ".", + "paths": {} + } +} diff --git a/packages/git/typedoc.js b/packages/git/typedoc.js new file mode 100644 index 000000000..873fa676e --- /dev/null +++ b/packages/git/typedoc.js @@ -0,0 +1,12 @@ +module.exports = { + out: 'typedoc', + entryPoints: ['src/**/*.ts'], + json: 'typedoc/out.json', + name: 'index.md', + includeVersion: true, + readme: 'README.md' + // emit: true, + // exclude: '', + // externalPattern: '', + // excludeExternals: '' +} diff --git a/packages/gitmars/.eslintignore b/packages/gitmars/.eslintignore deleted file mode 100644 index 12eef0c9e..000000000 --- a/packages/gitmars/.eslintignore +++ /dev/null @@ -1,12 +0,0 @@ -lib -es -dist -cache/* - -*.bak -*_bak -*.bak.js - -stats.html -#Electron-builder output -dist_electron diff --git a/packages/gitmars/.eslintrc.cjs b/packages/gitmars/.eslintrc.cjs new file mode 100644 index 000000000..9e2d8020d --- /dev/null +++ b/packages/gitmars/.eslintrc.cjs @@ -0,0 +1,25 @@ +module.exports = { + extends: '@eslint-sets/ts', + rules: { + camelcase: 0, + 'import/namespace': [2, { allowComputed: true }] + }, + globals: { + window: true, + global: true + }, + ignorePatterns: [ + 'lib', + 'es', + 'dist', + 'docs', + 'app', + 'ui', + 'cache/*', + '*_bak', + '*.bak', + 'pnpm-lock.yaml', + 'stats.html', + 'dist_electron' + ] +} diff --git a/packages/gitmars/.eslintrc.js b/packages/gitmars/.eslintrc.js deleted file mode 100644 index 0e88baf18..000000000 --- a/packages/gitmars/.eslintrc.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - extends: '@eslint-sets/ts', - rules: { - camelcase: 0 - }, - globals: { - window: true, - global: true - } -} diff --git a/packages/gitmars/README.md b/packages/gitmars/README.md index d2ec018ce..e363bbb98 100644 --- a/packages/gitmars/README.md +++ b/packages/gitmars/README.md @@ -101,6 +101,7 @@ yarn global add gitmars - 查看当前分支状态 [gitm status](http://www.saqqdy.com/gitmars/api/#gitm-status) - 升级 gitmars [gitm upgrade](http://www.saqqdy.com/gitmars/api/#gitm-upgrade) - 构建 Jenkins [gitm build](http://www.saqqdy.com/gitmars/api/#gitm-build) +- 构建小程序 Jenkins [gitm build-mp](http://www.saqqdy.com/gitmars/api/#gitm-build-mp) - 解除软链接 [gitm unlink](http://www.saqqdy.com/gitmars/api/#gitm-unlink) - 软链接 [gitm link](http://www.saqqdy.com/gitmars/api/#gitm-link) - 清除缓存 [gitm clean](http://www.saqqdy.com/gitmars/api/#gitm-clean) @@ -125,9 +126,9 @@ yarn global add gitmars - 使用:`gitm go` - 参数: -| 参数 | 说明 | 类型 | 可选值 | 必填 | 默认 | -| ------- | -------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ---- | -| command | 指令名称 | String | combine、end、update、build、start、undo、redo、suggest、approve、review、admin.publish、admin.update、admin.create、admin.clean、admin.approve、branch、copy、get、save、cleanbranch、clean、revert、link、unlink、postmsg | 否 | - | +| 参数 | 说明 | 类型 | 可选值 | 必填 | 默认 | +| ------- | -------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ---- | +| command | 指令名称 | String | combine、end、update、build、build-mp、start、undo、redo、suggest、approve、review、admin.publish、admin.update、admin.create、admin.clean、admin.approve、branch、copy、get、save、cleanbranch、clean、revert、link、unlink、postmsg | 否 | - | - 示例: diff --git a/packages/gitmars/api-extractor.json b/packages/gitmars/api-extractor.json index 899d5623f..445e874b7 100644 --- a/packages/gitmars/api-extractor.json +++ b/packages/gitmars/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", "projectFolder": ".", - "mainEntryPointFilePath": "./lib/index.d.ts", + "mainEntryPointFilePath": "./temp/index.d.ts", "dtsRollup": { "enabled": true, "untrimmedFilePath": "", - "publicTrimmedFilePath": "./typings/index.d.ts" + "publicTrimmedFilePath": "./dist/index.d.ts" }, "apiReport": { "enabled": false diff --git a/packages/gitmars/package.json b/packages/gitmars/package.json index c2031b0ff..90219a2ce 100644 --- a/packages/gitmars/package.json +++ b/packages/gitmars/package.json @@ -1,14 +1,18 @@ { "name": "gitmars", "description": "这是一个git工作流工具", - "version": "6.4.0", + "type": "module", + "version": "7.0.0-beta.24", "private": false, "bin": { "gitm": "lib/gitm.mjs" }, + "main": "./dist/index.cjs.js", + "module": "./dist/index.esm-bundler.js", + "types": "./dist/index.d.ts", "exports": { ".": { - "types": "./typings/index.d.ts", + "types": "./lib/index.d.ts", "import": "./lib/index.mjs" }, "./lib": { @@ -47,46 +51,40 @@ }, "directories": { "bin": "bin", - "es": "es", "lib": "lib", - "src": "src", - "typings": "typings" + "src": "src" }, "dependencies": { + "@gitmars/api": "workspace:*", + "@gitmars/build": "workspace:*", + "@gitmars/cache": "workspace:*", "@gitmars/core": "workspace:*", - "@jssj/request": "^1.1.0", + "@gitmars/git": "workspace:*", + "@gitmars/go": "workspace:*", + "@gitmars/hook": "workspace:*", + "@gitmars/utils": "workspace:*", + "@inquirer/prompts": "^3.3.2", + "await-to-done": "^1.0.2", "chalk": "^4.1.2", - "ci-info": "^4.0.0", "columnify": "^1.6.0", - "commander": "^11.1.0", - "cosmiconfig": "^9.0.0", - "cross-spawn": "^7.0.3", + "commander": "^12.0.0", "dayjs": "^1.11.10", - "debug": "^4.3.4", - "inquirer": "^8.2.5", - "js-cool": "^5.18.1", - "lodash-es": "^4.17.21", - "lodash-unified": "^1.0.3", - "node-apollo": "^1.2.1", + "js-cool": "^5.19.0", "ora": "^5.4.1", "os-lang": "^3.2.0", - "shelljs": "^0.8.5", - "slash": "^3.0.0" + "shelljs": "^0.8.5" }, "devDependencies": { - "@eslint-sets/eslint-config-ts": "^5.12.0", + "@eslint-sets/eslint-config-ts": "^5.13.0", "@types/columnify": "^1.5.4", - "@types/cross-spawn": "^6.0.6", - "@types/inquirer": "^8.2.6", - "@types/lodash-es": "^4.17.12", - "@types/node": "^20.11.24", + "@types/node": "^20.12.7", "@types/shelljs": "^0.8.15", "cross-env": "^7.0.3", "eslint": "^8.57.0", "prettier": "^3.2.5", "prettier-config-common": "^1.4.0", "tsnd": "^1.1.0", - "typescript": "^5.3.3" + "typescript": "^5.4.5" }, "sideEffects": false, "keywords": [ diff --git a/packages/gitmars/src/common/global.ts b/packages/gitmars/src/common/global.ts index 339662fab..35101467d 100644 --- a/packages/gitmars/src/common/global.ts +++ b/packages/gitmars/src/common/global.ts @@ -1,4 +1,4 @@ -import lang from '#lib/common/local' +import lang from '../common/local' const { t } = lang @@ -21,7 +21,24 @@ export const hookList = [ 'post-rewrite', 'sendemail-validate' ] -export const defaults = { +export const defaults: { + master: string + develop: string + release: string + bugfix: string + support: string + user: string + email: string + nameValidator: string + descriptionValidator: string + msgTemplate: string + apolloConfig: Record | null + hooks: Record | null + apis: Record | null + api: string + gitHost: string + gitID: string +} = { master: 'master', develop: 'dev', release: 'release', @@ -32,8 +49,9 @@ export const defaults = { nameValidator: '', descriptionValidator: '', msgTemplate: t('${message}; project: ${project}; path: ${pwd}'), - apolloConfig: '', - hooks: '', + apolloConfig: null, + hooks: null, + apis: null, api: '', gitHost: '', gitID: '' diff --git a/packages/gitmars/src/common/local.ts b/packages/gitmars/src/common/local.ts index 8f8430fb7..5de28fa2d 100644 --- a/packages/gitmars/src/common/local.ts +++ b/packages/gitmars/src/common/local.ts @@ -1,11 +1,11 @@ import { osLangSync } from 'os-lang' -import { type LocaleContext, useLocale } from '@gitmars/core/lib/utils/local' -import * as languages from '#lib/locales/index' +import { useLocale } from '@gitmars/utils' +import * as languages from '../locales' export type LanguageType = Exclude const locales: LanguageType[] = ['enUS', 'zhCN'] -let locale = (process.env.GITMARS_LANG || osLangSync()).replace('-', '') as LanguageType -if (!locales.includes(locale)) locale = 'enUS' +let localeName = (process.env.GITMARS_LANG || osLangSync()).replace('-', '') as LanguageType +if (!locales.includes(localeName)) localeName = 'enUS' -export default useLocale(languages[locale]) as LocaleContext +export default useLocale(languages[localeName]) diff --git a/packages/gitmars/src/conf/admin.ts b/packages/gitmars/src/conf/admin.ts index 1f4a3dfe3..4e9b63fed 100644 --- a/packages/gitmars/src/conf/admin.ts +++ b/packages/gitmars/src/conf/admin.ts @@ -1,5 +1,5 @@ -import type { GitmarsMultiOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsMultiOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsMultiOptionType = { diff --git a/packages/gitmars/src/conf/alias.ts b/packages/gitmars/src/conf/alias.ts index 126baacba..7519f18e8 100644 --- a/packages/gitmars/src/conf/alias.ts +++ b/packages/gitmars/src/conf/alias.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/approve.ts b/packages/gitmars/src/conf/approve.ts index 3968235c5..e99e49cf1 100644 --- a/packages/gitmars/src/conf/approve.ts +++ b/packages/gitmars/src/conf/approve.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/branch.ts b/packages/gitmars/src/conf/branch.ts index 59114ab9c..b9ac94381 100644 --- a/packages/gitmars/src/conf/branch.ts +++ b/packages/gitmars/src/conf/branch.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/build-mp.ts b/packages/gitmars/src/conf/build-mp.ts new file mode 100644 index 000000000..11384ca72 --- /dev/null +++ b/packages/gitmars/src/conf/build-mp.ts @@ -0,0 +1,119 @@ +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' +const t = (txt: string) => txt + +export const cmdConfig: GitmarsOptionType = { + command: 'build-mp', + short: 'bdm', + args: [ + { + required: false, + name: 'project', + variadic: false, + description: t('Project name') + } + ], + options: [ + { + flags: '-e, --env [env]', + required: false, + optional: true, + variadic: false, + mandatory: false, + short: '-e', + long: '--env', + negate: false, + description: t('Build environment, optionally dev, prod, bug, all'), + defaultValue: '', + recommend: true, + options: ['dev', 'prod', 'bug'], + value: 'dev' + }, + { + flags: '--api-env [apiEnv]', + required: false, + optional: true, + variadic: false, + mandatory: false, + short: '', + long: '--api-env', + negate: false, + description: t('Build api environment, optionally alpha, tag, release, production'), + defaultValue: '', + recommend: true, + options: ['alpha', 'tag', 'release', 'production'], + value: 'production' + }, + { + flags: '-mp, --miniprogram [miniprogram]', + required: false, + optional: true, + variadic: false, + mandatory: false, + short: '-mp', + long: '--miniprogram', + negate: false, + description: t('Generate experiential version of miniprogram'), + defaultValue: '', + recommend: true, + value: '' + }, + { + flags: '-des, --description [description]', + required: false, + optional: true, + variadic: false, + mandatory: false, + short: '-des', + long: '--description', + negate: false, + description: t('Enter the version description'), + defaultValue: '', + recommend: true, + value: '' + }, + { + flags: '-a, --app [app]', + required: false, + optional: true, + variadic: false, + mandatory: false, + short: '-a', + long: '--app', + negate: false, + description: t('Build application'), + defaultValue: '', + recommend: true, + options: ['weapp', 'alipay', 'tt', 'dd', 'swan'], + value: 'weapp' + }, + { + flags: '-d, --data ', + required: true, + optional: true, + variadic: false, + mandatory: false, + short: '-d', + long: '--data', + negate: false, + description: t('Other data to be transferred'), + defaultValue: '{}', + recommend: true, + value: '{}' + }, + { + flags: '-c, --confirm', + required: false, + optional: false, + variadic: false, + mandatory: false, + short: '-c', + long: '--confirm', + negate: false, + description: t('Confirm start, do not show confirmation box when true'), + defaultValue: false + } + ] +} + +export { cmdConfig as default } diff --git a/packages/gitmars/src/conf/build.ts b/packages/gitmars/src/conf/build.ts index bc2497df5..0eac7ef7b 100644 --- a/packages/gitmars/src/conf/build.ts +++ b/packages/gitmars/src/conf/build.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { @@ -7,7 +7,7 @@ export const cmdConfig: GitmarsOptionType = { short: 'bd', args: [ { - required: true, + required: false, name: 'project', variadic: false, description: t('Project name') @@ -24,7 +24,7 @@ export const cmdConfig: GitmarsOptionType = { long: '--env', negate: false, description: t('Build environment, optionally dev, prod, bug, all'), - defaultValue: 'dev', + defaultValue: '', recommend: true, options: ['dev', 'prod', 'bug', 'all'], value: 'dev' @@ -39,7 +39,7 @@ export const cmdConfig: GitmarsOptionType = { long: '--app', negate: false, description: t('Build application'), - defaultValue: 'all', + defaultValue: '', recommend: true, value: 'all' }, diff --git a/packages/gitmars/src/conf/clean.ts b/packages/gitmars/src/conf/clean.ts index 06c8c6e38..c7720139e 100644 --- a/packages/gitmars/src/conf/clean.ts +++ b/packages/gitmars/src/conf/clean.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/cleanbranch.ts b/packages/gitmars/src/conf/cleanbranch.ts index 3708c2899..78ad45daa 100644 --- a/packages/gitmars/src/conf/cleanbranch.ts +++ b/packages/gitmars/src/conf/cleanbranch.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/combine.ts b/packages/gitmars/src/conf/combine.ts index c79c77642..0c65b9263 100644 --- a/packages/gitmars/src/conf/combine.ts +++ b/packages/gitmars/src/conf/combine.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/continue.ts b/packages/gitmars/src/conf/continue.ts index d1675563c..db3b73ba9 100644 --- a/packages/gitmars/src/conf/continue.ts +++ b/packages/gitmars/src/conf/continue.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/copy.ts b/packages/gitmars/src/conf/copy.ts index f5e3772ed..6db35b50c 100644 --- a/packages/gitmars/src/conf/copy.ts +++ b/packages/gitmars/src/conf/copy.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/end.ts b/packages/gitmars/src/conf/end.ts index 6b996d3cf..4eaf105d4 100644 --- a/packages/gitmars/src/conf/end.ts +++ b/packages/gitmars/src/conf/end.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/get.ts b/packages/gitmars/src/conf/get.ts index 405d9df13..d7824c295 100644 --- a/packages/gitmars/src/conf/get.ts +++ b/packages/gitmars/src/conf/get.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/go.ts b/packages/gitmars/src/conf/go.ts index cef0ad610..157d10474 100644 --- a/packages/gitmars/src/conf/go.ts +++ b/packages/gitmars/src/conf/go.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/hook.ts b/packages/gitmars/src/conf/hook.ts index 1b4bcfb56..c5d94a17a 100644 --- a/packages/gitmars/src/conf/hook.ts +++ b/packages/gitmars/src/conf/hook.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/install.ts b/packages/gitmars/src/conf/install.ts index 27db18610..a5f9dd6c4 100644 --- a/packages/gitmars/src/conf/install.ts +++ b/packages/gitmars/src/conf/install.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/link.ts b/packages/gitmars/src/conf/link.ts index f70d16b3a..513deaaae 100644 --- a/packages/gitmars/src/conf/link.ts +++ b/packages/gitmars/src/conf/link.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/log.ts b/packages/gitmars/src/conf/log.ts index 0caea4347..906d6adf0 100644 --- a/packages/gitmars/src/conf/log.ts +++ b/packages/gitmars/src/conf/log.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/postmsg.ts b/packages/gitmars/src/conf/postmsg.ts index 83aefa560..899197f06 100644 --- a/packages/gitmars/src/conf/postmsg.ts +++ b/packages/gitmars/src/conf/postmsg.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/redo.ts b/packages/gitmars/src/conf/redo.ts index 0338fb1d6..deeeb20ce 100644 --- a/packages/gitmars/src/conf/redo.ts +++ b/packages/gitmars/src/conf/redo.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/revert.ts b/packages/gitmars/src/conf/revert.ts index 25e2806ee..499ae1694 100644 --- a/packages/gitmars/src/conf/revert.ts +++ b/packages/gitmars/src/conf/revert.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/review.ts b/packages/gitmars/src/conf/review.ts index 6580597cd..3a2fcda06 100644 --- a/packages/gitmars/src/conf/review.ts +++ b/packages/gitmars/src/conf/review.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/run.ts b/packages/gitmars/src/conf/run.ts index 3214d87e4..b765c55bb 100644 --- a/packages/gitmars/src/conf/run.ts +++ b/packages/gitmars/src/conf/run.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/save.ts b/packages/gitmars/src/conf/save.ts index 2f0ac3ccd..114268c17 100644 --- a/packages/gitmars/src/conf/save.ts +++ b/packages/gitmars/src/conf/save.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/start.ts b/packages/gitmars/src/conf/start.ts index ac025fb0b..c0ecc3189 100644 --- a/packages/gitmars/src/conf/start.ts +++ b/packages/gitmars/src/conf/start.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/status.ts b/packages/gitmars/src/conf/status.ts index d1618ff36..f9a38f1f9 100644 --- a/packages/gitmars/src/conf/status.ts +++ b/packages/gitmars/src/conf/status.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' // const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/suggest.ts b/packages/gitmars/src/conf/suggest.ts index c1a32b6e5..9c50cd089 100644 --- a/packages/gitmars/src/conf/suggest.ts +++ b/packages/gitmars/src/conf/suggest.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' // const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/undo.ts b/packages/gitmars/src/conf/undo.ts index 132a574b7..3e4f4b5b6 100644 --- a/packages/gitmars/src/conf/undo.ts +++ b/packages/gitmars/src/conf/undo.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/unlink.ts b/packages/gitmars/src/conf/unlink.ts index 19809be8c..f61964886 100644 --- a/packages/gitmars/src/conf/unlink.ts +++ b/packages/gitmars/src/conf/unlink.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/update.ts b/packages/gitmars/src/conf/update.ts index beacca659..9385167da 100644 --- a/packages/gitmars/src/conf/update.ts +++ b/packages/gitmars/src/conf/update.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/conf/upgrade.ts b/packages/gitmars/src/conf/upgrade.ts index b858270b9..cd23c3cb1 100644 --- a/packages/gitmars/src/conf/upgrade.ts +++ b/packages/gitmars/src/conf/upgrade.ts @@ -1,5 +1,5 @@ -import type { GitmarsOptionType } from '../../typings/gitmars' -// import lang from '#lib/common/local' +import type { GitmarsOptionType } from '../types' +// import lang from '../common/local' const t = (txt: string) => txt export const cmdConfig: GitmarsOptionType = { diff --git a/packages/gitmars/src/gitm-admin.ts b/packages/gitmars/src/gitm-admin.ts old mode 100755 new mode 100644 index cf2886c88..861b17ec0 --- a/packages/gitmars/src/gitm-admin.ts +++ b/packages/gitmars/src/gitm-admin.ts @@ -3,27 +3,27 @@ import { createRequire } from 'node:module' import { Command } from 'commander' import chalk from 'chalk' import { getType } from 'js-cool' -import getUserInfo from '@gitmars/core/lib/api/getUserInfo' -import { queue } from '@gitmars/core/lib/queue' -import getIsBranchOrCommitExist from '@gitmars/core/lib/git/getIsBranchOrCommitExist' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import getGitConfig from '@gitmars/core/lib/git/getGitConfig' -import getIsMergedTargetBranch from '@gitmars/core/lib/git/getIsMergedTargetBranch' -import checkGitStatus from '@gitmars/core/lib/git/checkGitStatus' -import fetch from '@gitmars/core/lib/git/fetch' -import { createArgs } from '@gitmars/core/lib/utils/command' -import { spawnSync } from '@gitmars/core/lib/spawn' -import echo from '@gitmars/core/lib/utils/echo' -import getConfig from '@gitmars/core/lib/getConfig' +import { getUserInfo } from '@gitmars/api' +import { createArgs, echo, spawnSync } from '@gitmars/utils' +import { queue } from '@gitmars/core' +import { + checkGitStatus, + fetch, + getConfig, + getCurrentBranch, + getGitConfig, + getIsBranchOrCommitExist, + getIsGitProject, + getIsMergedTargetBranch +} from '@gitmars/git' import type { CommandType, FetchDataType, GitmarsMainBranchType, GitmarsOptionOptionsType -} from '../typings/gitmars' -import lang from '#lib/common/local' -import adminConfig from '#lib/conf/admin' +} from './types' +import lang from './common/local' +import adminConfig from './conf/admin' const { t } = lang const require = createRequire(import.meta.url) @@ -37,7 +37,8 @@ if (!getIsGitProject()) { const { appName } = getGitConfig() const config = getConfig() const userInfoApi = config.apis?.userInfo?.url || config.api -const mergeRequestModule = require.resolve('@gitmars/core/lib/api/mergeRequest') +const mergeRequestModule = require.resolve('@gitmars/api') +// const mergeRequestModule = import.meta.resolve('@gitmars/api') const { approve, clean, create, publish, update } = adminConfig interface GitmBuildOption { publish: { @@ -161,9 +162,9 @@ publishProgram.action( // Verify the description for this commit const reg = getType(config.descriptionValidator) === 'regexp' - ? config.descriptionValidator + ? (config.descriptionValidator as RegExp) : new RegExp(config.descriptionValidator) - isDescriptionCorrect = opt.description && reg.test(opt.description) + isDescriptionCorrect = Boolean(opt.description && reg.test(opt.description)) } const isNeedCombineBugfixToRelease = !getIsMergedTargetBranch( `origin/${config.bugfix}`, @@ -933,9 +934,9 @@ updateProgram.action( // Verify the description for this commit const reg = getType(config.descriptionValidator) === 'regexp' - ? config.descriptionValidator + ? (config.descriptionValidator as RegExp) : new RegExp(config.descriptionValidator) - isDescriptionCorrect = opt.description && reg.test(opt.description) + isDescriptionCorrect = Boolean(opt.description && reg.test(opt.description)) } if (opt.mode === 1) { mode = ' --strategy-option ours' diff --git a/packages/gitmars/src/gitm-alias.ts b/packages/gitmars/src/gitm-alias.ts index 14a8db658..340aaa653 100644 --- a/packages/gitmars/src/gitm-alias.ts +++ b/packages/gitmars/src/gitm-alias.ts @@ -1,12 +1,10 @@ #!/usr/bin/env ts-node import { program } from 'commander' import chalk from 'chalk' -import { createArgs } from '@gitmars/core/lib/utils/command' -import { spawnSync } from '@gitmars/core/lib/spawn' -import echo from '@gitmars/core/lib/utils/echo' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import aliasConfig from '#lib/conf/alias' -import lang from '#lib/common/local' +import { createArgs, echo, spawnSync } from '@gitmars/utils' +import type { GitmarsOptionOptionsType } from './types' +import aliasConfig from './conf/alias' +import lang from './common/local' const { t } = lang const { red } = chalk diff --git a/packages/gitmars/src/gitm-approve.ts b/packages/gitmars/src/gitm-approve.ts index af7c767e4..29237a54e 100755 --- a/packages/gitmars/src/gitm-approve.ts +++ b/packages/gitmars/src/gitm-approve.ts @@ -1,26 +1,24 @@ #!/usr/bin/env ts-node import { program } from 'commander' import dayjs from 'dayjs' -import inquirer from 'inquirer' +import { checkbox, select } from '@inquirer/prompts' import chalk from 'chalk' -import getUserInfo from '@gitmars/core/lib/api/getUserInfo' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getGitConfig from '@gitmars/core/lib/git/getGitConfig' -import sendGroupMessage from '@gitmars/core/lib/sendGroupMessage' -import { createArgs } from '@gitmars/core/lib/utils/command' -import echo from '@gitmars/core/lib/utils/echo' -import getConfig from '@gitmars/core/lib/getConfig' +import to from 'await-to-done' import { acceptMergeRequest, deleteMergeRequest, getMergeRequestChanges, getMergeRequestList, + getMergeRequestNotesList, + getUserInfo, updateMergeRequest -} from '@gitmars/core/lib/api/mergeRequest' -import { getMergeRequestNotesList } from '@gitmars/core/lib/api/mergeRequestNotes' -import type { FetchDataType, GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import approveConfig from '#lib/conf/approve' +} from '@gitmars/api' +import { getConfig, getGitConfig, getIsGitProject } from '@gitmars/git' +import { sendGroupMessage } from '@gitmars/core' +import { createArgs, echo } from '@gitmars/utils' +import type { FetchDataType, GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import approveConfig from './conf/approve' const { t } = lang const { blue, cyan, green, magenta, red, yellow } = chalk @@ -64,30 +62,8 @@ program.action(async (opt: GitmBuildOption): Promise => { echo(yellow(t('No merge request record found, process has exited'))) process.exit(0) } - const prompt: any = [ - { - type: 'checkbox', - message: t('Please select the merge request to be operated'), - name: 'iids', - choices: [] - }, - { - type: 'list', - message: t('Please select the action below.'), - name: 'accept', - choices: [ - t('View Details'), - t('Passed'), - t('Not passed'), - t('Failed and deleted'), - t('Exit') - ], - when(answers: any) { - return answers.iids.length - } - } - ] - for (const mr of mrList) { + const choices = [] + for await (const mr of mrList) { const { iid, author, source_branch, target_branch, merge_status, created_at } = mr mr.notes = ( (await getMergeRequestNotesList({ @@ -96,7 +72,7 @@ program.action(async (opt: GitmBuildOption): Promise => { ).filter((note: any) => !note.system) const disabled = merge_status !== 'can_be_merged' const _time = dayjs(created_at).format('YYYY/MM/DD HH:mm') - prompt[0].choices.push({ + choices.push({ name: t( '{id} request merge {source} to {target} {disabled} | {name} | {comments} | {time}', { @@ -118,20 +94,38 @@ program.action(async (opt: GitmBuildOption): Promise => { checked: false }) } - const { iids, accept } = await inquirer.prompt(prompt) + const [, iids = []] = await to( + checkbox({ + message: t('Please select the merge request to be operated'), + choices + }) + ) // no records if (iids.length === 0) { echo(yellow(t('No merge request record selected, process has exited'))) process.exit(0) } + const [, accept] = await to( + select({ + message: t('Please select the action below.'), + choices: [ + { name: t('View Details'), value: 1, description: 'Show diff' }, + { name: t('Passed'), value: 2 }, + { name: t('Not passed'), value: 3 }, + { name: t('Failed and deleted'), value: 4 }, + { name: t('Exit'), value: 5 } + ] + }) + ) + // start for (const iid of iids) { const { merge_status, source_branch, target_branch } = mrList.find( (item: any) => item.iid === iid ) const CAN_BE_MERGED = merge_status === 'can_be_merged' - if (accept === t('Passed')) { + if (accept === 2) { if (!CAN_BE_MERGED) { echo( yellow( @@ -151,7 +145,7 @@ program.action(async (opt: GitmBuildOption): Promise => { }) ) echo(green(t('Merge request {id}: Merged', { id: iid }))) - } else if (accept === t('View Details')) { + } else if (accept === 1) { const { changes, changes_count } = await getMergeRequestChanges({ iid }) @@ -179,7 +173,7 @@ program.action(async (opt: GitmBuildOption): Promise => { .replace(/\n(\+.+)/g, (m: string, p1: string) => '\n' + green(p1)) ) } - } else if (accept === t('Failed and deleted')) { + } else if (accept === 4) { await deleteMergeRequest({ iid }) !opt.quiet && sendGroupMessage( @@ -191,7 +185,7 @@ program.action(async (opt: GitmBuildOption): Promise => { }) ) echo(green(t('Merge request {id}: Deleted', { id: iid }))) - } else if (accept === t('Not passed')) { + } else if (accept === 3) { // delete await updateMergeRequest({ iid, diff --git a/packages/gitmars/src/gitm-branch.ts b/packages/gitmars/src/gitm-branch.ts index e2b607ff4..a27a7e2b1 100755 --- a/packages/gitmars/src/gitm-branch.ts +++ b/packages/gitmars/src/gitm-branch.ts @@ -2,14 +2,12 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import { queue } from '@gitmars/core/lib/queue' -import searchBranches from '@gitmars/core/lib/git/searchBranches' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getIsBranchOrCommitExist from '@gitmars/core/lib/git/getIsBranchOrCommitExist' -import { createArgs } from '@gitmars/core/lib/utils/command' -import type { CommandType, GitmarsBranchType, GitmarsOptionOptionsType } from '../typings/gitmars' -import branchConfig from '#lib/conf/branch' -import lang from '#lib/common/local' +import { queue } from '@gitmars/core' +import { getIsBranchOrCommitExist, getIsGitProject, searchBranches } from '@gitmars/git' +import { createArgs } from '@gitmars/utils' +import type { CommandType, GitmarsBranchType, GitmarsOptionOptionsType } from './types' +import branchConfig from './conf/branch' +import lang from './common/local' const { t } = lang const { green, red } = chalk diff --git a/packages/gitmars/src/gitm-build-mp.ts b/packages/gitmars/src/gitm-build-mp.ts new file mode 100755 index 000000000..04976e0f4 --- /dev/null +++ b/packages/gitmars/src/gitm-build-mp.ts @@ -0,0 +1,188 @@ +#!/usr/bin/env ts-node +import { program } from 'commander' +import sh from 'shelljs' +import { confirm, input, select } from '@inquirer/prompts' +import chalk from 'chalk' +import to from 'await-to-done' +import { createArgs } from '@gitmars/utils' +import { getGitConfig, getIsGitProject } from '@gitmars/git' +import { getBuildConfig, getProjectOption, runJenkins } from '@gitmars/build' +import type { ApolloBranchList } from '@gitmars/build' +import type { GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import buildMpConfig from './conf/build-mp' + +const { t } = lang +const { red, yellow } = chalk +const { args, options } = buildMpConfig + +interface GitmBuildMpOption { + env?: ApolloBranchList + app?: string + data?: string + confirm?: boolean + build_api_env?: 'alpha' | 'tag' | 'release' | 'production' + miniprogram?: string + description?: string +} +/** + * gitm build-mp + */ +program + .name('gitm build-mp') + .usage( + '[project] [-e --env [env]] [--api-env [apiEnv]] [-mp --miniprogram [miniprogram]] [-des --description [description]] [-a --app [app]] [-d --data ] [-c --confirm]' + ) + .description(t('buildMpJenkins')) +if (args.length > 0) program.arguments(createArgs(args)) +options.forEach((o: GitmarsOptionOptionsType) => { + program.option(o.flags, o.description, o.defaultValue) +}) +// .option('-e, --env [env]', t('Environment to be built, optionally dev, prod, bug, all'), '') +// .option('--api-env [apiEnv]', t('Api environment to be built, optionally alpha, tag, release, production'), '') +// .option('-mp, --miniprogram [miniprogram]', t('Generate experiential version of miniprogram'), '') +// .option('-des, --description [description]', t('Enter the version description'), '') +// .option('-a, --app [app]', t('Application to be built'), '') +// .option('-d, --data ', t('Other data to be transferred'), '{}') +// .option('-c, --confirm', t('Confirm start, do not show confirmation box when true'), false) +program.action(async (project: string, opt: GitmBuildMpOption): Promise => { + const data = JSON.parse(opt.data || '{}') + let env = opt.env, + app = opt.app, + _confirm = opt.confirm, + build_api_env = opt.build_api_env || data.build_api_env, + mini_program = opt.miniprogram || data.mini_program, + description = opt.description || data.description + + if (!project) { + if (getIsGitProject()) project = getGitConfig().appName + else + project = await input({ + message: t('Enter project name'), + transformer: val => val.trim() + }) + } + + if (!env) { + ;[, env] = await to( + select({ + message: t('Select the environment to build'), + choices: [ + { + name: 'dev', + value: 'dev', + description: t('Test environment(alpha)') + }, + { + name: 'bug', + value: 'bug', + description: t('Pre-release tag environment(bug)') + }, + { + name: 'prod', + value: 'prod', + description: t('Pre-release prod environment(prod)') + } + ] + }) + ) + } + + const [, buildConfig] = await to(getBuildConfig(false)) + const projectOption = await getProjectOption(project, env!, buildConfig) + if (!app) { + if (!buildConfig) { + ;[, app] = await to( + input({ + message: t('Enter the application to build'), + transformer: val => val.trim() + }) + ) + } else if (projectOption?.apps) { + ;[, app] = await to( + select({ + message: t('Select the application to build'), + choices: projectOption.apps.map(name => ({ + name, + value: name + })) + }) + ) + } + // no apps means no-need to enter app name + } + + if (!build_api_env) { + ;[, build_api_env] = await to( + select({ + message: t('Select the api environment to build'), + choices: [ + { + name: 'alpha', + value: 'alpha', + description: t('Test environment(alpha)') + }, + { + name: 'tag', + value: 'tag', + description: t('Pre-release tag environment(bug)') + }, + { + name: 'release', + value: 'release', + description: t('Pre-release prod environment(prod)') + }, + { + name: 'production', + value: 'production', + description: t('Production environment') + } + ] + }) + ) + } + + if (!mini_program) { + ;[, mini_program] = await to( + input({ + message: t('Generate experiential version of miniprogram'), + transformer: val => val.trim() + }) + ) + } + if (!description) { + ;[, description] = await to( + input({ + message: t('Enter the version description'), + transformer: val => val.trim() + }) + ) + } + + if (!_confirm) { + let message = `${yellow(t('Please double check the following build parameters'))}\n${t( + 'Project Name' + )}: ${red(project)}\n${t('Code Branch')}: ${red(env)}\n${t('Build Application')}: ${red( + app + )}` + + message += `\n${t('Interface Environment')}: ${red(build_api_env || 'production')}` + if (mini_program) + message += `\n${t('Experience version pushed to')}: ${red(mini_program || t('Push to templates only'))}` + if (description) message += `\n${t('Version Description')}: ${red(description)}` + if ('clean' in data) + message += `\n${t('Clean node modules (use with caution)')}: ${red(data.clean)}` + ;[, _confirm] = await to(confirm({ message })) + } + + if (!_confirm) sh.exit(1) + else + runJenkins({ + env: env!, + project, + app: app!, + data: JSON.stringify({ ...data, build_api_env, mini_program, description }) + }) +}) +program.parse(process.argv) +export {} diff --git a/packages/gitmars/src/gitm-build.ts b/packages/gitmars/src/gitm-build.ts index b43a5f31d..d9f3884c3 100755 --- a/packages/gitmars/src/gitm-build.ts +++ b/packages/gitmars/src/gitm-build.ts @@ -1,22 +1,24 @@ #!/usr/bin/env ts-node import { program } from 'commander' import sh from 'shelljs' -import inquirer from 'inquirer' +import { confirm, input, select } from '@inquirer/prompts' import chalk from 'chalk' -import { createArgs } from '@gitmars/core/lib/utils/command' -import runJenkins from '@gitmars/core/lib/build/runJenkins' -import { type ApolloBranchList } from '@gitmars/core/typings/core' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import buildConfig from '#lib/conf/build' +import to from 'await-to-done' +import { createArgs } from '@gitmars/utils' +import { getGitConfig, getIsGitProject } from '@gitmars/git' +import { getBuildConfig, getProjectOption, runJenkins } from '@gitmars/build' +import type { ApolloBranchList } from '@gitmars/build' +import type { GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import buildConfig from './conf/build' const { t } = lang const { red, yellow } = chalk const { args, options } = buildConfig interface GitmBuildOption { - env: ApolloBranchList - app: string + env?: ApolloBranchList + app?: string data?: string confirm?: boolean } @@ -25,51 +27,105 @@ interface GitmBuildOption { */ program .name('gitm build') - .usage(' [-e --env [env]] [-a --app [app]] [-d --data ] [-c --confirm]') + .usage('[project] [-e --env [env]] [-a --app [app]] [-d --data ] [-c --confirm]') .description(t('buildJenkins')) if (args.length > 0) program.arguments(createArgs(args)) options.forEach((o: GitmarsOptionOptionsType) => { program.option(o.flags, o.description, o.defaultValue) }) -// .option('-e, --env [env]', t('Environment to be built, optionally dev, prod, bug, all'), 'dev') -// .option('-a, --app [app]', t('Application to be built'), 'all') +// .option('-e, --env [env]', t('Environment to be built, optionally dev, prod, bug, all'), '') +// .option('-a, --app [app]', t('Application to be built'), '') // .option('-d, --data ', t('Other data to be transferred'), '{}') // .option('-c, --confirm', t('Confirm start, do not show confirmation box when true'), false) program.action(async (project: string, opt: GitmBuildOption): Promise => { const data = JSON.parse(opt.data || '{}') - let confirm = opt.confirm + let env = opt.env, + app = opt.app, + _confirm = opt.confirm + + if (!project) { + if (getIsGitProject()) project = getGitConfig().appName + else + project = await input({ + message: t('Enter project name'), + transformer: val => val.trim() + }) + } + + if (!env) { + ;[, env] = await to( + select({ + message: t('Select the environment to build'), + choices: [ + { + name: 'dev', + value: 'dev', + description: t('Test environment(alpha)') + }, + { + name: 'bug', + value: 'bug', + description: t('Pre-release tag environment(bug)') + }, + { + name: 'prod', + value: 'prod', + description: t('Pre-release prod environment(prod)') + } + ] + }) + ) + } + + const [, buildConfig] = await to(getBuildConfig(false)) + const projectOption = await getProjectOption(project, env!, buildConfig) + if (!app) { + if (!buildConfig) { + ;[, app] = await to( + input({ + message: t('Enter the application to build'), + transformer: val => val.trim() + }) + ) + } else if (projectOption?.apps) { + ;[, app] = await to( + select({ + message: t('Select the application to build'), + choices: projectOption.apps.map(name => ({ + name, + value: name + })) + }) + ) + } + // no apps means no-need to enter app name + } // 有opt.data时强制确认 - if (!confirm || (opt.data && opt.data !== '{}')) { + if (!_confirm || (opt.data && opt.data !== '{}')) { let message = `${yellow(t('Please double check the following build parameters'))}\n${t( 'Project Name' - )}: ${red(project)}\n${t('Code Branch')}: ${red(opt.env)}\n${t('Build Application')}: ${red( - opt.app + )}: ${red(project)}\n${t('Code Branch')}: ${red(env)}\n${t('Build Application')}: ${red( + app )}` - message += `\n${t('Interface Environment')}: ${red(data.build_api_env || 'production')}` + if ('build_api_env' in data) + message += `\n${t('Interface Environment')}: ${red(data.build_api_env || 'production')}` if ('mini_program' in data) message += `\n${t('Experience version pushed to')}: ${red(data.mini_program || t('Push to templates only'))}` if ('description' in data) message += `\n${t('Version Description')}: ${red(data.description)}` if ('clean' in data) message += `\n${t('Clean node modules (use with caution)')}: ${red(data.clean)}` - - confirm = ( - await inquirer.prompt({ - type: 'confirm', - name: 'confirm', - message - }) - ).confirm + ;[, _confirm] = await to(confirm({ message })) } - if (!confirm) sh.exit(1) + if (!_confirm) sh.exit(1) else runJenkins({ - env: opt.env, + env: env!, project, - app: opt.app, + app: app!, data: opt.data }) }) diff --git a/packages/gitmars/src/gitm-clean.ts b/packages/gitmars/src/gitm-clean.ts index b7934c251..7ff133278 100755 --- a/packages/gitmars/src/gitm-clean.ts +++ b/packages/gitmars/src/gitm-clean.ts @@ -2,17 +2,15 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import inquirer from 'inquirer' -import getGitRevParse from '@gitmars/core/lib/git/getGitRevParse' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import { removeFile } from '@gitmars/core/lib/utils/file' -import { createArgs } from '@gitmars/core/lib/utils/command' -import { cleanCache } from '@gitmars/core/lib/cache/cache' -import { cleanPkgInfo } from '@gitmars/core/lib/utils/pkgInfo' -import { cleanBuildConfig } from '@gitmars/core/lib/build/buildConfig' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import cleanConfig from '#lib/conf/clean' +import to from 'await-to-done' +import { confirm } from '@inquirer/prompts' +import { getGitRevParse, getIsGitProject } from '@gitmars/git' +import { cleanCache, cleanPkgInfo } from '@gitmars/cache' +import { createArgs, removeFile } from '@gitmars/utils' +import { cleanBuildConfig } from '@gitmars/build' +import type { GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import cleanConfig from './conf/clean' sh.config.silent = true @@ -37,21 +35,18 @@ options.forEach((o: GitmarsOptionOptionsType) => { program.action(async (opt: GitmBuildOption) => { if (getIsGitProject()) { if (opt.force) { - await inquirer - .prompt({ - type: 'confirm', - name: 'value', + const [, answer] = await to( + confirm({ message: t( 'You have entered --force, which will also clear the gitmars execution cache. Should I continue?' ), default: false }) - .then((answers: any) => { - if (!answers.value) { - sh.echo(green(t('exited'))) - process.exit(0) - } - }) + ) + if (!answer) { + sh.echo(green(t('exited'))) + process.exit(0) + } removeFile([ { name: t('gitmars command queue cache file'), diff --git a/packages/gitmars/src/gitm-cleanbranch.ts b/packages/gitmars/src/gitm-cleanbranch.ts index dbd184d27..1eb4e6fc2 100755 --- a/packages/gitmars/src/gitm-cleanbranch.ts +++ b/packages/gitmars/src/gitm-cleanbranch.ts @@ -1,22 +1,23 @@ #!/usr/bin/env ts-node import { program } from 'commander' import chalk from 'chalk' -import inquirer from 'inquirer' +import { checkbox, confirm } from '@inquirer/prompts' import ora from 'ora' import { waiting } from 'js-cool' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import searchBranches from '@gitmars/core/lib/git/searchBranches' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import getIsMergedTargetBranch from '@gitmars/core/lib/git/getIsMergedTargetBranch' -import getIsBranchOrCommitExist from '@gitmars/core/lib/git/getIsBranchOrCommitExist' -import fetch from '@gitmars/core/lib/git/fetch' -import { createArgs } from '@gitmars/core/lib/utils/command' -import echo from '@gitmars/core/lib/utils/echo' -import { spawnSync } from '@gitmars/core/lib/spawn' -import getConfig from '@gitmars/core/lib/getConfig' -import type { GitmarsBranchType, GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import cleanbranchConfig from '#lib/conf/cleanbranch' +import to from 'await-to-done' +import { + fetch, + getConfig, + getCurrentBranch, + getIsBranchOrCommitExist, + getIsGitProject, + getIsMergedTargetBranch, + searchBranches +} from '@gitmars/git' +import { createArgs, echo, spawnSync } from '@gitmars/utils' +import type { GitmarsBranchType, GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import cleanbranchConfig from './conf/cleanbranch' const { t } = lang const { green, red, yellow } = chalk @@ -144,19 +145,16 @@ program.action(async (branches: string[], opt: GitmBuildOption) => { const _willDeleteBranch: string[] = [] if (branches.length > 0) { if (!opt.list && !opt.confirm) { - await inquirer - .prompt({ - type: 'confirm', - name: 'value', + const [, answer] = await to( + confirm({ message: t('About to start batch deleting branches, do you want to continue?'), default: false }) - .then((answers: any) => { - if (!answers.value) { - echo(green(t('exited'))) - process.exit(0) - } - }) + ) + if (!answer) { + echo(green(t('exited'))) + process.exit(0) + } } } else { echo(green(t('No branches were queried.'))) @@ -215,36 +213,31 @@ program.action(async (branches: string[], opt: GitmBuildOption) => { if (_willDeleteBranch.length > 0) { console.info('\r') // Select the branch to clean - const prompt: any = { - type: 'checkbox', - message: yellow( - t( - 'Find {total} branches merged over {branches} branch, please select the branch to clean up', - { - branches: targets.join(','), - total: String(_willDeleteBranch.length) - } - ) - ), - name: 'selectBranches', - choices: [] - } - _willDeleteBranch.forEach(item => { - prompt.choices.push({ - name: green(item), - value: item, - checked: true - }) - }) - inquirer.prompt(prompt as any).then(({ selectBranches }: any) => { - if (selectBranches.length === 0) { - echo(yellow(t('No branches were selected and the process has exited.'))) - process.exit(0) - } - selectBranches.forEach(async (branch: string) => { - // start deleting branch - await clean(branch) + const [, selectBranches = []] = await to( + checkbox({ + message: yellow( + t( + 'Find {total} branches merged over {branches} branch, please select the branch to clean up', + { + branches: targets.join(','), + total: String(_willDeleteBranch.length) + } + ) + ), + choices: _willDeleteBranch.map(item => ({ + name: green(item), + value: item, + checked: true + })) }) + ) + if (selectBranches.length === 0) { + echo(yellow(t('No branches were selected and the process has exited.'))) + process.exit(0) + } + selectBranches.forEach(async (branch: string) => { + // start deleting branch + await clean(branch) }) } else { echo(green(t('Analysis complete, no branches to clean up'))) diff --git a/packages/gitmars/src/gitm-combine.ts b/packages/gitmars/src/gitm-combine.ts index 8a66e9867..16b48a5b0 100755 --- a/packages/gitmars/src/gitm-combine.ts +++ b/packages/gitmars/src/gitm-combine.ts @@ -3,34 +3,38 @@ import { createRequire } from 'node:module' import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' +import { checkbox } from '@inquirer/prompts' +import to from 'await-to-done' import { getType } from 'js-cool' -import { queue } from '@gitmars/core/lib/queue' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import getGitConfig from '@gitmars/core/lib/git/getGitConfig' -import getIsMergedTargetBranch from '@gitmars/core/lib/git/getIsMergedTargetBranch' -import getIsUpdatedInTime from '@gitmars/core/lib/git/getIsUpdatedInTime' -import checkGitStatus from '@gitmars/core/lib/git/checkGitStatus' -import searchBranches from '@gitmars/core/lib/git/searchBranches' -import { createArgs } from '@gitmars/core/lib/utils/command' -import { isNeedUpgrade, upgradeGitmars } from '@gitmars/core/lib/versionControl' -import getConfig from '@gitmars/core/lib/getConfig' -import getUserInfo from '@gitmars/core/lib/api/getUserInfo' -import type { CommandType, FetchDataType, GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import { defaults } from '#lib/common/global' -import combineConfig from '#lib/conf/combine' +import { isNeedUpgrade, queue, upgradeGitmars } from '@gitmars/core' +import { + checkGitStatus, + getConfig, + getCurrentBranch, + getGitConfig, + getIsGitProject, + getIsMergedTargetBranch, + getIsUpdatedInTime, + searchBranches +} from '@gitmars/git' +import { createArgs } from '@gitmars/utils' +import { getUserInfo } from '@gitmars/api' +import type { CommandType, FetchDataType, GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import { defaults } from './common/global' +import combineConfig from './conf/combine' const { t } = lang const require = createRequire(import.meta.url) -const { red, yellow } = chalk +const { red, green, yellow } = chalk if (!getIsGitProject()) { sh.echo(red(t('The current directory is not a git project directory'))) process.exit(1) } -const mergeRequestModule = require.resolve('@gitmars/core/lib/api/mergeRequest') +const mergeRequestModule = require.resolve('@gitmars/api') +// const mergeRequestModule = import.meta.resolve('@gitmars/api') interface GitmBuildOption { dev?: boolean @@ -45,6 +49,16 @@ interface GitmBuildOption { data?: string } +export interface DevelopBranchStatusInfo { + branchName: string + type: string + name: string + isNeedCombineDevelop: boolean + isNeedCombineBase: boolean + isNeedCombineRelease: boolean + isNeedCombineBugfix: boolean +} + const { args, options } = combineConfig const { appName } = getGitConfig() const config = getConfig() @@ -89,15 +103,16 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise ] const { level, nickname = '' } = userInfoApi ? await getUserInfo() : ({} as FetchDataType) const status = !opt.add && opt.commit === '' ? checkGitStatus() : true - let _nameArr: string[] = [], // Branch name array + let _branches: string[] = [], // Branches found + pendingBranches: DevelopBranchStatusInfo[] = [], // Batch pending branches isDescriptionCorrect = true // Does the description of the reason for this submission meet the specification if (!opt.dev && !opt.prod) { - sh.echo(t('Please enter the environment to sync to.')) + sh.echo(t('Enter the environment to sync to.')) process.exit(1) } if (!status) process.exit(1) if (opt.commit === true) { - sh.echo(red(t('Please enter the message to be submitted'))) + sh.echo(red(t('Enter the message to be submitted'))) process.exit(1) } // When there is a descriptionValidator configured, the description information needs to be verified @@ -105,12 +120,13 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise // Verify the description for this commit const reg = getType(config.descriptionValidator) === 'regexp' - ? config.descriptionValidator + ? (config.descriptionValidator as RegExp) : new RegExp(config.descriptionValidator) - isDescriptionCorrect = opt.description && reg.test(opt.description) + isDescriptionCorrect = Boolean(opt.description && reg.test(opt.description)) } if (!type) { // type and name are not passed and the current branch is a development branch + let _nameArr ;[type, ..._nameArr] = getCurrentBranch().split('/') name = _nameArr.join('/') if (!name) { @@ -125,126 +141,184 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise ) process.exit(1) } - } else if (!name) { - // passed type but not name - if (allow.includes(type)) { - sh.echo(t('Please enter branch name')) + } + + // wrong type + if (!allow.includes(type)) { + sh.echo(red(t('type only allows input') + ': ' + JSON.stringify(allow))) + process.exit(1) + } else if (type === 'feature' && opt.asFeature) { + sh.echo(t('--as-feature is only used in the bugfix branch.')) + process.exit(1) + } + + // Passed type but not name. + if (!name) { + _branches = searchBranches({ type }) + if (!_branches.length) { + sh.echo(red(t('Branch does not exist, please enter it correctly'))) process.exit(1) } - const branches = searchBranches({ type }) - if (branches.length === 1) { - ;[type, ..._nameArr] = branches[0].split('/') - name = _nameArr.join('/') - } else { - sh.echo( - branches.length > 1 - ? t( - 'If you find multiple branches with names containing {type}, please enter the branch type', - { type } - ) - : red(t('Branch does not exist, please enter it correctly')) - ) - process.exit(1) + } else { + _branches = [type + '/' + name] + } + + const base: string = type === 'bugfix' ? config.bugfix : config.release + const cmd: Array = [] + const branchesWithInfo: DevelopBranchStatusInfo[] = _branches.map(branchName => { + const [_type, ..._nameArr] = branchName.split('/') + const _name = _nameArr.join('/') + // Is it necessary to merge dev + const isNeedCombineDevelop = !getIsMergedTargetBranch(branchName, config.develop, { + remote: true + }) + // Is it necessary to merge base + const isNeedCombineBase = !getIsMergedTargetBranch(branchName, base, { + remote: true + }) + // Is it necessary to merge release + const isNeedCombineRelease = !getIsMergedTargetBranch(branchName, config.release, { + remote: true + }) + // Is it necessary to merge bug + const isNeedCombineBugfix = !getIsMergedTargetBranch(branchName, config.bugfix, { + remote: true + }) + return { + branchName, + type: _type, + name: _name, + isNeedCombineDevelop, + isNeedCombineBase, + isNeedCombineRelease, + isNeedCombineBugfix } + }) + + if (branchesWithInfo.length === 1) pendingBranches = branchesWithInfo + else { + ;[, pendingBranches = []] = await to( + checkbox({ + message: t('Select branch for batch processing'), + choices: branchesWithInfo.map(item => { + const _merged = [] + if (!item.isNeedCombineDevelop) _merged.push(config.develop) + if (!item.isNeedCombineRelease) _merged.push(config.release) + if (!item.isNeedCombineBugfix) _merged.push(config.bugfix) + return { + name: t('{source}{info}', { + source: item.branchName, + info: _merged.length + ? green( + ' (' + + t(`Merged branch: {info}`, { + info: _merged.join('/') + }) + + ')' + ) + : '' + }), + value: item, + checked: false + } + }) + }) + ) } - if (type === 'feature' && opt.asFeature) { - sh.echo(t('--as-feature is only used in the bugfix branch.')) - process.exit(1) + if (!pendingBranches.length) { + sh.echo(t('No pending branches, program exits')) + process.exit(0) + } + + if (opt.add) { + cmd.push('git add .') + } + if (opt.commit) { + cmd.push(`git commit -m "${opt.commit}"`) } - if (allow.includes(type) && name) { - const base: string = type === 'bugfix' ? config.bugfix : config.release - let cmd: Array = [] + for (const { + branchName, + type, + isNeedCombineDevelop, + isNeedCombineBase, + isNeedCombineRelease, + isNeedCombineBugfix + } of pendingBranches) { // Get whether the upstream branch code has been synchronized within a week if (!getIsUpdatedInTime({ lastet: '7d', limit: 1000, branch: base })) { sh.echo( yellow( t( - 'This branch has not been synced for more than 1 week, please sync it at least once a week, execute: gitm update (-f)' + 'The {source} branch has not updated its upstream branch code in over a week, please sync it at least once a week, execute: gitm update (-f)', + { + source: branchName + } ) ) ) } - if (opt.add) { - cmd = cmd.concat(['git add .']) - } - if (opt.commit) { - cmd = cmd.concat([`git commit -m "${opt.commit}"`]) - } + // combine to dev if (opt.dev) { - // Is it necessary to merge dev - const isNeedCombineDevelop = !getIsMergedTargetBranch( - `${type}/${name}`, - config.develop, - { remote: true } - ) - cmd = cmd.concat( - isNeedCombineDevelop || opt.force - ? [ - 'git fetch', - `git checkout ${config.develop}`, - 'git pull', - { - cmd: `git merge --no-ff ${type}/${name}`, - config: { - again: false, - success: t('Merge {source} into {target} successfully', { - source: `${type}/${name}`, - target: config.develop - }), - fail: t( - 'An error occurred merging {source} to {target}, Please follow the instructions', - { - source: `${type}/${name}`, - target: config.develop - } - ) - } - }, - { - cmd: 'git push', - config: { - again: true, - success: t('Successful Pushed'), - fail: t('Push failed, please follow the prompts') - } - }, - `git checkout ${type}/${name}` - ] - : [ - { - message: t('{source} has been merged with {target}', { - source: `${type}/${name}`, - target: config.develop - }) - } - ] - ) - if (opt.build) { - cmd = cmd.concat([ + if (isNeedCombineDevelop || opt.force) + cmd.push( + 'git fetch', + `git checkout ${config.develop}`, + 'git pull', { - cmd: `gitm build ${appName} --confirm --env dev --app ${ - opt.build === true ? 'all' : opt.build - } ${opt.data ? ' --data ' + opt.data : ''}`, + cmd: `git merge --no-ff ${branchName}`, config: { - stdio: 'inherit', again: false, - success: t('Pulling up the build was successful'), - fail: t('Failed to pull up the build') + success: t('Merge {source} into {target} successfully', { + source: branchName, + target: config.develop + }), + fail: t( + 'An error occurred merging {source} to {target}, Please follow the instructions', + { + source: branchName, + target: config.develop + } + ) } + }, + { + cmd: 'git push', + config: { + again: true, + success: t('Successful Pushed'), + fail: t('Push failed, please follow the prompts') + } + }, + `git checkout ${branchName}` + ) + else + cmd.push({ + message: t('{source} has been merged with {target}', { + source: branchName, + target: config.develop + }) + }) + if (opt.build) { + cmd.push({ + cmd: `gitm build ${appName} --confirm --env dev --app ${ + opt.build === true ? 'all' : opt.build + } ${opt.data ? ' --data ' + opt.data : ''}`, + config: { + stdio: 'inherit', + again: false, + success: t('Pulling up the build was successful'), + fail: t('Failed to pull up the build') } - ]) + }) } } // Start merging to prod if (opt.prod) { // Determine if has merged dev branch - if ( - !opt.dev && - !getIsMergedTargetBranch(`${type}/${name}`, config.develop, { remote: true }) - ) { + if (!opt.dev && isNeedCombineDevelop) { sh.echo( yellow( t( @@ -272,55 +346,45 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise } if (!level || level < 3) { - // Is it necessary to merge prod - const isNeedCombineProd = !getIsMergedTargetBranch(`${type}/${name}`, base, { - remote: true - }) - cmd = cmd.concat( - isNeedCombineProd || opt.force - ? [ - 'git fetch', - `git checkout ${base}`, - 'git pull', - { - cmd: `git merge --no-ff ${type}/${name}`, - config: { - again: false, - success: t( - 'Merge {source} into {target} successfully', - { - source: `${type}/${name}`, - target: base - } - ), - fail: t( - 'An error occurred merging {source} to {target}, Please follow the instructions', - { - source: `${type}/${name}`, - target: base - } - ) - } - }, - { - cmd: 'git push', - config: { - again: true, - success: t('Successful Pushed'), - fail: t('Push failed, please follow the prompts') - } - }, - `git checkout ${type}/${name}` - ] - : [ - { - message: t('{source} has been merged with {target}', { - source: `${type}/${name}`, + if (isNeedCombineBase || opt.force) + cmd.push( + 'git fetch', + `git checkout ${base}`, + 'git pull', + { + cmd: `git merge --no-ff ${branchName}`, + config: { + again: false, + success: t('Merge {source} into {target} successfully', { + source: branchName, + target: base + }), + fail: t( + 'An error occurred merging {source} to {target}, Please follow the instructions', + { + source: branchName, target: base - }) - } - ] - ) + } + ) + } + }, + { + cmd: 'git push', + config: { + again: true, + success: t('Successful Pushed'), + fail: t('Push failed, please follow the prompts') + } + }, + `git checkout ${branchName}` + ) + else + cmd.push({ + message: t('{source} has been merged with {target}', { + source: branchName, + target: base + }) + }) } else { if (!isDescriptionCorrect) { sh.echo( @@ -332,9 +396,9 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise ) process.exit(1) } - cmd = cmd.concat([ + cmd.push( { - cmd: `git push --set-upstream origin ${type}/${name}`, + cmd: `git push --set-upstream origin ${branchName}`, config: { again: true, success: t('Push remote and associate remote branch successfully'), @@ -346,7 +410,7 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise module: mergeRequestModule, entry: 'createMergeRequest', options: { - source_branch: `${type}/${name}`, + source_branch: branchName, target_branch: base, description: opt.description } @@ -367,68 +431,56 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise { nickname, app: appName, - source: `${type}/${name}`, + source: branchName, target: base } )}"` ] - ]) + ) } } // bugfix分支走release发布 if (type === 'bugfix' && opt.asFeature) { if (!level || level < 3) { - // Is it necessary to merge prod - const isNeedCombineProd = !getIsMergedTargetBranch( - `${type}/${name}`, - config.release, - { remote: true } - ) - cmd = cmd.concat( - isNeedCombineProd || opt.force - ? [ - 'git fetch', - `git checkout ${config.release}`, - 'git pull', - { - cmd: `git merge --no-ff ${type}/${name}`, - config: { - again: false, - success: t( - 'Merge {source} into {target} successfully', - { - source: `${type}/${name}`, - target: config.release - } - ), - fail: t( - 'An error occurred merging {source} to {target}, Please follow the instructions', - { - source: `${type}/${name}`, - target: config.release - } - ) - } - }, - { - cmd: 'git push', - config: { - again: true, - success: t('Successful Pushed'), - fail: t('Push failed, please follow the prompts') - } - }, - `git checkout ${type}/${name}` - ] - : [ - { - message: t('{source} has been merged with {target}', { - source: `${type}/${name}`, + if (isNeedCombineRelease || opt.force) + cmd.push( + 'git fetch', + `git checkout ${config.release}`, + 'git pull', + { + cmd: `git merge --no-ff ${branchName}`, + config: { + again: false, + success: t('Merge {source} into {target} successfully', { + source: branchName, + target: config.release + }), + fail: t( + 'An error occurred merging {source} to {target}, Please follow the instructions', + { + source: branchName, target: config.release - }) - } - ] - ) + } + ) + } + }, + { + cmd: 'git push', + config: { + again: true, + success: t('Successful Pushed'), + fail: t('Push failed, please follow the prompts') + } + }, + `git checkout ${branchName}` + ) + else + cmd.push({ + message: t('{source} has been merged with {target}', { + source: branchName, + target: config.release + }) + }) } else { if (!isDescriptionCorrect) { sh.echo( @@ -440,9 +492,9 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise ) process.exit(1) } - cmd = cmd.concat([ + cmd.push( { - cmd: `git push --set-upstream origin ${type}/${name}`, + cmd: `git push --set-upstream origin ${branchName}`, config: { again: true, success: t('Push remote and associate remote branch successfully'), @@ -454,7 +506,7 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise module: mergeRequestModule, entry: 'createMergeRequest', options: { - source_branch: `${type}/${name}`, + source_branch: branchName, target_branch: config.release, description: opt.description } @@ -475,68 +527,56 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise { nickname, app: appName, - source: `${type}/${name}`, + source: branchName, target: config.release } )}"` ] - ]) + ) } } // support分支需要合到bugfix if (type === 'support' && opt.noBugfix) { if (!level || level < 3) { - // Is it necessary to merge prod - const isNeedCombineProd = !getIsMergedTargetBranch( - `${type}/${name}`, - config.bugfix, - { remote: true } - ) - cmd = cmd.concat( - isNeedCombineProd || opt.force - ? [ - 'git fetch', - `git checkout ${config.bugfix}`, - 'git pull', - { - cmd: `git merge --no-ff ${type}/${name}`, - config: { - again: false, - success: t( - 'Merge {source} into {target} successfully', - { - source: `${type}/${name}`, - target: config.bugfix - } - ), - fail: t( - 'An error occurred merging {source} to {target}, Please follow the instructions', - { - source: `${type}/${name}`, - target: config.bugfix - } - ) - } - }, - { - cmd: 'git push', - config: { - again: true, - success: t('Successful Pushed'), - fail: t('Push failed, please follow the prompts') - } - }, - `git checkout ${type}/${name}` - ] - : [ - { - message: t('{source} has been merged with {target}', { - source: `${type}/${name}`, + if (isNeedCombineBugfix || opt.force) + cmd.push( + 'git fetch', + `git checkout ${config.bugfix}`, + 'git pull', + { + cmd: `git merge --no-ff ${branchName}`, + config: { + again: false, + success: t('Merge {source} into {target} successfully', { + source: branchName, + target: config.bugfix + }), + fail: t( + 'An error occurred merging {source} to {target}, Please follow the instructions', + { + source: branchName, target: config.bugfix - }) - } - ] - ) + } + ) + } + }, + { + cmd: 'git push', + config: { + again: true, + success: t('Successful Pushed'), + fail: t('Push failed, please follow the prompts') + } + }, + `git checkout ${branchName}` + ) + else + cmd.push({ + message: t('{source} has been merged with {target}', { + source: branchName, + target: config.bugfix + }) + }) } else { if (!isDescriptionCorrect) { sh.echo( @@ -548,9 +588,9 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise ) process.exit(1) } - cmd = cmd.concat([ + cmd.push( { - cmd: `git push --set-upstream origin ${type}/${name}`, + cmd: `git push --set-upstream origin ${branchName}`, config: { again: true, success: t('Push remote and associate remote branch successfully'), @@ -562,7 +602,7 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise module: mergeRequestModule, entry: 'createMergeRequest', options: { - source_branch: `${type}/${name}`, + source_branch: branchName, target_branch: config.bugfix, description: opt.description } @@ -583,47 +623,43 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise { nickname, app: appName, - source: `${type}/${name}`, + source: branchName, target: config.bugfix } )}"` ] - ]) + ) } } // 仅支持构建bug if (opt.build) { if (!level || level < 3) { if (type === 'bugfix') { - cmd = cmd.concat([ - { - cmd: `gitm build ${appName} --confirm --env bug --app ${ - opt.build === true ? 'all' : opt.build - } ${opt.data ? ' --data ' + opt.data : ''}`, - config: { - stdio: 'inherit', - again: false, - success: t('Pulling up the build was successful'), - fail: t('Failed to pull up the build') - } + cmd.push({ + cmd: `gitm build ${appName} --confirm --env bug --app ${ + opt.build === true ? 'all' : opt.build + } ${opt.data ? ' --data ' + opt.data : ''}`, + config: { + stdio: 'inherit', + again: false, + success: t('Pulling up the build was successful'), + fail: t('Failed to pull up the build') } - ]) + }) } // support分支要构建bug和release if (type === 'support' && opt.noBugfix) { - cmd = cmd.concat([ - { - cmd: `gitm build ${appName} --confirm --env bug --app ${ - opt.build === true ? 'all' : opt.build - } ${opt.data ? ' --data ' + opt.data : ''}`, - config: { - stdio: 'inherit', - again: false, - success: t('Pulling up the build was successful'), - fail: t('Failed to pull up the build') - } + cmd.push({ + cmd: `gitm build ${appName} --confirm --env bug --app ${ + opt.build === true ? 'all' : opt.build + } ${opt.data ? ' --data ' + opt.data : ''}`, + config: { + stdio: 'inherit', + again: false, + success: t('Pulling up the build was successful'), + fail: t('Failed to pull up the build') } - ]) + }) } } else { sh.echo( @@ -641,11 +677,9 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise } } } - queue(cmd) - } else { - sh.echo(red(t('type only allows input') + ': ' + JSON.stringify(allow))) - process.exit(1) } + + queue(cmd) }) program.parse(process.argv) export {} diff --git a/packages/gitmars/src/gitm-config.ts b/packages/gitmars/src/gitm-config.ts index 771d40973..b74ed04e1 100644 --- a/packages/gitmars/src/gitm-config.ts +++ b/packages/gitmars/src/gitm-config.ts @@ -2,13 +2,11 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getGitRevParse from '@gitmars/core/lib/git/getGitRevParse' -import { writeFile } from '@gitmars/core/lib/utils/file' -import getConfig from '@gitmars/core/lib/getConfig' -import type { GitmarsConfigProperty } from '@gitmars/core/typings/core' -import lang from '#lib/common/local' -import { defaults } from '#lib/common/global' +import { getConfig, getGitRevParse, getIsGitProject } from '@gitmars/git' +import { writeFile } from '@gitmars/utils' +import type { GitmarsConfigProperty } from '@gitmars/build' +import lang from './common/local' +import { defaults } from './common/global' const { t } = lang const { green, red } = chalk @@ -52,7 +50,7 @@ program process.exit(1) } } else { - sh.echo(t('Please enter the items to be configured')) + sh.echo(t('Enter the items to be configured')) process.exit(1) } }) diff --git a/packages/gitmars/src/gitm-continue.ts b/packages/gitmars/src/gitm-continue.ts index 8e160ea3b..4339a7eb0 100755 --- a/packages/gitmars/src/gitm-continue.ts +++ b/packages/gitmars/src/gitm-continue.ts @@ -2,15 +2,15 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import inquirer from 'inquirer' -import { queue } from '@gitmars/core/lib/queue' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getGitStatus from '@gitmars/core/lib/git/getGitStatus' -import { createArgs } from '@gitmars/core/lib/utils/command' -import { cleanCommandCache, getCommandCache } from '@gitmars/core/lib/cache/commandCache' -import type { CommandType, GitmarsOptionOptionsType } from '../typings/gitmars' -import continueConfig from '#lib/conf/continue' -import lang from '#lib/common/local' +import to from 'await-to-done' +import { confirm } from '@inquirer/prompts' +import { queue } from '@gitmars/core' +import { getGitStatus, getIsGitProject } from '@gitmars/git' +import { createArgs } from '@gitmars/utils' +import { cleanCommandCache, getCommandCache } from '@gitmars/cache' +import type { CommandType, GitmarsOptionOptionsType } from './types' +import continueConfig from './conf/continue' +import lang from './common/local' const { t } = lang const { green, red, yellow } = chalk @@ -44,21 +44,18 @@ program.action(async (opt: GitmBuildOption) => { if (cmd.length > 0) { // 检测是否有未提交的文件 if (sum.A.length > 0 || sum.D.length > 0 || sum.M.length > 0 || sum.UU.length > 0) { - await inquirer - .prompt({ - type: 'confirm', - name: 'value', + const [, answer] = await to( + confirm({ message: t( 'A conflict has been detected in the merge branch and you need to run git add . Do you want to force the script to continue?' ), default: false }) - .then((answers: any) => { - if (!answers.value) { - sh.echo(green(t('exited'))) - process.exit(0) - } - }) + ) + if (!answer) { + sh.echo(green(t('exited'))) + process.exit(0) + } } else if (sum['??'].length > 0) { sh.echo(yellow(t('An uncommitted file was detected, please be aware!'))) } diff --git a/packages/gitmars/src/gitm-copy.ts b/packages/gitmars/src/gitm-copy.ts index d92668b75..d95c3deb5 100755 --- a/packages/gitmars/src/gitm-copy.ts +++ b/packages/gitmars/src/gitm-copy.ts @@ -1,24 +1,26 @@ #!/usr/bin/env ts-node import { program } from 'commander' import dayjs from 'dayjs' -import inquirer from 'inquirer' +import { checkbox, select } from '@inquirer/prompts' import sh from 'shelljs' import chalk from 'chalk' -import { queue } from '@gitmars/core/lib/queue' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import checkGitStatus from '@gitmars/core/lib/git/checkGitStatus' -import fetch from '@gitmars/core/lib/git/fetch' -import prune from '@gitmars/core/lib/git/prune' -import getGitLogs from '@gitmars/core/lib/git/getGitLogs' -import getGitLogsByCommitIDs from '@gitmars/core/lib/git/getGitLogsByCommitIDs' -import searchBranches from '@gitmars/core/lib/git/searchBranches' -import { createArgs } from '@gitmars/core/lib/utils/command' -import echo from '@gitmars/core/lib/utils/echo' -import type { GitLogKeysType } from '@gitmars/core/typings/core' -import type { CommandType, GitLogsType, GitmarsOptionOptionsType } from '../typings/gitmars' -import copyConfig from '#lib/conf/copy' -import lang from '#lib/common/local' +import to from 'await-to-done' +import { queue } from '@gitmars/core' +import { + checkGitStatus, + fetch, + getCurrentBranch, + getGitLogs, + getGitLogsByCommitIDs, + getIsGitProject, + prune, + searchBranches +} from '@gitmars/git' +import { createArgs, echo } from '@gitmars/utils' +import type { GitLogKeysType, GitLogsType } from '@gitmars/git' +import type { CommandType, GitmarsOptionOptionsType } from './types' +import copyConfig from './conf/copy' +import lang from './common/local' const { t } = lang const { blue, green, red, yellow } = chalk @@ -58,8 +60,7 @@ program.action(async (commitid: string[], opts: GitmBuildOption) => { const current = getCurrentBranch() const status = checkGitStatus() let logList: GitLogsType[] = [], - cmd: Array = [], - commitIDs: string[] = [] // 需要执行的commitID + cmd: Array = [] if (!status) process.exit(1) fetch() @@ -92,35 +93,21 @@ program.action(async (commitid: string[], opts: GitmBuildOption) => { } } // 多条记录 - const prompt: any = [ - { - type: 'checkbox', + const [, commitIDs = []] = await to( + checkbox({ message: t('Please select the commit record to copy'), - name: 'commitIDs', - choices: [] - }, - { - type: 'list', - message: t('Please select the target branch'), - name: 'branch', - choices: branches, - when(answers: any) { - return answers.commitIDs.length - } - } - ] - logList.forEach((log, index) => { - const _time = dayjs(log['%aI']).format('YYYY/MM/DD HH:mm') - prompt[0].choices.push({ - name: `${green(index + 1 + '.')} ${green(log['%s'])} | ${yellow(log['%an'])} | ${blue( - _time - )}`, - value: log['%H'], - checked: false + choices: logList.map((log, index) => { + const _time = dayjs(log['%aI']).format('YYYY/MM/DD HH:mm') + return { + name: `${green(index + 1 + '.')} ${green(log['%s'])} | ${yellow(log['%an'])} | ${blue( + _time + )}`, + value: log['%H']!, + checked: false + } + }) }) - }) - const answers = await inquirer.prompt(prompt) - commitIDs = answers.commitIDs + ) // 没有选择任何记录 if (commitIDs.length === 0) { @@ -128,8 +115,15 @@ program.action(async (commitid: string[], opts: GitmBuildOption) => { process.exit(0) } + const [, chooseBranch] = await to( + select({ + message: t('Please select the target branch'), + choices: branches.map(item => ({ name: item, value: item })) + }) + ) + cmd = [ - `git checkout ${answers.branch}`, + `git checkout ${chooseBranch}`, 'git pull', { cmd: `git cherry-pick ${commitIDs.reverse().join(' ')}`, diff --git a/packages/gitmars/src/gitm-end.ts b/packages/gitmars/src/gitm-end.ts index d952849d2..278e14a17 100755 --- a/packages/gitmars/src/gitm-end.ts +++ b/packages/gitmars/src/gitm-end.ts @@ -3,28 +3,31 @@ import { createRequire } from 'node:module' import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' +import { checkbox } from '@inquirer/prompts' +import to from 'await-to-done' import { getType } from 'js-cool' -import { queue } from '@gitmars/core/lib/queue' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import getGitConfig from '@gitmars/core/lib/git/getGitConfig' -import getIsMergedTargetBranch from '@gitmars/core/lib/git/getIsMergedTargetBranch' -import getIsBranchOrCommitExist from '@gitmars/core/lib/git/getIsBranchOrCommitExist' -import checkGitStatus from '@gitmars/core/lib/git/checkGitStatus' -import searchBranches from '@gitmars/core/lib/git/searchBranches' -import { createArgs } from '@gitmars/core/lib/utils/command' -import { isNeedUpgrade, upgradeGitmars } from '@gitmars/core/lib/versionControl' -import getConfig from '@gitmars/core/lib/getConfig' -import getUserInfo from '@gitmars/core/lib/api/getUserInfo' -import type { CommandType, FetchDataType, GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import { defaults } from '#lib/common/global' -import endConfig from '#lib/conf/end' +import { isNeedUpgrade, queue, upgradeGitmars } from '@gitmars/core' +import { + checkGitStatus, + getConfig, + getCurrentBranch, + getGitConfig, + getIsBranchOrCommitExist, + getIsGitProject, + getIsMergedTargetBranch, + searchBranches +} from '@gitmars/git' +import { createArgs } from '@gitmars/utils' +import { getUserInfo } from '@gitmars/api' +import type { CommandType, FetchDataType, GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import { defaults } from './common/global' +import endConfig from './conf/end' const { t } = lang const require = createRequire(import.meta.url) const { args, options } = endConfig -const { red } = chalk +const { red, green } = chalk if (!getIsGitProject()) { sh.echo(red(t('The current directory is not a git project directory'))) @@ -33,7 +36,8 @@ if (!getIsGitProject()) { const config = getConfig() const { appName } = getGitConfig() -const mergeRequestModule = require.resolve('@gitmars/core/lib/api/mergeRequest') +const mergeRequestModule = require.resolve('@gitmars/api') +// const mergeRequestModule = import.meta.resolve('@gitmars/api') interface GitmBuildOption { combine?: boolean @@ -41,6 +45,17 @@ interface GitmBuildOption { description?: string } +export interface DevelopBranchStatusInfo { + branchName: string + type: string + name: string + isSafe: boolean + isRemoteBranchExist: boolean + isNeedCombineDevelop: boolean + isNeedCombineBase: boolean + isNeedCombineBugfix: boolean +} + /** * gitm end */ @@ -74,7 +89,8 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise ] const { level, nickname = '' } = userInfoApi ? await getUserInfo() : ({} as FetchDataType) const status = checkGitStatus() - let _nameArr: string[] = [], // 分支名称数组 + let _branches: string[] = [], // Branches found + pendingBranches: DevelopBranchStatusInfo[] = [], // Batch pending branches isDescriptionCorrect = true // Does the description of the reason for this submission meet the specification if (!status) process.exit(1) // When there is a descriptionValidator configured, the description information needs to be verified @@ -82,12 +98,13 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise // Verify the description for this commit const reg = getType(config.descriptionValidator) === 'regexp' - ? config.descriptionValidator + ? (config.descriptionValidator as RegExp) : new RegExp(config.descriptionValidator) - isDescriptionCorrect = opt.description && reg.test(opt.description) + isDescriptionCorrect = Boolean(opt.description && reg.test(opt.description)) } if (!type) { - // type和name都没传且当前分支是开发分支 + // type and name are not passed and the current branch is a development branch. + let _nameArr ;[type, ..._nameArr] = getCurrentBranch().split('/') name = _nameArr.join('/') if (!name) { @@ -102,72 +119,128 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise ) process.exit(1) } - } else if (!name) { - // 传了type没传name - if (allow.includes(type)) { - sh.echo(t('Please enter branch name')) - process.exit(1) - } - const branches = searchBranches({ type }) - if (branches.length === 1) { - ;[type, ..._nameArr] = branches[0].split('/') - name = _nameArr.join('/') - } else { - sh.echo( - branches.length > 1 - ? t( - 'If you find multiple branches with names containing {type}, please enter the branch type', - { type } - ) - : red(t('Branch does not exist, please enter it correctly')) - ) - process.exit(1) - } } - if (type === 'feature' && opt.asFeature) { + // wrong type + if (!allow.includes(type)) { + sh.echo(red(t('type only allows input') + ': ' + JSON.stringify(allow))) + process.exit(1) + } else if (type === 'feature' && opt.asFeature) { sh.echo(t('--as-feature is only used in the bugfix branch.')) process.exit(1) } - const isRemoteBranchExist = getIsBranchOrCommitExist(`${type}/${name}`, true) - if (allow.includes(type) && name) { - const base: string = opt.asFeature - ? config.release - : type === 'bugfix' - ? config.bugfix - : config.release - let cmd: Array = [] + // Passed type but not name. + if (!name) { + _branches = searchBranches({ type }) + if (!_branches.length) { + sh.echo(red(t('Branch does not exist, please enter it correctly'))) + process.exit(1) + } + } else { + _branches = [type + '/' + name] + } + + const base: string = opt.asFeature + ? config.release + : type === 'bugfix' + ? config.bugfix + : config.release + const cmd: Array = [] + const branchesWithInfo: DevelopBranchStatusInfo[] = _branches.map(branchName => { + const [_type, ..._nameArr] = branchName.split('/') + const _name = _nameArr.join('/') // Is it necessary to merge dev - const isNeedCombineDevelop = !getIsMergedTargetBranch(`${type}/${name}`, config.develop, { + const isNeedCombineDevelop = !getIsMergedTargetBranch(branchName, config.develop, { remote: true }) // Is it necessary to merge base - const isNeedCombineBase = !getIsMergedTargetBranch(`${type}/${name}`, base, { + const isNeedCombineBase = !getIsMergedTargetBranch(branchName, base, { remote: true }) - // Is it necessary to merge bug - const isNeedCombineBugfix = !getIsMergedTargetBranch(`${type}/${name}`, config.bugfix, { + // Is it necessary to merge bug, only for support branch + const isNeedCombineBugfix = !getIsMergedTargetBranch(branchName, config.bugfix, { remote: true }) + return { + branchName, + type: _type, + name: _name, + isSafe: + _type === config.support + ? !isNeedCombineDevelop && !isNeedCombineBase && !isNeedCombineBugfix + : !isNeedCombineDevelop && !isNeedCombineBase, + isRemoteBranchExist: getIsBranchOrCommitExist(branchName, true), + isNeedCombineDevelop, + isNeedCombineBase, + isNeedCombineBugfix + } + }) + + if (branchesWithInfo.length === 1) pendingBranches = branchesWithInfo + else { + ;[, pendingBranches = []] = await to( + checkbox({ + message: t('Select branch for batch processing'), + choices: branchesWithInfo.map(item => { + const _merged = [] + if (!item.isNeedCombineDevelop) _merged.push(config.develop) + if (!item.isNeedCombineBase) _merged.push(base) + if (item.type === config.support && !item.isNeedCombineBugfix) + _merged.push(config.bugfix) + + return { + name: t('{source}{info}', { + source: item.branchName, + info: _merged.length + ? green( + ' (' + + t(`Merged branch: {info}`, { + info: _merged.join('/') + }) + + ')' + ) + : '' + }), + value: item, + checked: item.isSafe + } + }) + }) + ) + } + + if (!pendingBranches.length) { + sh.echo(t('No pending branches, program exits')) + process.exit(0) + } + + for (const { + branchName, + type, + isRemoteBranchExist, + isNeedCombineDevelop, + isNeedCombineBase, + isNeedCombineBugfix + } of pendingBranches) { if (opt.combine && isNeedCombineDevelop) { // 需要合并代码到dev - cmd = [ + cmd.push( 'git fetch', `git checkout ${config.develop}`, 'git pull', { - cmd: `git merge --no-ff ${type}/${name}`, + cmd: `git merge --no-ff ${branchName}`, config: { again: false, success: t('Merge {source} into {target} successfully', { - source: `${type}/${name}`, + source: branchName, target: config.develop }), fail: t( 'An error occurred merging {source} to {target}, Please follow the instructions', { - source: `${type}/${name}`, + source: branchName, target: config.develop } ) @@ -181,28 +254,28 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise fail: t('Push failed, please follow the prompts') } }, - `git checkout ${type}/${name}` - ] + `git checkout ${branchName}` + ) } // support分支需要合到bugfix if (type === 'support' && opt.combine && isNeedCombineBugfix) { if (!level || level < 3) { - cmd = cmd.concat([ + cmd.push( 'git fetch', `git checkout ${config.bugfix}`, 'git pull', { - cmd: `git merge --no-ff ${type}/${name}`, + cmd: `git merge --no-ff ${branchName}`, config: { again: false, success: t('Merge {source} into {target} successfully', { - source: `${type}/${name}`, + source: branchName, target: config.bugfix }), fail: t( 'An error occurred merging {source} to {target}, Please follow the instructions', { - source: `${type}/${name}`, + source: branchName, target: config.bugfix } ) @@ -216,8 +289,8 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise fail: t('Push failed, please follow the prompts') } }, - `git checkout ${type}/${name}` - ]) + `git checkout ${branchName}` + ) } else { if (!isDescriptionCorrect) { sh.echo( @@ -229,9 +302,9 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise ) process.exit(1) } - cmd = cmd.concat([ + cmd.push( { - cmd: `git push --set-upstream origin ${type}/${name}`, + cmd: `git push --set-upstream origin ${branchName}`, config: { again: true, success: t('Push remote and associate remote branch successfully'), @@ -243,7 +316,7 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise module: mergeRequestModule, entry: 'createMergeRequest', options: { - source_branch: `${type}/${name}`, + source_branch: branchName, target_branch: config.bugfix, description: opt.description } @@ -264,60 +337,54 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise { nickname, app: appName, - source: `${type}/${name}`, + source: branchName, target: config.bugfix } )}"` ] - ]) + ) } } if (!opt.combine || !isNeedCombineBase) { // 不合并代码 - cmd = cmd.concat([ - `git checkout ${config.develop}`, - `git branch -D ${type}/${name}`, - { - cmd: 'git remote prune origin', - config: { - again: true, - success: t('Cleanup of remote branch was successful'), - fail: t('Failed to clean up remote branch, please follow the prompts') - } + cmd.push(`git checkout ${config.develop}`, `git branch -D ${branchName}`, { + cmd: 'git remote prune origin', + config: { + again: true, + success: t('Cleanup of remote branch was successful'), + fail: t('Failed to clean up remote branch, please follow the prompts') } - ]) + }) // 判断远程是否存在分支 if (isRemoteBranchExist) { - cmd = cmd.concat([ - { - cmd: `git push origin --delete ${type}/${name}`, - config: { - again: true, - success: t('Successfully deleted remote branch'), - fail: t('Deletion failed, please contact administrator') - } + cmd.push({ + cmd: `git push origin --delete ${branchName}`, + config: { + again: true, + success: t('Successfully deleted remote branch'), + fail: t('Deletion failed, please contact administrator') } - ]) + }) } } else { // 需要合并代码 if (!level || level < 3) { - cmd = cmd.concat([ + cmd.push( 'git fetch', `git checkout ${base}`, 'git pull', { - cmd: `git merge --no-ff ${type}/${name}`, + cmd: `git merge --no-ff ${branchName}`, config: { again: false, success: t('Merge {source} into {target} successfully', { - source: `${type}/${name}`, + source: branchName, target: base }), fail: t( 'An error occurred merging {source} to {target}, Please follow the instructions', { - source: `${type}/${name}`, + source: branchName, target: base } ) @@ -332,7 +399,7 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise } }, `git checkout ${config.develop}`, - `git branch -D ${type}/${name}`, + `git branch -D ${branchName}`, { cmd: 'git remote prune origin', config: { @@ -341,19 +408,17 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise fail: t('Failed to clean up remote branch, please follow the prompts') } } - ]) + ) // 判断远程是否存在分支 if (isRemoteBranchExist) { - cmd = cmd.concat([ - { - cmd: `git push origin --delete ${type}/${name}`, - config: { - again: true, - success: t('Successfully deleted remote branch'), - fail: t('Deletion failed, please contact administrator') - } + cmd.push({ + cmd: `git push origin --delete ${branchName}`, + config: { + again: true, + success: t('Successfully deleted remote branch'), + fail: t('Deletion failed, please contact administrator') } - ]) + }) } } else { if (!isDescriptionCorrect) { @@ -366,9 +431,9 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise ) process.exit(1) } - cmd = cmd.concat([ + cmd.push( { - cmd: `git push --set-upstream origin ${type}/${name}`, + cmd: `git push --set-upstream origin ${branchName}`, config: { again: true, success: t('Push remote and associate remote branch successfully'), @@ -380,7 +445,7 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise module: mergeRequestModule, entry: 'createMergeRequest', options: { - source_branch: `${type}/${name}`, + source_branch: branchName, target_branch: base, description: opt.description } @@ -401,19 +466,17 @@ program.action(async (type: string, name: string, opt: GitmBuildOption): Promise { nickname, app: appName, - source: `${type}/${name}`, + source: branchName, target: base } )}"` ] - ]) + ) } } - queue(cmd) - } else { - sh.echo(red(t('type only allows input') + ': ' + JSON.stringify(allow))) - process.exit(1) } + + queue(cmd) }) program.parse(process.argv) export {} diff --git a/packages/gitmars/src/gitm-get.ts b/packages/gitmars/src/gitm-get.ts index 3ae3dc0cd..a7b3af537 100755 --- a/packages/gitmars/src/gitm-get.ts +++ b/packages/gitmars/src/gitm-get.ts @@ -2,14 +2,12 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import { queue } from '@gitmars/core/lib/queue' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import getStashList from '@gitmars/core/lib/git/getStashList' -import { createArgs } from '@gitmars/core/lib/utils/command' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import getConfig from '#lib/conf/get' +import { queue } from '@gitmars/core' +import { getCurrentBranch, getIsGitProject, getStashList } from '@gitmars/git' +import { createArgs } from '@gitmars/utils' +import type { GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import getConfig from './conf/get' const { t } = lang const { red, yellow } = chalk diff --git a/packages/gitmars/src/gitm-go.ts b/packages/gitmars/src/gitm-go.ts index 2f5f3035e..2bc380b20 100755 --- a/packages/gitmars/src/gitm-go.ts +++ b/packages/gitmars/src/gitm-go.ts @@ -2,14 +2,15 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import inquirer from 'inquirer' +import { Separator, select } from '@inquirer/prompts' import { getProperty } from 'js-cool' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import { createArgs } from '@gitmars/core/lib/utils/command' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import * as commands from '#lib/go/index' -import goConfig from '#lib/conf/go' +import to from 'await-to-done' +import { getCurrentBranch } from '@gitmars/git' +import { createArgs } from '@gitmars/utils' +import type { GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import * as commands from './go/index' +import goConfig from './conf/go' const { t } = lang const { green, red } = chalk @@ -49,59 +50,53 @@ program.action(async (command: string): Promise => { cmd() } else { // 选择指令 - inquirer - .prompt({ - type: 'list', - name: 'command', + const [, command = ''] = await to( + select({ message: t('Please select the operation you want?'), default: 'combine', choices: [ - new inquirer.Separator(' === 1. ' + t('Gitmars Workflow') + ' === '), - 'combine', - 'end', - 'update', - 'build', - 'start', - 'undo', - 'redo', - 'admin.publish', - 'admin.update', - 'admin.create', - 'admin.clean', - new inquirer.Separator(' === 2. ' + t('Advanced Tools') + ' === '), - 'branch', - 'copy', - 'get', - 'save', - 'cleanbranch', - 'clean', - 'revert', - 'link', - 'unlink', - 'postmsg', - new inquirer.Separator(' === ' + t('Exit') + ' === '), - 'exit', - new inquirer.Separator() - ], - filter: (val: string): string => { - return val - } - }) - .then((answers: any) => { - if (answers.command === 'exit') { - sh.echo(green(t('exited'))) - process.exit(0) - } - sh.echo( - green( - t('You have selected the {something} command', { - something: answers.command - }) - ) - ) - // 执行对应指令 - getProperty(commands, answers.command)() + new Separator(' === 1. ' + t('Gitmars Workflow') + ' === '), + { name: 'combine', value: 'combine' }, + { name: 'end', value: 'end' }, + { name: 'update', value: 'update' }, + { name: 'build', value: 'build' }, + { name: 'start', value: 'start' }, + { name: 'undo', value: 'undo' }, + { name: 'redo', value: 'redo' }, + { name: 'admin.publish', value: 'admin.publish' }, + { name: 'admin.update', value: 'admin.update' }, + { name: 'admin.create', value: 'admin.create' }, + { name: 'admin.clean', value: 'admin.clean' }, + new Separator(' === 2. ' + t('Advanced Tools') + ' === '), + { name: 'branch', value: 'branch' }, + { name: 'copy', value: 'copy' }, + { name: 'get', value: 'get' }, + { name: 'save', value: 'save' }, + { name: 'cleanbranch', value: 'cleanbranch' }, + { name: 'clean', value: 'clean' }, + { name: 'revert', value: 'revert' }, + { name: 'link', value: 'link' }, + { name: 'unlink', value: 'unlink' }, + { name: 'postmsg', value: 'postmsg' }, + new Separator(' === ' + t('Exit') + ' === '), + { name: 'exit', value: 'exit' }, + new Separator() + ] }) + ) + if (command === 'exit') { + sh.echo(green(t('exited'))) + process.exit(0) + } + sh.echo( + green( + t('You have selected the {something} command', { + something: command + }) + ) + ) + // 执行对应指令 + getProperty(commands, command)() } }) program.parse(process.argv) diff --git a/packages/gitmars/src/gitm-hook.ts b/packages/gitmars/src/gitm-hook.ts index 86b6980ad..392eb36ca 100755 --- a/packages/gitmars/src/gitm-hook.ts +++ b/packages/gitmars/src/gitm-hook.ts @@ -2,19 +2,21 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import getBranchesFromID from '@gitmars/core/lib/git/getBranchesFromID' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import getIsMergedTargetBranch from '@gitmars/core/lib/git/getIsMergedTargetBranch' -import getIsUpdatedInTime from '@gitmars/core/lib/git/getIsUpdatedInTime' -import getIsMergeAction from '@gitmars/core/lib/git/getIsMergeAction' -import getBehindLogs from '@gitmars/core/lib/git/getBehindLogs' -import { createArgs } from '@gitmars/core/lib/utils/command' -import { init, remove } from '@gitmars/core/lib/hook/index' -import getConfig from '@gitmars/core/lib/getConfig' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import hookConfig from '#lib/conf/hook' +import { + getBehindLogs, + getBranchesFromID, + getConfig, + getCurrentBranch, + getIsGitProject, + getIsMergeAction, + getIsMergedTargetBranch, + getIsUpdatedInTime +} from '@gitmars/git' +import { createArgs } from '@gitmars/utils' +import { init, remove } from '@gitmars/hook' +import type { GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import hookConfig from './conf/hook' const { t } = lang const { green, red } = chalk diff --git a/packages/gitmars/src/gitm-init.ts b/packages/gitmars/src/gitm-init.ts index af9466642..e58865851 100755 --- a/packages/gitmars/src/gitm-init.ts +++ b/packages/gitmars/src/gitm-init.ts @@ -3,12 +3,11 @@ import fs from 'fs' import { program } from 'commander' import chalk from 'chalk' import sh from 'shelljs' -import inquirer from 'inquirer' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getGitRevParse from '@gitmars/core/lib/git/getGitRevParse' -import type { InitInquirerPromptType } from '../typings/gitmars' -import lang from '#lib/common/local' -import { defaults } from '#lib/common/global' +import to from 'await-to-done' +import { editor, input } from '@inquirer/prompts' +import { getGitRevParse, getIsGitProject } from '@gitmars/git' +import lang from './common/local' +import { defaults } from './common/global' const { t } = lang const { green, red } = chalk @@ -27,71 +26,79 @@ program .name('gitm init') .usage('') .description(t('Set configuration items for gitmars')) - .action(() => { - const prompts: InitInquirerPromptType[] = [] - Object.keys(defaults).forEach(key => { - if (['master', 'develop', 'release', 'bugfix', 'support'].includes(key)) { - prompts.push({ - type: 'input', - name: key, - message: t('Please enter {branch} branch name', { - branch: key - }), - default: () => key, - transformer: val => val.trim(), - validate: val => - /^\w+$/.test(val) ? true : t('Please enter the available names') - }) + .action(async () => { + let key: keyof typeof defaults + for (key in defaults) { + if ( + key === 'master' || + key === 'develop' || + key === 'release' || + key === 'bugfix' || + key === 'support' + ) { + const [, data] = await to( + input({ + message: t('Enter {branch} branch name', { + branch: key + }), + default: defaults[key], + transformer: val => val.trim(), + validate: val => (/^\w+$/.test(val) ? true : t('Enter the available names')) + }) + ) + defaults[key] = data || defaults[key] } else if (key === 'user') { - prompts.push({ - type: 'input', - name: key, - message: t('Please enter the Git username'), - transformer: val => val.trim(), - validate: val => - val === '' || /^\w+$/.test(val) - ? true - : t('Please enter the available names') - }) + const [, data] = await to( + input({ + message: t('Enter the Git username'), + transformer: val => val.trim(), + validate: val => + val === '' || /^\w+$/.test(val) ? true : t('Enter the available names') + }) + ) + defaults[key] = data || defaults[key] } else if (key === 'email') { - prompts.push({ - type: 'input', - name: key, - message: t('Please enter the Git email address'), - transformer: val => val.trim(), - validate: val => - val === '' || /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(val) - ? true - : t('Please enter the correct email') - }) + const [, data] = await to( + input({ + message: t('Enter the Git email address'), + transformer: val => val.trim(), + validate: val => + val === '' || /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(val) + ? true + : t('Enter the correct email') + }) + ) + defaults[key] = data || defaults[key] } else if (key === 'nameValidator') { - prompts.push({ - type: 'input', - name: key, - message: t('Please enter the branch name naming convention'), - transformer: val => val.trim() - }) + const [, data] = await to( + input({ + message: t('Enter the branch name naming convention'), + transformer: val => val.trim() + }) + ) + defaults[key] = data || defaults[key] } else if (key === 'descriptionValidator') { - prompts.push({ - type: 'input', - name: key, - message: t('Please enter commit message rules'), - transformer: val => val.trim() - }) + const [, data] = await to( + input({ + message: t('Enter commit message rules'), + transformer: val => val.trim() + }) + ) + defaults[key] = data || defaults[key] } else if (key === 'msgTemplate') { - prompts.push({ - type: 'input', - name: key, - message: t('Please enter the message template'), - default: () => '${message}; project: ${project}; path: ${pwd}', - transformer: val => val.trim() - }) + const [, data] = await to( + input({ + message: t('Enter the message template'), + default: defaults[key], + transformer: val => val.trim() + }) + ) + defaults[key] = data || defaults[key] } else if (key === 'apolloConfig') { - prompts.push({ - type: 'editor', - name: key, - message: t('Please enter apollo configuration'), - default: () => `{ + const [, data] = await to( + editor({ + message: t('Enter apollo configuration'), + default: `{ "configServerUrl": "", "appId": "", "clusterName": "", @@ -99,95 +106,107 @@ program "apolloEnv": "", "token": "" }`, - validate: val => { - try { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - val = JSON.parse(val) - return true - } catch (e) { - return t('Please enter json') + validate: val => { + try { + val = JSON.parse(val) + return true + } catch { + return t('Enter json') + } } - } - }) + }) + ) + defaults[key] = data ? JSON.parse(data) : defaults[key] } else if (key === 'hooks') { - prompts.push({ - type: 'editor', - name: key, - message: t('Please enter hooks configuration'), - default: () => `{ + const [, data] = await to( + editor({ + message: t('Enter hooks configuration'), + default: `{ "pre-commit": "", "pre-push": "" }`, - validate: val => { - try { - val = JSON.parse(val) - return !!val - } catch (e) { - return t('Please enter json') + validate: val => { + try { + val = JSON.parse(val) + return !!val + } catch { + return t('Enter json') + } } - } - }) + }) + ) + defaults[key] = data ? JSON.parse(data) : defaults[key] + } else if (key === 'apis') { + const [, data] = await to( + editor({ + message: t('Enter hooks configuration'), + default: `{ + "buildConfig": { + "url": "", + "method": "get", + "params": { + "name": "" + } + }, + "userInfo": { + "url": "", + "method": "get" + } +}`, + validate: val => { + try { + val = JSON.parse(val) + return !!val + } catch { + return t('Enter json') + } + } + }) + ) + defaults[key] = data ? JSON.parse(data) : defaults[key] } else if (key === 'api') { - prompts.push({ - type: 'input', - name: key, - message: t('Please enter the query user permission interface'), - transformer: val => val.trim(), - validate: val => - val === '' || /^https?:\/\/[\S]*$/.test(val) - ? true - : t('Please enter the URL') - }) + const [, data] = await to( + input({ + message: t('Enter the query user permission interface'), + transformer: val => val.trim(), + validate: val => + val === '' || /^https?:\/\/[\S]*$/.test(val) ? true : t('Enter the URL') + }) + ) + defaults[key] = data || defaults[key] } else if (key === 'gitHost') { - prompts.push({ - type: 'input', - name: key, - message: t('Please enter the git URL'), - transformer: val => val.trim(), - validate: val => - val === '' || /^https?:\/\/[\S]*$/.test(val) - ? true - : t('Please enter the URL') - }) + const [, data] = await to( + input({ + message: t('Enter the git URL'), + transformer: val => val.trim(), + validate: val => + val === '' || /^https?:\/\/[\S]*$/.test(val) ? true : t('Enter the URL') + }) + ) + defaults[key] = data || defaults[key] } else if (key === 'gitID') { - prompts.push({ - type: 'input', - name: key, - message: t( - 'Please enter the git project ID, currently only gitlab is supported' - ), - transformer: val => val.trim(), - validate: val => - val === '' || /^\d+$/.test(val) ? true : t('Please enter the URL') - }) - } - }) - inquirer.prompt(prompts).then((answers: any) => { - try { - answers.apolloConfig = JSON.parse(answers.apolloConfig) - if (!answers.apolloConfig.configServerUrl || !answers.apolloConfig.token) { - answers.apolloConfig = '' - } - } catch (e) { - answers.apolloConfig = '' - } - try { - let valid = false - answers.hooks = JSON.parse(answers.hooks) - hooks: for (const k in answers.hooks) { - if (answers.hooks[k]) { - valid = true - break hooks - } - } - if (!valid) answers.hooks = '' - } catch (e) { - answers.hooks = '' + const [, data] = await to( + input({ + message: t('Enter the git project ID, currently only gitlab is supported'), + transformer: val => val.trim(), + validate: val => + val === '' || /^\d+$/.test(val) ? true : t('Enter the URL') + }) + ) + defaults[key] = data || defaults[key] } - sh.echo(green(t('gitmars configured successfully'))) - fs.writeFileSync(root + '/.gitmarsrc', JSON.stringify(answers, null, 4), 'utf-8') - fs.chmodSync(root + '/.gitmarsrc', 0o0755) - }) + } + if ( + defaults.apolloConfig && + (!defaults.apolloConfig.configServerUrl || !defaults.apolloConfig.token) + ) { + defaults.apolloConfig = null + } + if (defaults.hooks && Object.keys(defaults.hooks).some(k => !defaults.hooks?.[k])) + defaults.hooks = null + sh.echo(green(t('gitmars configured successfully'))) + fs.writeFileSync(root + '/.gitmarsrc', JSON.stringify(defaults, null, 4), 'utf-8') + fs.chmodSync(root + '/.gitmarsrc', 0o0755) }) program.parse(process.argv) export {} diff --git a/packages/gitmars/src/gitm-install.ts b/packages/gitmars/src/gitm-install.ts index 5f7a279ae..d8c8d3879 100644 --- a/packages/gitmars/src/gitm-install.ts +++ b/packages/gitmars/src/gitm-install.ts @@ -2,12 +2,10 @@ import { program } from 'commander' import ora from 'ora' import chalk from 'chalk' -import { createArgs } from '@gitmars/core/lib/utils/command' -import { spawnSync } from '@gitmars/core/lib/spawn' -import echo from '@gitmars/core/lib/utils/echo' -import type { GitmarsOptionOptionsType, PackageVersionTag } from '../typings/gitmars' -import installConfig from '#lib/conf/install' -import lang from '#lib/common/local' +import { createArgs, echo, spawnSync } from '@gitmars/utils' +import type { GitmarsOptionOptionsType, PackageVersionTag } from './types' +import installConfig from './conf/install' +import lang from './common/local' const { t } = lang const { green, red } = chalk @@ -35,7 +33,7 @@ options.forEach((o: GitmarsOptionOptionsType) => { // .option('-r, --registry ', t('Use mirror address'), '') program.action((pluginName: string, version: PackageVersionTag | string, opt: GitmBuildOption) => { if (!pluginName) { - echo(red(t('Please enter the plugin name'))) + echo(red(t('Enter the plugin name'))) process.exit(1) } const spinner = ora() diff --git a/packages/gitmars/src/gitm-link.ts b/packages/gitmars/src/gitm-link.ts index 13c3608ab..2ae7ad584 100755 --- a/packages/gitmars/src/gitm-link.ts +++ b/packages/gitmars/src/gitm-link.ts @@ -1,11 +1,10 @@ #!/usr/bin/env ts-node import { program } from 'commander' import sh from 'shelljs' -import { createArgs } from '@gitmars/core/lib/utils/command' -import { spawnSync } from '@gitmars/core/lib/spawn' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import linkConfig from '#lib/conf/link' -import lang from '#lib/common/local' +import { createArgs, spawnSync } from '@gitmars/utils' +import type { GitmarsOptionOptionsType } from './types' +import linkConfig from './conf/link' +import lang from './common/local' const { t } = lang const { args, options } = linkConfig diff --git a/packages/gitmars/src/gitm-log.ts b/packages/gitmars/src/gitm-log.ts index d213c00dd..3ae938080 100755 --- a/packages/gitmars/src/gitm-log.ts +++ b/packages/gitmars/src/gitm-log.ts @@ -3,13 +3,12 @@ import { program } from 'commander' import dayjs from 'dayjs' import columnify from 'columnify' import chalk from 'chalk' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getGitLogs from '@gitmars/core/lib/git/getGitLogs' -import { createArgs } from '@gitmars/core/lib/utils/command' -import echo from '@gitmars/core/lib/utils/echo' -import type { GitLogsType, GitmarsOptionOptionsType } from '../typings/gitmars' -import logConfig from '#lib/conf/log' -import lang from '#lib/common/local' +import { getGitLogs, getIsGitProject } from '@gitmars/git' +import { createArgs, echo } from '@gitmars/utils' +import type { GitLogsType } from '@gitmars/git' +import type { GitmarsOptionOptionsType } from './types' +import logConfig from './conf/log' +import lang from './common/local' const { t } = lang const { blue, cyan, green, red, yellow } = chalk diff --git a/packages/gitmars/src/gitm-permission.ts b/packages/gitmars/src/gitm-permission.ts index 844cc0c72..d1044cff6 100755 --- a/packages/gitmars/src/gitm-permission.ts +++ b/packages/gitmars/src/gitm-permission.ts @@ -2,10 +2,9 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import { spawnSync } from '@gitmars/core/lib/spawn' -import getConfig from '@gitmars/core/lib/getConfig' -import lang from '#lib/common/local' +import { getConfig, getCurrentBranch } from '@gitmars/git' +import { spawnSync } from '@gitmars/utils' +import lang from './common/local' const { t } = lang const { red } = chalk diff --git a/packages/gitmars/src/gitm-postmsg.ts b/packages/gitmars/src/gitm-postmsg.ts index bbf823f39..fb2298c0f 100755 --- a/packages/gitmars/src/gitm-postmsg.ts +++ b/packages/gitmars/src/gitm-postmsg.ts @@ -1,10 +1,10 @@ #!/usr/bin/env ts-node import { program } from 'commander' -import sendGroupMessage from '@gitmars/core/lib/sendGroupMessage' -import { createArgs } from '@gitmars/core/lib/utils/command' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import postmsgConfig from '#lib/conf/postmsg' +import { sendGroupMessage } from '@gitmars/core' +import { createArgs } from '@gitmars/utils' +import type { GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import postmsgConfig from './conf/postmsg' const { t } = lang const { args, options } = postmsgConfig diff --git a/packages/gitmars/src/gitm-redo.ts b/packages/gitmars/src/gitm-redo.ts index cdb6ee652..ecff41317 100755 --- a/packages/gitmars/src/gitm-redo.ts +++ b/packages/gitmars/src/gitm-redo.ts @@ -1,18 +1,18 @@ #!/usr/bin/env ts-node import { program } from 'commander' import dayjs from 'dayjs' -import inquirer from 'inquirer' +import { checkbox } from '@inquirer/prompts' import sh from 'shelljs' import chalk from 'chalk' -import { queue } from '@gitmars/core/lib/queue' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import { createArgs } from '@gitmars/core/lib/utils/command' -import echo from '@gitmars/core/lib/utils/echo' -import { delRevertCache, getRevertCache } from '@gitmars/core/lib/cache/revertCache' -import type { CommandType, GitmarsOptionOptionsType, RevertCacheType } from '../typings/gitmars' -import lang from '#lib/common/local' -import redoConfig from '#lib/conf/redo' +import to from 'await-to-done' +import { queue } from '@gitmars/core' +import { getCurrentBranch, getIsGitProject } from '@gitmars/git' +import { createArgs, echo } from '@gitmars/utils' +import { delRevertCache, getRevertCache } from '@gitmars/cache' +import type { RevertCacheType } from '@gitmars/cache' +import type { CommandType, GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import redoConfig from './conf/redo' const { t } = lang const { blue, green, red, yellow } = chalk @@ -45,7 +45,6 @@ program.action(async (commitid: string[], opt: GitmBuildOption) => { const current = getCurrentBranch() let revertCache: RevertCacheType[] = getRevertCache(current), cmd: Array = [], - commitIDs: string[] = [], // 需要恢复的commitID mode = '' mode = ' -m ' + Math.abs(Number(opt.mode || 1)) if (commitid.length > 0) { @@ -61,23 +60,21 @@ program.action(async (commitid: string[], opt: GitmBuildOption) => { process.exit(0) } // 多条记录 - const prompt: any = { - type: 'checkbox', - message: t('Please select the undo record to restore'), - name: 'commitIDs', - choices: [] - } - revertCache.forEach(({ after }, index) => { - const _time = dayjs(after['%aI']).format('YYYY/MM/DD HH:mm') - prompt.choices.push({ - name: `${green(index + 1 + '.')} ${green(after['%s'])} | ${yellow( - after['%an'] - )} | ${blue(_time)}`, - value: after['%H'], - checked: false + const [, commitIDs = []] = await to( + checkbox({ + message: t('Please select the undo record to restore'), + choices: revertCache.map(({ after }, index) => { + const _time = dayjs(after['%aI']).format('YYYY/MM/DD HH:mm') + return { + name: `${green(index + 1 + '.')} ${green(after['%s'])} | ${yellow( + after['%an'] + )} | ${blue(_time)}`, + value: after['%H']!, + checked: false + } + }) }) - }) - commitIDs = (await inquirer.prompt(prompt)).commitIDs + ) // 没有选择任何记录 if (commitIDs.length === 0) { echo(yellow(t('No logs selected, process has exited'))) diff --git a/packages/gitmars/src/gitm-revert.ts b/packages/gitmars/src/gitm-revert.ts index a4aca48dd..74bcb3d57 100755 --- a/packages/gitmars/src/gitm-revert.ts +++ b/packages/gitmars/src/gitm-revert.ts @@ -2,12 +2,12 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import { queue } from '@gitmars/core/lib/queue' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import { createArgs } from '@gitmars/core/lib/utils/command' -import type { CommandType, GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import revertConfig from '#lib/conf/revert' +import { queue } from '@gitmars/core' +import { getIsGitProject } from '@gitmars/git' +import { createArgs } from '@gitmars/utils' +import type { CommandType, GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import revertConfig from './conf/revert' const { t } = lang const { red, yellow } = chalk diff --git a/packages/gitmars/src/gitm-review.ts b/packages/gitmars/src/gitm-review.ts index 538970f00..a4a1e987c 100755 --- a/packages/gitmars/src/gitm-review.ts +++ b/packages/gitmars/src/gitm-review.ts @@ -1,27 +1,24 @@ #!/usr/bin/env ts-node import { program } from 'commander' import dayjs from 'dayjs' -import inquirer from 'inquirer' +import { checkbox, input, select } from '@inquirer/prompts' import columnify from 'columnify' import chalk from 'chalk' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getGitConfig from '@gitmars/core/lib/git/getGitConfig' -import sendGroupMessage from '@gitmars/core/lib/sendGroupMessage' -import { createArgs } from '@gitmars/core/lib/utils/command' -import echo from '@gitmars/core/lib/utils/echo' +import to from 'await-to-done' +import { getGitConfig, getIsGitProject } from '@gitmars/git' +import { sendGroupMessage } from '@gitmars/core' +import { createArgs, echo } from '@gitmars/utils' import { + createMergeRequestNotes, deleteMergeRequest, getMergeRequestChanges, getMergeRequestList, + getMergeRequestNotesList, updateMergeRequest -} from '@gitmars/core/lib/api/mergeRequest' -import { - createMergeRequestNotes, - getMergeRequestNotesList -} from '@gitmars/core/lib/api/mergeRequestNotes' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import reviewConfig from '#lib/conf/review' +} from '@gitmars/api' +import type { GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import reviewConfig from './conf/review' const { t } = lang const { blue, cyan, green, magenta, red, yellow } = chalk @@ -59,28 +56,17 @@ program.action(async (opt: GitmBuildOption): Promise => { echo(yellow(t('No merge request record found, process has exited'))) process.exit(0) } - const prompt: any = [ - { - type: 'checkbox', - message: t('Please select the merge request to be operated'), - name: 'iids', - choices: [] - }, - { - type: 'list', - message: t('Please select the action below.'), - name: 'accept', - choices: [t('View Details'), t('Comments'), t('Close'), t('Deleted'), t('Exit')], - when(answers: any) { - return answers.iids.length - } - } - ] - mrList.forEach((mr: any) => { + const choices = [] + for await (const mr of mrList) { const { iid, author, source_branch, target_branch, merge_status, created_at } = mr + mr.notes = ( + (await getMergeRequestNotesList({ + iid + })) || [] + ).filter((note: any) => !note.system) const disabled = merge_status !== 'can_be_merged' const _time = dayjs(created_at).format('YYYY/MM/DD HH:mm') - prompt[0].choices.push({ + choices.push({ name: t( '{id} request merge {source} to {target} {disabled} | {name} | {comments} | {time}', { @@ -101,18 +87,36 @@ program.action(async (opt: GitmBuildOption): Promise => { // disabled, checked: false }) - }) - const { iids, accept }: { iids: string[]; accept: string } = await inquirer.prompt(prompt) - // 没有选择任何记录 + } + const [, iids = []] = await to( + checkbox({ + message: t('Please select the merge request to be operated'), + choices + }) + ) + // no records if (iids.length === 0) { echo(yellow(t('No merge request record selected, process has exited'))) process.exit(0) } + const [, accept] = await to( + select({ + message: t('Please select the action below.'), + choices: [ + { name: t('View Details'), value: 1, description: 'Show diff' }, + { name: t('Comments'), value: 2 }, + { name: t('Close'), value: 3 }, + { name: t('Deleted'), value: 4 }, + { name: t('Exit'), value: 5 } + ] + }) + ) + // 开始执行操作 for (const iid of iids) { const { source_branch, target_branch } = mrList.find((item: any) => item.iid === iid) - if (accept === t('View Details')) { + if (accept === 1) { const { changes, changes_count } = await getMergeRequestChanges({ iid }) @@ -163,7 +167,7 @@ program.action(async (opt: GitmBuildOption): Promise => { columns: ['body', 'name', 'date'] }) ) - } else if (accept === t('Deleted')) { + } else if (accept === 4) { await deleteMergeRequest({ iid }) !opt.quiet && sendGroupMessage( @@ -175,7 +179,7 @@ program.action(async (opt: GitmBuildOption): Promise => { }) ) echo(green(t('Merge request {id}: Deleted', { id: iid }))) - } else if (accept === t('Close')) { + } else if (accept === 3) { // 删除 await updateMergeRequest({ iid, @@ -191,16 +195,16 @@ program.action(async (opt: GitmBuildOption): Promise => { }) ) echo(green(t('Merge request {id}: Closed', { id: iid }))) - } else if (accept === t('Comments')) { + } else if (accept === 2) { // 评论 - const { note }: { note: string } = await inquirer.prompt({ - type: 'input', - name: 'note', - message: t('Please enter the comment content'), - default: '', - transformer: (val: string) => val.trim(), - validate: (val: string) => (!val ? t('Please enter the available comments') : true) - }) + const [, note = ''] = await to( + input({ + message: t('Enter the comment content'), + default: '', + transformer: val => val.trim(), + validate: val => (!val ? t('Enter the available comments') : true) + }) + ) !opt.quiet && sendGroupMessage( t( diff --git a/packages/gitmars/src/gitm-run.ts b/packages/gitmars/src/gitm-run.ts index fb5370556..468ca15f5 100755 --- a/packages/gitmars/src/gitm-run.ts +++ b/packages/gitmars/src/gitm-run.ts @@ -1,10 +1,10 @@ #!/usr/bin/env ts-node import { program } from 'commander' -import { createArgs } from '@gitmars/core/lib/utils/command' -import run from '@gitmars/core/lib/hook/run' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import runConfig from '#lib/conf/run' +import { createArgs } from '@gitmars/utils' +import { run } from '@gitmars/hook' +import type { GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import runConfig from './conf/run' const { t } = lang const { args, options } = runConfig diff --git a/packages/gitmars/src/gitm-save.ts b/packages/gitmars/src/gitm-save.ts index 71b0d5d56..84d498154 100755 --- a/packages/gitmars/src/gitm-save.ts +++ b/packages/gitmars/src/gitm-save.ts @@ -2,13 +2,12 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import { queue } from '@gitmars/core/lib/queue' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import { createArgs } from '@gitmars/core/lib/utils/command' -import type { CommandType, GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import saveConfig from '#lib/conf/save' +import { queue } from '@gitmars/core' +import { getCurrentBranch, getIsGitProject } from '@gitmars/git' +import { createArgs } from '@gitmars/utils' +import type { CommandType, GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import saveConfig from './conf/save' const { t } = lang const { red } = chalk diff --git a/packages/gitmars/src/gitm-start.ts b/packages/gitmars/src/gitm-start.ts index 6fb1ff7cf..d2a5d2c93 100755 --- a/packages/gitmars/src/gitm-start.ts +++ b/packages/gitmars/src/gitm-start.ts @@ -3,15 +3,12 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' import { getType } from 'js-cool' -import { queue } from '@gitmars/core/lib/queue' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import checkGitStatus from '@gitmars/core/lib/git/checkGitStatus' -import { createArgs } from '@gitmars/core/lib/utils/command' -import getConfig from '@gitmars/core/lib/getConfig' -import { isNeedUpgrade, upgradeGitmars } from '@gitmars/core/lib/versionControl' -import type { CommandType, GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import startConfig from '#lib/conf/start' +import { isNeedUpgrade, queue, upgradeGitmars } from '@gitmars/core' +import { checkGitStatus, getConfig, getIsGitProject } from '@gitmars/git' +import { createArgs } from '@gitmars/utils' +import type { CommandType, GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import startConfig from './conf/start' const { t } = lang const { green, red } = chalk @@ -67,7 +64,7 @@ program.action(async (type: string, name: string, opt: GitmBuildOption) => { if (config.nameValidator) { const reg = getType(config.nameValidator) === 'regexp' - ? config.nameValidator + ? (config.nameValidator as RegExp) : new RegExp(config.nameValidator) if (!reg.test(name)) { sh.echo(red(t('Branch name does not conform to specification'))) diff --git a/packages/gitmars/src/gitm-status.ts b/packages/gitmars/src/gitm-status.ts index 1beb90fa7..cc1201c7f 100755 --- a/packages/gitmars/src/gitm-status.ts +++ b/packages/gitmars/src/gitm-status.ts @@ -2,14 +2,11 @@ import { program } from 'commander' import columnify from 'columnify' import chalk from 'chalk' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import getGitStatus from '@gitmars/core/lib/git/getGitStatus' -import { createArgs } from '@gitmars/core/lib/utils/command' -import echo from '@gitmars/core/lib/utils/echo' -import type { GitStatusInfoType, GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import statusConfig from '#lib/conf/status' +import { getCurrentBranch, getGitStatus, getIsGitProject } from '@gitmars/git' +import { createArgs, echo } from '@gitmars/utils' +import type { GitStatusInfoType, GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import statusConfig from './conf/status' const { t } = lang const { cyan, green, red, yellow } = chalk diff --git a/packages/gitmars/src/gitm-suggest.ts b/packages/gitmars/src/gitm-suggest.ts index 1d6e2e2a3..52d82fa53 100755 --- a/packages/gitmars/src/gitm-suggest.ts +++ b/packages/gitmars/src/gitm-suggest.ts @@ -3,11 +3,11 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import { createArgs } from '@gitmars/core/lib/utils/command' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import suggestConfig from '#lib/conf/suggest' +import { createArgs } from '@gitmars/utils' +import { getIsGitProject } from '@gitmars/git' +import type { GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import suggestConfig from './conf/suggest' const { t } = lang const { red } = chalk diff --git a/packages/gitmars/src/gitm-undo.ts b/packages/gitmars/src/gitm-undo.ts index 1404dd556..e78bdae8c 100755 --- a/packages/gitmars/src/gitm-undo.ts +++ b/packages/gitmars/src/gitm-undo.ts @@ -1,26 +1,19 @@ #!/usr/bin/env ts-node import { program } from 'commander' import dayjs from 'dayjs' -import inquirer from 'inquirer' +import { checkbox } from '@inquirer/prompts' import sh from 'shelljs' import chalk from 'chalk' -import { queue } from '@gitmars/core/lib/queue' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getGitLogs from '@gitmars/core/lib/git/getGitLogs' -import getGitLogsByCommitIDs from '@gitmars/core/lib/git/getGitLogsByCommitIDs' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import { createArgs } from '@gitmars/core/lib/utils/command' -import echo from '@gitmars/core/lib/utils/echo' -import { addRevertCache, getRevertCache, setRevertCache } from '@gitmars/core/lib/cache/revertCache' -import type { GitLogKeysType } from '@gitmars/core/typings/core' -import type { - CommandType, - GitLogsType, - GitmarsOptionOptionsType, - RevertCacheType -} from '../typings/gitmars' -import lang from '#lib/common/local' -import undoConfig from '#lib/conf/undo' +import to from 'await-to-done' +import { queue } from '@gitmars/core' +import { getCurrentBranch, getGitLogs, getGitLogsByCommitIDs, getIsGitProject } from '@gitmars/git' +import { createArgs, echo } from '@gitmars/utils' +import { addRevertCache, getRevertCache, setRevertCache } from '@gitmars/cache' +import type { RevertCacheType } from '@gitmars/cache' +import type { GitLogKeysType, GitLogsType } from '@gitmars/git' +import type { CommandType, GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import undoConfig from './conf/undo' const { t } = lang const { blue, green, red, yellow } = chalk @@ -210,23 +203,21 @@ program.action(async (commitid: string[], opt: GitmBuildOption) => { process.exit(0) } else { // 多条记录 - const prompt: any = { - type: 'checkbox', - message: t('Please select the commit record to undo.'), - name: 'commitIDs', - choices: [] - } - logList.forEach((log, index) => { - const _time = dayjs(log['%aI']).format('YYYY/MM/DD HH:mm') - prompt.choices.push({ - name: `${green(index + 1 + '.')} ${green(log['%s'])} | ${yellow( - log['%an'] - )} | ${blue(_time)}`, - value: log['%H'], - checked: false + ;[, commitIDs = []] = await to( + checkbox({ + message: t('Please select the commit record to undo.'), + choices: logList.map((log, index) => { + const _time = dayjs(log['%aI']).format('YYYY/MM/DD HH:mm') + return { + name: `${green(index + 1 + '.')} ${green(log['%s'])} | ${yellow( + log['%an'] + )} | ${blue(_time)}`, + value: log['%H']!, + checked: false + } + }) }) - }) - commitIDs = (await inquirer.prompt(prompt)).commitIDs + ) } } // 没有选择任何记录 diff --git a/packages/gitmars/src/gitm-unlink.ts b/packages/gitmars/src/gitm-unlink.ts index 0e51661b6..8faf41910 100755 --- a/packages/gitmars/src/gitm-unlink.ts +++ b/packages/gitmars/src/gitm-unlink.ts @@ -1,11 +1,10 @@ #!/usr/bin/env ts-node import { program } from 'commander' import sh from 'shelljs' -import { createArgs } from '@gitmars/core/lib/utils/command' -import { spawnSync } from '@gitmars/core/lib/spawn' -import type { GitmarsOptionOptionsType } from '../typings/gitmars' -import lang from '#lib/common/local' -import unlinkConfig from '#lib/conf/unlink' +import { createArgs, spawnSync } from '@gitmars/utils' +import type { GitmarsOptionOptionsType } from './types' +import lang from './common/local' +import unlinkConfig from './conf/unlink' const { t } = lang const { args, options } = unlinkConfig diff --git a/packages/gitmars/src/gitm-update.ts b/packages/gitmars/src/gitm-update.ts index 061ce9e9d..26c76898e 100755 --- a/packages/gitmars/src/gitm-update.ts +++ b/packages/gitmars/src/gitm-update.ts @@ -2,20 +2,21 @@ import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import { queue } from '@gitmars/core/lib/queue' -import getIsGitProject from '@gitmars/core/lib/git/getIsGitProject' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import getIsMergedTargetBranch from '@gitmars/core/lib/git/getIsMergedTargetBranch' -import checkGitStatus from '@gitmars/core/lib/git/checkGitStatus' -import fetch from '@gitmars/core/lib/git/fetch' -import searchBranches from '@gitmars/core/lib/git/searchBranches' -import { createArgs } from '@gitmars/core/lib/utils/command' -import getConfig from '@gitmars/core/lib/getConfig' -import { isNeedUpgrade, upgradeGitmars } from '@gitmars/core/lib/versionControl' -import type { CommandType, GitmarsOptionOptionsType } from '../typings/gitmars' -import { defaults } from '#lib/common/global' -import updateConfig from '#lib/conf/update' -import lang from '#lib/common/local' +import { isNeedUpgrade, queue, upgradeGitmars } from '@gitmars/core' +import { + checkGitStatus, + fetch, + getConfig, + getCurrentBranch, + getIsGitProject, + getIsMergedTargetBranch, + searchBranches +} from '@gitmars/git' +import { createArgs } from '@gitmars/utils' +import type { CommandType, GitmarsOptionOptionsType } from './types' +import { defaults } from './common/global' +import updateConfig from './conf/update' +import lang from './common/local' const { t } = lang const { red } = chalk diff --git a/packages/gitmars/src/gitm-upgrade.ts b/packages/gitmars/src/gitm-upgrade.ts index d3f834320..8b44e9cd2 100755 --- a/packages/gitmars/src/gitm-upgrade.ts +++ b/packages/gitmars/src/gitm-upgrade.ts @@ -2,11 +2,10 @@ import { program } from 'commander' import chalk from 'chalk' import ora from 'ora' -import { spawnSync } from '@gitmars/core/lib/spawn' -import { createArgs } from '@gitmars/core/lib/utils/command' -import type { GitmarsOptionOptionsType, PackageVersionTag } from '../typings/gitmars' -import lang from '#lib/common/local' -import upgradeConfig from '#lib/conf/upgrade' +import { createArgs, spawnSync } from '@gitmars/utils' +import type { GitmarsOptionOptionsType, PackageVersionTag } from './types' +import lang from './common/local' +import upgradeConfig from './conf/upgrade' const { t } = lang const { green, red } = chalk diff --git a/packages/gitmars/src/gitm.ts b/packages/gitmars/src/gitm.ts index 833b304f6..5238e37fb 100755 --- a/packages/gitmars/src/gitm.ts +++ b/packages/gitmars/src/gitm.ts @@ -3,10 +3,9 @@ import { createRequire } from 'node:module' import { program } from 'commander' import sh from 'shelljs' import chalk from 'chalk' -import { spawnSync } from '@gitmars/core/lib/spawn' -import echo from '@gitmars/core/lib/utils/echo' +import { echo, spawnSync } from '@gitmars/utils' // import { version } from '../package.json' assert { type: 'json' } -import lang from '#lib/common/local' +import lang from './common/local' const { t } = lang const require = createRequire(import.meta.url) @@ -62,6 +61,8 @@ program .alias('ug') .command('build', t('buildJenkins')) .alias('bd') + .command('build-mp', t('buildMpJenkins')) + .alias('bdm') .command('suggest', t('Action Tips')) .alias('sg') .command('approve', t('Handling remote merge requests')) @@ -129,6 +130,8 @@ program.on('command:*', function (types: string[], opts: string[]) { 'ug', 'build', 'bd', + 'build-mp', + 'bdm', 'suggest', 'sg', 'approve', diff --git a/packages/gitmars/src/go/index.ts b/packages/gitmars/src/go/index.ts index 089d9e7e7..509747b83 100644 --- a/packages/gitmars/src/go/index.ts +++ b/packages/gitmars/src/go/index.ts @@ -1,27 +1,26 @@ -import { spawnSync } from '@gitmars/core/lib/spawn' -import { debug } from '@gitmars/core/lib/utils/debug' -import getCurrentBranch from '@gitmars/core/lib/git/getCurrentBranch' -import cleanConfigSet from '@gitmars/core/lib/go/cleanConfigSet' -import getCommand from '@gitmars/core/lib/go/getCommand' - -import combineConfig from '#lib/conf/combine' -import endConfig from '#lib/conf/end' -import updateConfig from '#lib/conf/update' -import undoConfig from '#lib/conf/undo' -import redoConfig from '#lib/conf/redo' -import branchConfig from '#lib/conf/branch' -import buildConfig from '#lib/conf/build' -import startConfig from '#lib/conf/start' -import copyConfig from '#lib/conf/copy' -import getConfig from '#lib/conf/get' -import saveConfig from '#lib/conf/save' -import cleanbranchConfig from '#lib/conf/cleanbranch' -import cleanConfig from '#lib/conf/clean' -import revertConfig from '#lib/conf/revert' -import linkConfig from '#lib/conf/link' -import unlinkConfig from '#lib/conf/unlink' -import postmsgConfig from '#lib/conf/postmsg' -import adminConfig from '#lib/conf/admin' +import { debug, spawnSync } from '@gitmars/utils' +import { getCurrentBranch } from '@gitmars/git' +import { cleanConfigSet, getCommand } from '@gitmars/go' + +import combineConfig from '../conf/combine' +import endConfig from '../conf/end' +import updateConfig from '../conf/update' +import undoConfig from '../conf/undo' +import redoConfig from '../conf/redo' +import branchConfig from '../conf/branch' +import buildConfig from '../conf/build' +import buildMpConfig from '../conf/build-mp' +import startConfig from '../conf/start' +import copyConfig from '../conf/copy' +import getConfig from '../conf/get' +import saveConfig from '../conf/save' +import cleanbranchConfig from '../conf/cleanbranch' +import cleanConfig from '../conf/clean' +import revertConfig from '../conf/revert' +import linkConfig from '../conf/link' +import unlinkConfig from '../conf/unlink' +import postmsgConfig from '../conf/postmsg' +import adminConfig from '../conf/admin' const { create: adminCreateConfig, @@ -140,6 +139,14 @@ export const build = async () => { spawnSync('gitm', command.split(' '), { stdio: 'inherit' }) } +// build-mp command +export const buildMp = async () => { + const config = cleanConfigSet(buildMpConfig) + const command = 'build-mp ' + (await getCommand(config)) + debug('build-mp', command) + spawnSync('gitm', command.split(' '), { stdio: 'inherit' }) +} + // cherry-pick command export const copy = async () => { const config = cleanConfigSet(copyConfig) diff --git a/packages/gitmars/src/index.default.ts b/packages/gitmars/src/index.default.ts new file mode 100644 index 000000000..a8276ec6b --- /dev/null +++ b/packages/gitmars/src/index.default.ts @@ -0,0 +1,4 @@ +export type * from './types' +export default { + version: '__VERSION__' +} diff --git a/packages/gitmars/src/index.ts b/packages/gitmars/src/index.ts new file mode 100644 index 000000000..c8b69ba3a --- /dev/null +++ b/packages/gitmars/src/index.ts @@ -0,0 +1,3 @@ +export { default } from './index.default' +export type * from './index.default' +export const version = '__VERSION__' as string diff --git a/packages/gitmars/src/locales/en-US.ts b/packages/gitmars/src/locales/en-US.ts index fbf7c547f..bf11574a7 100644 --- a/packages/gitmars/src/locales/en-US.ts +++ b/packages/gitmars/src/locales/en-US.ts @@ -1,468 +1,3 @@ export default { - name: 'en-US', - 'The current directory is not a git project directory': - 'The current directory is not a git project directory', - 'Successful Pushed': 'Successful Pushed', - 'Push failed, please follow the prompts': 'Push failed, please follow the prompts', - 'The description of the reason for submission does not meet the specification': - 'The description of the reason for submission does not meet the specification', - 'Gitmars can only be executed in a git environment, so please install git first': - 'Gitmars can only be executed in a git environment, so please install git first', - 'Successfully reverted': 'Successfully reverted', - 'An error has occurred, please follow the instructions': - 'An error has occurred, please follow the instructions', - 'Commands do not meet the specifications': 'Commands do not meet the specifications', - 'Successfully created merge request': 'Successfully created merge request', - 'Push remote failed, please follow the prompts': - 'Push remote failed, please follow the prompts', - 'There was an error creating the merge request, please follow the instructions': - 'There was an error creating the merge request, please follow the instructions', - 'Push remote and associate remote branch successfully': - 'Push remote and associate remote branch successfully', - 'Pulling up the build was successful': 'Pulling up the build was successful', - 'Failed to pull up the build': 'Failed to pull up the build', - 'View Details': 'View Details', - Passed: 'Passed', - 'Not passed': 'Not passed', - 'Failed and deleted': 'Failed and deleted', - Exit: 'Exit', - 'No merge request record selected, process has exited': - 'No merge request record selected, process has exited', - 'Cleanup of remote branch was successful': 'Cleanup of remote branch was successful', - "Failed to clean up remote branch, please follow the prompts'": - "Failed to clean up remote branch, please follow the prompts'", - 'Starting analysis': 'Starting analysis', - 'Cannot be deleted': 'Cannot be deleted', - 'Analysis completed': 'Analysis completed', - Deleting: 'Deleting', - 'Please enter branch name': 'Please enter branch name', - 'Successfully deleted remote branch': 'Successfully deleted remote branch', - 'Deletion failed, please contact administrator': - 'Deletion failed, please contact administrator', - Uninstalling: 'Uninstalling now', - 'Uninstallation complete': 'Uninstallation complete', - Installing: 'Installing', - 'Installation complete': 'Installation complete', - 'There was an error uninstalling, please try running after manually removing: npm install -g gitmars': - 'There was an error uninstalling, please try running after manually removing: npm install -g gitmars', - 'There was an error installing, please try running: npm install -g gitmars': - 'There was an error installing, please try running: npm install -g gitmars', - 'Branch Type': 'Branch Type', - 'Please do not enter spaces': 'Please do not enter spaces', - 'Send Message': 'Send Message', - 'Whether to sync the release code to the bug': 'Whether to sync the release code to the bug', - 'Whether to force a merge request': 'Whether to force a merge request', - 'Whether to update using rebase method, default merge': - 'Whether to update using rebase method, default merge', - 'Whether to merge bugs to master when publishing bug branches': - 'Whether to merge bugs to master when publishing bug branches', - 'You cannot select both "Merge release to bug" and "Merge bug to master"': - 'You cannot select both "Merge release to bug" and "Merge bug to master"', - 'In case of a conflict, whether to keep the incoming code or the current code; 1=use current 2=use incoming; default is 0=handle manually. This parameter must not be used with --use-rebase': - 'In case of a conflict, whether to keep the incoming code or the current code; 1=use current 2=use incoming; default is 0=handle manually. This parameter must not be used with --use-rebase', - 'Execute method': 'Execute method', - 'Do not push the message': 'Do not push the message', - 'Query branch for keywords': 'Query branch for keywords', - 'Exclude keywords': 'Exclude keywords', - 'Include keywords': 'Include keywords', - 'Whether to query remote branches (change to delete remote branches in deletes mode) Default is local only': - 'Whether to query remote branches (change to delete remote branches in deletes mode) Default is local only', - 'The type of branch to query, there are 3 types: feature, bugfix, support, if not pass then query all': - 'The type of branch to query, there are 3 types: feature, bugfix, support, if not pass then query all', - 'Delete branch': 'Delete branch', - 'Force branch deletion': 'Force branch deletion', - 'Set association with remote branches': 'Set association with remote branches', - 'When using the bind/unbind remote branch function, it cannot be mixed with other functions.': - 'When using the bind/unbind remote branch function, it cannot be mixed with other functions.', - 'When using the delete branch function, it cannot be mixed with the query branch function.': - 'When using the delete branch function, it cannot be mixed with the query branch function.', - 'Project name': 'Project name', - 'Build environment, optionally dev, prod, bug, all': - 'Build environment, optionally dev, prod, bug, all', - 'Force cleanup': 'Force cleanup', - 'Specify the branch to clean up': 'Specify the branch to clean up', - 'Show a list of branches that match the criteria': - 'Show a list of branches that match the criteria', - 'The type of branch, there are 3 types: feature, bugfix, support, default all if not passed': - 'The type of branch, there are 3 types: feature, bugfix, support, default all if not passed', - 'The name of the target branch that needs to be tested for merging, default is develop and release if not passed': - 'The name of the target branch that needs to be tested for merging, default is develop and release if not passed', - 'Whether to clean up remote branches, default is clean up local branches': - 'Whether to clean up remote branches, default is clean up local branches', - 'Confirm start, do not show confirmation box when true': - 'Confirm start, do not show confirmation box when true', - 'Branch name (without feature/bugfix prefix)': 'Branch name (without feature/bugfix prefix)', - 'Sync to dev environment': 'Sync to dev environment', - 'Sync to prod environment': 'Sync to prod environment', - 'Build application': 'Build application', - 'Execute commit, information required': 'Execute commit, information required', - 'Description of the reason for this commit': 'Description of the reason for this commit', - 'Execute add': 'Execute add', - 'bug branch merge to release without merging to bug branch': - 'bug branch merge to release without merging to bug branch', - 'bug branch merge to release': 'bug branch merge to release', - 'Merge dev or prod must choose at least one': 'Merge dev or prod must choose at least one', - 'add and commit need to be selected at the same time': - 'add and commit need to be selected at the same time', - 'Show command queue': 'Show command queue', - 'Commit record ID': 'Commit record ID', - 'Do not merge trunk branches (make sure the branch is live)': - 'Do not merge trunk branches (make sure the branch is live)', - AccessKeyword: 'AccessKeyword', - 'Serial Number': 'Serial Number', - 'Keep staging area not deleted': 'Keep staging area not deleted', - 'Command Name': 'Command Name', - 'Do you want to skip the check permission': 'Do you want to skip the check permission', - 'Query logs after a certain time, fill in the format: 10s/2m/2h/3d/4M/5y': - 'Query logs after a certain time, fill in the format: 10s/2m/2h/3d/4M/5y', - 'The maximum number of logs to be queried': 'The maximum number of logs to be queried', - 'Detection type': 'Detection type', - 'Branch to query': 'Branch to query', - 'Version number': 'Version number', - 'Plugin Name': 'Plugin Name', - 'Whether to use Taobao Mirror': 'Whether to use Taobao Mirror', - 'Use mirror address': 'Use mirror address', - 'Name of the package': 'Name of the package', - 'Whether to exclude merge records': 'Whether to exclude merge records', - 'Whether to output logs in json format, default form': - 'Whether to output logs in json format, default form', - 'The api address of the push message': 'The api address of the push message', - 'The undo log to be restored': 'The undo log to be restored', - 'ID of the undo needed': 'ID of the undo needed', - 'Undo the last commit (or undo the penultimate nth commit)': - 'Undo the last commit (or undo the penultimate nth commit)', - 'For undoing a merge record, the type to be passed in: 1 = keep current branch code, 2 = keep incoming code': - 'For undoing a merge record, the type to be passed in: 1 = keep current branch code, 2 = keep incoming code', - 'Filter merge request status, there are 2 types: opened, closed, not passed then default all': - 'Filter merge request status, there are 2 types: opened, closed, not passed then default all', - 'Parameter list': 'Parameter list', - 'No version of the file is also staged, which will perform a git add .': - 'No version of the file is also staged, which will perform a git add .', - 'Create branch from tag': 'Create branch from tag', - 'Specify the port number': 'Specify the port number', - 'Clean up the current branch undo failure log': 'Clean up the current branch undo failure log', - 'Clean up all branch undo failures': 'Clean up all branch undo failures', - '--calc and --calcAll can only be used individually': - '--calc and --calcAll can only be used individually', - 'Use merge to update (default merge)': 'Use merge to update (default merge)', - 'Update with rebase (default merge)': 'Update with rebase (default merge)', - 'Update all local bugfix, feature, support branches': - 'Update all local bugfix, feature, support branches', - 'The name of the client used to load the package': - 'The name of the client used to load the package', - 'The method you entered is incorrect, only support: init, remove': - 'The method you entered is incorrect, only support: init, remove', - 'Approve remote merge request': 'Approve remote merge request', - 'No merge request record found, process has exited': - 'No merge request record found, process has exited', - 'Please select the action below.': 'Please select the action below.', - 'There is a conflict or merge is not required': 'There is a conflict or merge is not required', - "Requests that can't be merged can't be clicked for review and approval": - "Requests that can't be merged can't be clicked for review and approval", - 'Branch query, delete (note that this command is not used to create a branch, if you want to create a branch please go through the start process)': - 'Branch query, delete (note that this command is not used to create a branch, if you want to create a branch please go through the start process)', - 'You have entered --force, which will also clear the gitmars execution cache. Should I continue?': - 'You have entered --force, which will also clear the gitmars execution cache. Should I continue?', - 'gitmars command queue cache file': 'gitmars command queue cache file', - 'gitmars execution log file': 'gitmars execution log file', - 'About to start batch deleting branches, do you want to continue?': - 'About to start batch deleting branches, do you want to continue?', - 'No branches were queried.': 'No branches were queried.', - 'No branches were selected and the process has exited.': - 'No branches were selected and the process has exited.', - 'Analysis complete, no branches to clean up': 'Analysis complete, no branches to clean up', - 'Deletion complete, these branches have been cleaned up': - 'Deletion complete, these branches have been cleaned up', - 'Please enter the message to be submitted': 'Please enter the message to be submitted', - 'Please enter the environment to sync to.': 'Please enter the environment to sync to.', - 'Merge bugfix task branch, merge feature development branch, merge support branch': - 'Merge bugfix task branch, merge feature development branch, merge support branch', - 'Branch does not exist, please enter it correctly': - 'Branch does not exist, please enter it correctly', - 'This branch has not been synced for more than 1 week, please sync it at least once a week, execute: gitm update (-f)': - 'This branch has not been synced for more than 1 week, please sync it at least once a week, execute: gitm update (-f)', - 'Please enter the items to be configured': 'Please enter the items to be configured', - 'Query single or all gitmars for configuration items': - 'Query single or all gitmars for configuration items', - 'A conflict has been detected in the merge branch and you need to run git add . Do you want to force the script to continue?': - 'A conflict has been detected in the merge branch and you need to run git add . Do you want to force the script to continue?', - 'An uncommitted file was detected, please be aware!': - 'An uncommitted file was detected, please be aware!', - 'There are no unexecuted commands in the queue': - 'There are no unexecuted commands in the queue', - 'cherry-pick batch version, copy a record from a branch and merge it into the current branch': - 'cherry-pick batch version, copy a record from a branch and merge it into the current branch', - 'Record merge successful': 'Record merge successful', - 'Merge failed, please follow the instructions': 'Merge failed, please follow the instructions', - 'To make sure the copy is accurate, the keywords cannot be less than 4 words, please try to fill in the keywords completely': - 'To make sure the copy is accurate, the keywords cannot be less than 4 words, please try to fill in the keywords completely', - 'No records found': 'No records found', - 'Merge bugfix task branch, merge feature function development branch, the corresponding branch will be deleted after the merge is completed': - 'Merge bugfix task branch, merge feature function development branch, the corresponding branch will be deleted after the merge is completed', - 'There are no files staged in this branch!': 'There are no files staged in this branch!', - 'File recovery successful': 'File recovery successful', - 'Recovery failed, please check for conflicts': 'Recovery failed, please check for conflicts', - 'The command you entered was not found and may not be supported at this time': - 'The command you entered was not found and may not be supported at this time', - 'Please select the operation you want?': 'Please select the operation you want?', - 'Gitmars Workflow': 'Gitmars Workflow', - 'Advanced Tools': 'Advanced Tools', - 'Detects that you are modifying code directly in the master branch': - 'Detects that you are modifying code directly in the master branch', - 'The last record was a merge record': 'The last record was a merge record', - 'Your local branch version is lagging behind the remote branch, please perform a pull first.': - 'Your local branch version is lagging behind the remote branch, please perform a pull first.', - 'The local version is not behind the remote, you can push it directly': - 'The local version is not behind the remote, you can push it directly', - 'Set configuration items for gitmars': 'Set configuration items for gitmars', - 'Please enter the available names': 'Please enter the available names', - 'Please enter the Git username': 'Please enter the Git username', - 'Please enter the Git email address': 'Please enter the Git email address', - 'Please enter the correct email': 'Please enter the correct email', - 'Please enter the branch name naming convention': - 'Please enter the branch name naming convention', - 'Please enter commit message rules': 'Please enter commit message rules', - 'Please enter the message template': 'Please enter the message template', - 'Please enter the message push address': 'Please enter the message push address', - 'Please enter the URL': 'Please enter the URL', - 'Please enter apollo configuration': 'Please enter apollo configuration', - 'Please enter json': 'Please enter json', - 'Please enter hooks configuration': 'Please enter hooks configuration', - 'Please enter the query user permission interface': - 'Please enter the query user permission interface', - 'Please enter the git URL': 'Please enter the git URL', - 'Please enter the git project ID, currently only gitlab is supported': - 'Please enter the git project ID, currently only gitlab is supported', - 'gitmars configured successfully': 'gitmars configured successfully', - 'Installing plugins, e.g. @gitmars/core': 'Installing plugins, e.g. @gitmars/core', - 'Please enter the plugin name': 'Please enter the plugin name', - 'Incorrect version number entered, only supported: alpha, lite, beta, release, latest, next': - 'Incorrect version number entered, only supported: alpha, lite, beta, release, latest, next', - 'Link local package': 'Link local package', - 'Log query': 'Log query', - 'Merge branch code': 'Merge branch code', - 'Verify commit permissions': 'Verify commit permissions', - 'Undo a commit record': 'Undo a commit record', - 'Please select the undo record to restore': 'Please select the undo record to restore', - 'Please select the merge request to be operated': - 'Please select the merge request to be operated', - 'Comment List': 'Comment List', - Comments: 'Comments', - 'File staging successful': 'File staging successful', - 'Create bugfix task branch, create feature development branch, support framework support branch': - 'Create bugfix task branch, create feature development branch, support framework support branch', - 'Branch name does not conform to specification': - 'Branch name does not conform to specification', - 'Specify that only bugfix branch creation is supported when pulling branches from tag': - 'Specify that only bugfix branch creation is supported when pulling branches from tag', - 'Restore staging area file': 'Restore staging area file', - 'Suggestions for operation': 'Suggestions for operation', - 'After handling conflicts, execute: gitm undo --calc': - 'After handling conflicts, execute: gitm undo --calc', - 'No commit record selected, process has exited': - 'No commit record selected, process has exited', - 'Please select the commit record to undo.': 'Please select the commit record to undo.', - 'No softlink found, please confirm entering the correct name': - 'No softlink found, please confirm entering the correct name', - 'Update bug task branch, update feature function development branch, framework adjustment branch support': - 'Update bug task branch, update feature function development branch, framework adjustment branch support', - 'View gitmars version number': 'View gitmars version number', - 'Initialize gitmars configuration': 'Initialize gitmars configuration', - 'View/Set configuration items for gitmars': 'View/Set configuration items for gitmars', - 'Branch phase mention test': 'Branch phase mention test', - 'Create bugfix branches, create/merge release branches': - 'Create bugfix branches, create/merge release branches', - 'Finish developing a feature': 'Finish developing a feature', - 'Update bugfix branch, update feature development branch': - 'Update bugfix branch, update feature development branch', - 'List branches': 'List branches', - 'Staging current branch files': 'Staging current branch files', - 'Restore the most recently staged file in the staging area': - 'Restore the most recently staged file in the staging area', - 'Clean up merged feature branches': 'Clean up merged feature branches', - "Simplify git's cherry-pick operation": "Simplify git's cherry-pick operation", - 'Merge code': 'Merge code', - 'Continue unfinished operations': 'Continue unfinished operations', - 'Undo commit': 'Undo commit', - 'Upgrade gitmars': 'Upgrade gitmars', - buildJenkins: 'buildJenkins', - 'Action Tips': 'Action Tips', - 'Handling remote merge requests': 'Handling remote merge requests', - 'review remote code': 'review remote code', - 'view branch status': 'view branch status', - 'Launch web version of gitmars': 'Launch web version of gitmars', - 'Unlink softlinks': 'Unlink softlinks', - 'Create soft links': 'Create soft links', - 'Clear cache': 'Clear cache', - 'Push Message': 'Push Message', - 'Commit Permissions': 'Commit Permissions', - 'git hook directive': 'git hook directive', - 'Withdraw commits on master branches': 'Withdraw commits on master branches', - 'Resume withdrawn code back online': 'Resume withdrawn code back online', - 'git hook run command': 'git hook run command', - 'Query log': 'Query log', - 'Intelligent guessing of the action you want to perform': - 'Intelligent guessing of the action you want to perform', - 'Install and remove shortcuts': 'Install and remove shortcuts', - 'Install plugins': 'Install plugins', - 'Administrator functions, including actions for bugfixing and releasing release branches': - 'Administrator functions, including actions for bugfixing and releasing release branches', - 'Use Case': 'Use Case', - 'Gitmars does not provide the command "gitm {command}", it has been passed through to git for execution, here are the results': - 'Gitmars does not provide the command "gitm {command}", it has been passed through to git for execution, here are the results', - 'Send group message': 'Send group message', - 'Create bugfix, release, develop and support branches': - 'Create bugfix, release, develop and support branches', - 'The {branch} branch already exists and does not need to be created again': - 'The {branch} branch already exists and does not need to be created again', - 'type only allows input': 'type only allows input', - 'Release bugfix, release, support branches': 'Release bugfix, release, support branches', - 'Update bugfix, release, support branch code': 'Update bugfix, release, support branch code', - 'Build cleanup job': 'Build cleanup job', - 'Approve merge request': 'Approve merge request', - 'Please select the following action': 'Please select the following action', - 'New path': 'New path', - 'Environment to be built, optionally dev, prod, bug, all': - 'Environment to be built, optionally dev, prod, bug, all', - 'Application to be built': 'Application to be built', - 'Clean gitmars cache': 'Clean gitmars cache', - exited: 'exited', - 'Delete branch before fixed duration, fill in format: 10s/2m/2h/3d/4M/5y': - 'Delete branch before fixed duration, fill in format: 10s/2m/2h/3d/4M/5y', - 'Whether to sync to alpha test environment': 'Whether to sync to alpha test environment', - 'Whether to sync to pre-release environment': 'Whether to sync to pre-release environment', - 'commit information': 'commit information', - 'Need to add': 'Need to add', - 'Do not sync to bug branch': 'Do not sync to bug branch', - 'Saved successfully': 'Saved successfully', - 'Please select the commit record to copy': 'Please select the commit record to copy', - 'Please select the target branch': 'Please select the target branch', - 'There was an installation error, please contact the administrator': - 'There was an installation error, please contact the administrator', - 'Processing completed': 'Processing completed', - 'There was an error': 'There was an error', - "Whether to exclude merge's log": "Whether to exclude merge's log", - 'Whether to restrict dev commits': 'Whether to restrict dev commits', - 'Whether to restrict release commits': 'Whether to restrict release commits', - 'No recoverable undo logs found, process exited': - 'No recoverable undo logs found, process exited', - 'No logs selected, process has exited': 'No logs selected, process has exited', - Close: 'Close', - Deleted: 'Deleted', - Submitted: 'Submitted', - 'There was an error, please contact an administrator': - 'There was an error, please contact an administrator', - 'Clean up all failed undo logs': 'Clean up all failed undo logs', - 'Whether to exclude merge logs': 'Whether to exclude merge logs', - 'No eligible commit logs found, please relax the filtering conditions appropriately. The process has been exited': - 'No eligible commit logs found, please relax the filtering conditions appropriately. The process has been exited', - 'There are no revocable records, the process has exited': - 'There are no revocable records, the process has exited', - 'Unlinking local package': 'Unlinking local package', - 'Path of package': 'Path of package', - '{base} branch does not exist, please create a {base} branch first': - '{base} branch does not exist, please create a {base} branch first', - 'The {target} branch was created successfully and is based on {base}, you have now switched to {target}\nWhen you need to publish, remember to run: {command}': - 'The {target} branch was created successfully and is based on {base}, you have now switched to {target}\nWhen you need to publish, remember to run: {command}', - 'Merge {source} into {target} successfully': 'Merge {source} into {target} successfully', - 'An error occurred merging {source} to {target}, Please follow the instructions': - 'An error occurred merging {source} to {target}, Please follow the instructions', - '{app} item {source} merged to {target} request ID {id} has been merged': - '{app} item {source} merged to {target} request ID {id} has been merged', - '{app} item {source} merged to {target} request ID {id} has been deleted': - '{app} item {source} merged to {target} request ID {id} has been deleted', - '{app} item {source} merged to {target} request ID {id} has been closed': - '{app} item {source} merged to {target} request ID {id} has been closed', - '{app} item {source} merged to {target} request ID {id} has new comments: {note}': - '{app} item {source} merged to {target} request ID {id} has new comments: {note}', - 'Merge request {id}: Merged': 'Merge request {id}: Merged', - 'Merge request {id}: Deleted': 'Merge request {id}: Deleted', - 'Merge request {id}: Closed': 'Merge request {id}: Closed', - "Hey {nickname}, you don't have permission": "Hey {nickname}, you don't have permission", - '{source} has been merged with {target}': '{source} has been merged with {target}', - 'Merge {source} to {target} successfully': 'Merge {source} to {target} successfully', - 'An error occurred merging {source} to {target}, please follow the instructions': - 'An error occurred merging {source} to {target}, please follow the instructions', - 'Hey bro, what is the fuck are you doing by executing this command in the {type} branch?': - 'Hey bro, what is the fuck are you doing by executing this command in the {type} branch?', - '{nickname} submitted a merge request for {source} branch to {target} branch in {app} project': - '{nickname} submitted a merge request for {source} branch to {target} branch in {app} project', - '${message}; project: ${project}; path: ${pwd}': - '${message}; project: ${project}; path: ${pwd}', - 'There are a total of {length} staging records under this item, please clean it up regularly!': - 'There are a total of {length} staging records under this item, please clean it up regularly!', - 'Deleting: {something}': 'Deleting: {something}', - 'Deleted successfully: {something}': 'Deleted successfully: {something}', - 'Start analysis: {something}': 'Start analysis: {something}', - 'Cannot be deleted: {something}': 'Cannot be deleted: {something}', - 'Analysis completed: {something}': 'Analysis completed: {something}', - 'Undo successfully: {something}': 'Undo successfully: {something}', - 'Current branch: {something}': 'Current branch: {something}', - 'Processing failed, {name} soft link does not exist, please go to the local {name} root directory and execute: gitm link': - 'Processing failed, {name} soft link does not exist, please go to the local {name} root directory and execute: gitm link', - 'Processing: {something}': 'Processing: {something}', - 'File write error occurred': 'File write error occurred', - 'Cleanup is complete': 'Cleanup is complete', - '{id}: total {total} files changed': '{id}: total {total} files changed', - 'Find {total} branches merged over {branches} branch, please select the branch to clean up': - 'Find {total} branches merged over {branches} branch, please select the branch to clean up', - 'If you find multiple branches with names containing {type}, please enter the branch type': - 'If you find multiple branches with names containing {type}, please enter the branch type', - 'If your branch has not been merged into {target}, please merge it into the {target} branch first': - 'If your branch has not been merged into {target}, please merge it into the {target} branch first', - 'There are {length} staging records under this branch, and the most recent one is restored by default': - 'There are {length} staging records under this branch, and the most recent one is restored by default', - 'There are {length} staging records under this branch, please clean up unnecessary staging records regularly': - 'There are {length} staging records under this branch, please clean up unnecessary staging records regularly', - 'Current branch is {current}, I suspect you may want to do the following: ': - 'Current branch is {current}, I suspect you may want to do the following: ', - 'You have selected the {something} command': 'You have selected the {something} command', - 'Please enter {branch} branch name': 'Please enter {branch} branch name', - 'The branch was created successfully and is based on {source}. You have now switched to the {target} branch\nIf you need to test, please run: "{combine}"\nWhen development is complete, remember to run: "{end}"': - 'The branch was created successfully and is based on {source}. You have now switched to the {target} branch\nIf you need to test, please run: "{combine}"\nWhen development is complete, remember to run: "{end}"', - 'The {target} branch does not allow direct commits': - 'The {target} branch does not allow direct commits', - 'Whether to use merge method to update codes, default method is merge': - 'Whether to use merge method to update codes, default method is merge', - 'Whether to use rebase method update, default method is merge': - 'Whether to use rebase method update, default method is merge', - 'The configuration item {option} is not supported': - 'The configuration item {option} is not supported', - 'Detected {id} This record has been revert once, please check if there is an error': - 'Detected {id} This record has been revert once, please check if there is an error', - 'The record {id} is detected as a revert record, please use the "gitm redo" operation': - 'The record {id} is detected as a revert record, please use the "gitm redo" operation', - 'Detected that {id} has failed to undo this record and has deleted the related logs': - 'Detected that {id} has failed to undo this record and has deleted the related logs', - 'The record {id} was detected to have been recovered, and the related logs were deleted': - 'The record {id} was detected to have been recovered, and the related logs were deleted', - 'Please enter the comment content': 'Please enter the comment content', - 'Please enter the available comments': 'Please enter the available comments', - '{length} comments': '{length} comments', - '{id} request merge {source} to {target} {disabled} | {name} | {comments} | {time}': - '{id} request merge {source} to {target} {disabled} | {name} | {comments} | {time}', - 'The {source} branch has updated from main branch': - 'The {source} branch has updated from main branch', - 'Detected that you have not update codes from {source} branch in 1 week': - 'Detected that you have not update codes from {source} branch in 1 week', - 'Your branch was detected as not having merged {target}': - 'Your branch was detected as not having merged {target}', - '{source} branch has merged {target} branch': '{source} branch has merged {target} branch', - 'Use strict mode': 'Use strict mode', - '--as-feature is only used in the bugfix branch.': - '--as-feature is only used in the bugfix branch.', - 'Other data to be transferred': 'Other data to be transferred', - 'Please double check the following build parameters': - 'Please double check the following build parameters', - 'Code Branch': 'Code Branch', - 'Build Application': 'Build Application', - 'Interface Environment': 'Interface Environment', - 'Experience version pushed to': 'Experience version pushed to', - 'Version Description': 'Version Description', - 'Clean node modules (use with caution)': 'Clean node modules (use with caution)', - 'This process will not automatically execute the build process, please wait for the administrator to review the code and execute it: gitm build {appName} -e prod -a {app} {data}': - 'This process will not automatically execute the build process, please wait for the administrator to review the code and execute it: gitm build {appName} -e prod -a {app} {data}', - 'Push to templates only': 'Push to templates only', - 'Use the {base} branch for posting on Thursday, Friday, and Sunday': - 'Use the {base} branch for posting on Thursday, Friday, and Sunday' + name: 'en-US' } diff --git a/packages/gitmars/src/locales/index.ts b/packages/gitmars/src/locales/index.ts index 29486ce98..19436241b 100644 --- a/packages/gitmars/src/locales/index.ts +++ b/packages/gitmars/src/locales/index.ts @@ -1,5 +1,5 @@ -export { default as zhCN } from '#lib/locales/zh-CN' -export { default as enUS } from '#lib/locales/en-US' +export { default as zhCN } from './zh-CN' +export { default as enUS } from './en-US' export interface TranslatePair { [key: string]: string | string[] | TranslatePair diff --git a/packages/gitmars/src/locales/zh-CN.ts b/packages/gitmars/src/locales/zh-CN.ts index 08120059d..7fee87129 100644 --- a/packages/gitmars/src/locales/zh-CN.ts +++ b/packages/gitmars/src/locales/zh-CN.ts @@ -28,7 +28,7 @@ export default { 'Cannot be deleted': '不可删除', 'Analysis completed': '分析完成', Deleting: '正在删除', - 'Please enter branch name': '请输入分支名称', + 'Enter branch name': '请输入分支名称', 'Successfully deleted remote branch': '成功删除远程分支', 'Deletion failed, please contact administrator': '删除失败,请联系管理员', Uninstalling: '正在卸载', @@ -69,6 +69,8 @@ export default { '使用删除分支功能时,不能与查询分支功能混用', 'Project name': '项目名称', 'Build environment, optionally dev, prod, bug, all': '构建环境,可选dev、prod、bug、all', + 'Build api environment, optionally alpha, tag, release, production': + '构建环境,可选alpha、tag、release、production', 'Force cleanup': '强制清理', 'Specify the branch to clean up': '指定要清理的分支', 'Show a list of branches that match the criteria': '显示符合条件的分支列表', @@ -154,14 +156,14 @@ export default { 'No branches were selected and the process has exited.': '没有选择任何分支,进程已退出', 'Analysis complete, no branches to clean up': '分析完成,没有分支需要清理', 'Deletion complete, these branches have been cleaned up': '删除完成,这些分支已被清理', - 'Please enter the message to be submitted': '请输入要提交的message', - 'Please enter the environment to sync to.': '请输入需要同步到的环境', + 'Enter the message to be submitted': '请输入要提交的message', + 'Enter the environment to sync to.': '请输入需要同步到的环境', 'Merge bugfix task branch, merge feature development branch, merge support branch': '合并bugfix任务分支、合并feature功能开发分支、合并support分支', 'Branch does not exist, please enter it correctly': '分支不存在,请正确输入', - 'This branch has not been synced for more than 1 week, please sync it at least once a week, execute: gitm update (-f)': - '检测到该分支已经超过1周没有同步过主干代码了,请每周至少同步一次,执行:gitm update (-f)', - 'Please enter the items to be configured': '请输入要配置的项', + 'The {source} branch has not updated its upstream branch code in over a week, please sync it at least once a week, execute: gitm update (-f)': + '{source}分支已经超过1周没有同步过主干分支代码了,请每周至少同步一次,执行:gitm update (-f)', + 'Enter the items to be configured': '请输入要配置的项', 'Query single or all gitmars for configuration items': '查询单个或全部gitmars的配置项', 'A conflict has been detected in the merge branch and you need to run git add . Do you want to force the script to continue?': '检测到有未提交的文件,在合并分支的过程遇到冲突,需要在处理冲突后执行一下 git add . 和 git commit ,然后再执行 gitm continue。是否要强制继续执行脚本?', @@ -192,25 +194,25 @@ export default { 'The local version is not behind the remote, you can push it directly': '本地版本没有落后远程,可直接push', 'Set configuration items for gitmars': '设置gitmars的配置项', - 'Please enter the available names': '请输入可用名称', - 'Please enter the Git username': '请输入Git用户名', - 'Please enter the Git email address': '请输入Git邮箱', - 'Please enter the correct email': '请输入正确的邮箱', - 'Please enter the branch name naming convention': '请输入分支名称命名规则', - 'Please enter commit message rules': '请输入commit信息规则', - 'Please enter the message template': '请输入消息模板', - 'Please enter the message push address': '请输入消息推送地址', - 'Please enter the URL': '请输入网址', - 'Please enter apollo configuration': '请输入apollo配置', - 'Please enter json': '请输入json', - 'Please enter hooks configuration': '请输入hooks配置', - 'Please enter the query user permission interface': '请输入查询用户权限接口', - 'Please enter the git URL': '请输入git网址', - 'Please enter the git project ID, currently only gitlab is supported': + 'Enter the available names': '请输入可用名称', + 'Enter the Git username': '请输入Git用户名', + 'Enter the Git email address': '请输入Git邮箱', + 'Enter the correct email': '请输入正确的邮箱', + 'Enter the branch name naming convention': '请输入分支名称命名规则', + 'Enter commit message rules': '请输入commit信息规则', + 'Enter the message template': '请输入消息模板', + 'Enter the message push address': '请输入消息推送地址', + 'Enter the URL': '请输入网址', + 'Enter apollo configuration': '请输入apollo配置', + 'Enter json': '请输入json', + 'Enter hooks configuration': '请输入hooks配置', + 'Enter the query user permission interface': '请输入查询用户权限接口', + 'Enter the git URL': '请输入git网址', + 'Enter the git project ID, currently only gitlab is supported': '请输入git项目ID,目前仅支持gitlab', 'gitmars configured successfully': 'gitmars配置成功', 'Installing plugins, e.g. @gitmars/core': '安装插件,例如:@gitmars/core', - 'Please enter the plugin name': '请输入插件名称', + 'Enter the plugin name': '请输入插件名称', 'Incorrect version number entered, only supported: alpha, lite, beta, release, latest, next': '输入的版本号不正确,仅支持:alpha、lite、beta、release、latest、next', 'Link local package': '链接本地包', @@ -294,6 +296,8 @@ export default { 'New path': '新路径', 'Environment to be built, optionally dev, prod, bug, all': '需要构建的环境,可选dev、prod、bug、all', + 'Api environment to be built, optionally alpha, tag, release, production': + '需要构建的API环境,可选alpha、tag、release、production', 'Application to be built': '需要构建的应用', 'Clean gitmars cache': '清理gitmars缓存', exited: '已退出', @@ -354,8 +358,6 @@ export default { '{nickname} submitted a merge request for {source} branch to {target} branch in {app} project': '{nickname}在{app}项目提交了{source}分支合并到{target}分支的merge请求', '${message}; project: ${project}; path: ${pwd}': '${message};项目:${project};路径:${pwd}', - 'There are a total of {length} staging records under this item, please clean it up regularly!': - '该项目下一共有{length}条暂存记录,请定期清理!', 'Deleting: {something}': '正在删除:{something}', 'Deleted successfully: {something}': '删除成功:{something}', 'Start analysis: {something}': '开始分析:{something}', @@ -365,14 +367,11 @@ export default { 'Current branch: {something}': '当前分支:{something}', 'Processing failed, {name} soft link does not exist, please go to the local {name} root directory and execute: gitm link': '处理失败,{name}软链不存在,请进入本地{name}根目录执行:gitm link', - 'Processing: {something}': '正在处理:{something}', 'File write error occurred': '文件写入错误', 'Cleanup is complete': '清理完毕', '{id}: total {total} files changed': '{id}:一共变动了{total}个文件', 'Find {total} branches merged over {branches} branch, please select the branch to clean up': '找到{total}条分支合并过{branches}分支,请选择要清理的分支', - 'If you find multiple branches with names containing {type}, please enter the branch type': - '查询到多条名称包含{type}的分支,请输入分支类型', 'If your branch has not been merged into {target}, please merge it into the {target} branch first': '检测到你的分支没有合并过{target},请先合并到{target}分支', 'There are {length} staging records under this branch, and the most recent one is restored by default': @@ -382,7 +381,7 @@ export default { 'Current branch is {current}, I suspect you may want to do the following: ': '当前分支{current},我猜测你可能想做以下操作:', 'You have selected the {something} command': '你选择了{something}指令', - 'Please enter {branch} branch name': '请输入{branch}分支名称', + 'Enter {branch} branch name': '请输入{branch}分支名称', 'The branch was created successfully and is based on {source}. You have now switched to the {target} branch\nIf you need to test, please run: "{combine}"\nWhen development is complete, remember to run: "{end}"': '分支创建成功,该分支基于{source}创建,您当前已经切换到{target}分支\n如果需要提测,请执行:"{combine}"\n开发完成后,记得执行: "{end}"', 'The {target} branch does not allow direct commits': '{target}分支不允许直接提交', @@ -399,8 +398,8 @@ export default { '检测到{id}这条记录撤销失败,已删除相关日志', 'The record {id} was detected to have been recovered, and the related logs were deleted': '检测到{id}这条记录已经被恢复了,已删除相关日志', - 'Please enter the comment content': '请输入评论内容', - 'Please enter the available comments': '请输入可用评论', + 'Enter the comment content': '请输入评论内容', + 'Enter the available comments': '请输入可用评论', '{length} comments': '{length} 条评论', '{id} request merge {source} to {target} {disabled} | {name} | {comments} | {time}': '{id} 请求合并 {source} 到 {target} {disabled} | {name} | {comments} | {time}', @@ -423,5 +422,20 @@ export default { '本次进程不会自动执行构建流程,请等待管理员审核代码后执行:gitm build {appName} -e prod -a {app} {data}', 'Push to templates only': '仅推送到模板', 'Use the {base} branch for posting on Thursday, Friday, and Sunday': - '周四周五周日发版使用{base}分支,请确认' + '周四周五周日发版使用{base}分支,请确认', + 'Select the environment to build': '选择要构建的环境', + 'Test environment(alpha)': '测试环境(alpha)', + 'Pre-release tag environment(bug)': '预发布tag环境(bug)', + 'Pre-release prod environment(prod)': '预发布prod环境(prod)', + 'Production environment': '生产环境', + 'Select the api environment to build': '选择要构建的API环境', + 'Select the miniprogram to build': '选择小程序类型', + 'Enter the miniprogram to build': '输入小程序类型', + 'Enter the application to build': '输入要构建子应用名称', + 'Select the application to build': '选择要构建的子应用', + 'Generate experiential version of miniprogram': '生成体验版小程序', + 'Enter the version description': '输入版本描述', + 'Select branch for batch processing': '选择分支进行批处理', + 'No pending branches, program exits': '没有待处理分支,程序退出', + 'Merged branch: {info}': '已合并: {info}' } diff --git a/packages/gitmars/typings/gitmars.d.ts b/packages/gitmars/src/types.ts similarity index 78% rename from packages/gitmars/typings/gitmars.d.ts rename to packages/gitmars/src/types.ts index b8c8c6bfa..c68f74d98 100644 --- a/packages/gitmars/typings/gitmars.d.ts +++ b/packages/gitmars/src/types.ts @@ -1,10 +1,10 @@ -/// - -import type { SpawnOptions, SpawnSyncReturns } from 'child_process' -import type { QuestionCollection } from 'inquirer' +import type { SpawnOptions } from 'child_process' export type AnyObject = Record +// export type Writable = { -readonly [P in keyof T]: T[P] } +// export type DeepWritable = { -readonly [P in keyof T]: DeepWritable } + export interface AnyFunction extends AnyObject { (...args: any[]): any } @@ -22,10 +22,6 @@ export type ShellCode = 0 | 1 | 127 | 128 export type PackageVersionTag = 'alpha' | 'lite' | 'beta' | 'release' | 'latest' | 'next' -export type GitLogsType = { - [key in GitLogKeysType]?: string -} - export interface GitmarsOptionArgsType { required: boolean name: string @@ -119,26 +115,3 @@ export interface QueueConfigType extends SpawnOptions { postmsg?: boolean kill?: boolean } - -export interface QueueReturnsType - extends Partial, 'stdout' | 'stderr' | 'status'>> { - cfg: QueueConfigType - cmd: string | string[] | ModuleCommandType -} - -export type InitInquirerPromptType = QuestionCollection<{ - type: string - name: string - message: string - default?(): string - transformer?(val: any, answers: any, flags: any): any - validate?(val: any): string | boolean - when?(val: any): string | boolean - choices?: any -}> - -export interface RevertCacheType { - before: GitLogsType - after: GitLogsType - branch: string -} diff --git a/packages/gitmars/tsconfig.json b/packages/gitmars/tsconfig.json index 88cd448b9..4ec8d02b0 100644 --- a/packages/gitmars/tsconfig.json +++ b/packages/gitmars/tsconfig.json @@ -1,6 +1,5 @@ { "extends": "../../tsconfig.json", - "exclude": ["**/__tests__"], "compilerOptions": { "composite": true, "target": "ESNext", @@ -9,7 +8,7 @@ "declaration": true, "emitDeclarationOnly": true, "rootDir": "src", - "outDir": "lib", + "outDir": "temp", "baseUrl": ".", "paths": { "#lib/*": ["./src/*"], diff --git a/packages/gitmars/tsconfig.tsbuildinfo b/packages/gitmars/tsconfig.tsbuildinfo deleted file mode 100644 index 02b2af9d2..000000000 --- a/packages/gitmars/tsconfig.tsbuildinfo +++ /dev/null @@ -1 +0,0 @@ -{"program":{"fileNames":["../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/commander@11.1.0/node_modules/commander/typings/index.d.ts","../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../../node_modules/.pnpm/await-to-done@1.0.2/node_modules/await-to-done/dist/index.d.ts","../../node_modules/.pnpm/use-downloads@1.5.1/node_modules/use-downloads/dist/index.d.ts","../../node_modules/.pnpm/mount-image@1.2.0/node_modules/mount-image/dist/index.d.ts","../../node_modules/.pnpm/mount-css@1.2.0/node_modules/mount-css/dist/index.d.ts","../../node_modules/.pnpm/mount-script@1.2.0/node_modules/mount-script/dist/index.d.ts","../../node_modules/.pnpm/mount-style@1.2.0/node_modules/mount-style/dist/index.d.ts","../../node_modules/.pnpm/load-source@1.2.0/node_modules/load-source/dist/index.d.ts","../../node_modules/.pnpm/js-cool@5.17.1/node_modules/js-cool/dist/index.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/dom-events.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/globals.global.d.ts","../../node_modules/.pnpm/@types+node@20.11.24/node_modules/@types/node/index.d.ts","../core/typings/core.d.ts","../core/lib/api/getuserinfo.d.ts","../core/lib/queue.d.ts","../core/lib/git/getisbranchorcommitexist.d.ts","../core/lib/git/getisgitproject.d.ts","../core/lib/git/getcurrentbranch.d.ts","../core/lib/git/getgitconfig.d.ts","../core/lib/git/getismergedtargetbranch.d.ts","../core/lib/git/checkgitstatus.d.ts","../core/lib/git/fetch.d.ts","../core/lib/utils/command.d.ts","../core/lib/spawn.d.ts","../core/lib/utils/echo.d.ts","../core/lib/getconfig.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/subscription.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/subscriber.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operator.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/types.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/subject.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/notification.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/onerrorresumenextwith.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/operators/index.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/timerhandle.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/testing/index.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/internal/config.d.ts","../../node_modules/.pnpm/rxjs@7.8.0/node_modules/rxjs/dist/types/index.d.ts","../../node_modules/.pnpm/@types+through@0.0.30/node_modules/@types/through/index.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/objects/choice.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/objects/separator.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/objects/choices.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/utils/screen-manager.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/prompts/base.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/utils/paginator.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/prompts/checkbox.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/prompts/confirm.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/prompts/editor.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/prompts/expand.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/prompts/input.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/prompts/list.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/prompts/number.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/prompts/password.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/prompts/rawlist.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/ui/baseui.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/ui/bottom-bar.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/ui/prompt.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/utils/events.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/lib/utils/readline.d.ts","../../node_modules/.pnpm/@types+inquirer@8.2.6/node_modules/@types/inquirer/index.d.ts","./typings/gitmars.d.ts","../../node_modules/.pnpm/os-lang@3.2.0/node_modules/os-lang/dist/index.d.ts","./src/locales/zh-cn.ts","./src/locales/en-us.ts","./src/locales/index.ts","../core/lib/utils/local.d.ts","./src/common/local.ts","./src/conf/admin.ts","./src/gitm-admin.ts","./src/conf/alias.ts","./src/gitm-alias.ts","../../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/locale/types.d.ts","../../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/locale/index.d.ts","../../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/index.d.ts","../core/lib/sendgroupmessage.d.ts","../core/lib/api/mergerequest.d.ts","../core/lib/api/mergerequestnotes.d.ts","./src/conf/approve.ts","./src/gitm-approve.ts","../../node_modules/.pnpm/@types+minimatch@5.1.2/node_modules/@types/minimatch/index.d.ts","../../node_modules/.pnpm/@types+glob@7.2.0/node_modules/@types/glob/index.d.ts","../../node_modules/.pnpm/@types+shelljs@0.8.15/node_modules/@types/shelljs/index.d.ts","../core/lib/git/searchbranches.d.ts","./src/conf/branch.ts","./src/gitm-branch.ts","../core/lib/build/runjenkins.d.ts","./src/conf/build.ts","./src/gitm-build.ts","../core/lib/git/getgitrevparse.d.ts","../core/lib/utils/file.d.ts","../core/lib/cache/cache.d.ts","../core/lib/utils/pkginfo.d.ts","../core/lib/build/buildconfig.d.ts","./src/conf/clean.ts","./src/gitm-clean.ts","../../node_modules/.pnpm/cli-spinners@2.7.0/node_modules/cli-spinners/index.d.ts","../../node_modules/.pnpm/ora@5.4.1/node_modules/ora/index.d.ts","./src/conf/cleanbranch.ts","./src/gitm-cleanbranch.ts","../core/lib/git/getisupdatedintime.d.ts","../core/lib/versioncontrol.d.ts","./src/common/global.ts","./src/conf/combine.ts","./src/gitm-combine.ts","./src/gitm-config.ts","../core/lib/git/getgitstatus.d.ts","../core/lib/cache/commandcache.d.ts","./src/conf/continue.ts","./src/gitm-continue.ts","../core/lib/git/prune.d.ts","../core/lib/git/getgitlogs.d.ts","../core/lib/git/getgitlogsbycommitids.d.ts","./src/conf/copy.ts","./src/gitm-copy.ts","./src/conf/end.ts","./src/gitm-end.ts","../core/lib/git/getstashlist.d.ts","./src/conf/get.ts","./src/gitm-get.ts","../core/lib/utils/debug.d.ts","../core/lib/go/cleanconfigset.d.ts","../core/lib/go/getcommand.d.ts","./src/conf/update.ts","./src/conf/undo.ts","./src/conf/redo.ts","./src/conf/start.ts","./src/conf/save.ts","./src/conf/revert.ts","./src/conf/link.ts","./src/conf/unlink.ts","./src/conf/postmsg.ts","./src/go/index.ts","./src/conf/go.ts","./src/gitm-go.ts","../core/lib/git/getbranchesfromid.d.ts","../core/lib/git/getismergeaction.d.ts","../core/lib/git/getbehindlogs.d.ts","../core/lib/hook/index.d.ts","./src/conf/hook.ts","./src/gitm-hook.ts","./src/gitm-init.ts","./src/conf/install.ts","./src/gitm-install.ts","./src/gitm-link.ts","../../node_modules/.pnpm/@types+columnify@1.5.4/node_modules/@types/columnify/index.d.ts","./src/conf/log.ts","./src/gitm-log.ts","./src/gitm-permission.ts","./src/gitm-postmsg.ts","../core/lib/cache/revertcache.d.ts","./src/gitm-redo.ts","./src/gitm-revert.ts","./src/conf/review.ts","./src/gitm-review.ts","../core/lib/hook/run.d.ts","./src/conf/run.ts","./src/gitm-run.ts","./src/gitm-save.ts","./src/gitm-start.ts","./src/conf/status.ts","./src/gitm-status.ts","./src/conf/suggest.ts","./src/gitm-suggest.ts","./src/gitm-undo.ts","./src/gitm-unlink.ts","./src/gitm-update.ts","./src/conf/upgrade.ts","./src/gitm-upgrade.ts","./src/gitm.ts","./typings/global.d.ts","./typings/lowdb.d.ts","../../node_modules/.pnpm/@types+cross-spawn@6.0.6/node_modules/@types/cross-spawn/index.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/common.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/array.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/collection.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/date.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/function.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/lang.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/math.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/number.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/object.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/seq.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/string.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/util.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/index.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/add.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/after.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/ary.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/assign.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/assignin.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/assigninwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/assignwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/at.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/attempt.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/before.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/bind.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/bindall.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/bindkey.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/camelcase.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/capitalize.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/castarray.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/ceil.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/chain.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/chunk.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/clamp.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/clone.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/clonedeep.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/clonedeepwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/clonewith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/compact.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/concat.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/cond.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/conforms.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/conformsto.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/constant.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/countby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/create.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/curry.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/curryright.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/debounce.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/deburr.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/defaults.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/defaultsdeep.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/defaultto.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/defer.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/delay.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/difference.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/differenceby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/differencewith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/divide.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/drop.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/dropright.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/droprightwhile.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/dropwhile.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/each.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/eachright.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/endswith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/entries.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/entriesin.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/eq.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/escape.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/escaperegexp.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/every.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/extend.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/extendwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/fill.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/filter.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/find.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/findindex.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/findkey.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/findlast.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/findlastindex.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/findlastkey.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/first.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/flatmap.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/flatmapdeep.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/flatmapdepth.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/flatten.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/flattendeep.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/flattendepth.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/flip.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/floor.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/flow.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/flowright.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/foreach.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/foreachright.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/forin.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/forinright.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/forown.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/forownright.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/frompairs.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/functions.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/functionsin.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/get.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/groupby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/gt.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/gte.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/has.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/hasin.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/head.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/identity.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/includes.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/indexof.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/initial.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/inrange.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/intersection.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/intersectionby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/intersectionwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/invert.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/invertby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/invoke.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/invokemap.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isarguments.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isarray.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isarraybuffer.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isarraylike.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isarraylikeobject.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isboolean.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isbuffer.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isdate.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/iselement.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isempty.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isequal.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isequalwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/iserror.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isfinite.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isfunction.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isinteger.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/islength.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/ismap.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/ismatch.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/ismatchwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isnan.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isnative.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isnil.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isnull.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isnumber.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isobject.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isobjectlike.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isplainobject.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isregexp.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/issafeinteger.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isset.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isstring.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/issymbol.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/istypedarray.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isundefined.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isweakmap.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/isweakset.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/iteratee.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/join.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/kebabcase.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/keyby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/keys.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/keysin.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/last.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/lastindexof.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/lowercase.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/lowerfirst.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/lt.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/lte.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/map.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/mapkeys.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/mapvalues.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/matches.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/matchesproperty.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/max.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/maxby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/mean.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/meanby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/memoize.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/merge.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/mergewith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/method.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/methodof.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/min.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/minby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/mixin.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/multiply.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/negate.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/noop.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/now.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/nth.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/ntharg.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/omit.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/omitby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/once.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/orderby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/over.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/overargs.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/overevery.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/oversome.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/pad.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/padend.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/padstart.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/parseint.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/partial.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/partialright.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/partition.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/pick.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/pickby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/property.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/propertyof.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/pull.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/pullall.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/pullallby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/pullallwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/pullat.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/random.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/range.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/rangeright.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/rearg.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/reduce.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/reduceright.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/reject.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/remove.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/repeat.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/replace.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/rest.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/result.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/reverse.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/round.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sample.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/samplesize.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/set.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/setwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/shuffle.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/size.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/slice.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/snakecase.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/some.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sortby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sortedindex.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sortedindexby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sortedindexof.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sortedlastindex.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sortedlastindexby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sortedlastindexof.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sorteduniq.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sorteduniqby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/split.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/spread.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/startcase.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/startswith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/stubarray.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/stubfalse.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/stubobject.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/stubstring.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/stubtrue.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/subtract.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sum.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/sumby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/tail.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/take.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/takeright.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/takerightwhile.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/takewhile.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/tap.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/template.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/templatesettings.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/throttle.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/thru.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/times.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/toarray.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/tofinite.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/tointeger.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/tolength.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/tolower.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/tonumber.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/topairs.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/topairsin.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/topath.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/toplainobject.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/tosafeinteger.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/tostring.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/toupper.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/transform.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/trim.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/trimend.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/trimstart.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/truncate.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/unary.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/unescape.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/union.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/unionby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/unionwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/uniq.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/uniqby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/uniqueid.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/uniqwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/unset.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/unzip.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/unzipwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/update.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/updatewith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/uppercase.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/upperfirst.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/values.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/valuesin.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/without.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/words.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/wrap.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/xor.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/xorby.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/xorwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/zip.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/zipobject.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/zipobjectdeep.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/zipwith.d.ts","../../node_modules/.pnpm/@types+lodash-es@4.17.12/node_modules/@types/lodash-es/index.d.ts","../../node_modules/.pnpm/@types+argparse@1.0.38/node_modules/@types/argparse/index.d.ts","../../node_modules/.pnpm/@types+ms@0.7.32/node_modules/@types/ms/index.d.ts","../../node_modules/.pnpm/@types+debug@4.1.12/node_modules/@types/debug/index.d.ts","../../node_modules/.pnpm/@types+estree@1.0.5/node_modules/@types/estree/index.d.ts","../../node_modules/.pnpm/@types+expect@1.20.4/node_modules/@types/expect/index.d.ts","../../node_modules/.pnpm/@types+jsonfile@6.1.1/node_modules/@types/jsonfile/index.d.ts","../../node_modules/.pnpm/@types+jsonfile@6.1.1/node_modules/@types/jsonfile/utils.d.ts","../../node_modules/.pnpm/@types+fs-extra@11.0.1/node_modules/@types/fs-extra/index.d.ts","../../node_modules/.pnpm/@types+glob@8.1.0/node_modules/@types/glob/index.d.ts","../../node_modules/.pnpm/@types+glob-stream@6.1.1/node_modules/@types/glob-stream/index.d.ts","../../node_modules/.pnpm/anymatch@3.1.3/node_modules/anymatch/index.d.ts","../../node_modules/.pnpm/chokidar@3.5.3/node_modules/chokidar/types/index.d.ts","../../node_modules/.pnpm/@types+undertaker-registry@1.0.1/node_modules/@types/undertaker-registry/index.d.ts","../../node_modules/.pnpm/async-done@1.3.2/node_modules/async-done/index.d.ts","../../node_modules/.pnpm/@types+undertaker@1.2.8/node_modules/@types/undertaker/index.d.ts","../../node_modules/.pnpm/@types+vinyl@2.0.7/node_modules/@types/vinyl/index.d.ts","../../node_modules/.pnpm/@types+vinyl-fs@3.0.1/node_modules/@types/vinyl-fs/index.d.ts","../../node_modules/.pnpm/@types+gulp@4.0.17/node_modules/@types/gulp/index.d.ts","../../node_modules/.pnpm/@types+js-yaml@4.0.5/node_modules/@types/js-yaml/index.d.ts","../../node_modules/.pnpm/@types+json-schema@7.0.12/node_modules/@types/json-schema/index.d.ts","../../node_modules/.pnpm/@types+json5@0.0.29/node_modules/@types/json5/index.d.ts","../../node_modules/.pnpm/@types+linkify-it@3.0.2/node_modules/@types/linkify-it/index.d.ts","../../node_modules/.pnpm/@types+mdurl@1.0.2/node_modules/@types/mdurl/encode.d.ts","../../node_modules/.pnpm/@types+mdurl@1.0.2/node_modules/@types/mdurl/decode.d.ts","../../node_modules/.pnpm/@types+mdurl@1.0.2/node_modules/@types/mdurl/parse.d.ts","../../node_modules/.pnpm/@types+mdurl@1.0.2/node_modules/@types/mdurl/format.d.ts","../../node_modules/.pnpm/@types+mdurl@1.0.2/node_modules/@types/mdurl/index.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/common/utils.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/token.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/rules_inline/state_inline.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/helpers/parse_link_label.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/helpers/parse_link_destination.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/helpers/parse_link_title.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/helpers/index.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/ruler.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/rules_block/state_block.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/parser_block.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/rules_core/state_core.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/parser_core.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/parser_inline.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/renderer.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/lib/index.d.ts","../../node_modules/.pnpm/@types+markdown-it@13.0.7/node_modules/@types/markdown-it/index.d.ts","../../node_modules/.pnpm/@types+unist@2.0.6/node_modules/@types/unist/index.d.ts","../../node_modules/.pnpm/@types+mdast@3.0.11/node_modules/@types/mdast/index.d.ts","../../node_modules/.pnpm/@types+minimist@1.2.2/node_modules/@types/minimist/index.d.ts","../../node_modules/.pnpm/@types+normalize-package-data@2.4.1/node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/.pnpm/@types+ps-tree@1.1.2/node_modules/@types/ps-tree/index.d.ts","../../node_modules/.pnpm/@types+resolve@1.20.2/node_modules/@types/resolve/index.d.ts","../../node_modules/.pnpm/@types+rimraf@2.0.5/node_modules/@types/rimraf/index.d.ts","../../node_modules/.pnpm/@types+estree@0.0.39/node_modules/@types/estree/index.d.ts","../../node_modules/.pnpm/rollup@0.63.5/node_modules/rollup/dist/rollup.d.ts","../../node_modules/.pnpm/@types+rollup-plugin-css-only@3.1.3/node_modules/@types/rollup-plugin-css-only/index.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/classes/semver.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/parse.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/valid.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/clean.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/inc.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/diff.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/major.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/minor.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/patch.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/compare.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/sort.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/gt.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/lt.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/eq.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/neq.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/gte.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/lte.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/classes/range.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/.pnpm/@types+semver@7.5.0/node_modules/@types/semver/index.d.ts","../../node_modules/.pnpm/@types+web-bluetooth@0.0.20/node_modules/@types/web-bluetooth/index.d.ts","../../node_modules/.pnpm/@types+which@3.0.0/node_modules/@types/which/index.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@20.10.6/node_modules/@types/node/worker_threads.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"17d716b12c230355d207d8b464a3359e13041c0cbb94c243981618e279f57670","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","1a8efc8122d15a1d01a0e3736631713045e6ed5be354324f1c649ef0e3e7f872","0e7352e7ace3286d77e39f0d12731901a3d678956f364d6cd9bb571f33cbaa87","42d1ee5a4f647b2a53c00f818e641975005dd6134753ae9a305a215ac929e10b","4da1491bea70723b794d809e01e6bd9e363405fc5c42c5cbdd145339a6975484","ccc9116aea42694e3b7583975c223c8b1f333d760874b931d51ede2e6d5efdb6","31c2d8698b4a00e395306895f37a2401de55b2de891ffc8f0a532cdc20a1d377","facbf7d3391c19f77c267d7ff5a2a3ad854154716f4a83a42f23b867f7107767","14e5a0817854762835d43653f8d1abc5a6dfdd6c749487706faba4f850fbbb67","efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","e8d229e5d4d38ef4c108556c8ace652bd4f82ffa9dca94f266e69bb1167c1272","c554c713e5241f2b71a1ce7169ee57c3bfd5ffa13afd71ad012d6750327161a9","1060cb1eceb6d3808ff20bf14a80aa8be914f2698a3b7fd75f2e97dba9b29915","51cccb59d8bed8c8fb70e8a65295b923574cb69a4db035c66182f1811001c360","0d4a5a3e465423296bcb82bc35efc4de751ee0ff3c2d365d10718747f0a075da","46a2aa783259d2e61ceb530fc7e87b255062cad0949799dfdf2737abb181b51e","50ffdc0439d561bfaf04b3a13b80e8d75c62aa510fc628f4cd5fb327d2543f31","b13f76b4172777b1d5e0ba2f5a9ae07c158bcc1f57cd534e200526805352b46a","21d26b3c38381c828b864b46d4dbaa4c6e49f18e28bf32816f307832c8bfcf5b","115bfe5529bd52d8d2e0c2322c20fffcd5cd07667abcb902ab08f5ffa8fc7a8e","bf7fb150763c92186b52a3db9d02bbe7d9c08060e11aa8591a0c577356b6b112","4333eb58de8eca37caf18d3c620a9b524916d76becb4058cf2461904fb036dcc","a313ad742faf3e331433b53843e3509a3b31f7dc1b08d914ac1a18f8ed94e28b","e7a606c672b0f545ee667ee7378ed9a0fe29b278975cd76f43e02748065b21c5","ecf5cb089ea438f2545e04b6c52828c68d0b0f4bfaa661986faf36da273e9892","95444fb6292d5e2f7050d7021383b719c0252bf5f88854973977db9e3e3d8006","241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","06540a9f3f2f88375ada0b89712de1c4310f7398d821c4c10ab5c6477dafb4bc",{"version":"c0ed4fcaf919e6990f53a966d329ef058499696e3d97a8a076dc9254dfe20228","affectsGlobalScope":true},"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","97bdf234f5db52085d99c6842db560bca133f8a0413ff76bf830f5f38f088ce3","a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","b493ff8a5175cbbb4e6e8bcfa9506c08f5a7318b2278365cfca3b397c9710ebc","e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","303ee143a869e8f605e7b1d12be6c7269d4cab90d230caba792495be595d4f56","89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","a5eb4835ab561c140ffc4634bb039387d5d0cceebb86918f1696c7ac156d26fd","c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","4252b852dd791305da39f6e1242694c2e560d5e46f9bb26e2aca77252057c026","0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","ba13c7d46a560f3d4df8ffb1110e2bbec5801449af3b1240a718514b5576156e","6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","ebc8936ed464874fcceb0ded3b8728695aa356a21890238e9076887ec0722a54","db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","05c4e2a992bb83066a3a648bad1c310cecd4d0628d7e19545bb107ac9596103a","b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","dd6c3362aaaec60be028b4ba292806da8e7020eef7255c7414ce4a5c3a7138ef","8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","3114b315cd0687aad8b57cff36f9c8c51f5b1bc6254f1b1e8446ae583d8e2474","0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","af733cb878419f3012f0d4df36f918a69ba38d73f3232ba1ab46ef9ede6cb29c","cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","0a01b0b5a9e87d04737084731212106add30f63ec640169f1462ba2e44b6b3a8","06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","e07d62a8a9a3bb65433a62e9bbf400c6bfd2df4de60652af4d738303ee3670a1","bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","851e8d57d6dd17c71e9fa0319abd20ab2feb3fb674d0801611a09b7a25fd281c","c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","748e79252a7f476f8f28923612d7696b214e270cc909bc685afefaac8f052af0","9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","c3f32a185cd27ac232d3428a8d9b362c3f7b4892a58adaaa022828a7dcd13eed","3139c3e5e09251feec7a87f457084bee383717f3626a7f1459d053db2f34eb76","4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","3be870c8e17ec14f1c18fc248f5d2c4669e576404744ff5c63e6dafcf05b97ea","56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","6ab380571d87bd1d6f644fb6ab7837239d54b59f07dc84347b1341f866194214","547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","7c9ed7ffdc6f843ab69e5b2a3e7f667b050dd8d24d0052db81e35480f6d4e15d","7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","3656f0584d5a7ee0d0f2cc2b9cffbb43af92e80186b2ce160ebd4421d1506655","a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","ce871684a7cb81d6a89630e0c6b4a064f876f7ec1d352917ace027b3fc3e537f","354582b26ecec449c94c71f76227102aad8a3aa7a113810a6b932c2421ddc050","42f8ed746d486725017ead628c6589fe13d6d6f5fa1517f978b3ccfcd7b46860","b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","90f690a1c5fcb4c2d19c80fea05c8ab590d8f6534c4c296d70af6293ede67366","be95e987818530082c43909be722a838315a0fc5deb6043de0a76f5221cbad24","9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","1f6058d60eaa8825f59d4b76bbf6cc0e6ad9770948be58de68587b0931da00cc","5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","50100b1a91f61d81ca3329a98e64b7f05cddc5e3cb26b3411adc137c9c631aca","11aceaee5663b4ed597544567d6e6a5a94b66857d7ebd62a9875ea061018cd2c","6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","94ff6974e4afe28061d44732ecb889bb2296cf98c52022e8ebaf99ba8e9e5d62","669b754ec246dd7471e19b655b73bda6c2ca5bb7ccb1a4dff44a9ae45b6a716a","4bb6035e906946163ecfaec982389d0247ceeac6bdee7f1d07c03d9c224db3aa","8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","c82857a876075e665bbcc78213abfe9e9b0206d502379576d7abd481ade3a569","4f71d883ed6f398ba8fe11fcd003b44bb5f220f840b3eac3c395ad91304e4620","5229c3934f58413f34f1b26c01323c93a5a65a2d9f2a565f216590dfbed1fe32","9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","4c754b03f36ff35fc539f9ebb5f024adbb73ec2d3e4bfb35b385a05abb36a50e","59507446213e73654d6979f3b82dadc4efb0ed177425ae052d96a3f5a5be0d35","a914be97ca7a5be670d1545fc0691ac3fbabd023d7d084b338f6934349798a1f","8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","87437ca9dabab3a41d483441696ff9220a19e713f58e0b6a99f1731af10776d7","26c5dfa9aa4e6428f4bb7d14cbf72917ace69f738fa92480b9749eebce933370","8e94328e7ca1a7a517d1aa3c569eac0f6a44f67473f6e22c2c4aff5f9f4a9b38","d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","299f0af797897d77685d606502be72846b3d1f0dc6a2d8c964e9ea3ccbacf5bc","12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","3c97b5ea66276cf463525a6aa9d5bb086bf5e05beac70a0597cda2575503b57b","b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","a31383256374723b47d8b5497a9558bbbcf95bcecfb586a36caf7bfd3693eb0e","06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","64aa66c7458cbfd0f48f88070b08c2f66ae94aba099dac981f17c2322d147c06","11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","9814545517193cf51127d7fbdc3b7335688206ec04ee3a46bba2ee036bd0dcac","0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","7acee2009eb9f4c6b17245edc555c7d5c9404343ea1b0cf8adae3b66292c1527","656424ca784760c679bf2677d8aaf55d1cb8452cd0ac04bbe1c0f659f45f8c11","0be1753924a848cf8df0be004518d84957a8539f6b01f1fad1ac639dc17586cb","e243f7d314cb8d05f393a5dc9904b3bcbd769ac082596402ab197df75bf582bf","5a7c95bcd09e90d7feb672686992187a310c37d5e30a1ddf3c39487c1aa74710","441ae3724070b80188b7bc48f66b96ca521d817e81836cdddb905cef6bbb4c8a","75c1851fd42fce32c4b066cc4666b158b44bb1cea3e88cc74a24ea2e5d1c5056","3901d2da5f2efb88bf7adf2cf609ac628469a6e00a57c241dff8068871239175","06af2a73111a13b52a270c1e74fd7dcccd1a9f1fdc3425bda9f8b45fa0c269cd","6abc96a8be012572275422560c525ed036b84fc6a798a90bd89d17c9810e2762","f71cbe1afd8376df3764bb980646b503353611b42534f1a1d44cb311bedab837","e9934689b2e167ba54f01b1225ff348055a8574ee7c907ef49b62c14102c6d26","0ecff30f6ee36ed2899ca0259e8bd018e9c627702d204256a436d76ac5991413","a353332b8d2de7ae57ab97b72ace1e8794e2907d3f907e04bff1a636ee93c826","505f2e4a22d30a66a1ffbc3f43ccc895e2ea3fcd92f9521797f25c354a87435d","60fef2f608d0ecaf124cb543ab18d835979a4841d38e5df9d64794ab51cd1352","cb8f5ffbf8bb06658a6ef27f1829c69238673b467a4881cac6a8247df73d94f3","9304e0b36cfdf03a7b7f972ac0b21ecd55e2cf5a5c0ce70754f8a47b55b6a90e","ab2265036d8a12bdd5454800b03966bf0e971be44fbd118f3aed3c1bd0124fc6","bbe08916928cbaca40a89cf36fc3c751ff3b32ab549b9f7e0b4fafcd0c3699d4","ab3f0217cbf698cadf45799bf224ade13e0b410d2cf76b0757b3f47349ff11a3","616ea4ff77f89fe59032df6f80ebdf5f40789419341de9b25d2946485c85ad05","9e59e01db841f0d4fe21443b8611e49ea7c91f297afc28ce6c433458afbcd081","6d3fbbb02013299c6af48bebeac2bb8c2d2a55e61cbd43992e56282c1d8d3946","2573547d477bfa20917d678da31182a392fa28123b9f64318168365ab207ce09",{"version":"55841d8a7b029d42573731e178433aba08766d33123c99e775c2ff5aaef9b833","signature":"08103531b4b3f36946803a542a4e5360615b8b728ed2d14c104596df1396213c"},{"version":"b941fc24dcf6f84f33a916eb9b132bd645f2b889f63c72b8290198296e28511d","signature":"9b5f17d908d229b4f7f74034c660dfb440c2fcbd813705e0e2f93fad0d9f8182"},{"version":"c5eeb285abb9ce414c79bdcdc16ae13e4eeb52d14aa181247a73ca58a8cab806","signature":"bafbc19fc792c6d6bef6824d4f0dfd1febc72fff8d0c3bbc45e6a7fbc97d9060"},"218f3531dcb93a06c646584bd211c21e81787892a2ec961540d322d9daf6c94f",{"version":"a6427fbb5aacde4a2e495fea54229e42a38f4ffa961494db72ff3ada38419744","signature":"d96a2be5c6bb3210f0ee0c1dff9128a72c551565bef60d886d441e6194022622"},{"version":"b7ee3e9b8920c105980c877c485db7a53404543317fc3a5fd6f29be9c18ad90c","signature":"e2440fcd772252c264dd2cab832a5ad842503783f7a6074d87fd29310f0d111d"},{"version":"13b6b31a6e6baa78aa720d2b1914057413c488aece859dc0d55137e279709ed4","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"2efee065ee66dbf4620ebb2baf30f0a13add914a97a9bc1fe7889d12c58ea0f5","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"8d12609d282bc8cc2b5f2e1da5c6e93140a8fe8eb5824f92b5a34a59cca1af7f","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"73a0ee6395819b063df4b148211985f2e1442945c1a057204cf4cf6281760dc3","affectsGlobalScope":true},"d05d8c67116dceafc62e691c47ac89f8f10cf7313cd1b2fb4fe801c2bf1bb1a7","ccff6a039925da0bbddce77e8fe06865bb4bc144f8ca2f729b4390015044183b","8595f3e816cfbd193fee8f4236eab7ed0964434fa0a10a5db6bfc92b96226c30","75814b98e29acd92518c9d6507cc17e4fa54e475034b592673a2a8ecaaad92a7","a543d279a634f6d75e2c1ac20a6f0d8253a605636243e950386198c41240dfdb",{"version":"b52628eeb47b0cd52cda3b9651b3c3f54c80d1f2d6273a7ef1c973bf0101d344","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"4f7385a4469f1fb93ff8c08da62fccb8886533418acd45b93405712bd129abea","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","df84eca381b7c2ec232cda8f9e0f4e05802d3eb64b23d9972cbc5e08327f7f27","76f1d085a3922a651052594db96a1d32b7911c781f0a40b2fc01c1f1e3b22b96",{"version":"b2b82672e1edde180192354f2fbd60f90f9d170fe456a37ccd6c64ba8e6f11e2","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"8022c6862f9a4f4488435893afa17e40cf90e6149431c436f818da348d3d3520","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"c62b5e22f96fd8d3ac1cc66b442acf0594725c30452b064f673a62a64602f390",{"version":"0f24a3225102f8fed8a305bc2fa513bc473a940c9d97645320874eb0a288578f","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"4509ca8ceb7955c09f64c901b066b4cd3eaa2e40934dc54d5663c022d5125d4d","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"80093aa4d3270317e6840beb91e4c049ffb878d3b04d10679d8fa4b75b5f3bb8","8e066672893413e167c4a2906a6cce250138fc4f3e9b9514e6fbdec95210b184","88fcd929c00efd6048254953f1ab1fef53a750578818802506cd06dbc69ad709","fea8c6a3883f7310002aaa3e66e4e917cd73f97601867abe6a0c22f17dd21558","e97e696c26f46153622ed9e38e67b5f7512d01748b71666192ca882cbf64ff3b",{"version":"38496fdf95c0d00f30b994c852878901b013c27748387df5378a7ba37207ffb3","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"3e88bb64dc914c056152fb0c5214d3d0e48c8a74dac913a05ec6f1ad2dfdef30","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"c2a70cf2999d7ccd2f87c22042393b853e01bb2994d6561071aa53a82926c0de","437ce3def325725c84c242f916886e634ff8f133356ea88ccb4bdd425792bb36",{"version":"64e203f19d555a700a557bacbee78d678fadea0a92a4bfb187479ded48c16469","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"b407071c2dc30ab54ddc25cde9f28cc167f5d59f7b50b470a74120c8191445cf","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"edb02f3da82a3277232b26f6c01ea025eab5c14c541ba4da0c65439ba6e9ac34","dba18d6997f01923248f4e12f0c388e4c760026726d190dc11d9114db3e01c1a",{"version":"c032bae74047886c9ef54ac78251effe2d2eb384fdf13d725c91f2ae6596d73e","signature":"5899bb32de24c2ac05c168c038fca0d503ab0972cb595e2cb1728f5ccbb24f44"},{"version":"e28ae4bd552699c5c765e967c5f348c53d32d6ed5d9f352e3911b8c71c795362","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"4e5cbae643bfd8ee953f1403cbeb4d076cb9058613a403fb130bbf6bbfebcaec","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"e1e8aa3cf555fa3b0228e603eb22a0195389e8e289b45daa53a23f1da349eef0","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"274e5a91263555feed6ef52c3f7f028d5d69341761170fbd6b148ca8682a1b5a","5d065c0e5167ebde3c8c51edcd8862128592462cb16c3d2a2c76141e92ebd288",{"version":"c334817900fa31bda3f833cbc4815c1e55bbb58db0ceb94069f5568b0f926488","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"5e730f3f78582b00e663651992805ea443f72a2a55f2eb0766499da1a0aa97b0","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"5d4514dfcdba8fea8261a07b27528ea838ad50a6484646b546d529dabd67ac1e","333a10012749a59dad0723aae8dc2da24d70dedf3c3ca9df5d4d560024b506e3","8073ddc157506ce7fee6a9454d61c9b5a49b12f50610b59739e760d2918f591a",{"version":"41955c23e42e44197baee63ac89c86a8dc1c6842b994b783b3a606379b3a13f9","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"4d78904728817cedd6887480bb285d8d48c4a5b555fd852dedb7d8b17962de5c","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"e67b5c6f8dbc0d1299c9264c33caa954c695b94579ae749720d1d91539cb7ce4","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"afe92f01b87086b8dd16ac195f4a3b4bf2c4cf3714c2cca716e299d210b4a45f","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"f528017c2753bc992e454ca5ad8e9ab5657f82d1706820130ac4d1f1aa667237",{"version":"998d24de163d04f809405662aa67f393b5bf785ed04ed97c0dfe1f8a14d200b4","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"7be5eb96ee046e09bd65a6ec147274cd16a888d249c948814fe69471b706c6ca","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"0748cd9aa62c8a5509ec0a8f3cbb427857fea1c5db450bf1d8cc657462ce27a3","18d54dcfeaa58f9b305ec400d10f603eb10c267c7c1878877169a8035685375e","5000f04adaca31c3efe5158b53a1be6617197d54a6469a8e79c5c731c5f25727",{"version":"da5f57411f376ef00549f78ef64154012da1c504da2464ac38837f06d9d66443","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"405d4ae28f9dc2a6fc28c088b783520265aaa33ccdaec726dab8331b447fdcbf","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"c898167f07e98feeb78c440072c4c2a6e8fc263316a191c916802e31e808bf25","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"617bbbecea3cdaf391f7786c2a02fdb1c1a684e45dcd30558e7de7381cd53fb1","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"bdb12cc7446f0baf53cd7103fab10d7b859e45c3e9d0f0357ce322b7c117716d","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"eb74d51d2b5a0032319b176257da18a2692161f96d2cacae977dfe3d58f70aa1","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"837fcb5076e60db6f0c70e0fafea5368ac6ecedb58ae18c96d69864a9a1b2037","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"1e713415aa8b29455dc9f56480656f759316682aa91b6799c51d889c3c5429c5","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"c3f29cb275ccaea909c5ee6098fb7bd6c86e01b33ebc804a2c17a409dbb514a7","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"d4c2aa9e3b65f60b4c593465ee246a2118c8f6484660858a1095eea41104bf8c","signature":"aaaf4495995b6d1687f849b28f543205755e10a34988d083db4ba5c0716c259c"},{"version":"2cc5a271e08d86713a3dbb2d31870a8827565cc49a44934f24656253fda7a3cf","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"d628f269b884d5c45a2f70bff9c3c14bfc7478fdf4b6e52736e790ffc1e5992d","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"6b007652aa23e4abb863a4cd00bb64201ce3b096ff78e5279eb2b9d492035394","260d8adf9016371afa88404f86bd1ea8bc94d6fdf6eea55a86e408f51360c30c","2305b99a3376f16b8818f0b64cff8e0c180eabce3fb81119b18b7c2fc4648ecd","63aff9cbcea181b81272321fd0b5c892eed9589fabf2e516c392f5b31dc10eb1",{"version":"5e7377f4d75dd34afc017424abfa193f65cac05020f753c210d5fae9387b7774","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"0b0ede3722802bde94edbd9f9d68ca675715a4618c75ff0ab4e254fb03ed0aa7","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"5808209744cd7c1a18fe910bb75454c8da20d2df560438ce169de4d3a3ff8d09","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"c6d3ef8663c257ad725ffaf229194595b39f8acef0f77de795db63f2b4ece42b","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"2ee3a5c52e8b80f97001f29a68a0a5459602c3fe590b7ff58f12e7cf7661c6da","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"68a7ebc3c0bea15c9a7412bfa207024619192fc7640f0a3f67a40991b518ded2","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"f4054ad0c9b4ce4e3f3a3a545be2388af5c1636d23c5adc663e1efbeeabf344d",{"version":"ee9064671e06cd4a6dec14504eabf362ccad0ee23e1e019989ffa0957dcfd34f","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"93acc4052ae338ceb08ca44e2774d36cb8d89fa528b926e72f838514d7c475f9","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"e312c08b7c1a44fc451490025dc1bf81085c36f3ddfddc7b5476c5274cec32e2","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"d8656f6a9d58a4d1da3602ca9e414a3b801d9e84258a6d61ad5687506285fadd","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"be2858250199192fe9d20d7270a2b39958dc83092754e73db3fa8ce17a0a22cb",{"version":"a535f40a29c44827ec240efa441a8f2b4149e32e964e1775f93d0229da9b0757","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"4eca0258069711a7ab1a5d2b38fc98562a027ef247201d1d29d2eec62b0c917d","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"1a500b4a2c1d4d643db16ce25e57f1c9756229413edd5ef189f46bae62c7578d","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"b5937757af6f044f7f422eb6094c230b5692f01606818f39eea2e8a5008993c1","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},"748e0a592f05614e152baaced769cdd3fd57907acb9f3ace5a31c42566022485",{"version":"51e2e927e5bc5d06a5b511921c903ac1b3cc161164d3558bf86bc5a64a450e33","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"55828333a0943312408f1af6cf73e400791f9d40b0114122069a494f2507fdfa","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"a642fa511d3d02cede5b3ed77cd795477f0c0bf14f6240f7449933045e56868c","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"38324652f0390d328a66520d26aa0fd98477b1cc35b8fd40c1d943f7aa418b20","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"7d4468432fd113af7dad1c41db42c81a763a7c88754a43d0c3964395b901ef94","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"8805ed16d3b852bf1eebac0ef6cfbb1d0cd0a1ed6a51e36329d73973d5e34feb","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"b7141076aefc03aaba36205dbb9ec67df57252f5d74d6c77729d7416a030be15","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"ec3b40180760291e763893d4d94fb7ae5a44268c66e0ed9bab795927ae33a39e","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"d88099bca25957df6a5e29d028b00d426776439413c29670d735429963012405","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"004aa402193e18faa5e781383996eb3370c0976c577441b59919b8f8e02bfc66","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"88bcf48c17034d61dc6c107130c887dabb28f047a8c0c59907e3979c013778e9","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"f584fe92f254631e79795f5a0fa48ffb2a37280088ee1ab90d3efc14c8aba67d","signature":"0d640e068083c68e44634c47920585fcc6350bb233ce7883625efd3512c6763d"},{"version":"5ec4c76c1e4d9897184413852157a824faae5f92f09a75061457a3ae30fc76c2","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"a804ddc5eacee7d9a58f1b6bf5f081e0d6a2258a1f3835112dad4ad647510eef","signature":"bca2c9ff0d823a5b0f27fe62e7818e5d1201269938b24298cf45ef5e0d1902d6"},{"version":"99bbfdf4f454d76e91a518b42f91c742759fa9d2dd9364381deadecc161d489b","affectsGlobalScope":true},"beda6215df1bf614f16276ad61cce5f25b3ceba88a901dfe949093e3a143f435","c269a12e83c5ffc0332b1f245008e4e621e483dd2f8b9b77fc6a664fcde4969d","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"cf93e7b09b66e142429611c27ba2cbf330826057e3c793e1e2861e976fae3940","90e727d145feb03695693fdc9f165a4dc10684713ee5f6aa81e97a6086faa0f8","ee2c6ec73c636c9da5ab4ce9227e5197f55a57241d66ea5828f94b69a4a09a2d","afaf64477630c7297e3733765046c95640ab1c63f0dfb3c624691c8445bc3b08","5aa03223a53ad03171988820b81a6cae9647eabcebcb987d1284799de978d8e3","7f50c8914983009c2b940923d891e621db624ba32968a51db46e0bf480e4e1cb","90fc18234b7d2e19d18ac026361aaf2f49d27c98dc30d9f01e033a9c2b01c765","a980e4d46239f344eb4d5442b69dcf1d46bd2acac8d908574b5a507181f7e2a1","bbbfa4c51cdaa6e2ef7f7be3ae199b319de6b31e3b5afa7e5a2229c14bb2568a","bc7bfe8f48fa3067deb3b37d4b511588b01831ba123a785ea81320fe74dd9540","fd60c0aaf7c52115f0e7f367d794657ac18dbb257255777406829ab65ca85746","15c17866d58a19f4a01a125f3f511567bd1c22235b4fd77bf90c793bf28388c3","51301a76264b1e1b4046f803bda44307fba403183bc274fe9e7227252d7315cb","ddef23e8ace6c2b2ddf8d8092d30b1dd313743f7ff47b2cbb43f36c395896008","9e42df47111429042b5e22561849a512ad5871668097664b8fb06a11640140ac","391fcc749c6f94c6c4b7f017c6a6f63296c1c9ae03fa639f99337dddb9cc33fe","ac4706eb1fb167b19f336a93989763ab175cd7cc6227b0dcbfa6a7824c6ba59a","633220dc1e1a5d0ccf11d3c3e8cadc9124daf80fef468f2ff8186a2775229de3","6de22ad73e332e513454f0292275155d6cb77f2f695b73f0744928c4ebb3a128","ebe0e3c77f5114b656d857213698fade968cff1b3a681d1868f3cfdd09d63b75","22c27a87488a0625657b52b9750122814c2f5582cac971484cda0dcd7a46dc3b","7e7a817c8ec57035b2b74df8d5dbcc376a4a60ad870b27ec35463536158e1156","0e2061f86ca739f34feae42fd7cce27cc171788d251a587215b33eaec456e786","91659b2b090cadffdb593736210910508fc5b77046d4ce180b52580b14b075ec","d0f6c657c45faaf576ca1a1dc64484534a8dc74ada36fd57008edc1aab65a02b","ce0c52b1ebc023b71d3c1fe974804a2422cf1d85d4af74bb1bced36ff3bff8b5","9c6acb4a388887f9a5552eda68987ee5d607152163d72f123193a984c48157c9","90d0a9968cbb7048015736299f96a0cceb01cf583fd2e9a9edbc632ac4c81b01","49abec0571c941ab6f095885a76828d50498511c03bb326eec62a852e58000c5","8eeb4a4ff94460051173d561749539bca870422a6400108903af2fb7a1ffe3d7","49e39b284b87452fed1e27ac0748ba698f5a27debe05084bc5066b3ecf4ed762","59dcf835762f8df90fba5a3f8ba87941467604041cf127fb456543c793b71456","33e0c4c683dcaeb66bedf5bb6cc35798d00ac58d7f3bc82aadb50fa475781d60","605839abb6d150b0d83ed3712e1b3ffbeb309e382770e7754085d36bc2d84a4c","a862dcb740371257e3dae1ab379b0859edcb5119484f8359a5e6fb405db9e12e","0f0a16a0e8037c17e28f537028215e87db047eba52281bd33484d5395402f3c1","cf533aed4c455b526ddccbb10dae7cc77e9269c3d7862f9e5cedbd4f5c92e05e","f8a60ca31702a0209ef217f8f3b4b32f498813927df2304787ac968c78d8560d","530192961885d3ddad87bf9c4390e12689fa29ff515df57f17a57c9125fc77c3","165ba9e775dd769749e2177c383d24578e3b212e4774b0a72ad0f6faee103b68","61448f238fdfa94e5ccce1f43a7cced5e548b1ea2d957bec5259a6e719378381","69fa523e48131ced0a52ab1af36c3a922c5fd7a25e474d82117329fe051f5b85","fa10b79cd06f5dd03435e184fb05cc5f0d02713bfb4ee9d343db527501be334c","c6fb591e363ee4dea2b102bb721c0921485459df23a2d2171af8354cacef4bce","ea7e1f1097c2e61ed6e56fa04a9d7beae9d276d87ac6edb0cd39a3ee649cddfe","e8cf2659d87462aae9c7647e2a256ac7dcaf2a565a9681bfb49328a8a52861e8","7e374cb98b705d35369b3c15444ef2ff5ff983bd2fbb77a287f7e3240abf208c","ca75ba1519f9a426b8c512046ebbad58231d8627678d054008c93c51bc0f3fa5","ff63760147d7a60dcfc4ac16e40aa2696d016b9ffe27e296b43655dfa869d66b","4d434123b16f46b290982907a4d24675442eb651ca95a5e98e4c274be16f1220","57263d6ba38046e85f499f3c0ab518cfaf0a5f5d4f53bdae896d045209ab4aff","d3a535f2cd5d17f12b1abf0b19a64e816b90c8c10a030b58f308c0f7f2acfe2c","be26d49bb713c13bd737d00ae8a61aa394f0b76bc2d5a1c93c74f59402eb8db3","c7012003ac0c9e6c9d3a6418128ddebf6219d904095180d4502b19c42f46a186","d58c55750756bcf73f474344e6b4a9376e5381e4ba7d834dc352264b491423b6","01e2aabfabe22b4bf6d715fc54d72d32fa860a3bd1faa8974e0d672c4b565dfe","ba2c489bb2566c16d28f0500b3d98013917e471c40a4417c03991460cb248e88","39f94b619f0844c454a6f912e5d6868d0beb32752587b134c3c858b10ecd7056","0d2d8b0477b1cf16b34088e786e9745c3e8145bc8eea5919b700ad054e70a095","2a5e963b2b8f33a50bb516215ba54a20801cb379a8e9b1ae0b311e900dc7254c","d8307f62b55feeb5858529314761089746dce957d2b8fd919673a4985fa4342a","bf449ec80fc692b2703ad03e64ae007b3513ecd507dc2ab77f39be6f578e6f5c","f780213dd78998daf2511385dd51abf72905f709c839a9457b6ba2a55df57be7","2b7843e8a9a50bdf511de24350b6d429a3ee28430f5e8af7d3599b1e9aa7057f","05d95be6e25b4118c2eb28667e784f0b25882f6a8486147788df675c85391ab7","62d2721e9f2c9197c3e2e5cffeb2f76c6412121ae155153179049890011eb785","ff5668fb7594c02aca5e7ba7be6c238676226e450681ca96b457f4a84898b2d9","59fd37ea08657fef36c55ddea879eae550ffe21d7e3a1f8699314a85a30d8ae9","84e23663776e080e18b25052eb3459b1a0486b5b19f674d59b96347c0cb7312a","43e5934c7355731eec20c5a2aa7a859086f19f60a4e5fcd80e6684228f6fb767","a49c210c136c518a7c08325f6058fc648f59f911c41c93de2026db692bba0e47","1a92f93597ebc451e9ef4b158653c8d31902de5e6c8a574470ecb6da64932df4","256513ad066ac9898a70ca01e6fbdb3898a4e0fe408fbf70608fdc28ac1af224","d9835850b6cc05c21e8d85692a8071ebcf167a4382e5e39bf700c4a1e816437e","e5ab7190f818442e958d0322191c24c2447ddceae393c4e811e79cda6bd49836","91b4b77ef81466ce894f1aade7d35d3589ddd5c9981109d1dea11f55a4b807a0","03abb209bed94c8c893d9872639e3789f0282061c7aa6917888965e4047a8b5f","e97a07901de562219f5cba545b0945a1540d9663bd9abce66495721af3903eec","bf39ed1fdf29bc8178055ec4ff32be6725c1de9f29c252e31bdc71baf5c227e6","985eabf06dac7288fc355435b18641282f86107e48334a83605739a1fe82ac15","6112d33bcf51e3e6f6a81e419f29580e2f8e773529d53958c7c1c99728d4fb2e","89e9f7e87a573504acc2e7e5ad727a110b960330657d1b9a6d3526e77c83d8be","44bbb88abe9958c7c417e8687abf65820385191685009cc4b739c2d270cb02e9","ab4b506b53d2c4aec4cc00452740c540a0e6abe7778063e95c81a5cd557c19eb","858757bde6d615d0d1ee474c972131c6d79c37b0b61897da7fbd7110beb8af12","60b9dea33807b086a1b4b4b89f72d5da27ad0dd36d6436a6e306600c47438ac4","409c963b1166d0c1d49fdad1dfeb4de27fd2d6662d699009857de9baf43ca7c3","b7674ecfeb5753e965404f7b3d31eec8450857d1a23770cb867c82f264f546ab","c9800b9a9ad7fcdf74ed8972a5928b66f0e4ff674d55fd038a3b1c076911dcbe","99864433e35b24c61f8790d2224428e3b920624c01a6d26ea8b27ee1f62836bb","c391317b9ff8f87d28c6bfe4e50ed92e8f8bfab1bb8a03cd1fe104ff13186f83","42bdc3c98446fdd528e2591213f71ce6f7008fb9bb12413bd57df60d892a3fb5","542d2d689b58c25d39a76312ccaea2fcd10a45fb27b890e18015399c8032e2d9","97d1656f0a563dbb361d22b3d7c2487427b0998f347123abd1c69a4991326c96","d4f53ed7960c9fba8378af3fa28e3cc483d6c0b48e4a152a83ff0973d507307d","0665de5280d65ec32776dc55fb37128e259e60f389cde5b9803cf9e81ad23ce0","b6dc8fd1c6092da86725c338ca6c263d1c6dd3073046d3ec4eb2d68515062da2","d9198a0f01f00870653347560e10494efeca0bfa2de0988bd5d883a9d2c47edb","d4279865b926d7e2cfe8863b2eae270c4c035b6e923af8f9d7e6462d68679e07","73b6945448bb3425b764cfe7b1c4b0b56c010cc66e5f438ef320c53e469797eb","cf72fd8ffa5395f4f1a26be60246ec79c5a9ad201579c9ba63fd2607b5daf184","301a458744666096f84580a78cc3f6e8411f8bab92608cdaa33707546ca2906f","711e70c0916ff5f821ea208043ecd3e67ed09434b8a31d5616286802b58ebebe","e1f2fd9f88dd0e40c358fbf8c8f992211ab00a699e7d6823579b615b874a8453","17db3a9dcb2e1689ff7ace9c94fa110c88da64d69f01dc2f3cec698e4fc7e29e","73fb07305106bb18c2230890fcacf910fd1a7a77d93ac12ec40bc04c49ee5b8e","2c5f341625a45530b040d59a4bc2bc83824d258985ede10c67005be72d3e21d0","c4a262730d4277ecaaf6f6553dabecc84dcca8decaebbf2e16f1df8bbd996397","c23c533d85518f3358c55a7f19ab1a05aad290251e8bba0947bd19ea3c259467","5d0322a0b8cdc67b8c71e4ccaa30286b0c8453211d4c955a217ac2d3590e911f","f5e4032b6e4e116e7fec5b2620a2a35d0b6b8b4a1cc9b94a8e5ee76190153110","9ab26cb62a0e86ab7f669c311eb0c4d665457eb70a103508aa39da6ccee663da","5f64d1a11d8d4ce2c7ee3b72471df76b82d178a48964a14cdfdc7c5ef7276d70","24e2fbc48f65814e691d9377399807b9ec22cd54b51d631ba9e48ee18c5939dd","bfa2648b2ee90268c6b6f19e84da3176b4d46329c9ec0555d470e647d0568dfb","75ef3cb4e7b3583ba268a094c1bd16ce31023f2c3d1ac36e75ca65aca9721534","3be6b3304a81d0301838860fd3b4536c2b93390e785808a1f1a30e4135501514","da66c1b3e50ef9908e31ce7a281b137b2db41423c2b143c62524f97a536a53d9","3ada1b216e45bb9e32e30d8179a0a95870576fe949c33d9767823ccf4f4f4c97","1ace2885dffab849f7c98bffe3d1233260fbf07ee62cb58130167fd67a376a65","2126e5989c0ca5194d883cf9e9c10fe3e5224fbd3e4a4a6267677544e8be0aae","41a6738cf3c756af74753c5033e95c5b33dfc1f6e1287fa769a1ac4027335bf5","6e8630be5b0166cbc9f359b9f9e42801626d64ff1702dcb691af811149766154","e36b77c04e00b4a0bb4e1364f2646618a54910c27f6dc3fc558ca2ced8ca5bc5","2c4ea7e9f95a558f46c89726d1fedcb525ef649eb755a3d7d5055e22b80c2904","4875d65190e789fad05e73abd178297b386806b88b624328222d82e455c0f2e7","bf5302ecfaacee37c2316e33703723d62e66590093738c8921773ee30f2ecc38","62684064fe034d54b87f62ad416f41b98a405dee4146d0ec03b198c3634ea93c","be02cbdb1688c8387f8a76a9c6ed9d75d8bb794ec5b9b1d2ba3339a952a00614","cefaff060473a5dbf4939ee1b52eb900f215f8d6249dc7c058d6b869d599983c","b2797235a4c1a7442a6f326f28ffb966226c3419399dbb33634b8159af2c712f","164d633bbd4329794d329219fc173c3de85d5ad866d44e5b5f0fb60c140e98f2","b74300dd0a52eaf564b3757c07d07e1d92def4e3b8708f12eedb40033e4cafe9","a792f80b1e265b06dce1783992dbee2b45815a7bdc030782464b8cf982337cf2","8816b4b3a87d9b77f0355e616b38ed5054f993cc4c141101297f1914976a94b1","0f35e4da974793534c4ca1cdd9491eab6993f8cf47103dadfc048b899ed9b511","0ccdfcaebf297ec7b9dde20bbbc8539d5951a3d8aaa40665ca469da27f5a86e1","7fcb05c8ce81f05499c7b0488ae02a0a1ac6aebc78c01e9f8c42d98f7ba68140","81c376c9e4d227a4629c7fca9dde3bbdfa44bd5bd281aee0ed03801182368dc5","0f2448f95110c3714797e4c043bbc539368e9c4c33586d03ecda166aa9908843","b2f1a443f7f3982d7325775906b51665fe875c82a62be3528a36184852faa0bb","7568ff1f23363d7ee349105eb936e156d61aea8864187a4c5d85c60594b44a25","8c4d1d9a4eba4eac69e6da0f599a424b2689aee55a455f0b5a7f27a807e064db","e1beb9077c100bdd0fc8e727615f5dae2c6e1207de224569421907072f4ec885","3dda13836320ec71b95a68cd3d91a27118b34c05a2bfda3e7e51f1d8ca9b960b","fedc79cb91f2b3a14e832d7a8e3d58eb02b5d5411c843fcbdc79e35041316b36","99f395322ffae908dcdfbaa2624cc7a2a2cb7b0fbf1a1274aca506f7b57ebcb5","5e1f7c43e8d45f2222a5c61cbc88b074f4aaf1ca4b118ac6d6123c858efdcd71","7388273ab71cb8f22b3f25ffd8d44a37d5740077c4d87023da25575204d57872","0a48ceb01a0fdfc506aa20dfd8a3563edbdeaa53a8333ddf261d2ee87669ea7b","3182d06b874f31e8e55f91ea706c85d5f207f16273480f46438781d0bd2a46a1","ccd47cab635e8f71693fa4e2bbb7969f559972dae97bd5dbd1bbfee77a63b410","89770fa14c037f3dc3882e6c56be1c01bb495c81dec96fa29f868185d9555a5d","7048c397f08c54099c52e6b9d90623dc9dc6811ea142f8af3200e40d66a972e1","512120cd6f026ce1d3cf686c6ab5da80caa40ef92aa47466ec60ba61a48b5551","6cd0cb7f999f221e984157a7640e7871960131f6b221d67e4fdc2a53937c6770","f48b84a0884776f1bc5bf0fcf3f69832e97b97dc55d79d7557f344de900d259b","dca490d986411644b0f9edf6ea701016836558e8677c150dca8ad315178ec735","a028a04948cf98c1233166b48887dad324e8fe424a4be368a287c706d9ccd491","3046ed22c701f24272534b293c10cfd17b0f6a89c2ec6014c9a44a90963dfa06","394da10397d272f19a324c95bea7492faadf2263da157831e02ae1107bd410f5","0580595a99248b2d30d03f2307c50f14eb21716a55beb84dd09d240b1b087a42","a7da9510150f36a9bea61513b107b59a423fdff54429ad38547c7475cd390e95","659615f96e64361af7127645bb91f287f7b46c5d03bea7371e6e02099226d818","1f2a42974920476ce46bb666cd9b3c1b82b2072b66ccd0d775aa960532d78176","500b3ae6095cbab92d81de0b40c9129f5524d10ad955643f81fc07d726c5a667","a957ad4bd562be0662fb99599dbcf0e16d1631f857e5e1a83a3f3afb6c226059","e57a4915266a6a751c6c172e8f30f6df44a495608613e1f1c410196207da9641","7a12e57143b7bc5a52a41a8c4e6283a8f8d59a5e302478185fb623a7157fff5e","17b3426162e1d9cb0a843e8d04212aabe461d53548e671236de957ed3ae9471b","f38e86eb00398d63180210c5090ef6ed065004474361146573f98b3c8a96477d","231d9e32382d3971f58325e5a85ba283a2021243651cb650f82f87a1bf62d649","6532e3e87b87c95f0771611afce929b5bad9d2c94855b19b29b3246937c9840b","65704bbb8f0b55c73871335edd3c9cead7c9f0d4b21f64f5d22d0987c45687f0","787232f574af2253ac860f22a445c755d57c73a69a402823ae81ba0dfdd1ce23","5e63903cd5ebce02486b91647d951d61a16ad80d65f9c56581cd624f39a66007","bcc89a120d8f3c02411f4df6b1d989143c01369314e9b0e04794441e6b078d22","d17531ef42b7c76d953f63bd5c5cd927c4723e62a7e0b2badf812d5f35f784eb","6d4ee1a8e3a97168ea4c4cc1c68bb61a3fd77134f15c71bb9f3f63df3d26b54c","1eb04fea6b47b16922ed79625d90431a8b2fc7ba9d5768b255e62df0c96f1e3a","de0c2eece83bd81b8682f4496f558beb728263e17e74cbc4910e5c9ce7bef689","98866542d45306dab48ecc3ddd98ee54fa983353bc3139dfbc619df882f54d90","9e04c7708917af428c165f1e38536ddb2e8ecd576f55ed11a97442dc34b6b010","31fe6f6d02b53c1a7c34b8d8f8c87ee9b6dd4b67f158cbfff3034b4f3f69c409","2e1d853f84188e8e002361f4bfdd892ac31c68acaeac426a63cd4ff7abf150d0","666b5289ec8a01c4cc0977c62e3fd32e89a8e3fd9e97c8d8fd646f632e63c055","a1107bbb2b10982dba1f7958a6a5cf841e1a19d6976d0ecdc4c43269c7b0eaf2","07fa6122f7495331f39167ec9e4ebd990146a20f99c16c17bc0a98aa81f63b27","39c1483481b35c2123eaab5094a8b548a0c3f1e483ab7338102c3291f1ab18bf","b73e6242c13796e7d5fba225bf1c07c8ee66d31b7bb65f45be14226a9ae492d2","f2931608d541145d189390d6cfb74e1b1e88f73c0b9a80c4356a4daa7fa5e005","8684656fe3bf1425a91bd62b8b455a1c7ec18b074fd695793cfae44ae02e381a","ccf0b9057dd65c7fb5e237de34f706966ebc30c6d3669715ed05e76225f54fbd","d930f077da575e8ea761e3d644d4c6279e2d847bae2b3ea893bbd572315acc21","19b0616946cb615abde72c6d69049f136cc4821b784634771c1d73bec8005f73","553312560ad0ef97b344b653931935d6e80840c2de6ab90b8be43cbacf0d04cf","1225cf1910667bfd52b4daa9974197c3485f21fe631c3ce9db3b733334199faa","f7cb9e46bd6ab9d620d68257b525dbbbbc9b0b148adf500b819d756ebc339de0","e46d6c3120aca07ae8ec3189edf518c667d027478810ca67a62431a0fa545434","9d234b7d2f662a135d430d3190fc21074325f296273125244b2bf8328b5839a0","0554ef14d10acea403348c53436b1dd8d61e7c73ef5872e2fe69cc1c433b02f8","2f6ae5538090db60514336bd1441ca208a8fab13108cfa4b311e61eaca5ff716","17bf4ce505a4cff88fb56177a8f7eb48aa55c22ccc4cce3e49cc5c8ddc54b07d","3d735f493d7da48156b79b4d8a406bf2bbf7e3fe379210d8f7c085028143ee40","41de1b3ddd71bd0d9ed7ac217ca1b15b177dd731d5251cde094945c20a715d03","17d9c562a46c6a25bc2f317c9b06dd4e8e0368cbe9bdf89be6117aeafd577b36","ded799031fe18a0bb5e78be38a6ae168458ff41b6c6542392b009d2abe6a6f32","ed48d467a7b25ee1a2769adebc198b647a820e242c96a5f96c1e6c27a40ab131","b914114df05f286897a1ae85d2df39cfd98ed8da68754d73cf830159e85ddd15","73881e647da3c226f21e0b80e216feaf14a5541a861494c744e9fbe1c3b3a6af","d79e1d31b939fa99694f2d6fbdd19870147401dbb3f42214e84c011e7ec359ab","4f71097eae7aa37941bab39beb2e53e624321fd341c12cc1d400eb7a805691ff","58ebb4f21f3a90dda31a01764462aa617849fdb1b592f3a8d875c85019956aff","a8e8d0e6efff70f3c28d3e384f9d64530c7a7596a201e4879a7fd75c7d55cbb5","df5cbb80d8353bf0511a4047cc7b8434b0be12e280b6cf3de919d5a3380912c0","256eb0520e822b56f720962edd7807ed36abdf7ea23bcadf4a25929a3317c8cf","9cf2cbc9ceb5f718c1705f37ce5454f14d3b89f690d9864394963567673c1b5c","07d3dd790cf1e66bb6fc9806d014dd40bb2055f8d6ca3811cf0e12f92ba4cb9a","1f99fd62e9cff9b50c36f368caf3b9fb79fc6f6c75ca5d3c2ec4afaea08d9109","6558faaacba5622ef7f1fdfb843cd967af2c105469b9ff5c18a81ce85178fca7","34e7f17ae9395b0269cd3f2f0af10709e6dc975c5b44a36b6b70442dc5e25a38","a4295111b54f84c02c27e46b0855b02fad3421ae1d2d7e67ecf16cb49538280a","ce9746b2ceae2388b7be9fe1f009dcecbc65f0bdbc16f40c0027fab0fb848c3b","35ce823a59f397f0e85295387778f51467cea137d787df385be57a2099752bfb","2e5acd3ec67bc309e4f679a70c894f809863c33b9572a8da0b78db403edfa106","1872f3fcea0643d5e03b19a19d777704320f857d1be0eb4ee372681357e20c88","9689628941205e40dcbb2706d1833bd00ce7510d333b2ef08be24ecbf3eb1a37","0317a72a0b63094781476cf1d2d27585d00eb2b0ca62b5287124735912f3d048","6ce4c0ab3450a4fff25d60a058a25039cffd03141549589689f5a17055ad0545","9153ec7b0577ae77349d2c5e8c5dd57163f41853b80c4fb5ce342c7a431cbe1e","f490dfa4619e48edd594a36079950c9fca1230efb3a82aaf325047262ba07379","674f00085caff46d2cbc76fc74740fd31f49d53396804558573421e138be0c12","41d029194c4811f09b350a1e858143c191073007a9ee836061090ed0143ad94f","44a6259ffd6febd8510b9a9b13a700e1d022530d8b33663f0735dbb3bee67b3d","6f4322500aff8676d9b8eef7711c7166708d4a0686b792aa4b158e276ed946a7","e829ff9ecffa3510d3a4d2c3e4e9b54d4a4ccfef004bacbb1d6919ce3ccca01f","62e6fec9dbd012460b47af7e727ec4cd34345b6e4311e781f040e6b640d7f93e","4d180dd4d0785f2cd140bc069d56285d0121d95b53e4348feb4f62db2d7035d3","f1142cbba31d7f492d2e7c91d82211a8334e6642efe52b71d9a82cb95ba4e8ae","279cac827be5d48c0f69fe319dc38c876fdd076b66995d9779c43558552d8a50","a70ff3c65dc0e7213bfe0d81c072951db9f5b1e640eb66c1eaed0737879c797b","f75d3303c1750f4fdacd23354657eca09aae16122c344e65b8c14c570ff67df5","3ebae6a418229d4b303f8e0fdb14de83f39fba9f57b39d5f213398bca72137c7","21ba07e33265f59d52dece5ac44f933b2b464059514587e64ad5182ddf34a9b0","2d3d96efba00493059c460fd55e6206b0667fc2e73215c4f1a9eb559b550021f","d23d4a57fff5cec5607521ba3b72f372e3d735d0f6b11a4681655b0bdd0505f4","395c1f3da7e9c87097c8095acbb361541480bf5fd7fa92523985019fef7761dd","d61f3d719293c2f92a04ba73d08536940805938ecab89ac35ceabc8a48ccb648","ca693235a1242bcd97254f43a17592aa84af66ccb7497333ccfea54842fde648","cd41cf040b2e368382f2382ec9145824777233730e3965e9a7ba4523a6a4698e","2e7a9dba6512b0310c037a28d27330520904cf5063ca19f034b74ad280dbfe71","9f2a38baf702e6cb98e0392fa39d25a64c41457a827b935b366c5e0980a6a667","c1dc37f0e7252928f73d03b0d6b46feb26dea3d8737a531ca4c0ec4105e33120","25126b80243fb499517e94fc5afe5c9c5df3a0105618e33581fb5b2f2622f342","d332c2ddcb64012290eb14753c1b49fe3eee9ca067204efba1cf31c1ce1ee020","1be8da453470021f6fe936ba19ee0bfebc7cfa2406953fa56e78940467c90769","7c9f2d62d83f1292a183a44fb7fb1f16eb9037deb05691d307d4017ac8af850a","d0163ab7b0de6e23b8562af8b5b4adea4182884ca7543488f7ac2a3478f3ae6e","05224e15c6e51c4c6cd08c65f0766723f6b39165534b67546076c226661db691","a5f7158823c7700dd9fc1843a94b9edc309180c969fbfa6d591aeb0b33d3b514","7d30937f8cf9bb0d4b2c2a8fb56a415d7ef393f6252b24e4863f3d7b84285724","e04d074584483dc9c59341f9f36c7220f16eed09f7af1fa3ef9c64c26095faec","619697e06cbc2c77edda949a83a62047e777efacde1433e895b904fe4877c650","88d9a8593d2e6aee67f7b15a25bda62652c77be72b79afbee52bea61d5ffb39e","044d7acfc9bd1af21951e32252cf8f3a11c8b35a704169115ddcbde9fd717de2","a4ca8f13a91bd80e6d7a4f013b8a9e156fbf579bbec981fe724dad38719cfe01","5a216426a68418e37e55c7a4366bc50efc99bda9dc361eae94d7e336da96c027","13b65b640306755096d304e76d4a237d21103de88b474634f7ae13a2fac722d5","7478bd43e449d3ce4e94f3ed1105c65007b21f078b3a791ea5d2c47b30ea6962","601d3e8e71b7d6a24fc003aca9989a6c25fa2b3755df196fd0aaee709d190303","168e0850fcc94011e4477e31eca81a8a8a71e1aed66d056b7b50196b877e86c8","37ba82d63f5f8c6b4fc9b756f24902e47f62ea66aae07e89ace445a54190a86e","f5b66b855f0496bc05f1cd9ba51a6a9de3d989b24aa36f6017257f01c8b65a9f","823b16d378e8456fcc5503d6253c8b13659be44435151c6b9f140c4a38ec98c1","b58b254bf1b586222844c04b3cdec396e16c811463bf187615bb0a1584beb100","a367c2ccfb2460e222c5d10d304e980bd172dd668bcc02f6c2ff626e71e90d75","0718623262ac94b016cb0cfd8d54e4d5b7b1d3941c01d85cf95c25ec1ba5ed8d","d4f3c9a0bd129e9c7cbfac02b6647e34718a2b81a414d914e8bd6b76341172e0","824306df6196f1e0222ff775c8023d399091ada2f10f2995ce53f5e3d4aff7a4","84ca07a8d57f1a6ba8c0cf264180d681f7afae995631c6ca9f2b85ec6ee06c0f","35755e61e9f4ec82d059efdbe3d1abcccc97a8a839f1dbf2e73ac1965f266847","64a918a5aa97a37400ec085ffeea12a14211aa799cd34e5dc828beb1806e95bb","0c8f5489ba6af02a4b1d5ba280e7badd58f30dc8eb716113b679e9d7c31185e5","7b574ca9ae0417203cdfa621ab1585de5b90c4bc6eea77a465b2eb8b92aa5380","3334c03c15102700973e3e334954ac1dffb7be7704c67cc272822d5895215c93","aabcb169451df7f78eb43567fab877a74d134a0a6d9850aa58b38321374ab7c0","1b5effdd8b4e8d9897fc34ab4cd708a446bf79db4cb9a3467e4a30d55b502e14","d772776a7aea246fd72c5818de72c3654f556b2cf0d73b90930c9c187cc055fc","dbd4bd62f433f14a419e4c6130075199eb15f2812d2d8e7c9e1f297f4daac788","427df949f5f10c73bcc77b2999893bc66c17579ad073ee5f5270a2b30651c873","c4c1a5565b9b85abfa1d663ca386d959d55361e801e8d49155a14dd6ca41abe1","7a45a45c277686aaff716db75a8157d0458a0d854bacf072c47fee3d499d7a99","57005b72bce2dc26293e8924f9c6be7ee3a2c1b71028a680f329762fa4439354","8f53b1f97c53c3573c16d0225ee3187d22f14f01421e3c6da1a26a1aace32356","810fdc0e554ed7315c723b91f6fa6ef3a6859b943b4cd82879641563b0e6c390","87a36b177b04d23214aa4502a0011cd65079e208cd60654aefc47d0d65da68ea","28a1c17fcbb9e66d7193caca68bbd12115518f186d90fc729a71869f96e2c07b","cc2d2abbb1cc7d6453c6fee760b04a516aa425187d65e296a8aacff66a49598a","d2413645bc4ab9c3f3688c5281232e6538684e84b49a57d8a1a8b2e5cf9f2041","4e6e21a0f9718282d342e66c83b2cd9aa7cd777dfcf2abd93552da694103b3dc","9006cc15c3a35e49508598a51664aa34ae59fc7ab32d6cc6ea2ec68d1c39448e","74467b184eadee6186a17cac579938d62eceb6d89c923ae67d058e2bcded254e","4169b96bb6309a2619f16d17307da341758da2917ff40c615568217b14357f5e","4a94d6146b38050de0830019a1c6a7820c2e2b90eba1a5ee4e4ab3bc30a72036","48a35ece156203abf19864daa984475055bbed4dc9049d07f4462100363f1e85","dc3b172ee27054dbcedcf5007b78c256021db936f6313a9ce9a3ecbb503fd646","c4c868a268d20e2c678cfafd1524b6548776d80885089870960737623ec00b50","3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","975f84de013567851d216d78a3a86736bb330cae11fdc907b222dffa148b31d2","ab754c02d70553f7131f80a5c44f6e45c3251afb571a73117274b4724f683e02","5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","732a22e28e99e56f4f76410ef1d28ab502ae569ed7a25161db50629814f0c4e3","9c5c92b7fb8c38ff1b46df69701f2d1ea8e2d6468e3cd8f73d8af5e6f7864576","320dbd1fad4669e888e2f83c8abd2942898b993120473d3a79cb4545dbcf2a85","eac647a94fb1f09789e12dfecb52dcd678d05159a4796b4e415aa15892f3b103","a7e430e32eaefba6b1ebf23a94a4562bfe7051cc83558d33ddc8ff342f3c18e9","c68efdae4df1801f6ec509a8c0fbc2341e93f6632f2fce6ac2b09e4cc5eeeed2","207c7a7aa85b59e5abd719d0a2bd243b5ff51d489bfed9d45c99a7b94c0bb812","ac49c844ebee8a9b1eb2183ca9dc83fd37c6b7c32075807bbe3e5fd0028e941b","b729899cd0358594a799a91369578b41ff6b6f5db7335bba2ba52edd0df8d95b",{"version":"ab63ed8928d3a3a33862a0189f2acea4f6c5aa58324c3ac54464779dd4a0ea5d","affectsGlobalScope":true},"b8bbaace0a1559049493f3a87f4a31bee9073a0236b9d22982d9872f4c93d09a","686e548ae30250d62532c8cacb43fccc922b693408371bd3503563c4a0f28eed","dca41e86e89dfb2e85e6935260250f02eb6683b86c2fa16bec729ddd1bcd9b4b","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","6503fb6addf62f9b10f8564d9869ad824565a914ec1ac3dd7d13da14a3f57036","f313731860257325f13351575f381fef333d4dfe30daf5a2e72f894208feea08","951b37f7d86f6012f09e6b35f1de57c69d75f16908cb0adaa56b93675ea0b853","3816fc03ffd9cbd1a7a3362a264756a4a1d547caabea50ca68303046be40e376","0c417b4ec46b88fb62a43ec00204700b560d01eb5677c7faa8ecd34610f096a8","13d29cdeb64e8496424edf42749bbb47de5e42d201cf958911a4638cbcffbd3f","dcafd874e49d42fc215dcb4ef1e06511363c1f31979951081f3cd1908a05a636","b2be45e9e0238c849783783dc27bf79f3b1a65332424a65cc1118f207b4792c9","6002c44a8e8edbe4c79ce856c7bac3f8e69a2a45dc5bd6b229ca4ab323b924b3","b4d505a77e0829de5e5e23eaefb3d7989e0dbdfdb02ea69159df9f40017fb958","b8396e9024d554b611cbe31a024b176ba7116063d19354b5a02dccd8f0118989","f2242adef346a64818a1af914146f6f6046f16505e8a228c3bdb70185d4fdf4c","2f7508d8eeadcfde20b41ec13726c9ad26f04bbf830434e289c6010d5be28455","8b155c4757d197969553de3762c8d23d5866710301de41e1b66b97c9ed867003","9798f0d3693043da9dda9146b5e8622cd4476270e7aed8f3cb346b9b40a52103","fc7e8927b6fa6c81d68783afb314d01592c559e86bd36df334c37f40d0136acd","73f72caffdd55f189b5bf4e6b5ca273b4e26269d9aac859b9d30a5f799c095ad","d998e3e185cdf59dfc84043c41a42c02daaf3b7b21bee2db2d1f620a8e134f4c","06aa8858883e08f5136eb182d2f285ea615aeb464007f83c7a31ee1f8d9932b1","62d429aba0bbe459a04965d10c7637b74b319149f17874920a5ffb9fe3ba14d8","6b5acb2819b71f30dc2ba5929d3918e0a658ffec00095880b3de7e934122a75b","2b603cae1c11f97a113adac3f8ba8d60ee842c740c8139d41ab9d6ce202449a5","cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","5774751340e987a6a9e4a5dcc03ff68a6515adc2b91423e1af2f660fc8f30e81","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","4ec9d340a4b31d571bafaf4e09e747793ad99fe57117cca8ecbac2abc1dcd3cb","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","3034db2891e04de367126370bebec88ac3b4e3b1eb8b7dc30671ccddb717eed2","89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","8db87f1a11acf41035f806b3a09bf144f3d0f2e3fd8faf818db733a5ad67a494","898f60d2750246a8dd22fc66b160d96e8da30dd3fb0155bcbe77cfd7617cf20a","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab",{"version":"6451264601a58c77b5f347234485ce0ac09e9fafcc5228a3c60f5ccb3fc8524e","affectsGlobalScope":true},"d8e11b9b348b4d1f50d94a71a815e275a1cb92bed1648289e54437822803649c"],"root":[386,[388,390],[392,396],403,404,409,410,412,413,419,420,423,424,[427,430],433,434,[438,441],443,444,[448,459],[464,469],[471,474],[476,479],[481,496]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":99,"noImplicitOverride":true,"noUnusedLocals":true,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99},"fileIdsList":[[112,160],[817],[124,160,821,822],[160,406,824],[123,124,160,405],[124,141,827,830,832],[138,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384],[385],[365,366,385],[138,363,368,385],[138,369,370,385],[138,369,385],[138,363,369,385],[138,375,385],[138,385],[138,363],[368],[138],[124,152,160],[510],[511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814],[498,500,501,502,503,504,505,506,507,508,509,510],[498,499,501,502,503,504,505,506,507,508,509,510],[499,500,501,502,503,504,505,506,507,508,509,510],[498,499,500,502,503,504,505,506,507,508,509,510],[498,499,500,501,503,504,505,506,507,508,509,510],[498,499,500,501,502,504,505,506,507,508,509,510],[498,499,500,501,502,503,505,506,507,508,509,510],[498,499,500,501,502,503,504,506,507,508,509,510],[498,499,500,501,502,503,504,505,507,508,509,510],[498,499,500,501,502,503,504,505,506,508,509,510],[498,499,500,501,502,503,504,505,506,507,509,510],[498,499,500,501,502,503,504,505,506,507,508,510],[498,499,500,501,502,503,504,505,506,507,508,509],[857],[842],[846,847,848],[845],[847],[837,843,844,849,852,854,855,856],[844,850,851,857],[850,853],[844,845,850,857],[844,857],[859],[838,839,840,841],[74],[110],[111,116,144],[112,123,124,131,141,152],[112,113,123,131],[114,153],[115,116,124,132],[116,141,149],[117,119,123,131],[110,118],[119,120],[123],[121,123],[110,123],[123,124,125,141,152],[123,124,125,138,141,144],[108,111,157],[119,123,126,131,141,152],[123,124,126,127,131,141,149,152],[126,128,141,149,152],[74,75,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159],[123,129],[130,152,157],[119,123,131,141],[132],[133],[110,134],[135,151,157],[136],[137],[123,138,139],[138,140,153,155],[111,123,141,142,143,144],[111,141,143],[141,142],[144],[145],[110,141],[123,147,148],[147,148],[116,131,141,149],[150],[131,151],[111,126,137,152],[116,153],[141,154],[130,155],[156],[111,116,123,125,134,141,152,155,157],[141,158],[124,160,824],[160,867],[869,908],[869,893,908],[908],[869],[869,894,908],[869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907],[894,908],[112,160,406],[141,160],[123,160,828,829],[123,160,825,831],[124,160],[112,123,141],[123,124,160,826],[398],[397],[66,67,68,69,70,71,72],[68,69,70,71],[421],[160],[123,866],[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,247,248,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,298,307,309,310,311,312,313,314,316,317,319,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362],[220],[176,179],[178],[178,179],[175,176,177,179],[176,178,179,336],[179],[175,178,220],[178,179,336],[178,344],[176,178,179],[188],[211],[232],[178,179,220],[179,227],[178,179,220,238],[178,179,238],[179,279],[179,220],[175,179,297],[175,179,298],[320],[304,306],[315],[304],[175,179,297,304,305],[297,298,306],[318],[175,179,304,305,306],[177,178,179],[175,179],[176,178,298,299,300,301],[220,298,299,300,301],[298,300],[178,299,300,302,303,307],[175,178],[179,322],[180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,221,222,223,224,225,226,228,229,230,231,232,233,234,235,236,237,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295],[308],[85,89,152],[85,141,152],[80],[82,85,149,152],[131,149],[80,160],[82,85,131,152],[77,78,81,84,111,123,141,152],[77,83],[81,85,111,144,152,160],[111,160],[101,111,160],[79,80,160],[85],[79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,102,103,104,105,106,107],[85,92,93],[83,85,93,94],[84],[77,80,85],[85,89,93,94],[89],[83,85,88,152],[77,82,83,85,89,92],[111,141],[80,85,101,111,157,160],[161],[112,160,161],[390],[392],[387,390,391],[386],[64,65,73,130,162,163,164,165,166,167,168,169,170,171,172,173,174,386,392,393],[64,65,171,172,173,386,392,395],[64,65,162,165,167,171,173,174,385,386,392,399,400,401,402,403],[64,65,163,164,165,171,386,392,407,408,409],[64,65,161,171,385,386,392,407,411,412],[64,65,165,171,385,386,392,407,414,415,416,417,418,419],[64,65,73,164,165,166,168,170,171,172,173,174,385,386,392,408,422,423],[64,65,73,130,162,163,165,166,167,168,169,171,174,386,392,407,408,425,426,427,428],[64,65,161,165,174,392,407,414,415,427],[64,65,163,165,171,385,386,392,407,431,432,433],[64,65,161,163,165,166,169,170,171,173,385,386,392,399,407,408,435,436,437,438],[64,65,73,130,162,163,164,165,166,167,168,169,171,174,386,392,407,408,426,427,440],[64,65,163,165,166,171,386,392,407,442,443],[64,65,73,166,171,385,386,392,407,457,458],[64,65,165,166,168,171,174,386,392,407,425,460,461,462,463,464],[64,65,124,165,385,386,392,407,414,427],[64,65,171,172,173,386,392,422,467],[64,171,172,386,392,407,454],[64,65,165,171,173,386,392,399,436,470,471],[64,65,166,172,174,392,407],[64,171,386,392,400,456],[64,65,163,165,166,171,173,385,386,392,399,407,450,475],[64,65,163,165,171,386,392,407,453],[64,65,165,167,171,173,385,386,392,399,400,401,402,470,478],[64,171,386,392,480,481],[64,65,163,165,166,171,386,392,407,452],[64,65,73,163,165,169,171,174,386,392,407,426,451],[64,65,165,166,171,173,386,392,431,470,485],[64,65,165,171,386,392,407,487],[64,65,161,163,165,166,171,173,385,386,392,399,407,436,437,449,475],[64,171,172,386,392,407,455],[64,65,163,165,166,168,169,170,171,174,386,392,407,408,426,427,448],[64,65,171,172,386,392,422,492],[64,65,130,172,173,392,407],[166,172,393,409,412,419,423,428,438,440,443,445,446,447,448,449,450,451,452,453,454,455,456],[388,389],[112,160,385],[911,912],[821,822,912,913],[406,824,912],[405,912,913,914],[827,830,832,913,915],[363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,916],[363,368,385,916],[369,370,385,916],[369,385,916],[363,369,385,916],[375,385,916],[385,916],[363,916],[916],[912,913,917],[824,912,913],[867,912],[406,911,912],[912,915],[828,829,912,914],[825,831,912,914],[912,913],[911,914,915],[826,912,913,914],[912],[866,914],[85,89,917],[85,915,917],[82,85,917,918],[918,919],[80,912],[82,85,917,919],[77,78,81,84,914,915,917,920],[81,85,912,917,920,921],[912,920],[101,912,920],[79,80,912],[83,85,88,917],[915,920],[80,85,101,912,920,922],[161,911,912],[390,391],[385,911,912]],"referencedMap":[[497,1],[818,2],[823,3],[825,4],[406,5],[824,5],[833,6],[385,7],[365,8],[367,9],[366,8],[369,10],[371,11],[372,12],[373,13],[374,11],[375,12],[376,11],[377,14],[378,12],[379,11],[380,15],[381,8],[382,8],[383,16],[370,17],[384,18],[368,18],[821,19],[511,20],[512,20],[513,20],[514,20],[515,20],[516,20],[517,20],[518,20],[519,20],[520,20],[521,20],[522,20],[523,20],[524,20],[525,20],[526,20],[527,20],[528,20],[529,20],[530,20],[531,20],[532,20],[533,20],[534,20],[535,20],[536,20],[537,20],[538,20],[539,20],[540,20],[541,20],[542,20],[543,20],[544,20],[545,20],[546,20],[547,20],[548,20],[549,20],[550,20],[551,20],[552,20],[553,20],[554,20],[555,20],[556,20],[557,20],[558,20],[559,20],[560,20],[561,20],[562,20],[563,20],[564,20],[565,20],[566,20],[567,20],[568,20],[569,20],[570,20],[571,20],[572,20],[573,20],[574,20],[575,20],[576,20],[577,20],[578,20],[579,20],[580,20],[581,20],[582,20],[583,20],[584,20],[585,20],[586,20],[587,20],[588,20],[589,20],[590,20],[591,20],[592,20],[593,20],[594,20],[595,20],[596,20],[597,20],[598,20],[599,20],[600,20],[601,20],[602,20],[603,20],[604,20],[605,20],[606,20],[607,20],[815,21],[608,20],[609,20],[610,20],[611,20],[612,20],[613,20],[614,20],[615,20],[616,20],[617,20],[618,20],[619,20],[620,20],[621,20],[622,20],[623,20],[624,20],[625,20],[626,20],[627,20],[628,20],[629,20],[630,20],[631,20],[632,20],[633,20],[634,20],[635,20],[636,20],[637,20],[638,20],[639,20],[640,20],[641,20],[642,20],[643,20],[644,20],[645,20],[646,20],[647,20],[648,20],[649,20],[650,20],[651,20],[652,20],[653,20],[654,20],[655,20],[656,20],[657,20],[658,20],[659,20],[660,20],[661,20],[662,20],[663,20],[664,20],[665,20],[666,20],[667,20],[668,20],[669,20],[670,20],[671,20],[672,20],[673,20],[674,20],[675,20],[676,20],[677,20],[678,20],[679,20],[680,20],[681,20],[682,20],[683,20],[684,20],[685,20],[686,20],[687,20],[688,20],[689,20],[690,20],[691,20],[692,20],[693,20],[694,20],[695,20],[696,20],[697,20],[698,20],[699,20],[700,20],[701,20],[702,20],[703,20],[704,20],[705,20],[706,20],[707,20],[708,20],[709,20],[710,20],[711,20],[712,20],[713,20],[714,20],[715,20],[716,20],[717,20],[718,20],[719,20],[720,20],[721,20],[722,20],[723,20],[724,20],[725,20],[726,20],[727,20],[728,20],[729,20],[730,20],[731,20],[732,20],[733,20],[734,20],[735,20],[736,20],[737,20],[738,20],[739,20],[740,20],[741,20],[742,20],[743,20],[744,20],[745,20],[746,20],[747,20],[748,20],[749,20],[750,20],[751,20],[752,20],[753,20],[754,20],[755,20],[756,20],[757,20],[758,20],[759,20],[760,20],[761,20],[762,20],[763,20],[764,20],[765,20],[766,20],[767,20],[768,20],[769,20],[770,20],[771,20],[772,20],[773,20],[774,20],[775,20],[776,20],[777,20],[778,20],[779,20],[780,20],[781,20],[782,20],[783,20],[784,20],[785,20],[786,20],[787,20],[788,20],[789,20],[790,20],[791,20],[792,20],[793,20],[794,20],[795,20],[796,20],[797,20],[798,20],[799,20],[800,20],[801,20],[802,20],[803,20],[804,20],[805,20],[806,20],[807,20],[808,20],[809,20],[810,20],[811,20],[812,20],[813,20],[814,20],[499,22],[500,23],[498,24],[501,25],[502,26],[503,27],[504,28],[505,29],[506,30],[507,31],[508,32],[509,33],[510,34],[858,35],[843,36],[849,37],[846,38],[848,39],[857,40],[852,41],[854,42],[855,43],[856,44],[851,44],[853,44],[845,44],[860,45],[841,36],[842,46],[840,36],[74,47],[75,47],[110,48],[111,49],[112,50],[113,51],[114,52],[115,53],[116,54],[117,55],[118,56],[119,57],[120,57],[122,58],[121,59],[123,60],[124,61],[125,62],[109,63],[126,64],[127,65],[128,66],[160,67],[129,68],[130,69],[131,70],[132,71],[133,72],[134,73],[135,74],[136,75],[137,76],[138,77],[139,77],[140,78],[141,79],[143,80],[142,81],[144,82],[145,83],[146,84],[147,85],[148,86],[149,87],[150,88],[151,89],[152,90],[153,91],[154,92],[155,93],[156,94],[157,95],[158,96],[865,97],[868,98],[893,99],[894,100],[869,101],[872,101],[891,99],[892,99],[882,99],[881,102],[879,99],[874,99],[887,99],[885,99],[889,99],[873,99],[886,99],[890,99],[875,99],[876,99],[888,99],[870,99],[877,99],[878,99],[880,99],[884,99],[895,103],[883,99],[871,99],[908,104],[902,103],[904,105],[903,103],[896,103],[897,103],[899,103],[901,103],[905,105],[906,105],[898,105],[900,105],[407,106],[364,107],[830,108],[832,109],[831,110],[829,111],[827,112],[399,113],[398,114],[73,115],[72,116],[422,117],[387,118],[867,119],[363,120],[314,121],[312,121],[362,122],[327,123],[326,123],[227,124],[178,125],[334,124],[335,124],[337,126],[338,124],[339,127],[238,128],[340,124],[311,124],[341,124],[342,129],[343,124],[344,123],[345,130],[346,124],[347,124],[348,124],[349,124],[350,123],[351,124],[352,124],[353,124],[354,124],[355,131],[356,124],[357,124],[358,124],[359,124],[360,124],[177,122],[180,127],[181,127],[182,127],[183,127],[184,127],[185,127],[186,127],[187,124],[189,132],[190,127],[188,127],[191,127],[192,127],[193,127],[194,127],[195,127],[196,127],[197,124],[198,127],[199,127],[200,127],[201,127],[202,127],[203,124],[204,127],[205,127],[206,127],[207,127],[208,127],[209,127],[210,124],[212,133],[211,127],[213,127],[214,127],[215,127],[216,127],[217,131],[218,124],[219,124],[233,134],[221,135],[222,127],[223,127],[224,124],[225,127],[226,127],[228,136],[229,127],[230,127],[231,127],[232,127],[234,127],[235,127],[236,127],[237,127],[239,137],[240,127],[241,127],[242,127],[243,124],[244,127],[245,138],[246,138],[247,138],[248,124],[249,127],[250,127],[251,127],[256,127],[252,127],[253,124],[254,127],[255,124],[257,127],[258,127],[259,127],[260,127],[261,127],[262,127],[263,124],[264,127],[265,127],[266,127],[267,127],[268,127],[269,127],[270,127],[271,127],[272,127],[273,127],[274,127],[275,127],[276,127],[277,127],[278,127],[279,127],[280,139],[281,127],[282,127],[283,127],[284,127],[285,127],[286,127],[287,124],[288,124],[289,124],[290,124],[291,124],[292,127],[293,127],[294,127],[295,127],[313,140],[361,124],[298,141],[297,142],[321,143],[320,144],[316,145],[315,144],[317,146],[306,147],[304,148],[319,149],[318,146],[307,150],[220,151],[176,152],[175,127],[302,153],[303,154],[301,155],[299,127],[308,156],[179,157],[325,123],[323,158],[296,159],[309,160],[92,161],[99,162],[91,161],[106,163],[83,164],[82,165],[105,118],[100,166],[103,167],[85,168],[84,169],[80,170],[79,171],[102,172],[81,173],[86,174],[90,174],[108,175],[107,174],[94,176],[95,177],[97,178],[93,179],[96,180],[101,118],[88,181],[89,182],[98,183],[78,184],[104,185],[162,186],[418,186],[411,186],[432,186],[475,186],[174,186],[436,186],[437,186],[431,187],[446,186],[447,186],[163,186],[172,1],[171,186],[391,188],[426,186],[161,1],[427,189],[392,190],[393,191],[395,191],[403,191],[409,191],[412,191],[419,191],[423,191],[428,191],[433,191],[438,191],[440,191],[443,191],[458,191],[464,191],[467,191],[454,191],[471,191],[456,191],[450,191],[453,191],[478,191],[481,191],[452,191],[451,191],[485,191],[487,191],[449,191],[455,191],[448,191],[492,191],[394,192],[396,193],[404,194],[410,195],[413,196],[420,197],[424,198],[429,199],[430,200],[434,201],[439,202],[441,203],[444,204],[459,205],[465,206],[466,207],[468,208],[469,209],[472,210],[473,211],[474,212],[476,213],[477,214],[479,215],[482,216],[483,217],[484,218],[486,219],[488,220],[489,221],[490,222],[491,223],[493,224],[494,225],[457,226],[390,227],[386,228]],"exportedModulesMap":[[497,229],[818,2],[823,230],[825,231],[406,232],[824,232],[833,233],[385,234],[365,8],[367,9],[366,8],[369,235],[371,236],[372,237],[373,238],[374,236],[375,237],[376,236],[377,239],[378,237],[379,236],[380,240],[381,8],[382,8],[383,241],[370,17],[384,242],[368,242],[821,243],[511,20],[512,20],[513,20],[514,20],[515,20],[516,20],[517,20],[518,20],[519,20],[520,20],[521,20],[522,20],[523,20],[524,20],[525,20],[526,20],[527,20],[528,20],[529,20],[530,20],[531,20],[532,20],[533,20],[534,20],[535,20],[536,20],[537,20],[538,20],[539,20],[540,20],[541,20],[542,20],[543,20],[544,20],[545,20],[546,20],[547,20],[548,20],[549,20],[550,20],[551,20],[552,20],[553,20],[554,20],[555,20],[556,20],[557,20],[558,20],[559,20],[560,20],[561,20],[562,20],[563,20],[564,20],[565,20],[566,20],[567,20],[568,20],[569,20],[570,20],[571,20],[572,20],[573,20],[574,20],[575,20],[576,20],[577,20],[578,20],[579,20],[580,20],[581,20],[582,20],[583,20],[584,20],[585,20],[586,20],[587,20],[588,20],[589,20],[590,20],[591,20],[592,20],[593,20],[594,20],[595,20],[596,20],[597,20],[598,20],[599,20],[600,20],[601,20],[602,20],[603,20],[604,20],[605,20],[606,20],[607,20],[815,21],[608,20],[609,20],[610,20],[611,20],[612,20],[613,20],[614,20],[615,20],[616,20],[617,20],[618,20],[619,20],[620,20],[621,20],[622,20],[623,20],[624,20],[625,20],[626,20],[627,20],[628,20],[629,20],[630,20],[631,20],[632,20],[633,20],[634,20],[635,20],[636,20],[637,20],[638,20],[639,20],[640,20],[641,20],[642,20],[643,20],[644,20],[645,20],[646,20],[647,20],[648,20],[649,20],[650,20],[651,20],[652,20],[653,20],[654,20],[655,20],[656,20],[657,20],[658,20],[659,20],[660,20],[661,20],[662,20],[663,20],[664,20],[665,20],[666,20],[667,20],[668,20],[669,20],[670,20],[671,20],[672,20],[673,20],[674,20],[675,20],[676,20],[677,20],[678,20],[679,20],[680,20],[681,20],[682,20],[683,20],[684,20],[685,20],[686,20],[687,20],[688,20],[689,20],[690,20],[691,20],[692,20],[693,20],[694,20],[695,20],[696,20],[697,20],[698,20],[699,20],[700,20],[701,20],[702,20],[703,20],[704,20],[705,20],[706,20],[707,20],[708,20],[709,20],[710,20],[711,20],[712,20],[713,20],[714,20],[715,20],[716,20],[717,20],[718,20],[719,20],[720,20],[721,20],[722,20],[723,20],[724,20],[725,20],[726,20],[727,20],[728,20],[729,20],[730,20],[731,20],[732,20],[733,20],[734,20],[735,20],[736,20],[737,20],[738,20],[739,20],[740,20],[741,20],[742,20],[743,20],[744,20],[745,20],[746,20],[747,20],[748,20],[749,20],[750,20],[751,20],[752,20],[753,20],[754,20],[755,20],[756,20],[757,20],[758,20],[759,20],[760,20],[761,20],[762,20],[763,20],[764,20],[765,20],[766,20],[767,20],[768,20],[769,20],[770,20],[771,20],[772,20],[773,20],[774,20],[775,20],[776,20],[777,20],[778,20],[779,20],[780,20],[781,20],[782,20],[783,20],[784,20],[785,20],[786,20],[787,20],[788,20],[789,20],[790,20],[791,20],[792,20],[793,20],[794,20],[795,20],[796,20],[797,20],[798,20],[799,20],[800,20],[801,20],[802,20],[803,20],[804,20],[805,20],[806,20],[807,20],[808,20],[809,20],[810,20],[811,20],[812,20],[813,20],[814,20],[499,22],[500,23],[498,24],[501,25],[502,26],[503,27],[504,28],[505,29],[506,30],[507,31],[508,32],[509,33],[510,34],[858,35],[843,36],[849,37],[846,38],[848,39],[857,40],[852,41],[854,42],[855,43],[856,44],[851,44],[853,44],[845,44],[860,45],[841,36],[842,46],[840,36],[74,47],[75,47],[110,48],[111,49],[112,50],[113,51],[114,52],[115,53],[116,54],[117,55],[118,56],[119,57],[120,57],[122,58],[121,59],[123,60],[124,61],[125,62],[109,63],[126,64],[127,65],[128,66],[160,67],[129,68],[130,69],[131,70],[132,71],[133,72],[134,73],[135,74],[136,75],[137,76],[138,77],[139,77],[140,78],[141,79],[143,80],[142,81],[144,82],[145,83],[146,84],[147,85],[148,86],[149,87],[150,88],[151,89],[152,90],[153,91],[154,92],[155,93],[156,94],[157,95],[158,96],[865,244],[868,245],[893,99],[894,100],[869,101],[872,101],[891,99],[892,99],[882,99],[881,102],[879,99],[874,99],[887,99],[885,99],[889,99],[873,99],[886,99],[890,99],[875,99],[876,99],[888,99],[870,99],[877,99],[878,99],[880,99],[884,99],[895,103],[883,99],[871,99],[908,104],[902,103],[904,105],[903,103],[896,103],[897,103],[899,103],[901,103],[905,105],[906,105],[898,105],[900,105],[407,246],[364,247],[830,248],[832,249],[831,250],[829,251],[827,252],[399,113],[398,114],[73,115],[72,116],[422,117],[387,253],[867,254],[363,120],[314,121],[312,121],[362,122],[327,123],[326,123],[227,124],[178,125],[334,124],[335,124],[337,126],[338,124],[339,127],[238,128],[340,124],[311,124],[341,124],[342,129],[343,124],[344,123],[345,130],[346,124],[347,124],[348,124],[349,124],[350,123],[351,124],[352,124],[353,124],[354,124],[355,131],[356,124],[357,124],[358,124],[359,124],[360,124],[177,122],[180,127],[181,127],[182,127],[183,127],[184,127],[185,127],[186,127],[187,124],[189,132],[190,127],[188,127],[191,127],[192,127],[193,127],[194,127],[195,127],[196,127],[197,124],[198,127],[199,127],[200,127],[201,127],[202,127],[203,124],[204,127],[205,127],[206,127],[207,127],[208,127],[209,127],[210,124],[212,133],[211,127],[213,127],[214,127],[215,127],[216,127],[217,131],[218,124],[219,124],[233,134],[221,135],[222,127],[223,127],[224,124],[225,127],[226,127],[228,136],[229,127],[230,127],[231,127],[232,127],[234,127],[235,127],[236,127],[237,127],[239,137],[240,127],[241,127],[242,127],[243,124],[244,127],[245,138],[246,138],[247,138],[248,124],[249,127],[250,127],[251,127],[256,127],[252,127],[253,124],[254,127],[255,124],[257,127],[258,127],[259,127],[260,127],[261,127],[262,127],[263,124],[264,127],[265,127],[266,127],[267,127],[268,127],[269,127],[270,127],[271,127],[272,127],[273,127],[274,127],[275,127],[276,127],[277,127],[278,127],[279,127],[280,139],[281,127],[282,127],[283,127],[284,127],[285,127],[286,127],[287,124],[288,124],[289,124],[290,124],[291,124],[292,127],[293,127],[294,127],[295,127],[313,140],[361,124],[298,141],[297,142],[321,143],[320,144],[316,145],[315,144],[317,146],[306,147],[304,148],[319,149],[318,146],[307,150],[220,151],[176,152],[175,127],[302,153],[303,154],[301,155],[299,127],[308,156],[179,157],[325,123],[323,158],[296,159],[309,160],[92,255],[99,256],[91,255],[106,163],[83,257],[82,258],[105,253],[100,259],[103,260],[85,261],[84,169],[80,262],[79,263],[102,264],[81,265],[86,174],[90,174],[108,175],[107,174],[94,176],[95,177],[97,178],[93,179],[96,180],[101,253],[88,181],[89,266],[98,183],[78,267],[104,268],[162,186],[418,186],[411,186],[432,186],[475,186],[174,186],[436,186],[437,186],[431,269],[446,186],[447,186],[163,186],[172,229],[171,186],[391,188],[426,186],[161,229],[392,270],[393,191],[395,191],[403,191],[409,191],[412,191],[419,191],[423,191],[428,191],[433,191],[438,191],[440,191],[443,191],[458,191],[464,191],[467,191],[454,191],[471,191],[456,191],[450,191],[453,191],[478,191],[481,191],[452,191],[451,191],[485,191],[487,191],[449,191],[455,191],[448,191],[492,191],[390,227],[386,271]],"semanticDiagnosticsPerFile":[816,470,497,818,866,819,820,823,825,406,824,833,385,365,367,366,369,371,372,373,374,375,376,377,378,379,380,381,382,383,370,384,368,834,835,836,821,822,837,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,815,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,499,500,498,501,502,503,504,505,506,507,508,509,510,858,843,849,847,846,848,857,852,854,855,856,850,851,853,845,844,860,839,838,841,842,840,405,861,817,74,75,110,111,112,113,114,115,116,117,118,119,120,122,121,123,124,125,109,159,126,127,128,160,129,130,131,132,133,134,135,136,137,138,139,140,141,143,142,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,862,863,864,865,868,893,894,869,872,891,892,882,881,879,874,887,885,889,873,886,890,875,876,888,870,877,878,880,884,895,883,871,908,907,902,904,903,896,897,899,901,905,906,898,900,407,364,828,830,859,832,831,909,910,826,829,66,76,65,827,421,64,399,398,397,73,72,69,68,70,71,422,387,867,363,336,314,312,362,327,326,227,178,334,335,337,338,339,238,340,311,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,177,180,181,182,183,184,185,186,187,189,190,188,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,212,211,213,214,215,216,217,218,219,233,221,222,223,224,225,226,228,229,230,231,232,234,235,236,237,239,240,241,242,243,244,245,246,247,248,249,250,251,256,252,253,254,255,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,313,361,298,297,321,320,316,315,317,306,304,319,318,305,307,220,176,175,310,302,303,300,301,299,308,179,328,329,322,325,324,330,331,323,332,333,296,309,62,63,13,12,2,14,15,16,17,18,19,20,21,3,4,22,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,58,10,1,11,61,60,59,92,99,91,106,83,82,105,100,103,85,84,80,79,102,81,86,87,90,77,108,107,94,95,97,93,96,101,88,89,98,78,104,67,162,401,402,418,411,416,432,475,174,169,170,462,460,166,167,436,437,414,431,164,165,461,168,425,442,435,408,446,447,463,480,163,400,172,171,445,173,415,391,417,426,161,427,392,393,395,403,409,412,419,423,428,433,438,440,443,458,464,467,454,471,456,450,453,478,481,452,451,485,487,449,455,448,492,394,396,404,410,413,420,424,429,430,434,439,441,444,459,465,466,468,469,472,473,474,476,477,479,482,483,484,486,488,489,490,491,493,494,457,389,390,388,386,495,496],"latestChangedDtsFile":"./lib/locales/en-US.d.ts"},"version":"5.3.3"} \ No newline at end of file diff --git a/packages/go/.eslintrc.js b/packages/go/.eslintrc.js new file mode 100644 index 000000000..beb2a4395 --- /dev/null +++ b/packages/go/.eslintrc.js @@ -0,0 +1,21 @@ +module.exports = { + extends: '@eslint-sets/ts', + rules: { + camelcase: 0, + 'import/namespace': [2, { allowComputed: true }] + }, + ignorePatterns: [ + 'lib', + 'es', + 'dist', + 'docs', + 'app', + 'ui', + 'cache/*', + '*_bak', + '*.bak', + 'pnpm-lock.yaml', + 'stats.html', + 'dist_electron' + ] +} diff --git a/packages/go/LICENSE b/packages/go/LICENSE new file mode 100644 index 000000000..7eb5b6aa8 --- /dev/null +++ b/packages/go/LICENSE @@ -0,0 +1,676 @@ +saqqdy +========== + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/packages/go/README.md b/packages/go/README.md new file mode 100644 index 000000000..c32826af7 --- /dev/null +++ b/packages/go/README.md @@ -0,0 +1,57 @@ +
+ +# @gitmars/go + +some go js for gitmars + +[![NPM version][npm-image]][npm-url] +[![Codacy Badge][codacy-image]][codacy-url] +[![npm download][download-image]][download-url] +[![gzip][gzip-image]][gzip-url] +[![License][license-image]][license-url] + +[![Sonar][sonar-image]][sonar-url] + +
+ +## Install + +```bash +# use npm +$ npm install @gitmars/go --save + +# use yarn +$ yarn add @gitmars/go + +# use pnpm +$ pnpm install @gitmars/go +``` + +## Usage + +```js +const { getUserInfo } = require('@gitmars/go') + +getUserInfo() +``` + +## Issues & Support + +Please open an issue [here](https://github.com/saqqdy/@gitmars/go/issues). + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/@gitmars/go.svg?style=flat-square +[npm-url]: https://npmjs.org/package/@gitmars/go +[codacy-image]: https://app.codacy.com/project/badge/Grade/f70d4880e4ad4f40aa970eb9ee9d0696 +[codacy-url]: https://www.codacy.com/gh/saqqdy/@gitmars/go/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saqqdy/@gitmars/go&utm_campaign=Badge_Grade +[download-image]: https://img.shields.io/npm/dm/@gitmars/go.svg?style=flat-square +[download-url]: https://npmjs.org/package/@gitmars/go +[gzip-image]: http://img.badgesize.io/https://unpkg.com/@gitmars/go/index.js?compression=gzip&label=gzip%20size:%20JS +[gzip-url]: http://img.badgesize.io/https://unpkg.com/@gitmars/go/index.js?compression=gzip&label=gzip%20size:%20JS +[license-image]: https://img.shields.io/badge/License-MIT-blue.svg +[license-url]: LICENSE +[sonar-image]: https://sonarcloud.io/api/project_badges/quality_gate?project=saqqdy_gitmars +[sonar-url]: https://sonarcloud.io/dashboard?id=saqqdy_gitmars diff --git a/packages/go/api-extractor.json b/packages/go/api-extractor.json new file mode 100644 index 000000000..445e874b7 --- /dev/null +++ b/packages/go/api-extractor.json @@ -0,0 +1,44 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "projectFolder": ".", + "mainEntryPointFilePath": "./temp/index.d.ts", + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./dist/index.d.ts" + }, + "apiReport": { + "enabled": false + }, + "docModel": { + "enabled": false + }, + "tsdocMetadata": { + "enabled": false + }, + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "extractorMessageReporting": { + "default": { + "logLevel": "warning", + "addToApiReportFile": true + }, + + "ae-missing-release-tag": { + "logLevel": "none" + } + }, + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + }, + "tsdoc-undefined-tag": { + "logLevel": "none" + } + } + } +} diff --git a/packages/go/package.json b/packages/go/package.json new file mode 100644 index 000000000..5ffec5c29 --- /dev/null +++ b/packages/go/package.json @@ -0,0 +1,68 @@ +{ + "name": "@gitmars/go", + "description": "gitmars go", + "version": "7.0.0-beta.24", + "private": false, + "main": "./dist/index.cjs.js", + "module": "./dist/index.esm-bundler.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "module": "./dist/index.esm-bundler.js", + "require": "./dist/index.cjs.js", + "import": "./dist/index.mjs" + }, + "./*": "./*" + }, + "files": [ + "dist", + "typings", + "*.d.ts" + ], + "scripts": {}, + "directories": { + "bin": "bin", + "dist": "dist", + "src": "src" + }, + "dependencies": { + "@gitmars/utils": "workspace:*", + "chalk": "^4.1.2", + "inquirer": "^8.2.6", + "os-lang": "^3.2.0" + }, + "devDependencies": { + "@eslint-sets/eslint-config-ts": "^5.13.0", + "@types/inquirer": "^9.0.7", + "@types/node": "^20.12.7", + "cross-env": "^7.0.3", + "eslint": "^8.57.0", + "madge": "^7.0.0", + "prettier": "^3.2.5", + "prettier-config-common": "^1.4.0", + "tsnd": "^1.1.0", + "typescript": "^5.4.5" + }, + "sideEffects": false, + "keywords": [ + "gitmars", + "git", + "tool" + ], + "license": "GPL-3.0", + "author": "saqqdy ", + "homepage": "https://github.com/saqqdy/gitmars/tree/master/packages/go#readme", + "bugs": { + "url": "https://github.com/saqqdy/gitmars/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/saqqdy/gitmars.git", + "directory": "packages/go" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org", + "access": "public" + } +} diff --git a/packages/core/src/go/cleanConfigSet.ts b/packages/go/src/cleanConfigSet.ts similarity index 75% rename from packages/core/src/go/cleanConfigSet.ts rename to packages/go/src/cleanConfigSet.ts index 9dc8bd1e2..6e0237396 100644 --- a/packages/core/src/go/cleanConfigSet.ts +++ b/packages/go/src/cleanConfigSet.ts @@ -1,9 +1,13 @@ -import type { GitmarsOptionType } from '../../typings/core' +import type { GitmarsOptionType } from './types' export interface GoCleanConfigType { + // 删除option delOptions?: string[] + // 必填option requiredOptions?: string[] + // 删除参数 delArgs?: string[] + // 必填参数 requiredArgs?: string[] } @@ -11,13 +15,9 @@ export interface GoCleanConfigType { * 清理参数 * * @public - * @param {object} config 配置 - * @param {object} sets 清理设置 - * @param {array} sets.delOptions 删除option - * @param {array} sets.requiredOptions 必填option - * @param {array} sets.delArgs 删除参数 - * @param {array} sets.requiredArgs 必填参数 - * @returns {object} result 返回config + * @param config - 配置 + * @param sets - 清理设置 + * @returns result - config */ function cleanConfigSet( config: GitmarsOptionType, diff --git a/packages/core/src/go/createPrompt.ts b/packages/go/src/createPrompt.ts similarity index 90% rename from packages/core/src/go/createPrompt.ts rename to packages/go/src/createPrompt.ts index 8f121ae18..75a50c3c5 100644 --- a/packages/core/src/go/createPrompt.ts +++ b/packages/go/src/createPrompt.ts @@ -1,12 +1,15 @@ import chalk from 'chalk' -import type { GitmarsOptionArgsType, GitmarsOptionOptionsType } from '../../typings/core' -import lang from '#lib/lang' +import type { GitmarsOptionArgsType, GitmarsOptionOptionsType } from './types' +import lang from './lang' const { t } = lang export interface PromptConfigType { + // 配置参数 options: GitmarsOptionArgsType[] | GitmarsOptionOptionsType[] + // 校验器 validator?(val: string, opts: object, cb: any): void + // 参数转换 transform?(val: string, opts: object, cb: any): void } @@ -38,9 +41,6 @@ export interface PromptOptionInputType { * * @param command - 指令名称 * @param config - 配置 - * @param config.options - 配置参数 - * @param config.validator - 校验器 - * @param config.transform - 参数转换 * @param type - 类型checkbox/input/list * @returns prompt - 返回prompt */ @@ -87,17 +87,17 @@ function createPrompt( name: opts.name, message: `${ opts.description || - t('Enter the value of parameter {{option}}', { + t('Enter the value of parameter {option}', { option: opts.name }) }${ !opts.required ? chalk.yellow( - t('(' + 'Not required{{{tips}}}' + ')', { + t('(' + 'Not required{tips}' + ')', { tips: 'defaultValue' in opts && opts.defaultValue !== '' ? ', ' + - t('default "{{{defaultValue}}}"', { + t('default "{defaultValue}"', { defaultValue: opts.defaultValue }) : '' diff --git a/packages/core/src/go/getCommand.ts b/packages/go/src/getCommand.ts similarity index 86% rename from packages/core/src/go/getCommand.ts rename to packages/go/src/getCommand.ts index d47dd98b5..fa581d078 100644 --- a/packages/core/src/go/getCommand.ts +++ b/packages/go/src/getCommand.ts @@ -1,6 +1,6 @@ import inquirer from 'inquirer' -import type { GitmarsOptionType } from '../../typings/core' -import createPrompt from '#lib/go/createPrompt' +import type { GitmarsOptionType } from './types' +import createPrompt from './createPrompt' export interface CommandNeedInput { required: boolean @@ -15,13 +15,6 @@ export interface CommandNeedInput { * * @public * @param config - 配置 - * @param config.command - 指令名称 - * @param config.args - 指令参数 - * @param config.options - 指令传参 - * @param config.validatorOpts - 校验参数 - * @param config.validatorArgs - 校验传参 - * @param config.transformOpts - 参数值转换 - * @param config.transformArgs - 传参值转换 * @returns result - 返回指令结果Promise */ async function getCommand({ diff --git a/packages/go/src/index.default.ts b/packages/go/src/index.default.ts new file mode 100644 index 000000000..502f01468 --- /dev/null +++ b/packages/go/src/index.default.ts @@ -0,0 +1,14 @@ +import cleanConfigSet from './cleanConfigSet' +import createPrompt from './createPrompt' +import getCommand from './getCommand' + +export type { GoCleanConfigType } from './cleanConfigSet' +export type { PromptConfigType } from './createPrompt' +export type { CommandNeedInput } from './getCommand' +export type * from './types' +export default { + version: '__VERSION__', + cleanConfigSet, + createPrompt, + getCommand +} diff --git a/packages/go/src/index.ts b/packages/go/src/index.ts new file mode 100644 index 000000000..4b6f1246f --- /dev/null +++ b/packages/go/src/index.ts @@ -0,0 +1,7 @@ +export { default as cleanConfigSet } from './cleanConfigSet' +export { default as createPrompt } from './createPrompt' +export { default as getCommand } from './getCommand' + +export { default } from './index.default' +export type * from './index.default' +export const version = '__VERSION__' as string diff --git a/packages/go/src/lang.ts b/packages/go/src/lang.ts new file mode 100644 index 000000000..8e298ce5a --- /dev/null +++ b/packages/go/src/lang.ts @@ -0,0 +1,11 @@ +import { osLangSync } from 'os-lang' +import { useLocale } from '@gitmars/utils' +import * as languages from './locales' + +export type LanguageType = Exclude + +const locales: LanguageType[] = ['enUS', 'zhCN'] +let localeName = (process.env.GITMARS_LANG || osLangSync()).replace('-', '') as LanguageType +if (!locales.includes(localeName)) localeName = 'enUS' + +export default useLocale(languages[localeName]) diff --git a/packages/go/src/locales/en-US.ts b/packages/go/src/locales/en-US.ts new file mode 100644 index 000000000..bf11574a7 --- /dev/null +++ b/packages/go/src/locales/en-US.ts @@ -0,0 +1,3 @@ +export default { + name: 'en-US' +} diff --git a/packages/go/src/locales/index.ts b/packages/go/src/locales/index.ts new file mode 100644 index 000000000..19436241b --- /dev/null +++ b/packages/go/src/locales/index.ts @@ -0,0 +1,10 @@ +export { default as zhCN } from './zh-CN' +export { default as enUS } from './en-US' + +export interface TranslatePair { + [key: string]: string | string[] | TranslatePair +} +export interface Language extends Record { + name: string + // base?: TranslatePair +} diff --git a/packages/go/src/locales/zh-CN.ts b/packages/go/src/locales/zh-CN.ts new file mode 100644 index 000000000..d00acca05 --- /dev/null +++ b/packages/go/src/locales/zh-CN.ts @@ -0,0 +1,3 @@ +export default { + name: 'zh-CN' +} diff --git a/packages/go/src/types.ts b/packages/go/src/types.ts new file mode 100644 index 000000000..31550b7b2 --- /dev/null +++ b/packages/go/src/types.ts @@ -0,0 +1,54 @@ +export interface GitmarsOptionArgsType { + required: boolean + name: string + variadic: boolean + validator?(val: string, opts: object, cb: Function): void + transformer?(val: string, answers: object, flags: object, options: GitmarsOptionArgsType): void + description?: string + defaultValue?: any + options?: Array + value?: string +} + +export interface GitmarsOptionOptionsType { + flags: string + required: boolean + optional: boolean + variadic: boolean + mandatory: boolean + short?: string | null + long: string + negate: boolean + description: string + defaultValue?: any + value?: any + recommend?: boolean + options?: Array + validator?(val: string, opts: object, cb: Function): void + transformer?( + val: string, + answers: object, + flags: object, + options: GitmarsOptionOptionsType + ): void + when?(answers: object): void +} + +export interface GitmarsOptionType { + // 指令名称 + command: string + // short command + short?: string | null + // 指令参数 + args: GitmarsOptionArgsType[] + // 指令传参 + options: GitmarsOptionOptionsType[] + // 校验参数 + validatorOpts?(val: any, opts: object, cb: Function): void + // 校验传参 + validatorArgs?(val: any, opts: object, cb: Function): void + // 参数值转换 + transformOpts?(val: any, opts: object, cb: Function): void + // 传参值转换 + transformArgs?(val: any, opts: object, cb: Function): void +} diff --git a/packages/go/tsconfig.json b/packages/go/tsconfig.json new file mode 100644 index 000000000..119b2ad90 --- /dev/null +++ b/packages/go/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + // "composite": true, + "target": "ESNext", + "module": "ESNext", + "sourceMap": true, + "declaration": true, + "emitDeclarationOnly": true, + "rootDir": "src", + "outDir": "temp", + "baseUrl": ".", + "paths": {} + } +} diff --git a/packages/go/typedoc.js b/packages/go/typedoc.js new file mode 100644 index 000000000..873fa676e --- /dev/null +++ b/packages/go/typedoc.js @@ -0,0 +1,12 @@ +module.exports = { + out: 'typedoc', + entryPoints: ['src/**/*.ts'], + json: 'typedoc/out.json', + name: 'index.md', + includeVersion: true, + readme: 'README.md' + // emit: true, + // exclude: '', + // externalPattern: '', + // excludeExternals: '' +} diff --git a/packages/hook/.eslintrc.js b/packages/hook/.eslintrc.js new file mode 100644 index 000000000..beb2a4395 --- /dev/null +++ b/packages/hook/.eslintrc.js @@ -0,0 +1,21 @@ +module.exports = { + extends: '@eslint-sets/ts', + rules: { + camelcase: 0, + 'import/namespace': [2, { allowComputed: true }] + }, + ignorePatterns: [ + 'lib', + 'es', + 'dist', + 'docs', + 'app', + 'ui', + 'cache/*', + '*_bak', + '*.bak', + 'pnpm-lock.yaml', + 'stats.html', + 'dist_electron' + ] +} diff --git a/packages/hook/LICENSE b/packages/hook/LICENSE new file mode 100644 index 000000000..7eb5b6aa8 --- /dev/null +++ b/packages/hook/LICENSE @@ -0,0 +1,676 @@ +saqqdy +========== + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/packages/hook/README.md b/packages/hook/README.md new file mode 100644 index 000000000..7724c8ce1 --- /dev/null +++ b/packages/hook/README.md @@ -0,0 +1,57 @@ +
+ +# @gitmars/hook + +some hook js for gitmars + +[![NPM version][npm-image]][npm-url] +[![Codacy Badge][codacy-image]][codacy-url] +[![npm download][download-image]][download-url] +[![gzip][gzip-image]][gzip-url] +[![License][license-image]][license-url] + +[![Sonar][sonar-image]][sonar-url] + +
+ +## Install + +```bash +# use npm +$ npm install @gitmars/hook --save + +# use yarn +$ yarn add @gitmars/hook + +# use pnpm +$ pnpm install @gitmars/hook +``` + +## Usage + +```js +const { getUserInfo } = require('@gitmars/hook') + +getUserInfo() +``` + +## Issues & Support + +Please open an issue [here](https://github.com/saqqdy/@gitmars/hook/issues). + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/@gitmars/hook.svg?style=flat-square +[npm-url]: https://npmjs.org/package/@gitmars/hook +[codacy-image]: https://app.codacy.com/project/badge/Grade/f70d4880e4ad4f40aa970eb9ee9d0696 +[codacy-url]: https://www.codacy.com/gh/saqqdy/@gitmars/hook/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saqqdy/@gitmars/hook&utm_campaign=Badge_Grade +[download-image]: https://img.shields.io/npm/dm/@gitmars/hook.svg?style=flat-square +[download-url]: https://npmjs.org/package/@gitmars/hook +[gzip-image]: http://img.badgesize.io/https://unpkg.com/@gitmars/hook/index.js?compression=gzip&label=gzip%20size:%20JS +[gzip-url]: http://img.badgesize.io/https://unpkg.com/@gitmars/hook/index.js?compression=gzip&label=gzip%20size:%20JS +[license-image]: https://img.shields.io/badge/License-MIT-blue.svg +[license-url]: LICENSE +[sonar-image]: https://sonarcloud.io/api/project_badges/quality_gate?project=saqqdy_gitmars +[sonar-url]: https://sonarcloud.io/dashboard?id=saqqdy_gitmars diff --git a/packages/hook/api-extractor.json b/packages/hook/api-extractor.json new file mode 100644 index 000000000..445e874b7 --- /dev/null +++ b/packages/hook/api-extractor.json @@ -0,0 +1,44 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "projectFolder": ".", + "mainEntryPointFilePath": "./temp/index.d.ts", + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./dist/index.d.ts" + }, + "apiReport": { + "enabled": false + }, + "docModel": { + "enabled": false + }, + "tsdocMetadata": { + "enabled": false + }, + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "extractorMessageReporting": { + "default": { + "logLevel": "warning", + "addToApiReportFile": true + }, + + "ae-missing-release-tag": { + "logLevel": "none" + } + }, + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + }, + "tsdoc-undefined-tag": { + "logLevel": "none" + } + } + } +} diff --git a/packages/hook/package.json b/packages/hook/package.json new file mode 100644 index 000000000..17937b927 --- /dev/null +++ b/packages/hook/package.json @@ -0,0 +1,74 @@ +{ + "name": "@gitmars/hook", + "description": "gitmars hook", + "version": "7.0.0-beta.24", + "private": false, + "main": "./dist/index.cjs.js", + "module": "./dist/index.esm-bundler.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "module": "./dist/index.esm-bundler.js", + "require": "./dist/index.cjs.js", + "import": "./dist/index.mjs" + }, + "./*": "./*" + }, + "files": [ + "sh", + "dist", + "typings", + "*.d.ts" + ], + "scripts": {}, + "directories": { + "sh": "sh", + "bin": "bin", + "dist": "dist", + "src": "src" + }, + "dependencies": { + "@gitmars/core": "workspace:*", + "@gitmars/git": "workspace:*", + "@gitmars/utils": "workspace:*", + "chalk": "^4.1.2", + "ci-info": "^4.0.0", + "js-cool": "^5.19.0", + "os-lang": "^3.2.0", + "shelljs": "^0.8.5" + }, + "devDependencies": { + "@eslint-sets/eslint-config-ts": "^5.13.0", + "@types/node": "^20.12.7", + "@types/shelljs": "^0.8.15", + "cross-env": "^7.0.3", + "eslint": "^8.57.0", + "madge": "^7.0.0", + "prettier": "^3.2.5", + "prettier-config-common": "^1.4.0", + "tsnd": "^1.1.0", + "typescript": "^5.4.5" + }, + "sideEffects": false, + "keywords": [ + "gitmars", + "git", + "tool" + ], + "license": "GPL-3.0", + "author": "saqqdy ", + "homepage": "https://github.com/saqqdy/gitmars/tree/master/packages/hook#readme", + "bugs": { + "url": "https://github.com/saqqdy/gitmars/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/saqqdy/gitmars.git", + "directory": "packages/hook" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org", + "access": "public" + } +} diff --git a/packages/core/sh/gitmars.sh b/packages/hook/sh/gitmars.sh similarity index 100% rename from packages/core/sh/gitmars.sh rename to packages/hook/sh/gitmars.sh diff --git a/packages/core/src/hook/checkGitDirEnv.ts b/packages/hook/src/checkGitDirEnv.ts similarity index 80% rename from packages/core/src/hook/checkGitDirEnv.ts rename to packages/hook/src/checkGitDirEnv.ts index 3f182ce6a..5ad73e0da 100644 --- a/packages/core/src/hook/checkGitDirEnv.ts +++ b/packages/hook/src/checkGitDirEnv.ts @@ -1,5 +1,5 @@ -import { debug } from '#lib/utils/debug' -import lang from '#lib/lang' +import { debug } from '@gitmars/utils' +import lang from './lang' const { t } = lang diff --git a/packages/core/src/hook/getHookComment.ts b/packages/hook/src/getHookComment.ts similarity index 78% rename from packages/core/src/hook/getHookComment.ts rename to packages/hook/src/getHookComment.ts index 05226d07d..22a750326 100644 --- a/packages/core/src/hook/getHookComment.ts +++ b/packages/hook/src/getHookComment.ts @@ -1,6 +1,4 @@ -import getGitConfig from '#lib/git/getGitConfig' -import getGitRevParse from '#lib/git/getGitRevParse' -import readPkg from '#lib/utils/readPkg' +import { getGitConfig, getGitRevParse, readPkg } from '@gitmars/git' const { gitUrl } = getGitConfig() const { root } = getGitRevParse() diff --git a/packages/core/src/hook/getHookShell.ts b/packages/hook/src/getHookShell.ts similarity index 74% rename from packages/core/src/hook/getHookShell.ts rename to packages/hook/src/getHookShell.ts index 68e02dbdc..b7a6a2f66 100644 --- a/packages/core/src/hook/getHookShell.ts +++ b/packages/hook/src/getHookShell.ts @@ -1,8 +1,8 @@ import fs from 'fs' import { resolve } from 'path' -import readPkg from '#lib/utils/readPkg' -import { SH_PATH } from '#lib/utils/paths' -import getHookComment from '#lib/hook/getHookComment' +import { readPkg } from '@gitmars/git' +import { SH_PATH } from './paths' +import getHookComment from './getHookComment' /** * 生成hook主程序 diff --git a/packages/core/src/hook/getHookType.ts b/packages/hook/src/getHookType.ts similarity index 100% rename from packages/core/src/hook/getHookType.ts rename to packages/hook/src/getHookType.ts diff --git a/packages/core/src/hook/getLocalShell.ts b/packages/hook/src/getLocalShell.ts similarity index 87% rename from packages/core/src/hook/getLocalShell.ts rename to packages/hook/src/getLocalShell.ts index 041e5b925..33b7c2437 100644 --- a/packages/core/src/hook/getLocalShell.ts +++ b/packages/hook/src/getLocalShell.ts @@ -1,4 +1,4 @@ -import getHookComment from '#lib/hook/getHookComment' +import getHookComment from './getHookComment' const hookComment = getHookComment() /** diff --git a/packages/core/src/hook/getPackageManager.ts b/packages/hook/src/getPackageManager.ts similarity index 100% rename from packages/core/src/hook/getPackageManager.ts rename to packages/hook/src/getPackageManager.ts diff --git a/packages/core/src/hook/index.ts b/packages/hook/src/index.ts similarity index 87% rename from packages/core/src/hook/index.ts rename to packages/hook/src/index.ts index fa15bd2fc..79d14959e 100644 --- a/packages/core/src/hook/index.ts +++ b/packages/hook/src/index.ts @@ -4,14 +4,12 @@ import sh from 'shelljs' import chalk from 'chalk' import ciInfo from 'ci-info' import { compareVersion } from 'js-cool' -import getConfig from '#lib/getConfig' -import getGitVersion from '#lib/git/getGitVersion' -import getGitRevParse from '#lib/git/getGitRevParse' -import getHookComment from '#lib/hook/getHookComment' -import getHookType from '#lib/hook/getHookType' -import getHookShell from '#lib/hook/getHookShell' -import getLocalShell from '#lib/hook/getLocalShell' -import lang from '#lib/lang' +import { getConfig, getGitRevParse, getGitVersion } from '@gitmars/git' +import getHookComment from './getHookComment' +import getHookType from './getHookType' +import getHookShell from './getHookShell' +import getLocalShell from './getLocalShell' +import lang from './lang' const { t } = lang const hookList = [ @@ -62,13 +60,13 @@ ${getHookComment()} const hook = fs.readFileSync(filename, 'utf-8') // 合并 if (getHookType.isGhooks(hook)) { - console.info(t('Merge existing ghooks hooks: {{name}}', { name })) + console.info(t('Merge existing ghooks hooks: {name}', { name })) return writeHook(filename, hookShell) } // 合并 if (getHookType.isPreCommit(hook)) { console.info( - t('Merge existing pre-commit hooks: {{name}}', { + t('Merge existing pre-commit hooks: {name}', { name }) ) @@ -84,7 +82,7 @@ ${getHookComment()} } // 跳过 console.info( - t('Skip existing git hooks: {{name}}', { + t('Skip existing git hooks: {name}', { name }) ) @@ -213,13 +211,15 @@ export function remove(): void { console.info('gitmars hooks removed') } -export default { - init, - remove, - createHooks, - removeHooks, - createHookShell, - removeHookShell, - createLocalShell, - removeLocalShell -} +export { default as run } from './run' + +// export default { +// init, +// remove, +// createHooks, +// removeHooks, +// createHookShell, +// removeHookShell, +// createLocalShell, +// removeLocalShell +// } diff --git a/packages/hook/src/lang.ts b/packages/hook/src/lang.ts new file mode 100644 index 000000000..8e298ce5a --- /dev/null +++ b/packages/hook/src/lang.ts @@ -0,0 +1,11 @@ +import { osLangSync } from 'os-lang' +import { useLocale } from '@gitmars/utils' +import * as languages from './locales' + +export type LanguageType = Exclude + +const locales: LanguageType[] = ['enUS', 'zhCN'] +let localeName = (process.env.GITMARS_LANG || osLangSync()).replace('-', '') as LanguageType +if (!locales.includes(localeName)) localeName = 'enUS' + +export default useLocale(languages[localeName]) diff --git a/packages/hook/src/locales/en-US.ts b/packages/hook/src/locales/en-US.ts new file mode 100644 index 000000000..bf11574a7 --- /dev/null +++ b/packages/hook/src/locales/en-US.ts @@ -0,0 +1,3 @@ +export default { + name: 'en-US' +} diff --git a/packages/hook/src/locales/index.ts b/packages/hook/src/locales/index.ts new file mode 100644 index 000000000..19436241b --- /dev/null +++ b/packages/hook/src/locales/index.ts @@ -0,0 +1,10 @@ +export { default as zhCN } from './zh-CN' +export { default as enUS } from './en-US' + +export interface TranslatePair { + [key: string]: string | string[] | TranslatePair +} +export interface Language extends Record { + name: string + // base?: TranslatePair +} diff --git a/packages/hook/src/locales/zh-CN.ts b/packages/hook/src/locales/zh-CN.ts new file mode 100644 index 000000000..d00acca05 --- /dev/null +++ b/packages/hook/src/locales/zh-CN.ts @@ -0,0 +1,3 @@ +export default { + name: 'zh-CN' +} diff --git a/packages/hook/src/paths.ts b/packages/hook/src/paths.ts new file mode 100644 index 000000000..624f03564 --- /dev/null +++ b/packages/hook/src/paths.ts @@ -0,0 +1,8 @@ +import { dirname, resolve } from 'path' +import { fileURLToPath } from 'url' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = dirname(__filename) + +export const ROOT_PATH = resolve(__dirname, '..', '..') +export const SH_PATH = resolve(ROOT_PATH, 'sh') diff --git a/packages/core/src/hook/run.ts b/packages/hook/src/run.ts similarity index 91% rename from packages/core/src/hook/run.ts rename to packages/hook/src/run.ts index ccb13aa86..00a9827ef 100644 --- a/packages/core/src/hook/run.ts +++ b/packages/hook/src/run.ts @@ -1,8 +1,8 @@ -import type { ShellCode } from '../../typings/core' -import { spawnSync } from '#lib/spawn' -import getConfig from '#lib/getConfig' -import checkGitDirEnv from '#lib/hook/checkGitDirEnv' -import lang from '#lib/lang' +import { spawnSync } from '@gitmars/utils' +import { getConfig } from '@gitmars/git' +import type { ShellCode } from './types' +import checkGitDirEnv from './checkGitDirEnv' +import lang from './lang' const { t } = lang const config = getConfig() diff --git a/packages/hook/src/types.ts b/packages/hook/src/types.ts new file mode 100644 index 000000000..6a3f5a596 --- /dev/null +++ b/packages/hook/src/types.ts @@ -0,0 +1,2 @@ +// 127和128是git个别场景的执行结果值 +export type ShellCode = 0 | 1 | 127 | 128 diff --git a/packages/hook/tsconfig.json b/packages/hook/tsconfig.json new file mode 100644 index 000000000..119b2ad90 --- /dev/null +++ b/packages/hook/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + // "composite": true, + "target": "ESNext", + "module": "ESNext", + "sourceMap": true, + "declaration": true, + "emitDeclarationOnly": true, + "rootDir": "src", + "outDir": "temp", + "baseUrl": ".", + "paths": {} + } +} diff --git a/packages/hook/typedoc.js b/packages/hook/typedoc.js new file mode 100644 index 000000000..873fa676e --- /dev/null +++ b/packages/hook/typedoc.js @@ -0,0 +1,12 @@ +module.exports = { + out: 'typedoc', + entryPoints: ['src/**/*.ts'], + json: 'typedoc/out.json', + name: 'index.md', + includeVersion: true, + readme: 'README.md' + // emit: true, + // exclude: '', + // externalPattern: '', + // excludeExternals: '' +} diff --git a/packages/utils/.eslintrc.js b/packages/utils/.eslintrc.js new file mode 100644 index 000000000..beb2a4395 --- /dev/null +++ b/packages/utils/.eslintrc.js @@ -0,0 +1,21 @@ +module.exports = { + extends: '@eslint-sets/ts', + rules: { + camelcase: 0, + 'import/namespace': [2, { allowComputed: true }] + }, + ignorePatterns: [ + 'lib', + 'es', + 'dist', + 'docs', + 'app', + 'ui', + 'cache/*', + '*_bak', + '*.bak', + 'pnpm-lock.yaml', + 'stats.html', + 'dist_electron' + ] +} diff --git a/packages/utils/LICENSE b/packages/utils/LICENSE new file mode 100644 index 000000000..7eb5b6aa8 --- /dev/null +++ b/packages/utils/LICENSE @@ -0,0 +1,676 @@ +saqqdy +========== + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/packages/utils/README.md b/packages/utils/README.md new file mode 100644 index 000000000..4c61e216f --- /dev/null +++ b/packages/utils/README.md @@ -0,0 +1,57 @@ +
+ +# @gitmars/utils + +some utils js for gitmars + +[![NPM version][npm-image]][npm-url] +[![Codacy Badge][codacy-image]][codacy-url] +[![npm download][download-image]][download-url] +[![gzip][gzip-image]][gzip-url] +[![License][license-image]][license-url] + +[![Sonar][sonar-image]][sonar-url] + +
+ +## Install + +```bash +# use npm +$ npm install @gitmars/utils --save + +# use yarn +$ yarn add @gitmars/utils + +# use pnpm +$ pnpm install @gitmars/utils +``` + +## Usage + +```js +const { debug } = require('@gitmars/utils') + +debug() +``` + +## Issues & Support + +Please open an issue [here](https://github.com/saqqdy/@gitmars/utils/issues). + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/@gitmars/utils.svg?style=flat-square +[npm-url]: https://npmjs.org/package/@gitmars/utils +[codacy-image]: https://app.codacy.com/project/badge/Grade/f70d4880e4ad4f40aa970eb9ee9d0696 +[codacy-url]: https://www.codacy.com/gh/saqqdy/@gitmars/utils/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saqqdy/@gitmars/utils&utm_campaign=Badge_Grade +[download-image]: https://img.shields.io/npm/dm/@gitmars/utils.svg?style=flat-square +[download-url]: https://npmjs.org/package/@gitmars/utils +[gzip-image]: http://img.badgesize.io/https://unpkg.com/@gitmars/utils/index.js?compression=gzip&label=gzip%20size:%20JS +[gzip-url]: http://img.badgesize.io/https://unpkg.com/@gitmars/utils/index.js?compression=gzip&label=gzip%20size:%20JS +[license-image]: https://img.shields.io/badge/License-MIT-blue.svg +[license-url]: LICENSE +[sonar-image]: https://sonarcloud.io/api/project_badges/quality_gate?project=saqqdy_gitmars +[sonar-url]: https://sonarcloud.io/dashboard?id=saqqdy_gitmars diff --git a/packages/utils/api-extractor.json b/packages/utils/api-extractor.json new file mode 100644 index 000000000..445e874b7 --- /dev/null +++ b/packages/utils/api-extractor.json @@ -0,0 +1,44 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "projectFolder": ".", + "mainEntryPointFilePath": "./temp/index.d.ts", + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./dist/index.d.ts" + }, + "apiReport": { + "enabled": false + }, + "docModel": { + "enabled": false + }, + "tsdocMetadata": { + "enabled": false + }, + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "extractorMessageReporting": { + "default": { + "logLevel": "warning", + "addToApiReportFile": true + }, + + "ae-missing-release-tag": { + "logLevel": "none" + } + }, + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + }, + "tsdoc-undefined-tag": { + "logLevel": "none" + } + } + } +} diff --git a/packages/utils/package.json b/packages/utils/package.json new file mode 100644 index 000000000..abd2a63d0 --- /dev/null +++ b/packages/utils/package.json @@ -0,0 +1,74 @@ +{ + "name": "@gitmars/utils", + "description": "gitmars utils", + "version": "7.0.0-beta.24", + "private": false, + "main": "./dist/index.cjs.js", + "module": "./dist/index.esm-bundler.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "module": "./dist/index.esm-bundler.js", + "require": "./dist/index.cjs.js", + "import": "./dist/index.mjs" + }, + "./*": "./*" + }, + "files": [ + "dist", + "typings", + "*.d.ts" + ], + "scripts": {}, + "directories": { + "bin": "bin", + "dist": "dist", + "src": "src" + }, + "dependencies": { + "@gitmars/core": "workspace:*", + "@gitmars/git": "workspace:*", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "debug": "^4.3.4", + "ora": "^5.4.1", + "os-lang": "^3.2.0", + "shelljs": "^0.8.5" + }, + "devDependencies": { + "@eslint-sets/eslint-config-ts": "^5.13.0", + "@types/cross-spawn": "^6.0.6", + "@types/debug": "^4.1.12", + "@types/node": "^20.12.7", + "@types/shelljs": "^0.8.15", + "cross-env": "^7.0.3", + "eslint": "^8.57.0", + "madge": "^7.0.0", + "prettier": "^3.2.5", + "prettier-config-common": "^1.4.0", + "tsnd": "^1.1.0", + "typescript": "^5.4.5" + }, + "sideEffects": false, + "keywords": [ + "gitmars", + "git", + "tool" + ], + "license": "GPL-3.0", + "author": "saqqdy ", + "homepage": "https://github.com/saqqdy/gitmars/tree/master/packages/utils#readme", + "bugs": { + "url": "https://github.com/saqqdy/gitmars/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/saqqdy/gitmars.git", + "directory": "packages/utils" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org", + "access": "public" + } +} diff --git a/packages/core/src/utils/command.ts b/packages/utils/src/command.ts similarity index 80% rename from packages/core/src/utils/command.ts rename to packages/utils/src/command.ts index 650d110f5..a9e6690a3 100644 --- a/packages/core/src/utils/command.ts +++ b/packages/utils/src/command.ts @@ -1,4 +1,4 @@ -import type { GitmarsOptionArgsType } from '../../typings/core' +import type { GitmarsOptionArgsType } from './types' /** * 生成参数 @@ -17,7 +17,3 @@ export function createArgs(args: GitmarsOptionArgsType[]): string { }) return argArr.join(' ') } - -export default { - createArgs -} diff --git a/packages/core/src/utils/debug.ts b/packages/utils/src/debug.ts similarity index 90% rename from packages/core/src/utils/debug.ts rename to packages/utils/src/debug.ts index 7fe33d88c..148171cab 100644 --- a/packages/core/src/utils/debug.ts +++ b/packages/utils/src/debug.ts @@ -2,7 +2,7 @@ import chalk from 'chalk' import _debug from 'debug' const { red, yellow, green } = chalk -const name = '@gitmars/core' +const name = '@gitmars/utils' export const isDebug = ['1', 'true'].includes(process.env.GITMARS_DEBUG || '') || process.env.DEBUG @@ -41,10 +41,3 @@ export function debugError(infoName = '', ...args: any[]) { _debug(`${name}:error`)(`[${red(infoName)}]`, ...args) } } - -export default { - isDebug, - debug, - debugWarn, - debugError -} diff --git a/packages/core/src/utils/echo.ts b/packages/utils/src/echo.ts similarity index 70% rename from packages/core/src/utils/echo.ts rename to packages/utils/src/echo.ts index 96b12b30c..7d8f4354e 100644 --- a/packages/core/src/utils/echo.ts +++ b/packages/utils/src/echo.ts @@ -1,10 +1,10 @@ -import { format } from 'util' +import { format } from 'node:util' /** * 读取gitmars在线版本列表 * * @param name - 需要查询的内容 - * @returns {Object} arr Return the configuration object + * @returns message - arr Return the configuration object */ function echo(message: string): void { let output = format(message) diff --git a/packages/core/src/utils/file.ts b/packages/utils/src/file.ts similarity index 83% rename from packages/core/src/utils/file.ts rename to packages/utils/src/file.ts index 4fb9a3007..f9df96467 100644 --- a/packages/core/src/utils/file.ts +++ b/packages/utils/src/file.ts @@ -2,7 +2,7 @@ import fs from 'fs' import sh from 'shelljs' import ora from 'ora' import chalk from 'chalk' -import lang from '#lib/lang' +import lang from './lang' sh.config.silent = true @@ -63,7 +63,7 @@ export function removeFile( file.name && spinner.start( chalk.green( - t('Processing: {{{something}}}', { + t('Processing: {something}', { something: file.name }) ) @@ -71,18 +71,11 @@ export function removeFile( const fileExist = isFileExist(file.url) if (fileExist) { sh.rm(file.url) - file.name && spinner.succeed(chalk.green(t('{{name}} deleted', { name: file.name }))) + file.name && spinner.succeed(chalk.green(t('{name} deleted', { name: file.name }))) } else { - file.name && spinner.warn(chalk.green(t('{{name}} not found', { name: file.name }))) + file.name && spinner.warn(chalk.green(t('{name} not found', { name: file.name }))) } } spinner.stop() sh.echo(chalk.green(t('Cleaned up'))) } - -export default { - writeFile, - writeFileSync, - isFileExist, - removeFile -} diff --git a/packages/core/src/utils/getSeconds.ts b/packages/utils/src/getSeconds.ts similarity index 100% rename from packages/core/src/utils/getSeconds.ts rename to packages/utils/src/getSeconds.ts diff --git a/packages/utils/src/index.default.ts b/packages/utils/src/index.default.ts new file mode 100644 index 000000000..e13eab38a --- /dev/null +++ b/packages/utils/src/index.default.ts @@ -0,0 +1,37 @@ +import { createArgs } from './command' +import { debug, debugError, debugWarn, isDebug } from './debug' +import echo from './echo' +import { isFileExist, removeFile, writeFile, writeFileSync } from './file' +import getSeconds from './getSeconds' +import isWin32 from './isWin32' +import { useLocale } from './local' +import stringify from './stringify' +import { decodeUnicode, encodeUnicode } from './unicode' +import { spawn, spawnSync } from './spawn' + +export { type GitmarsCacheFileDescriptionType } from './file' +export type { LocaleContext, Translator, TranslatorOption } from './local' +// export type * from './file' +// export type * from './local' +export type * from './types' +export default { + version: '__VERSION__', + createArgs, + isDebug, + debug, + debugWarn, + debugError, + echo, + writeFile, + writeFileSync, + isFileExist, + removeFile, + getSeconds, + isWin32, + useLocale, + stringify, + encodeUnicode, + decodeUnicode, + spawn, + spawnSync +} diff --git a/packages/utils/src/index.mjs b/packages/utils/src/index.mjs new file mode 100644 index 000000000..5341ccf04 --- /dev/null +++ b/packages/utils/src/index.mjs @@ -0,0 +1,46 @@ +import index from './index.cjs.js' + +const { + version, + createArgs, + isDebug, + debug, + debugWarn, + debugError, + echo, + writeFile, + writeFileSync, + isFileExist, + removeFile, + getSeconds, + isWin32, + useLocale, + stringify, + encodeUnicode, + decodeUnicode, + spawn, + spawnSync +} = index + +export { + index as default, + version, + createArgs, + isDebug, + debug, + debugWarn, + debugError, + echo, + writeFile, + writeFileSync, + isFileExist, + removeFile, + getSeconds, + isWin32, + useLocale, + stringify, + encodeUnicode, + decodeUnicode, + spawn, + spawnSync +} diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts new file mode 100644 index 000000000..6b0c510eb --- /dev/null +++ b/packages/utils/src/index.ts @@ -0,0 +1,14 @@ +export { createArgs } from './command' +export { isDebug, debug, debugWarn, debugError } from './debug' +export { default as echo } from './echo' +export { writeFile, writeFileSync, isFileExist, removeFile } from './file' +export { default as getSeconds } from './getSeconds' +export { default as isWin32 } from './isWin32' +export { useLocale } from './local' +export { default as stringify } from './stringify' +export { encodeUnicode, decodeUnicode } from './unicode' +export { spawn, spawnSync } from './spawn' + +export { default } from './index.default' +export type * from './index.default' +export const version = '__VERSION__' as string diff --git a/packages/core/src/utils/isWin32.ts b/packages/utils/src/isWin32.ts similarity index 100% rename from packages/core/src/utils/isWin32.ts rename to packages/utils/src/isWin32.ts diff --git a/packages/utils/src/lang.ts b/packages/utils/src/lang.ts new file mode 100644 index 000000000..898c13286 --- /dev/null +++ b/packages/utils/src/lang.ts @@ -0,0 +1,11 @@ +import { osLangSync } from 'os-lang' +import { useLocale } from './local' +import * as languages from './locales' + +export type LanguageType = Exclude + +const locales: LanguageType[] = ['enUS', 'zhCN'] +let localeName = (process.env.GITMARS_LANG || osLangSync()).replace('-', '') as LanguageType +if (!locales.includes(localeName)) localeName = 'enUS' + +export default useLocale(languages[localeName]) diff --git a/packages/utils/src/local.ts b/packages/utils/src/local.ts new file mode 100644 index 000000000..68b7eb364 --- /dev/null +++ b/packages/utils/src/local.ts @@ -0,0 +1,34 @@ +import { getProperty } from 'js-cool' +import { type Language } from './types' + +export type TranslatorOption = Record +export type Translator = (path: string, option?: TranslatorOption) => string +export interface LocaleContext { + locale: Language + lang: string + t: Translator +} + +export const translate = ( + path: string, + option: undefined | TranslatorOption, + locale: Language +): string => + (getProperty(locale, path, path) as string).replace( + /\{(\w+)\}/g, + (_, key) => `${option?.[key] ?? `{${key}}`}` + ) + +export const buildTranslator = + (locale: Language): Translator => + (path, option) => + translate(path, option, locale) + +export function useLocale(locale: Language) { + const lang = locale.name + return { + lang, + locale, + t: buildTranslator(locale) + } as LocaleContext +} diff --git a/packages/utils/src/locales/en-US.ts b/packages/utils/src/locales/en-US.ts new file mode 100644 index 000000000..bf11574a7 --- /dev/null +++ b/packages/utils/src/locales/en-US.ts @@ -0,0 +1,3 @@ +export default { + name: 'en-US' +} diff --git a/packages/utils/src/locales/index.ts b/packages/utils/src/locales/index.ts new file mode 100644 index 000000000..8b5d8922e --- /dev/null +++ b/packages/utils/src/locales/index.ts @@ -0,0 +1,2 @@ +export { default as zhCN } from './zh-CN' +export { default as enUS } from './en-US' diff --git a/packages/utils/src/locales/zh-CN.ts b/packages/utils/src/locales/zh-CN.ts new file mode 100644 index 000000000..78d56b681 --- /dev/null +++ b/packages/utils/src/locales/zh-CN.ts @@ -0,0 +1,8 @@ +export default { + name: 'zh-CN', + 'File write error': '文件写入错误', + 'Processing: {something}': '正在处理:{something}', + '{name} deleted': '{name}已删除', + 'Cleaned up': '清理完毕', + '{name} not found': '{name}未找到' +} diff --git a/packages/core/src/spawn.ts b/packages/utils/src/spawn.ts similarity index 93% rename from packages/core/src/spawn.ts rename to packages/utils/src/spawn.ts index 97522278f..d9e85af0c 100644 --- a/packages/core/src/spawn.ts +++ b/packages/utils/src/spawn.ts @@ -1,7 +1,7 @@ import type { SpawnOptions, SpawnSyncOptions, SpawnSyncReturns } from 'child_process' import crossSpawn from 'cross-spawn' -import { debug } from '#lib/utils/debug' -import stringify from '#lib/utils/stringify' +import { debug } from './debug' +import stringify from './stringify' /** * 异步执行脚本 @@ -76,8 +76,3 @@ export function spawnSync( error: program.error } } - -export default { - spawnSync, - spawn -} diff --git a/packages/core/src/utils/stringify.ts b/packages/utils/src/stringify.ts similarity index 90% rename from packages/core/src/utils/stringify.ts rename to packages/utils/src/stringify.ts index 9891cfa75..c2684713a 100644 --- a/packages/core/src/utils/stringify.ts +++ b/packages/utils/src/stringify.ts @@ -1,4 +1,4 @@ -import isWin32 from '#lib/utils/isWin32' +import isWin32 from './isWin32' const NEED_STRINGIFY: string[] = ['^', '&'] diff --git a/packages/utils/src/types.ts b/packages/utils/src/types.ts new file mode 100644 index 000000000..3e032f6c2 --- /dev/null +++ b/packages/utils/src/types.ts @@ -0,0 +1,25 @@ +export type AnyObject = Record + +export interface AnyFunction extends AnyObject { + (...args: any[]): any +} + +export interface GitmarsOptionArgsType { + required: boolean + name: string + variadic: boolean + validator?(val: string, opts: object, cb: Function): void + transformer?(val: string, answers: object, flags: object, options: GitmarsOptionArgsType): void + description?: string + defaultValue?: any + options?: Array + value?: string +} + +export interface TranslatePair { + [key: string]: string | string[] | TranslatePair +} +export interface Language extends Record { + name: string + // base?: TranslatePair +} diff --git a/packages/core/src/utils/unicode.ts b/packages/utils/src/unicode.ts similarity index 90% rename from packages/core/src/utils/unicode.ts rename to packages/utils/src/unicode.ts index c55dcde2d..2e862c4c6 100644 --- a/packages/core/src/utils/unicode.ts +++ b/packages/utils/src/unicode.ts @@ -22,8 +22,3 @@ export function decodeUnicode(str: string): string { str = str.replace(/\\/g, '%') return unescape(str) } - -export default { - encodeUnicode, - decodeUnicode -} diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json new file mode 100644 index 000000000..119b2ad90 --- /dev/null +++ b/packages/utils/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + // "composite": true, + "target": "ESNext", + "module": "ESNext", + "sourceMap": true, + "declaration": true, + "emitDeclarationOnly": true, + "rootDir": "src", + "outDir": "temp", + "baseUrl": ".", + "paths": {} + } +} diff --git a/packages/utils/typedoc.js b/packages/utils/typedoc.js new file mode 100644 index 000000000..873fa676e --- /dev/null +++ b/packages/utils/typedoc.js @@ -0,0 +1,12 @@ +module.exports = { + out: 'typedoc', + entryPoints: ['src/**/*.ts'], + json: 'typedoc/out.json', + name: 'index.md', + includeVersion: true, + readme: 'README.md' + // emit: true, + // exclude: '', + // externalPattern: '', + // excludeExternals: '' +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c75d5f6a7..570b6e200 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -20,12 +20,9 @@ importers: debug: specifier: ^4.3.4 version: 4.3.4 - inquirer: - specifier: ^8.2.5 - version: 8.2.5 js-cool: - specifier: ^5.18.1 - version: 5.18.1 + specifier: ^5.19.0 + version: 5.19.0 morgan: specifier: ^1.10.0 version: 1.10.0 @@ -33,6 +30,12 @@ importers: specifier: ^3.2.0 version: 3.2.0 devDependencies: + '@babel/preset-env': + specifier: ^7.24.4 + version: 7.24.4(@babel/core@7.24.4) + '@babel/preset-typescript': + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@esbuild-kit/cjs-loader': specifier: ^2.4.4 version: 2.4.4 @@ -40,44 +43,53 @@ importers: specifier: ^2.6.5 version: 2.6.5 '@eslint-sets/eslint-config-ts': - specifier: ^5.12.0 - version: 5.12.0(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3) + specifier: ^5.13.0 + version: 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) '@microsoft/api-extractor': - specifier: ^7.42.1 - version: 7.42.1(@types/node@20.11.24) + specifier: ^7.43.1 + version: 7.43.1(@types/node@20.12.7) '@pnpm/logger': specifier: ^5.0.0 version: 5.0.0 '@rollup/plugin-alias': specifier: ^5.1.0 - version: 5.1.0(rollup@4.12.0) + version: 5.1.0(rollup@4.16.4) + '@rollup/plugin-babel': + specifier: ^6.0.4 + version: 6.0.4(@babel/core@7.24.4)(rollup@4.16.4) '@rollup/plugin-commonjs': specifier: ^25.0.7 - version: 25.0.7(rollup@4.12.0) + version: 25.0.7(rollup@4.16.4) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.12.0) + version: 6.1.0(rollup@4.16.4) '@rollup/plugin-node-resolve': specifier: ^15.2.3 - version: 15.2.3(rollup@4.12.0) + version: 15.2.3(rollup@4.16.4) + '@rollup/plugin-replace': + specifier: ^5.0.5 + version: 5.0.5(rollup@4.16.4) + '@rollup/plugin-terser': + specifier: ^0.4.4 + version: 0.4.4(rollup@4.16.4) + '@rollup/plugin-typescript': + specifier: ^11.1.6 + version: 11.1.6(rollup@4.16.4)(tslib@2.6.2)(typescript@5.4.5) '@types/gulp': specifier: ^4.0.17 version: 4.0.17 - '@types/inquirer': - specifier: ^8.2.6 - version: 8.2.6 '@types/node': - specifier: ^20.11.24 - version: 20.11.24 + specifier: ^20.12.7 + version: 20.12.7 '@types/rollup-plugin-css-only': specifier: ^3.1.3 version: 3.1.3 '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.4)(vue@3.4.21) + version: 5.0.4(vite@5.2.10(@types/node@20.12.7)(stylus@0.57.0)(terser@5.30.4))(vue@3.4.25(typescript@5.4.5)) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0 + version: 3.1.0(vite@5.2.10(@types/node@20.12.7)(stylus@0.57.0)(terser@5.30.4))(vue@3.4.25(typescript@5.4.5)) consola: specifier: ^3.2.3 version: 3.2.3 @@ -85,8 +97,8 @@ importers: specifier: ^7.0.3 version: 7.0.3 esbuild: - specifier: ^0.20.1 - version: 0.20.1 + specifier: ^0.20.2 + version: 0.20.2 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -94,17 +106,17 @@ importers: specifier: ^3.3.2 version: 3.3.2 gulp: - specifier: ^4.0.2 - version: 4.0.2 + specifier: ^5.0.0 + version: 5.0.0 gulp-typescript: specifier: 6.0.0-alpha.1 - version: 6.0.0-alpha.1(typescript@5.3.3) + version: 6.0.0-alpha.1(typescript@5.4.5) load-yml: specifier: ^1.4.0 version: 1.4.0 madge: - specifier: ^6.1.0 - version: 6.1.0(typescript@5.3.3) + specifier: ^7.0.0 + version: 7.0.0(typescript@5.4.5) npm-run-all: specifier: ^4.1.5 version: 4.1.5 @@ -116,103 +128,244 @@ importers: version: 1.4.0 reinstaller: specifier: ^3.0.2 - version: 3.0.2(debug@4.3.4)(js-cool@5.18.1)(typescript@5.3.3) + version: 3.0.2(debug@4.3.4)(js-cool@5.19.0)(typescript@5.4.5) rimraf: specifier: ^5.0.5 version: 5.0.5 rm-all: specifier: ^1.1.1 - version: 1.1.1(js-cool@5.18.1) + version: 1.1.1(js-cool@5.19.0) rollup: - specifier: ^4.12.0 - version: 4.12.0 + specifier: ^4.16.4 + version: 4.16.4 rollup-plugin-add-banner: specifier: ^1.1.0 - version: 1.1.0(rollup@4.12.0) + version: 1.1.0(rollup@4.16.4) rollup-plugin-css-only: specifier: ^4.5.2 - version: 4.5.2(rollup@4.12.0) - rollup-plugin-dts: - specifier: ^6.1.0 - version: 6.1.0(rollup@4.12.0)(typescript@5.3.3) + version: 4.5.2(rollup@4.16.4) rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.20.1)(rollup@4.12.0) + version: 6.1.1(esbuild@0.20.2)(rollup@4.16.4) rollup-plugin-filesize: specifier: ^10.0.0 version: 10.0.0 rollup-plugin-node-externals: - specifier: ^7.0.1 - version: 7.0.1(rollup@4.12.0) + specifier: ^7.1.2 + version: 7.1.2(rollup@4.16.4) rollup-plugin-replace-shebang: specifier: ^1.2.0 - version: 1.2.0(rollup@4.12.0) + version: 1.2.0(rollup@4.16.4) rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0(rollup@4.12.0) + version: 5.12.0(rollup@4.16.4) tsnd: specifier: ^1.1.0 version: 1.1.0 typedoc: - specifier: ^0.25.9 - version: 0.25.9(typescript@5.3.3) + specifier: ^0.25.13 + version: 0.25.13(typescript@5.4.5) typedoc-plugin-markdown: specifier: ^3.17.1 - version: 3.17.1(typedoc@0.25.9) + version: 3.17.1(typedoc@0.25.13(typescript@5.4.5)) typescript: - specifier: ^5.3.3 - version: 5.3.3 + specifier: ^5.4.5 + version: 5.4.5 unplugin-vue-define-options: - specifier: ^1.4.2 - version: 1.4.2(rollup@4.12.0) + specifier: ^1.4.3 + version: 1.4.3(rollup@4.16.4)(vue@3.4.25(typescript@5.4.5)) zx: - specifier: ^7.2.3 - version: 7.2.3 + specifier: ^8.0.2 + version: 8.0.2 - packages/core: + packages/api: dependencies: + '@gitmars/core': + specifier: workspace:* + version: link:../core + '@gitmars/git': + specifier: workspace:* + version: link:../git + '@gitmars/utils': + specifier: workspace:* + version: link:../utils '@jssj/request': specifier: ^1.1.0 - version: 1.1.0(core-js@3.32.2)(tslib@2.6.2) + version: 1.1.0(core-js@3.37.0)(tslib@2.6.2) chalk: specifier: ^4.1.2 version: 4.1.2 - ci-info: - specifier: ^4.0.0 - version: 4.0.0 - columnify: - specifier: ^1.6.0 - version: 1.6.0 - commander: - specifier: ^11.1.0 - version: 11.1.0 - cosmiconfig: - specifier: ^9.0.0 - version: 9.0.0(typescript@5.3.3) - cross-spawn: + os-lang: + specifier: ^3.2.0 + version: 3.2.0 + shelljs: + specifier: ^0.8.5 + version: 0.8.5 + devDependencies: + '@eslint-sets/eslint-config-ts': + specifier: ^5.13.0 + version: 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) + '@types/node': + specifier: ^20.12.7 + version: 20.12.7 + '@types/shelljs': + specifier: ^0.8.15 + version: 0.8.15 + cross-env: specifier: ^7.0.3 version: 7.0.3 - dayjs: - specifier: ^1.11.10 - version: 1.11.10 - debug: - specifier: ^4.3.4 - version: 4.3.4 - inquirer: - specifier: ^8.2.5 - version: 8.2.5 - js-cool: - specifier: ^5.18.1 - version: 5.18.1 - lodash-es: - specifier: ^4.17.21 - version: 4.17.21 - lodash-unified: - specifier: ^1.0.3 - version: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21) + eslint: + specifier: ^8.57.0 + version: 8.57.0 + madge: + specifier: ^7.0.0 + version: 7.0.0(typescript@5.4.5) + prettier: + specifier: ^3.2.5 + version: 3.2.5 + prettier-config-common: + specifier: ^1.4.0 + version: 1.4.0 + tsnd: + specifier: ^1.1.0 + version: 1.1.0 + typescript: + specifier: ^5.4.5 + version: 5.4.5 + + packages/build: + dependencies: + '@gitmars/cache': + specifier: workspace:* + version: link:../cache + '@gitmars/core': + specifier: workspace:* + version: link:../core + '@gitmars/git': + specifier: workspace:* + version: link:../git + '@gitmars/utils': + specifier: workspace:* + version: link:../utils + '@jssj/request': + specifier: ^1.1.0 + version: 1.1.0(core-js@3.37.0)(tslib@2.6.2) + chalk: + specifier: ^4.1.2 + version: 4.1.2 node-apollo: specifier: ^1.2.1 version: 1.2.1 + os-lang: + specifier: ^3.2.0 + version: 3.2.0 + shelljs: + specifier: ^0.8.5 + version: 0.8.5 + devDependencies: + '@eslint-sets/eslint-config-ts': + specifier: ^5.13.0 + version: 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) + '@types/node': + specifier: ^20.12.7 + version: 20.12.7 + '@types/shelljs': + specifier: ^0.8.15 + version: 0.8.15 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + madge: + specifier: ^7.0.0 + version: 7.0.0(typescript@5.4.5) + prettier: + specifier: ^3.2.5 + version: 3.2.5 + prettier-config-common: + specifier: ^1.4.0 + version: 1.4.0 + tsnd: + specifier: ^1.1.0 + version: 1.1.0 + typescript: + specifier: ^5.4.5 + version: 5.4.5 + + packages/cache: + dependencies: + '@gitmars/git': + specifier: workspace:* + version: link:../git + '@gitmars/utils': + specifier: workspace:* + version: link:../utils + js-cool: + specifier: ^5.19.0 + version: 5.19.0 + os-lang: + specifier: ^3.2.0 + version: 3.2.0 + shelljs: + specifier: ^0.8.5 + version: 0.8.5 + devDependencies: + '@eslint-sets/eslint-config-ts': + specifier: ^5.13.0 + version: 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) + '@types/node': + specifier: ^20.12.7 + version: 20.12.7 + '@types/shelljs': + specifier: ^0.8.15 + version: 0.8.15 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + madge: + specifier: ^7.0.0 + version: 7.0.0(typescript@5.4.5) + prettier: + specifier: ^3.2.5 + version: 3.2.5 + prettier-config-common: + specifier: ^1.4.0 + version: 1.4.0 + tsnd: + specifier: ^1.1.0 + version: 1.1.0 + typescript: + specifier: ^5.4.5 + version: 5.4.5 + + packages/core: + dependencies: + '@gitmars/build': + specifier: workspace:* + version: link:../build + '@gitmars/cache': + specifier: workspace:* + version: link:../cache + '@gitmars/git': + specifier: workspace:* + version: link:../git + '@gitmars/utils': + specifier: workspace:* + version: link:../utils + '@jssj/request': + specifier: ^1.1.0 + version: 1.1.0(core-js@3.37.0)(tslib@2.6.2) + chalk: + specifier: ^4.1.2 + version: 4.1.2 + js-cool: + specifier: ^5.19.0 + version: 5.19.0 ora: specifier: ^5.4.1 version: 5.4.1 @@ -225,28 +378,13 @@ importers: shelljs: specifier: ^0.8.5 version: 0.8.5 - slash: - specifier: ^3.0.0 - version: 3.0.0 devDependencies: '@eslint-sets/eslint-config-ts': - specifier: ^5.12.0 - version: 5.12.0(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3) - '@types/cross-spawn': - specifier: ^6.0.6 - version: 6.0.6 - '@types/debug': - specifier: ^4.1.12 - version: 4.1.12 - '@types/inquirer': - specifier: ^8.2.6 - version: 8.2.6 - '@types/lodash-es': - specifier: ^4.17.12 - version: 4.17.12 + specifier: ^5.13.0 + version: 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) '@types/node': - specifier: ^20.11.24 - version: 20.11.24 + specifier: ^20.12.7 + version: 20.12.7 '@types/shelljs': specifier: ^0.8.15 version: 0.8.15 @@ -257,8 +395,8 @@ importers: specifier: ^8.57.0 version: 8.57.0 madge: - specifier: ^6.1.0 - version: 6.1.0(typescript@5.3.3) + specifier: ^7.0.0 + version: 7.0.0(typescript@5.4.5) prettier: specifier: ^3.2.5 version: 3.2.5 @@ -269,33 +407,33 @@ importers: specifier: ^1.1.0 version: 1.1.0 typescript: - specifier: ^5.3.3 - version: 5.3.3 + specifier: ^5.4.5 + version: 5.4.5 packages/docs: dependencies: js-cool: - specifier: ^5.18.1 - version: 5.18.1 + specifier: ^5.19.0 + version: 5.19.0 devDependencies: '@eslint-sets/eslint-config-vue3': - specifier: ^5.12.0 - version: 5.12.0(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3) + specifier: ^5.13.0 + version: 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) '@types/markdown-it': - specifier: ^13.0.7 - version: 13.0.7 + specifier: ^14.0.1 + version: 14.0.1 '@types/node': - specifier: ^20.11.24 - version: 20.11.24 + specifier: ^20.12.7 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 markdown-it: - specifier: ^14.0.0 - version: 14.0.0 + specifier: ^14.1.0 + version: 14.1.0 markdown-it-anchor: specifier: ^8.6.7 - version: 8.6.7(@types/markdown-it@13.0.7)(markdown-it@14.0.0) + version: 8.6.7(@types/markdown-it@14.0.1)(markdown-it@14.1.0) markdown-it-container: specifier: ^4.0.0 version: 4.0.0 @@ -309,59 +447,114 @@ importers: specifier: ^1.1.0 version: 1.1.0 typescript: - specifier: ^5.3.3 - version: 5.3.3 + specifier: ^5.4.5 + version: 5.4.5 vitepress: - specifier: 1.0.0-rc.44 - version: 1.0.0-rc.44(@types/node@20.11.24)(postcss@8.4.33)(search-insights@2.6.0)(typescript@5.3.3) + specifier: 1.1.3 + version: 1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(stylus@0.57.0)(terser@5.30.4)(typescript@5.4.5) - packages/gitmars: + packages/git: dependencies: '@gitmars/core': specifier: workspace:* version: link:../core - '@jssj/request': + '@gitmars/utils': + specifier: workspace:* + version: link:../utils + chalk: + specifier: ^4.1.2 + version: 4.1.2 + cosmiconfig: + specifier: ^9.0.0 + version: 9.0.0(typescript@5.4.5) + os-lang: + specifier: ^3.2.0 + version: 3.2.0 + shelljs: + specifier: ^0.8.5 + version: 0.8.5 + slash: + specifier: ^3.0.0 + version: 3.0.0 + devDependencies: + '@eslint-sets/eslint-config-ts': + specifier: ^5.13.0 + version: 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) + '@types/node': + specifier: ^20.12.7 + version: 20.12.7 + '@types/shelljs': + specifier: ^0.8.15 + version: 0.8.15 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + madge: + specifier: ^7.0.0 + version: 7.0.0(typescript@5.4.5) + prettier: + specifier: ^3.2.5 + version: 3.2.5 + prettier-config-common: + specifier: ^1.4.0 + version: 1.4.0 + tsnd: specifier: ^1.1.0 - version: 1.1.0(core-js@3.32.2)(tslib@2.6.2) + version: 1.1.0 + typescript: + specifier: ^5.4.5 + version: 5.4.5 + + packages/gitmars: + dependencies: + '@gitmars/api': + specifier: workspace:* + version: link:../api + '@gitmars/build': + specifier: workspace:* + version: link:../build + '@gitmars/cache': + specifier: workspace:* + version: link:../cache + '@gitmars/core': + specifier: workspace:* + version: link:../core + '@gitmars/git': + specifier: workspace:* + version: link:../git + '@gitmars/go': + specifier: workspace:* + version: link:../go + '@gitmars/hook': + specifier: workspace:* + version: link:../hook + '@gitmars/utils': + specifier: workspace:* + version: link:../utils + '@inquirer/prompts': + specifier: ^3.3.2 + version: 3.3.2 + await-to-done: + specifier: ^1.0.2 + version: 1.0.2 chalk: specifier: ^4.1.2 version: 4.1.2 - ci-info: - specifier: ^4.0.0 - version: 4.0.0 columnify: specifier: ^1.6.0 version: 1.6.0 commander: - specifier: ^11.1.0 - version: 11.1.0 - cosmiconfig: - specifier: ^9.0.0 - version: 9.0.0(typescript@5.3.3) - cross-spawn: - specifier: ^7.0.3 - version: 7.0.3 + specifier: ^12.0.0 + version: 12.0.0 dayjs: specifier: ^1.11.10 version: 1.11.10 - debug: - specifier: ^4.3.4 - version: 4.3.4 - inquirer: - specifier: ^8.2.5 - version: 8.2.5 js-cool: - specifier: ^5.18.1 - version: 5.18.1 - lodash-es: - specifier: ^4.17.21 - version: 4.17.21 - lodash-unified: - specifier: ^1.0.3 - version: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21) - node-apollo: - specifier: ^1.2.1 - version: 1.2.1 + specifier: ^5.19.0 + version: 5.19.0 ora: specifier: ^5.4.1 version: 5.4.1 @@ -371,28 +564,16 @@ importers: shelljs: specifier: ^0.8.5 version: 0.8.5 - slash: - specifier: ^3.0.0 - version: 3.0.0 devDependencies: '@eslint-sets/eslint-config-ts': - specifier: ^5.12.0 - version: 5.12.0(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3) + specifier: ^5.13.0 + version: 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) '@types/columnify': specifier: ^1.5.4 version: 1.5.4 - '@types/cross-spawn': - specifier: ^6.0.6 - version: 6.0.6 - '@types/inquirer': - specifier: ^8.2.6 - version: 8.2.6 - '@types/lodash-es': - specifier: ^4.17.12 - version: 4.17.12 '@types/node': - specifier: ^20.11.24 - version: 20.11.24 + specifier: ^20.12.7 + version: 20.12.7 '@types/shelljs': specifier: ^0.8.15 version: 0.8.15 @@ -412,1262 +593,6862 @@ importers: specifier: ^1.1.0 version: 1.1.0 typescript: - specifier: ^5.3.3 - version: 5.3.3 - -packages: - - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true + specifier: ^5.4.5 + version: 5.4.5 - /@algolia/autocomplete-core@1.9.3(algoliasearch@4.19.1)(search-insights@2.6.0): - resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + packages/go: dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(algoliasearch@4.19.1)(search-insights@2.6.0) - '@algolia/autocomplete-shared': 1.9.3(algoliasearch@4.19.1) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - dev: true - - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(algoliasearch@4.19.1)(search-insights@2.6.0): - resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} - peerDependencies: - search-insights: '>= 1 < 3' + '@gitmars/utils': + specifier: workspace:* + version: link:../utils + chalk: + specifier: ^4.1.2 + version: 4.1.2 + inquirer: + specifier: ^8.2.6 + version: 8.2.6 + os-lang: + specifier: ^3.2.0 + version: 3.2.0 + devDependencies: + '@eslint-sets/eslint-config-ts': + specifier: ^5.13.0 + version: 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) + '@types/inquirer': + specifier: ^9.0.7 + version: 9.0.7 + '@types/node': + specifier: ^20.12.7 + version: 20.12.7 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + madge: + specifier: ^7.0.0 + version: 7.0.0(typescript@5.4.5) + prettier: + specifier: ^3.2.5 + version: 3.2.5 + prettier-config-common: + specifier: ^1.4.0 + version: 1.4.0 + tsnd: + specifier: ^1.1.0 + version: 1.1.0 + typescript: + specifier: ^5.4.5 + version: 5.4.5 + + packages/hook: dependencies: - '@algolia/autocomplete-shared': 1.9.3(algoliasearch@4.19.1) - search-insights: 2.6.0 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - dev: true + '@gitmars/core': + specifier: workspace:* + version: link:../core + '@gitmars/git': + specifier: workspace:* + version: link:../git + '@gitmars/utils': + specifier: workspace:* + version: link:../utils + chalk: + specifier: ^4.1.2 + version: 4.1.2 + ci-info: + specifier: ^4.0.0 + version: 4.0.0 + js-cool: + specifier: ^5.19.0 + version: 5.19.0 + os-lang: + specifier: ^3.2.0 + version: 3.2.0 + shelljs: + specifier: ^0.8.5 + version: 0.8.5 + devDependencies: + '@eslint-sets/eslint-config-ts': + specifier: ^5.13.0 + version: 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) + '@types/node': + specifier: ^20.12.7 + version: 20.12.7 + '@types/shelljs': + specifier: ^0.8.15 + version: 0.8.15 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + madge: + specifier: ^7.0.0 + version: 7.0.0(typescript@5.4.5) + prettier: + specifier: ^3.2.5 + version: 3.2.5 + prettier-config-common: + specifier: ^1.4.0 + version: 1.4.0 + tsnd: + specifier: ^1.1.0 + version: 1.1.0 + typescript: + specifier: ^5.4.5 + version: 5.4.5 + + packages/utils: + dependencies: + '@gitmars/core': + specifier: workspace:* + version: link:../core + '@gitmars/git': + specifier: workspace:* + version: link:../git + chalk: + specifier: ^4.1.2 + version: 4.1.2 + cross-spawn: + specifier: ^7.0.3 + version: 7.0.3 + debug: + specifier: ^4.3.4 + version: 4.3.4 + ora: + specifier: ^5.4.1 + version: 5.4.1 + os-lang: + specifier: ^3.2.0 + version: 3.2.0 + shelljs: + specifier: ^0.8.5 + version: 0.8.5 + devDependencies: + '@eslint-sets/eslint-config-ts': + specifier: ^5.13.0 + version: 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) + '@types/cross-spawn': + specifier: ^6.0.6 + version: 6.0.6 + '@types/debug': + specifier: ^4.1.12 + version: 4.1.12 + '@types/node': + specifier: ^20.12.7 + version: 20.12.7 + '@types/shelljs': + specifier: ^0.8.15 + version: 0.8.15 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + madge: + specifier: ^7.0.0 + version: 7.0.0(typescript@5.4.5) + prettier: + specifier: ^3.2.5 + version: 3.2.5 + prettier-config-common: + specifier: ^1.4.0 + version: 1.4.0 + tsnd: + specifier: ^1.1.0 + version: 1.1.0 + typescript: + specifier: ^5.4.5 + version: 5.4.5 + +packages: + + '@algolia/autocomplete-core@1.9.3': + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + + '@algolia/autocomplete-plugin-algolia-insights@1.9.3': + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} + peerDependencies: + search-insights: '>= 1 < 3' - /@algolia/autocomplete-preset-algolia@1.9.3(algoliasearch@4.19.1): + '@algolia/autocomplete-preset-algolia@1.9.3': resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - peerDependenciesMeta: - '@algolia/client-search': - optional: true - dependencies: - '@algolia/autocomplete-shared': 1.9.3(algoliasearch@4.19.1) - algoliasearch: 4.19.1 - dev: true - /@algolia/autocomplete-shared@1.9.3(algoliasearch@4.19.1): + '@algolia/autocomplete-shared@1.9.3': resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - peerDependenciesMeta: - '@algolia/client-search': - optional: true - dependencies: - algoliasearch: 4.19.1 - dev: true - /@algolia/cache-browser-local-storage@4.19.1: - resolution: {integrity: sha512-FYAZWcGsFTTaSAwj9Std8UML3Bu8dyWDncM7Ls8g+58UOe4XYdlgzXWbrIgjaguP63pCCbMoExKr61B+ztK3tw==} - dependencies: - '@algolia/cache-common': 4.19.1 - dev: true + '@algolia/cache-browser-local-storage@4.23.3': + resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==} - /@algolia/cache-common@4.19.1: - resolution: {integrity: sha512-XGghi3l0qA38HiqdoUY+wvGyBsGvKZ6U3vTiMBT4hArhP3fOGLXpIINgMiiGjTe4FVlTa5a/7Zf2bwlIHfRqqg==} - dev: true + '@algolia/cache-common@4.23.3': + resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} - /@algolia/cache-in-memory@4.19.1: - resolution: {integrity: sha512-+PDWL+XALGvIginigzu8oU6eWw+o76Z8zHbBovWYcrtWOEtinbl7a7UTt3x3lthv+wNuFr/YD1Gf+B+A9V8n5w==} - dependencies: - '@algolia/cache-common': 4.19.1 - dev: true + '@algolia/cache-in-memory@4.23.3': + resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==} - /@algolia/client-account@4.19.1: - resolution: {integrity: sha512-Oy0ritA2k7AMxQ2JwNpfaEcgXEDgeyKu0V7E7xt/ZJRdXfEpZcwp9TOg4TJHC7Ia62gIeT2Y/ynzsxccPw92GA==} - dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/client-search': 4.19.1 - '@algolia/transporter': 4.19.1 - dev: true + '@algolia/client-account@4.23.3': + resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==} - /@algolia/client-analytics@4.19.1: - resolution: {integrity: sha512-5QCq2zmgdZLIQhHqwl55ZvKVpLM3DNWjFI4T+bHr3rGu23ew2bLO4YtyxaZeChmDb85jUdPDouDlCumGfk6wOg==} - dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/client-search': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 - dev: true + '@algolia/client-analytics@4.23.3': + resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==} - /@algolia/client-common@4.19.1: - resolution: {integrity: sha512-3kAIVqTcPrjfS389KQvKzliC559x+BDRxtWamVJt8IVp7LGnjq+aVAXg4Xogkur1MUrScTZ59/AaUd5EdpyXgA==} - dependencies: - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 - dev: true + '@algolia/client-common@4.23.3': + resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} - /@algolia/client-personalization@4.19.1: - resolution: {integrity: sha512-8CWz4/H5FA+krm9HMw2HUQenizC/DxUtsI5oYC0Jxxyce1vsr8cb1aEiSJArQT6IzMynrERif1RVWLac1m36xw==} - dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 - dev: true + '@algolia/client-personalization@4.23.3': + resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==} - /@algolia/client-search@4.19.1: - resolution: {integrity: sha512-mBecfMFS4N+yK/p0ZbK53vrZbL6OtWMk8YmnOv1i0LXx4pelY8TFhqKoTit3NPVPwoSNN0vdSN9dTu1xr1XOVw==} - dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 - dev: true + '@algolia/client-search@4.23.3': + resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} - /@algolia/logger-common@4.19.1: - resolution: {integrity: sha512-i6pLPZW/+/YXKis8gpmSiNk1lOmYCmRI6+x6d2Qk1OdfvX051nRVdalRbEcVTpSQX6FQAoyeaui0cUfLYW5Elw==} - dev: true + '@algolia/logger-common@4.23.3': + resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} - /@algolia/logger-console@4.19.1: - resolution: {integrity: sha512-jj72k9GKb9W0c7TyC3cuZtTr0CngLBLmc8trzZlXdfvQiigpUdvTi1KoWIb2ZMcRBG7Tl8hSb81zEY3zI2RlXg==} - dependencies: - '@algolia/logger-common': 4.19.1 - dev: true + '@algolia/logger-console@4.23.3': + resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==} - /@algolia/requester-browser-xhr@4.19.1: - resolution: {integrity: sha512-09K/+t7lptsweRTueHnSnmPqIxbHMowejAkn9XIcJMLdseS3zl8ObnS5GWea86mu3vy4+8H+ZBKkUN82Zsq/zg==} - dependencies: - '@algolia/requester-common': 4.19.1 - dev: true + '@algolia/recommend@4.23.3': + resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==} - /@algolia/requester-common@4.19.1: - resolution: {integrity: sha512-BisRkcWVxrDzF1YPhAckmi2CFYK+jdMT60q10d7z3PX+w6fPPukxHRnZwooiTUrzFe50UBmLItGizWHP5bDzVQ==} - dev: true + '@algolia/requester-browser-xhr@4.23.3': + resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==} - /@algolia/requester-node-http@4.19.1: - resolution: {integrity: sha512-6DK52DHviBHTG2BK/Vv2GIlEw7i+vxm7ypZW0Z7vybGCNDeWzADx+/TmxjkES2h15+FZOqVf/Ja677gePsVItA==} - dependencies: - '@algolia/requester-common': 4.19.1 - dev: true + '@algolia/requester-common@4.23.3': + resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} - /@algolia/transporter@4.19.1: - resolution: {integrity: sha512-nkpvPWbpuzxo1flEYqNIbGz7xhfhGOKGAZS7tzC+TELgEmi7z99qRyTfNSUlW7LZmB3ACdnqAo+9A9KFBENviQ==} - dependencies: - '@algolia/cache-common': 4.19.1 - '@algolia/logger-common': 4.19.1 - '@algolia/requester-common': 4.19.1 - dev: true + '@algolia/requester-node-http@4.23.3': + resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==} + + '@algolia/transporter@4.23.3': + resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 - dev: true - /@babel/code-frame@7.23.4: - resolution: {integrity: sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==} + '@babel/code-frame@7.24.2': + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} - requiresBuild: true - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - /@babel/compat-data@7.23.2: - resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} + '@babel/compat-data@7.24.4': + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/core@7.23.3: - resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} + '@babel/core@7.24.4': + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 - '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) - '@babel/helpers': 7.23.2 - '@babel/parser': 7.24.0 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.6 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/eslint-parser@7.23.10(eslint@8.57.0): - resolution: {integrity: sha512-3wSYDPZVnhseRnxRJH6ZVTNknBz76AEnyC+AYYhasjP3Yy23qz0ERR7Fcd2SHmYuSFJ2kY9gaaDd3vyqU09eSw==} + '@babel/eslint-parser@7.24.1': + resolution: {integrity: sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 - eslint: ^7.5.0 || ^8.0.0 || >= 8.0.0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.57.0 - eslint-visitor-keys: 2.1.0 - semver: 6.3.1 - dev: true + eslint: ^7.5.0 || ^8.0.0 - /@babel/generator@7.23.4: - resolution: {integrity: sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==} + '@babel/generator@7.24.4': + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 - jsesc: 2.5.2 - dev: true - /@babel/helper-annotate-as-pure@7.22.5: + '@babel/helper-annotate-as-pure@7.22.5': resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - dev: true - /@babel/helper-compilation-targets@7.22.15: - resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} + '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15': + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.23.6': + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.23.2 - '@babel/helper-validator-option': 7.22.15 - browserslist: 4.22.1 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: true - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): - resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + '@babel/helper-create-class-features-plugin@7.24.4': + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@babel/core': 7.23.3 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 - dev: true - /@babel/helper-environment-visitor@7.22.20: + '@babel/helper-create-regexp-features-plugin@7.22.15': + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.2': + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-environment-visitor@7.22.20': resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-function-name@7.23.0: + '@babel/helper-function-name@7.23.0': resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 - dev: true - /@babel/helper-hoist-variables@7.22.5: + '@babel/helper-hoist-variables@7.22.5': resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - dev: true - /@babel/helper-member-expression-to-functions@7.23.0: + '@babel/helper-member-expression-to-functions@7.23.0': resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - dev: true - /@babel/helper-module-imports@7.22.15: + '@babel/helper-module-imports@7.22.15': resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - dev: true - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + '@babel/helper-module-imports@7.24.3': + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.23.3': resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@babel/core': 7.23.3 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - dev: true - /@babel/helper-optimise-call-expression@7.22.5: + '@babel/helper-optimise-call-expression@7.22.5': resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - dev: true - /@babel/helper-plugin-utils@7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + '@babel/helper-plugin-utils@7.24.0': + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): - resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + '@babel/helper-remap-async-to-generator@7.22.20': + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@babel/core': 7.23.3 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - dev: true - /@babel/helper-simple-access@7.22.5: + '@babel/helper-replace-supers@7.24.1': + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-simple-access@7.22.5': resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - dev: true - /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - dev: true - /@babel/helper-split-export-declaration@7.22.6: + '@babel/helper-split-export-declaration@7.22.6': resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - dev: true - - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + '@babel/helper-string-parser@7.24.1': + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.22.15: - resolution: {integrity: sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==} + '@babel/helper-validator-identifier@7.22.20': + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + '@babel/helper-validator-option@7.23.5': + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} - requiresBuild: true - /@babel/helper-validator-option@7.22.15: - resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + '@babel/helper-wrap-function@7.22.20': + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helpers@7.23.2: - resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} + '@babel/helpers@7.24.4': + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.6 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + '@babel/highlight@7.24.2': + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - /@babel/parser@7.22.10: - resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} + '@babel/parser@7.24.4': + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.22.17 - dev: true - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.6 - dev: true + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4': + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.3): - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1': + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 - peerDependenciesMeta: - '@babel/core': - optional: true - dependencies: - '@babel/core': 7.23.3 - '@babel/helper-plugin-utils': 7.22.5 - dev: true + '@babel/core': ^7.0.0 - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.3): - resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1': + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1': + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-export-namespace-from@7.8.3': + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.24.1': + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.24.1': + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.1': + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.24.1': + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.24.1': + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.24.3': + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.24.1': + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.24.1': + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.24.4': + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.24.1': + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.24.4': + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.24.1': + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.24.1': + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.24.1': + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.24.1': + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.24.1': + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dynamic-import@7.24.1': + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.24.1': + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.24.1': + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.24.1': + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.24.1': + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.24.1': + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.24.1': + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.24.1': + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.24.1': + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.24.1': + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.24.1': + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.24.1': + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.24.1': + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.22.5': + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.24.1': + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.1': + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.24.1': + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.24.1': + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.24.1': + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.24.1': + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.24.1': + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.24.1': + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.24.1': + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.24.1': + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.24.1': + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.24.1': + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-reserved-words@7.24.1': + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.24.1': + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.24.1': + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.24.1': + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.24.1': + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.24.1': + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.24.4': + resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.24.1': + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.24.1': + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.24.1': + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.24.1': + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.24.4': + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-typescript@7.24.1': + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/regjsgen@0.8.0': + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + + '@babel/runtime@7.24.4': + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.24.0': + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.1': + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.0': + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + + '@dependents/detective-less@4.1.0': + resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} + engines: {node: '>=14'} + + '@docsearch/css@3.6.0': + resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} + + '@docsearch/js@3.6.0': + resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} + + '@docsearch/react@3.6.0': + resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + + '@es-joy/jsdoccomment@0.42.0': + resolution: {integrity: sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==} + engines: {node: '>=16'} + + '@esbuild-kit/cjs-loader@2.4.4': + resolution: {integrity: sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==} + + '@esbuild-kit/core-utils@3.3.2': + resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} + + '@esbuild-kit/esm-loader@2.6.5': + resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} + + '@esbuild/aix-ppc64@0.20.2': + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.20.2': + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.20.2': + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.20.2': + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.20.2': + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.20.2': + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.20.2': + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.20.2': + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.20.2': + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.20.2': + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.20.2': + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.14.54': + resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.20.2': + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.20.2': + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.20.2': + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.20.2': + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.20.2': + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.20.2': + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.20.2': + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.20.2': + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.20.2': + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.20.2': + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.20.2': + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.20.2': + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@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 + + '@eslint-community/regexpp@4.10.0': + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint-sets/eslint-config-basic@5.13.0': + resolution: {integrity: sha512-nzbESu9Ui3aNneQOUGZlIj3TnJFQZUypvoNoj04qG6cUGNKJ/UGAEFdS30ZoozVuen4bVHKaRwgPQguhXO/qcw==} + peerDependencies: + eslint: '>=7.4.0' + prettier: '>=2' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@eslint-sets/eslint-config-ts@5.13.0': + resolution: {integrity: sha512-Iw9arznFOQufYSkuAfot97orWXxFW5etctlqhT5LudaQTh/HSLC3mVZpBCIbiDygBV2xWtaAjwaxcBrxOS3Oqw==} + peerDependencies: + eslint: '>=7.4.0' + prettier: '>=2' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@eslint-sets/eslint-config-vue3@5.13.0': + resolution: {integrity: sha512-lYLJO1isOVtdNuccZTddh5U3hBUCVz1/3t3iA9pGZRLNanpR+ck8pb4Y3rEsI1lrv0eDWcnpys35+eYbWxk0vQ==} + peerDependencies: + eslint: '>=7.4.0' + prettier: '>=2' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.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} + + '@gar/promisify@1.1.3': + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + + '@gulpjs/messages@1.1.0': + resolution: {integrity: sha512-Ys9sazDatyTgZVb4xPlDufLweJ/Os2uHWOv+Caxvy2O85JcnT4M3vc73bi8pdLWlv3fdWQz3pdI9tVwo8rQQSg==} + engines: {node: '>=10.13.0'} + + '@gulpjs/to-absolute-glob@4.0.0': + resolution: {integrity: sha512-kjotm7XJrJ6v+7knhPaRgaT6q8F8K2jiafwYdNHLzmV0uGLuZY43FK6smNSHUPrhq5kX2slCUy+RGG/xGqmIKA==} + engines: {node: '>=10.13.0'} + + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + + '@inquirer/checkbox@1.5.2': + resolution: {integrity: sha512-CifrkgQjDkUkWexmgYYNyB5603HhTHI91vLFeQXh6qrTKiCMVASol01Rs1cv6LP/A2WccZSRlJKZhbaBIs/9ZA==} + engines: {node: '>=14.18.0'} + + '@inquirer/confirm@2.0.17': + resolution: {integrity: sha512-EqzhGryzmGpy2aJf6LxJVhndxYmFs+m8cxXzf8nejb1DE3sabf6mUgBcp4J0jAUEiAcYzqmkqRr7LPFh/WdnXA==} + engines: {node: '>=14.18.0'} + + '@inquirer/core@6.0.0': + resolution: {integrity: sha512-fKi63Khkisgda3ohnskNf5uZJj+zXOaBvOllHsOkdsXRA/ubQLJQrZchFFi57NKbZzkTunXiBMdvWOv71alonw==} + engines: {node: '>=14.18.0'} + + '@inquirer/editor@1.2.15': + resolution: {integrity: sha512-gQ77Ls09x5vKLVNMH9q/7xvYPT6sIs5f7URksw+a2iJZ0j48tVS6crLqm2ugG33tgXHIwiEqkytY60Zyh5GkJQ==} + engines: {node: '>=14.18.0'} + + '@inquirer/expand@1.1.16': + resolution: {integrity: sha512-TGLU9egcuo+s7PxphKUCnJnpCIVY32/EwPCLLuu+gTvYiD8hZgx8Z2niNQD36sa6xcfpdLY6xXDBiL/+g1r2XQ==} + engines: {node: '>=14.18.0'} + + '@inquirer/input@1.2.16': + resolution: {integrity: sha512-Ou0LaSWvj1ni+egnyQ+NBtfM1885UwhRCMtsRt2bBO47DoC1dwtCa+ZUNgrxlnCHHF0IXsbQHYtIIjFGAavI4g==} + engines: {node: '>=14.18.0'} + + '@inquirer/password@1.1.16': + resolution: {integrity: sha512-aZYZVHLUXZ2gbBot+i+zOJrks1WaiI95lvZCn1sKfcw6MtSSlYC8uDX8sTzQvAsQ8epHoP84UNvAIT0KVGOGqw==} + engines: {node: '>=14.18.0'} + + '@inquirer/prompts@3.3.2': + resolution: {integrity: sha512-k52mOMRvTUejrqyF1h8Z07chC+sbaoaUYzzr1KrJXyj7yaX7Nrh0a9vktv8TuocRwIJOQMaj5oZEmkspEcJFYQ==} + engines: {node: '>=14.18.0'} + + '@inquirer/rawlist@1.2.16': + resolution: {integrity: sha512-pZ6TRg2qMwZAOZAV6TvghCtkr53dGnK29GMNQ3vMZXSNguvGqtOVc4j/h1T8kqGJFagjyfBZhUPGwNS55O5qPQ==} + engines: {node: '>=14.18.0'} + + '@inquirer/select@1.3.3': + resolution: {integrity: sha512-RzlRISXWqIKEf83FDC9ZtJ3JvuK1l7aGpretf41BCWYrvla2wU8W8MTRNMiPrPJ+1SIqrRC1nZdZ60hD9hRXLg==} + engines: {node: '>=14.18.0'} + + '@inquirer/type@1.3.1': + resolution: {integrity: sha512-Pe3PFccjPVJV1vtlfVvm9OnlbxqdnP5QcscFEFEnK5quChf1ufZtM0r8mR5ToWHMxZOh0s8o/qp9ANGRTo/DAw==} + engines: {node: '>=18'} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@jssj/request@1.1.0': + resolution: {integrity: sha512-XEOGtru6oNCRF2zn7MGm8c8lpNsQhknX/xKhIKxW1srvtaixMPV8RGNh5theQqyUc42/GWtoi9errVf/Z5qwNA==} + + '@jssj/utils@1.1.0': + resolution: {integrity: sha512-QK9tV/SIkSXp36bbDREoKEdnnBA9lSrVYyV1qvAE2zZ99X6zGBMF5JCZ1N+Fa+2ojbYW1TxKZSztsHeYhbtYXA==} + + '@microsoft/api-extractor-model@7.28.14': + resolution: {integrity: sha512-Bery/c8A8SsKPSvA82cTTuy/+OcxZbLRmKhPkk91/AJOQzxZsShcrmHFAGeiEqSIrv1nPZ3tKq9kfMLdCHmsqg==} + + '@microsoft/api-extractor@7.43.1': + resolution: {integrity: sha512-ohg40SsvFFgzHFAtYq5wKJc8ZDyY46bphjtnSvhSSlXpPTG7GHwyyXkn48UZiUCBwr2WC7TRC1Jfwz7nreuiyQ==} + hasBin: true + + '@microsoft/tsdoc-config@0.16.2': + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + + '@microsoft/tsdoc@0.14.2': + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + + '@node-kit/extra.cp@3.2.0': + resolution: {integrity: sha512-8n27oOF0clO0VsqkhSo0PXTOG9YGYS25f8zsf9JKsMaT9IkZjPNCzgcNDQkIOE/e3r1u7c5j6ab6siWOON0keQ==} + hasBin: true + + '@node-kit/extra.fs@2.5.1': + resolution: {integrity: sha512-cj0gMQ+yE4jNmCrtz1TEXYMX+zNOJEGxGy1YzG2IBek0ndKszIYRxyLbIz3URh1MSTMGT+f9Zxy3iARB8vVP9g==} + + '@node-kit/extra.fs@3.2.0': + resolution: {integrity: sha512-BtGZcB4ffMneAyKd2qy0umOURc7kMjgNOQlEQNqgkQwcwoGejqiJLQpzKVhAr2waBx7OLZx+/3sNzGgngSzx7w==} + hasBin: true + + '@node-kit/extra.path@2.5.1': + resolution: {integrity: sha512-Ab11rUZjs78Yl1/EtOh8K9df+BkWd+cwC1xA70GDOWw+5a/TstsrpKxUtpujUZfCBldaMhn5Szd6tvejxtkGtQ==} + + '@node-kit/lerna-workspace-info@2.5.1': + resolution: {integrity: sha512-KAoZSfeAJ/qBUS2JjBSW2oUDGCloPgsz3HhJ5HGDZFjqDJ8UY9KvHv9cfvGRlmD8l9l2oWx95aImySNWgutQyg==} + + '@node-kit/lerna-workspace-root@2.5.1': + resolution: {integrity: sha512-6uoro6IlkkZUtXDiKH8JiRzJMv5ozIT8wtTr2GvieAOBppc62/Rxz1VuSgAoRLBYSFUrfzwdEBAJMi6s4UMZ5Q==} + + '@node-kit/pnpm-workspace-info@2.5.1': + resolution: {integrity: sha512-uJfJgNvHNt+fZJW/GeEONDN5SIIYR7DGB3GSzYzvYq6NMW46B/pjDmIHokeaI80VyLzwiJvV/K4RgF9IOe5cXA==} + + '@node-kit/pnpm-workspace-root@2.5.1': + resolution: {integrity: sha512-G8scVrTODQorLajnGUzgGZyc4Ny0wfVUClbz0RwpS5O+9EMJHDHzKBMN2yR608F0X+qDQ0p5Du6fuPYf4JjGHw==} + + '@node-kit/yarn-workspace-info@2.5.1': + resolution: {integrity: sha512-0UMgpQERJZsze9xjciiDAN8GZoRNomBfcCd6rMGZSROj86taxxLyHrZMGMbZgJhy8/6EjmcizDDDJtHQRMI9cw==} + + '@node-kit/yarn-workspace-root@2.5.1': + resolution: {integrity: sha512-Oeno9PlUSkw7eJZDK3YU5Q+dcdHvaIZN85uPcILSyJWS0bfPnz5pNCWl1btCWg5sIAClaeSTZ8QO9XTlsBwA0g==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@npmcli/fs@2.1.2': + resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + '@npmcli/fs@3.1.0': + resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/git@4.1.0': + resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/installed-package-contents@2.1.0': + resolution: {integrity: sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + '@npmcli/move-file@2.0.1': + resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This functionality has been moved to @npmcli/fs + + '@npmcli/node-gyp@3.0.0': + resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/promise-spawn@6.0.2': + resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/run-script@6.0.2': + resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@pnpm/constants@7.1.1': + resolution: {integrity: sha512-31pZqMtjwV+Vaq7MaPrT1EoDFSYwye3dp6BiHIGRJmVThCQwySRKM7hCvqqI94epNkqFAAYoWrNynWoRYosGdw==} + engines: {node: '>=16.14'} + + '@pnpm/error@5.0.3': + resolution: {integrity: sha512-ONJU5cUeoeJSy50qOYsMZQHTA/9QKmGgh1ATfEpCLgtbdwqUiwD9MxHNeXUYYI/pocBCz6r1ZCFqiQvO+8SUKA==} + engines: {node: '>=16.14'} + + '@pnpm/logger@5.0.0': + resolution: {integrity: sha512-YfcB2QrX+Wx1o6LD1G2Y2fhDhOix/bAY/oAnMpHoNLsKkWIRbt1oKLkIFvxBMzLwAEPqnYWguJrYC+J6i4ywbw==} + engines: {node: '>=12.17'} + + '@rollup/plugin-alias@5.1.0': + resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-babel@6.0.4': + resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + rollup: + optional: true + + '@rollup/plugin-commonjs@25.0.7': + resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-json@6.1.0': + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-node-resolve@15.2.3': + resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-replace@5.0.5': + resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-terser@0.4.4': + resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-typescript@11.1.6': + resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.14.0||^3.0.0||^4.0.0 + tslib: '*' + typescript: '>=3.7.0' + peerDependenciesMeta: + rollup: + optional: true + tslib: + optional: true + + '@rollup/pluginutils@5.1.0': + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.16.4': + resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.16.4': + resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.16.4': + resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.16.4': + resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.16.4': + resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-musleabihf@4.16.4': + resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-gnu@4.16.4': + resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-musl@4.16.4': + resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-powerpc64le-gnu@4.16.4': + resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-gnu@4.16.4': + resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-s390x-gnu@4.16.4': + resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.16.4': + resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-musl@4.16.4': + resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-win32-arm64-msvc@4.16.4': + resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.16.4': + resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.16.4': + resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==} + cpu: [x64] + os: [win32] + + '@rushstack/node-core-library@4.1.0': + resolution: {integrity: sha512-qz4JFBZJCf1YN5cAXa1dP6Mki/HrsQxc/oYGAGx29dF2cwF2YMxHoly0FBhMw3IEnxo5fMj0boVfoHVBkpkx/w==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/rig-package@0.5.2': + resolution: {integrity: sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==} + + '@rushstack/terminal@0.10.1': + resolution: {integrity: sha512-C6Vi/m/84IYJTkfzmXr1+W8Wi3MmBjVF/q3za91Gb3VYjKbpALHVxY6FgH625AnDe5Z0Kh4MHKWA3Z7bqgAezA==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/ts-command-line@4.19.2': + resolution: {integrity: sha512-cqmXXmBEBlzo9WtyUrHtF9e6kl0LvBY7aTSVX4jfnBfXWZQWnPq9JTFPlQZ+L/ZwjZ4HrNwQsOVvhe9oOucZkw==} + + '@shikijs/core@1.3.0': + resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} + + '@shikijs/transformers@1.3.0': + resolution: {integrity: sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA==} + + '@sigstore/bundle@1.1.0': + resolution: {integrity: sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@sigstore/protobuf-specs@0.2.1': + resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@sigstore/sign@1.0.0': + resolution: {integrity: sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@sigstore/tuf@1.0.3': + resolution: {integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + + '@tufjs/canonical-json@1.0.0': + resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@tufjs/models@1.0.4': + resolution: {integrity: sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@types/argparse@1.0.38': + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + + '@types/columnify@1.5.4': + resolution: {integrity: sha512-YPEVzmy3kJupUee1ueLuvGspy6U2JHcxt6rYvRsSCEgVC54+KdBFjQ6NG/0koZk69e1bfXwSusgChwdFhvEXMw==} + + '@types/cross-spawn@6.0.6': + resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/estree@0.0.39': + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/expect@1.20.4': + resolution: {integrity: sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==} + + '@types/fs-extra@11.0.4': + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + + '@types/glob-stream@8.0.2': + resolution: {integrity: sha512-kyuRfGE+yiSJWzSO3t74rXxdZNdYfLcllO0IUha4eX1fl40pm9L02Q/TEc3mykTLjoWz4STBNwYnUWdFu3I0DA==} + + '@types/glob@7.2.0': + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + + '@types/gulp@4.0.17': + resolution: {integrity: sha512-+pKQynu2C/HS16kgmDlAicjtFYP8kaa86eE9P0Ae7GB5W29we/E2TIdbOWtEZD5XkpY+jr8fyqfwO6SWZecLpQ==} + + '@types/inquirer@9.0.7': + resolution: {integrity: sha512-Q0zyBupO6NxGRZut/JdmqYKOnN95Eg5V8Csg3PGKkP+FnvsUZx1jAyK7fztIszxxMuoBA6E3KXWvdZVXIpx60g==} + + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/jsonfile@6.1.4': + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + + '@types/linkify-it@3.0.5': + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + + '@types/markdown-it@14.0.1': + resolution: {integrity: sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==} + + '@types/mdast@3.0.15': + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + + '@types/mdurl@1.0.5': + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + + '@types/minimatch@5.1.2': + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/mute-stream@0.0.4': + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + + '@types/node@20.12.7': + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/picomatch@2.3.3': + resolution: {integrity: sha512-Yll76ZHikRFCyz/pffKGjrCwe/le2CDwOP5F210KQo27kpRE46U2rDnzikNlVn6/ezH3Mhn46bJMTfeVTtcYMg==} + + '@types/resolve@1.20.2': + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + + '@types/rollup-plugin-css-only@3.1.3': + resolution: {integrity: sha512-Yomg5XvEYfZ9RWAO/5yKhc1QAUXmyI2VOFeMJpAmwhE73EZMsjtuZ+w2Y7gC2c2XHdb+YtymNQrFKqBqyokjfw==} + + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + + '@types/shelljs@0.8.15': + resolution: {integrity: sha512-vzmnCHl6hViPu9GNLQJ+DZFd6BQI2DBTUeOvYHqkWQLMfKAAQYMb/xAmZkTogZI/vqXHCWkqDRymDI5p0QTi5Q==} + + '@types/streamx@2.9.5': + resolution: {integrity: sha512-IHYsa6jYrck8VEdSwpY141FTTf6D7boPeMq9jy4qazNrFMA4VbRz/sw5LSsfR7jwdDcx0QKWkUexZvsWBC2eIQ==} + + '@types/through@0.0.33': + resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} + + '@types/undertaker-registry@1.0.4': + resolution: {integrity: sha512-tW77pHh2TU4uebWXWeEM5laiw8BuJ7pyJYDh6xenOs75nhny2kVgwYbegJ4BoLMYsIrXaBpKYaPdYO3/udG+hg==} + + '@types/undertaker@1.2.11': + resolution: {integrity: sha512-j1Z0V2ByRHr8ZK7eOeGq0LGkkdthNFW0uAZGY22iRkNQNL9/vAV0yFPr1QN3FM/peY5bxs9P+1f0PYJTQVa5iA==} + + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + '@types/vinyl-fs@3.0.5': + resolution: {integrity: sha512-ckYz9giHgV6U10RFuf9WsDQ3X86EFougapxHmmoxLK7e6ICQqO8CE+4V/3lBN148V5N1pb4nQMmMjyScleVsig==} + + '@types/vinyl@2.0.12': + resolution: {integrity: sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==} + + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + '@types/wrap-ansi@3.0.0': + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + + '@typescript-eslint/eslint-plugin@6.21.0': + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@6.21.0': + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@6.21.0': + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/type-utils@6.21.0': + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@5.62.0': + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/types@6.21.0': + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/typescript-estree@5.62.0': + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@6.21.0': + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@6.21.0': + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.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} + + '@typescript-eslint/visitor-keys@6.21.0': + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@vitejs/plugin-vue-jsx@3.1.0': + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + vue: ^3.0.0 + + '@vitejs/plugin-vue@5.0.4': + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + + '@vue-macros/common@1.10.2': + resolution: {integrity: sha512-WC66NPVh2mJWqm4L0l/u/cOqm4pNOIwVdMGnDYAH2rHcOWy5x68GkhpkYTBu1+xwCSeHWOQn1TCGGbD+98fFpA==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + peerDependenciesMeta: + vue: + optional: true + + '@vue/babel-helper-vue-transform-on@1.2.2': + resolution: {integrity: sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==} + + '@vue/babel-plugin-jsx@1.2.2': + resolution: {integrity: sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + + '@vue/babel-plugin-resolve-type@1.2.2': + resolution: {integrity: sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/compiler-core@3.4.25': + resolution: {integrity: sha512-Y2pLLopaElgWnMNolgG8w3C5nNUVev80L7hdQ5iIKPtMJvhVpG0zhnBG/g3UajJmZdvW0fktyZTotEHD1Srhbg==} + + '@vue/compiler-dom@3.4.25': + resolution: {integrity: sha512-Ugz5DusW57+HjllAugLci19NsDK+VyjGvmbB2TXaTcSlQxwL++2PETHx/+Qv6qFwNLzSt7HKepPe4DcTE3pBWg==} + + '@vue/compiler-sfc@3.4.25': + resolution: {integrity: sha512-m7rryuqzIoQpOBZ18wKyq05IwL6qEpZxFZfRxlNYuIPDqywrXQxgUwLXIvoU72gs6cRdY6wHD0WVZIFE4OEaAQ==} + + '@vue/compiler-ssr@3.4.25': + resolution: {integrity: sha512-H2ohvM/Pf6LelGxDBnfbbXFPyM4NE3hrw0e/EpwuSiYu8c819wx+SVGdJ65p/sFrYDd6OnSDxN1MB2mN07hRSQ==} + + '@vue/devtools-api@7.1.3': + resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==} + + '@vue/devtools-kit@7.1.3': + resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==} + peerDependencies: + vue: ^3.0.0 + + '@vue/devtools-shared@7.1.3': + resolution: {integrity: sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==} + + '@vue/reactivity@3.4.25': + resolution: {integrity: sha512-mKbEtKr1iTxZkAG3vm3BtKHAOhuI4zzsVcN0epDldU/THsrvfXRKzq+lZnjczZGnTdh3ojd86/WrP+u9M51pWQ==} + + '@vue/runtime-core@3.4.25': + resolution: {integrity: sha512-3qhsTqbEh8BMH3pXf009epCI5E7bKu28fJLi9O6W+ZGt/6xgSfMuGPqa5HRbUxLoehTNp5uWvzCr60KuiRIL0Q==} + + '@vue/runtime-dom@3.4.25': + resolution: {integrity: sha512-ode0sj77kuwXwSc+2Yhk8JMHZh1sZp9F/51wdBiz3KGaWltbKtdihlJFhQG4H6AY+A06zzeMLkq6qu8uDSsaoA==} + + '@vue/server-renderer@3.4.25': + resolution: {integrity: sha512-8VTwq0Zcu3K4dWV0jOwIVINESE/gha3ifYCOKEhxOj6MEl5K5y8J8clQncTcDhKF+9U765nRw4UdUEXvrGhyVQ==} + peerDependencies: + vue: 3.4.25 + + '@vue/shared@3.4.25': + resolution: {integrity: sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==} + + '@vueuse/core@10.9.0': + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + + '@vueuse/integrations@10.9.0': + resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + + '@vueuse/metadata@10.9.0': + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} + + '@vueuse/shared@10.9.0': + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + engines: {node: '>= 8.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + algoliasearch@4.23.3: + resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-colors@1.1.0: + resolution: {integrity: sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==} + engines: {node: '>=0.10.0'} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-sequence-parser@1.1.1: + resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + ansi-wrap@0.1.0: + resolution: {integrity: sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==} + engines: {node: '>=0.10.0'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + app-module-path@2.2.0: + resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} + + append-buffer@1.0.2: + resolution: {integrity: sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==} + engines: {node: '>=0.10.0'} + + aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + + are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + + arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + + array-each@1.0.1: + resolution: {integrity: sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==} + engines: {node: '>=0.10.0'} + + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + + array-slice@1.1.0: + resolution: {integrity: sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==} + engines: {node: '>=0.10.0'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + + assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + + ast-kit@0.12.1: + resolution: {integrity: sha512-O+33g7x6irsESUcd47KdfWUrS2F6aGp9KeVJFGj0YjIznfXpBxVGjA0w+y/1OKqX4mFOfmZ9Xpf1ixPT4n9xxw==} + engines: {node: '>=16.14.0'} + + ast-module-types@5.0.0: + resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} + engines: {node: '>=14'} + + ast-walker-scope@0.6.1: + resolution: {integrity: sha512-0ZdQEsSfH3mX4BFbRCc3xOBjx5bDbm73+aAdQOHerPQNf8K0XFMAv79ucd2BpnSc4UMyvBDixiroT8yjm2Y6bw==} + engines: {node: '>=16.14.0'} + + async-done@1.3.2: + resolution: {integrity: sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==} + engines: {node: '>= 0.10'} + + async-done@2.0.0: + resolution: {integrity: sha512-j0s3bzYq9yKIVLKGE/tWlCpa3PfFLcrDZLTSVdnnCTGagXuXBJO4SsY9Xdk/fQBirCkH4evW5xOeJXqlAQFdsw==} + engines: {node: '>= 10.13.0'} + + async-settle@2.0.0: + resolution: {integrity: sha512-Obu/KE8FurfQRN6ODdHN9LuXqwC+JFIM9NRyZqJJ4ZfLJmIYN9Rg0/kb+wF70VV5+fJusTMQlJ1t5rF7J/ETdg==} + engines: {node: '>= 10.13.0'} + + atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + await-to-done@1.0.2: + resolution: {integrity: sha512-izPKtGYvcV41nmdznVgrvgiEodzz3i3qe7IzkVC4VUjlKFxHQ2R2EYrHKIZCAWTYxOfs5gwgmTZWfV0sqvLieQ==} + + babel-plugin-polyfill-corejs2@0.4.11: + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.4: + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.2: + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + bach@2.0.1: + resolution: {integrity: sha512-A7bvGMGiTOxGMpNupYl9HQTf0FFDNF4VCmks4PJpFyN1AX2pdKuxuwdvUz2Hu388wcgp+OvGFNsumBfFNkR7eg==} + engines: {node: '>=10.13.0'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + bare-events@2.2.2: + resolution: {integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + basic-auth@2.0.1: + resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} + engines: {node: '>= 0.8'} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + bl@5.1.0: + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + + bole@5.0.11: + resolution: {integrity: sha512-KB0Ye0iMAW5BnNbnLfMSQcnI186hKUzE2fpkZWqcxsoTR7eqzlTidSOMYPHJOn/yR7VGH7uSZp37qH9q2Et0zQ==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + + brotli-size@4.0.0: + resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==} + engines: {node: '>= 10.16.0'} + + browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-equal@1.0.1: + resolution: {integrity: sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==} + engines: {node: '>=0.4'} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + builtins@5.1.0: + resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==} + + cacache@16.1.3: + resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + cacache@17.1.4: + resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001612: + resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==} + + 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} + + character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + + character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + + character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + + 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@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + 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'} + + cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-buffer@1.0.0: + resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==} + engines: {node: '>= 0.10'} + + clone-stats@1.0.0: + resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + + cloneable-readable@1.1.3: + resolution: {integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==} + + 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==} + + color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + + colors@1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + + columnify@1.6.0: + resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} + engines: {node: '>=8.0.0'} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + + commander@12.0.0: + resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==} + engines: {node: '>=18'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + copy-props@4.0.0: + resolution: {integrity: sha512-bVWtw1wQLzzKiYROtvNlbJgxgBYt2bMJpkCbKmXM3xyijvcjjWXEk5nyrrT3bgJ7ODb19ZohE2T0Y3FgNPyoTw==} + engines: {node: '>= 10.13.0'} + + copy-to@2.0.1: + resolution: {integrity: sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==} + + core-js-compat@3.37.0: + resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==} + + core-js@3.37.0: + resolution: {integrity: sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + + cross-spawn@6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + css@3.0.0: + resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + + dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + 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.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-user-agent@1.0.0: + resolution: {integrity: sha512-bDF7bg6OSNcSwFWPu4zYKpVkJZQYVrAANMYB8bc9Szem1D0yKdm4sa/rOCs2aC9+2GMqQ7KnwtZRvDhmLF0dXw==} + engines: {node: '>= 0.10.0'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dependency-tree@10.0.9: + resolution: {integrity: sha512-dwc59FRIsht+HfnTVM0BCjJaEWxdq2YAvEDy4/Hn6CwS3CBWMtFnL3aZGAkQn3XCYxk/YcTDE4jX2Q7bFTwCjA==} + engines: {node: '>=14'} + hasBin: true + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-file@1.0.0: + resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} + engines: {node: '>=0.10.0'} + + detective-amd@5.0.2: + resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} + engines: {node: '>=14'} + hasBin: true + + detective-cjs@5.0.1: + resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} + engines: {node: '>=14'} + + detective-es6@4.0.1: + resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} + engines: {node: '>=14'} + + detective-postcss@6.1.3: + resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + detective-sass@5.0.3: + resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} + engines: {node: '>=14'} + + detective-scss@4.0.3: + resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} + engines: {node: '>=14'} + + detective-stylus@4.0.0: + resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} + engines: {node: '>=14'} + + detective-typescript@11.2.0: + resolution: {integrity: sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==} + engines: {node: ^14.14.0 || >=16.0.0} + + digest-header@1.1.0: + resolution: {integrity: sha512-glXVh42vz40yZb9Cq2oMOt70FIoWiv+vxNvdKdU8CwjLad25qHM3trLxhl9bVjdr6WaslIXhWpn0NO8T/67Qjg==} + engines: {node: '>= 8.0.0'} + + 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-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + dotenv@4.0.0: + resolution: {integrity: sha512-XcaMACOr3JMVcEv0Y/iUM2XaOsATRZ3U1In41/1jjK6vJZ2PZbQ1bzCG8uvaByfaBpl9gqc9QWJovpUGBXLLYQ==} + engines: {node: '>=4.6.0'} + + duplexer@0.1.1: + resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + duplexify@3.7.1: + resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + + each-props@3.0.0: + resolution: {integrity: sha512-IYf1hpuWrdzse/s/YJOrFmU15lyhSzxelNVAHTEG3DtP4QsLTWZUzcUL3HMXmKQxXpa4EIrBPpwRgj0aehdvAw==} + engines: {node: '>= 10.13.0'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.4.750: + resolution: {integrity: sha512-9ItEpeu15hW5m8jKdriL+BQrgwDTXEL9pn4SkillWFu73ZNNNQ2BKKLS+ZHv2vC9UkNhosAeyfxOf/5OSeTCPA==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.5.0: + resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + esbuild-android-64@0.14.54: + resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + esbuild-android-arm64@0.14.54: + resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + esbuild-darwin-64@0.14.54: + resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + esbuild-darwin-arm64@0.14.54: + resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + esbuild-freebsd-64@0.14.54: + resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + esbuild-freebsd-arm64@0.14.54: + resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + esbuild-linux-32@0.14.54: + resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + esbuild-linux-64@0.14.54: + resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + esbuild-linux-arm64@0.14.54: + resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + esbuild-linux-arm@0.14.54: + resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + esbuild-linux-mips64le@0.14.54: + resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + esbuild-linux-ppc64le@0.14.54: + resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + esbuild-linux-riscv64@0.14.54: + resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + esbuild-linux-s390x@0.14.54: + resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + esbuild-netbsd-64@0.14.54: + resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + esbuild-node-loader@0.8.0: + resolution: {integrity: sha512-BJaecVcClXVa5lO7TbHp+CgWtUmYrtZHyPYDx1JVTO3OOXdQM569vbJOeQGPucbYThuWTiNUUNeLEc4+EZk8QQ==} + + esbuild-openbsd-64@0.14.54: + resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + esbuild-register@3.5.0: + resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} + peerDependencies: + esbuild: '>=0.12 <1' + + esbuild-sunos-64@0.14.54: + resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + esbuild-windows-32@0.14.54: + resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + esbuild-windows-64@0.14.54: + resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + esbuild-windows-arm64@0.14.54: + resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + esbuild@0.14.54: + resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + 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'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-compat-utils@0.5.0: + resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + 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.1: + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + 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-es-x@7.6.0: + resolution: {integrity: sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' + + eslint-plugin-eslint-comments@3.2.0: + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' + + eslint-plugin-html@7.1.0: + resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} + + 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-jsdoc@48.2.3: + resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-jsonc@2.15.1: + resolution: {integrity: sha512-PVFrqIJa8BbM/e828RSn0SwB/Z5ye+2LDuy2XqG6AymNgPsfApRRcznsbxP7VrjdLEU4Nb+g9n/d6opyp0jp9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + eslint-plugin-markdown@3.0.1: + resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + + eslint-plugin-n@16.6.2: + resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + eslint: '>=7.0.0' + + 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-promise@6.1.1: + resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + + eslint-plugin-tsdoc@0.2.17: + resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} + + eslint-plugin-unicorn@40.1.0: + resolution: {integrity: sha512-y5doK2DF9Sr5AqKEHbHxjFllJ167nKDRU01HDcWyv4Tnmaoe9iNxMrBnaybZvWZUaE3OC5Unu0lNIevYamloig==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=7.32.0' + + eslint-plugin-vitest-globals@1.5.0: + resolution: {integrity: sha512-ZSsVOaOIig0oVLzRTyk8lUfBfqzWxr/J3/NFMfGGRIkGQPejJYmDH3gXmSJxAojts77uzAGB/UmVrwi2DC4LYA==} + + eslint-plugin-vue-scoped-css@2.8.0: + resolution: {integrity: sha512-JXb3Um4+AhuDGxSX6FAGCI0p811xF7W8L7yxC8wmAEZEI/teTjlpC09noqQZHXn53RZ/TGQJ8Onaq4teYLxBbg==} + engines: {node: ^12.22 || ^14.17 || >=16} + peerDependencies: + eslint: '>=5.0.0' + vue-eslint-parser: '>=7.1.0' + + eslint-plugin-vue@9.25.0: + resolution: {integrity: sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-yml@1.14.0: + resolution: {integrity: sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.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-utils@3.0.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + 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@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + 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@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + 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==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + expand-tilde@2.0.2: + resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} + engines: {node: '>=0.10.0'} + + exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + 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==} + + fast-levenshtein@3.0.0: + resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + filesize@6.4.0: + resolution: {integrity: sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==} + engines: {node: '>= 0.4.0'} + + filing-cabinet@4.2.0: + resolution: {integrity: sha512-YZ21ryzRcyqxpyKggdYSoXx//d3sCJzM3lsYoaeg/FyXdADGJrUl+BW1KIglaVLJN5BBcMtWylkygY8zBp2MrQ==} + engines: {node: '>=14'} + hasBin: true + + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + 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'} + + findup-sync@5.0.0: + resolution: {integrity: sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==} + engines: {node: '>= 10.13.0'} + + fined@2.0.0: + resolution: {integrity: sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==} + engines: {node: '>= 10.13.0'} + + flagged-respawn@2.0.0: + resolution: {integrity: sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==} + engines: {node: '>= 10.13.0'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + flush-write-stream@1.1.1: + resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} + + focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + + for-own@1.0.0: + resolution: {integrity: sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==} + engines: {node: '>=0.10.0'} + + foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + formstream@1.3.1: + resolution: {integrity: sha512-FkW++ub+VbE5dpwukJVDizNWhSgp8FhmhI65pF7BZSVStBqe6Wgxe2Z9/Vhsn7l7nXCPwP+G1cyYlX8VwWOf0g==} + + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + fs-mkdirp-stream@1.0.0: + resolution: {integrity: sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==} + engines: {node: '>= 0.10'} + + fs-mkdirp-stream@2.0.1: + resolution: {integrity: sha512-UTOY+59K6IA94tec8Wjqm0FSh5OVudGNB0NL/P6fB3HiE3bYOY3VYBGijsnOHNkQSwC1FKkU77pmq7xp9CskLw==} + engines: {node: '>=10.13.0'} + + 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==} + + gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-amd-module-type@5.0.1: + resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} + engines: {node: '>=14'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + + glob-parent@3.1.0: + resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} + + 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-stream@6.1.0: + resolution: {integrity: sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==} + engines: {node: '>= 0.10'} + + glob-stream@8.0.2: + resolution: {integrity: sha512-R8z6eTB55t3QeZMmU1C+Gv+t5UnNRkA55c5yo67fAVfxODxieTwsjNG7utxS/73NdP1NbDgCrhVEg2h00y4fFw==} + engines: {node: '>=10.13.0'} + + glob-watcher@6.0.0: + resolution: {integrity: sha512-wGM28Ehmcnk2NqRORXFOTOR064L4imSw3EeOqU5bIwUf62eXGwg89WivH6VMahL8zlQHeodzvHpXplrqzrz3Nw==} + engines: {node: '>= 10.13.0'} + + glob@10.3.12: + resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + + global-modules@1.0.0: + resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} + engines: {node: '>=0.10.0'} + + global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + + global-prefix@1.0.2: + resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} + engines: {node: '>=0.10.0'} + + global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + 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'} + + glogg@2.2.0: + resolution: {integrity: sha512-eWv1ds/zAlz+M1ioHsyKJomfY7jbDDPpwSkv14KQj89bycx1nvK5/2Cj/T9g7kzJcX5Bc7Yv22FjfBZS/jl94A==} + engines: {node: '>= 10.13.0'} + + gonzales-pe@4.3.0: + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} + hasBin: true + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + gulp-cli@3.0.0: + resolution: {integrity: sha512-RtMIitkT8DEMZZygHK2vEuLPqLPAFB4sntSxg4NoDta7ciwGZ18l7JuhCTiS5deOJi2IoK0btE+hs6R4sfj7AA==} + engines: {node: '>=10.13.0'} + hasBin: true + + gulp-typescript@6.0.0-alpha.1: + resolution: {integrity: sha512-KoT0TTfjfT7w3JItHkgFH1T/zK4oXWC+a8xxKfniRfVcA0Fa1bKrIhztYelYmb+95RB80OLMBreknYkdwzdi2Q==} + engines: {node: '>= 8'} + peerDependencies: + typescript: '~2.7.1 || >=2.8.0-dev || >=2.9.0-dev || ~3.0.0 || >=3.0.0-dev || >=3.1.0-dev || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.7.0-dev ' + + gulp@5.0.0: + resolution: {integrity: sha512-S8Z8066SSileaYw1S2N1I64IUc/myI2bqe2ihOBzO6+nKpvNSg7ZcWJt/AwF8LC/NVN+/QZ560Cb/5OPsyhkhg==} + engines: {node: '>=10.13.0'} + hasBin: true + + gulplog@2.2.0: + resolution: {integrity: sha512-V2FaKiOhpR3DRXZuYdRLn/qiY0yI5XmqbTKrYbdemJ+xOh2d2MOweI/XFgMzd/9+1twdvMwllnZbWZNJ+BOm4A==} + engines: {node: '>= 10.13.0'} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + 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.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + homedir-polyfill@1.0.3: + resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} + engines: {node: '>=0.10.0'} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + hosted-git-info@6.1.1: + resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore-walk@6.0.4: + resolution: {integrity: sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + 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'} + + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + + import-meta-resolve@2.2.2: + resolution: {integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==} + + 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'} + + individual@3.0.0: + resolution: {integrity: sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==} + + infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} + + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + interpret@3.1.1: + resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} + engines: {node: '>=10.13.0'} + + invert-kv@3.0.1: + resolution: {integrity: sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==} + engines: {node: '>=8'} + + ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + + ip@1.1.9: + resolution: {integrity: sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==} + + is-absolute@1.0.0: + resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} + engines: {node: '>=0.10.0'} + + is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + + is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + + 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-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + 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-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + + 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-glob@3.1.0: + resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + + is-negated-glob@1.0.0: + resolution: {integrity: sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==} + engines: {node: '>=0.10.0'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + 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-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-relative-path@1.0.2: + resolution: {integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==} + + is-relative@1.0.0: + resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} + engines: {node: '>=0.10.0'} + + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + + 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.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + + is-unc-path@1.0.0: + resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} + engines: {node: '>=0.10.0'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-url-superb@4.0.0: + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} + + is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + + is-utf8@0.2.1: + resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} + + is-valid-glob@1.0.0: + resolution: {integrity: sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==} + engines: {node: '>=0.10.0'} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + + js-cool@2.8.0: + resolution: {integrity: sha512-k2oWpZfYgqXaciJaG/aAKg2PoNyiZ37SeO0t6yVtlolY50Lwv8WnqmSekSAHTrXvxtLzN4VNj8eGhQi9lG6abQ==} + peerDependencies: + core-js: '>=3.0.0' + tslib: '>=2.0.0' + + js-cool@5.19.0: + resolution: {integrity: sha512-gopKT7TcBTwpu3fMbw6fwfqnAneInAF4UAYX4ZVliAIke5T/ki26DYVSc0rBwq/rE43w/S5lYjheXS8rHNdPrw==} + engines: {node: '>=12.20'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + + jsdoc-type-pratt-parser@4.0.0: + resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + engines: {node: '>=12.0.0'} + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-parse-even-better-errors@3.0.1: + resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + 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==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-eslint-parser@2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + last-run@2.0.0: + resolution: {integrity: sha512-j+y6WhTLN4Itnf9j5ZQos1BGPCS8DAwmgMroR3OzfxAsBxam0hMw7J8M3KqZl0pLQJ1jNnwIexg5DYpC/ctwEQ==} + engines: {node: '>= 10.13.0'} + + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + + lcid@4.0.1: + resolution: {integrity: sha512-qI4sQt7g19ZWtaodPKBUvym/pen9/lZzqyl2qeItTFPwJptXllVhe3KI+mV9xmBa4cnZoik8m1obToxqFbVIZQ==} + engines: {node: '>=14.16'} + + lead@1.0.0: + resolution: {integrity: sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==} + engines: {node: '>= 0.10'} + + lead@4.0.0: + resolution: {integrity: sha512-DpMa59o5uGUWWjruMp71e6knmwKU3jRBBn1kjuLWN9EeIOxNeSAwvHf03WIl8g/ZMR2oSQC9ej3yeLBwdDc/pg==} + engines: {node: '>=10.13.0'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + liftoff@5.0.0: + resolution: {integrity: sha512-a5BQjbCHnB+cy+gsro8lXJ4kZluzOijzJ1UVVfyJYZC+IP2pLv1h4+aysQeKuTmyO8NAqfyQAk4HWaP/HjcKTg==} + engines: {node: '>=10.13.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + + load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + + load-source@1.2.0: + resolution: {integrity: sha512-2pgerVx7egVvqEm2TfYr3GOSX7tbmAEs6Kt3gDRODnexC2xfLOB/hB9wP8+MFBlo2tD/GLX1MgQ1IOZ4jbtzaw==} + + load-yml@1.4.0: + resolution: {integrity: sha512-L0O2nUOOZ2bNMvFudewMPDhdJqtNoxEHUUhy0Z22aEZXSzmvR1UK5utu67uTpmwmFo+UrdycWceGuifcsgJi5w==} + engines: {node: '>=12.20'} + + 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.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.sortedlastindex@4.1.0: + resolution: {integrity: sha512-s8xEQdsp2Tu5zUqVdFSe9C0kR8YlnAJYLqMdkh+pIRBRxF6/apWseLdHl3/+jv2I61dhPwtI/Ff+EqvCpc+N8w==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-symbols@5.1.0: + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} + + lru-cache@10.2.1: + resolution: {integrity: sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==} + engines: {node: 14 || >=16.14} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + madge@7.0.0: + resolution: {integrity: sha512-x9eHkBWoCJ2B8yGesWf8LRucarkbH5P3lazqgvmxe4xn5U2Meyfu906iG9mBB1RnY/f4D+gtELWdiz1k6+jAZA==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + typescript: ^3.9.5 || ^4.9.5 || ^5 + peerDependenciesMeta: + typescript: + optional: true + + magic-string-ast@0.3.0: + resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} + engines: {node: '>=16.14.0'} + + magic-string@0.26.7: + resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} + engines: {node: '>=12'} + + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + + make-fetch-happen@10.2.1: + resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + make-fetch-happen@11.1.1: + resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + + markdown-it-anchor@8.6.7: + resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==} + peerDependencies: + '@types/markdown-it': '*' + markdown-it: '*' + + markdown-it-container@4.0.0: + resolution: {integrity: sha512-HaNccxUH0l7BNGYbFbjmGpf5aLHAMTinqRZQAEQbMr2cdD3z91Q6kIo1oUn1CQndkT03jat6ckrdRYuwwqLlQw==} + + markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + hasBin: true + + marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} + hasBin: true + + mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + + mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + + memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark@2.11.4: + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + + minipass-fetch@2.1.2: + resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + minipass-fetch@3.0.4: + resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + + minipass-json-stream@1.0.1: + resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + + minisearch@6.3.0: + resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + + module-definition@5.0.1: + resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} + engines: {node: '>=14'} + hasBin: true + + module-lookup-amd@8.0.5: + resolution: {integrity: sha512-vc3rYLjDo5Frjox8NZpiyLXsNWJ5BWshztc/5KSOMzpg9k5cHH652YsJ7VKKmtM4SvaxuE9RkrYGhiSjH3Ehow==} + engines: {node: '>=14'} + hasBin: true + + monorepo-root@2.5.1: + resolution: {integrity: sha512-4sgeX1n6xAeYLRyU0DxtCHAW3aXQICaHDXwpV1GaiId/MyU6m7P6iMwvGFeqzuujuoMHCOe53hzccWX74uVVmw==} + + morgan@1.10.0: + resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} + engines: {node: '>= 0.8.0'} + + mount-css@1.2.0: + resolution: {integrity: sha512-LGm7ucjo+3NsXQqxHH03v9jmAs00/JR1CsqO6IC9gm7zkZjWjki5FLM+Ld9MeTfuPPXXgMj7m1yzz5NA13Ye1g==} + + mount-image@1.2.0: + resolution: {integrity: sha512-NQsmg+Zjnb4DZNvJtwuFbN3ekS+tJxyfbYuTk9PqdmtRpHv0RjajEnzCRXNUIZ7Epbe3iTHhRFJI/zHClmirQA==} + + mount-script@1.2.0: + resolution: {integrity: sha512-Zi41a5RITaRU0Uzkgih/yzUfsxWDFLjM8ap37Jjic1jH2ob7N5yOzsj6zhSJxc3JC84456kgLFd5SLdYob2eJQ==} + + mount-style@1.2.0: + resolution: {integrity: sha512-INP8yaVjMy6kl2fbM43UrGWxqCZIKMO35pNW9nL0EiS7jNYbZkXghf7Nt+ls2VyqOZlEONo6h4WtnxNS41By6A==} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mute-stdout@2.0.0: + resolution: {integrity: sha512-32GSKM3Wyc8dg/p39lWPKYu8zci9mJFzV1Np9Of0ZEpe6Fhssn/FbI7ywAMd40uX+p3ZKh3T5EeCFv81qS3HmQ==} + engines: {node: '>= 10.13.0'} + + mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + + mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + 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==} + + ndjson@2.0.0: + resolution: {integrity: sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ==} + engines: {node: '>=10'} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + + node-apollo@1.2.1: + resolution: {integrity: sha512-6bNhTQ2Yt4Zq+lqPMT4+x4nzfbC7QHytbQBv833N7slhfnYz4zvoNRC9GDMYh6BFW/wSVP05z627ZAzdyi09dg==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-gyp@9.4.1: + resolution: {integrity: sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==} + engines: {node: ^12.13 || ^14.13 || >=16} + hasBin: true + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + node-source-walk@6.0.2: + resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} + engines: {node: '>=14'} + + nopt@6.0.0: + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-package-data@5.0.0: + resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + now-and-later@2.0.1: + resolution: {integrity: sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==} + engines: {node: '>= 0.10'} + + now-and-later@3.0.0: + resolution: {integrity: sha512-pGO4pzSdaxhWTGkfSfHx3hVzJVslFPwBp2Myq9MYN/ChfJZF87ochMAXnvz6/58RJSf5ik2q9tXprBBrk2cpcg==} + engines: {node: '>= 10.13.0'} + + npm-bundled@3.0.0: + resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + 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} + + 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} + + npm-package-arg@10.1.0: + resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-packlist@7.0.4: + resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-pick-manifest@8.0.2: + resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-registry-fetch@14.0.5: + resolution: {integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-run-all@4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true + + npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + 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-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + object.defaults@1.1.0: + resolution: {integrity: sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==} + engines: {node: '>=0.10.0'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + + on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + + 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'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + ora@6.3.1: + resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + ordered-read-streams@1.0.1: + resolution: {integrity: sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==} + + os-lang@3.2.0: + resolution: {integrity: sha512-/hMEpk0p6gE4BaK9ZufPktHYsws4Kft8nBwiWEdIJryigq6bZ4PkuKkWypvjFdAZRtHm20pZTSoZgBjKtT/HTw==} + hasBin: true + + os-name@1.0.3: + resolution: {integrity: sha512-f5estLO2KN8vgtTRaILIgEGBoBrMnZ3JQ7W9TMZCnOIGwHe8TRGSpcagnWDo+Dfhd/z08k9Xe75hvciJJ8Qaew==} + engines: {node: '>=0.10.0'} + hasBin: true + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + osx-release@1.1.0: + resolution: {integrity: sha512-ixCMMwnVxyHFQLQnINhmIpWqXIfS2YOXchwQrk+OFzmo6nDjQ0E4KXAyyUh0T0MZgV4bUhkRrAbVqlE4yLVq4A==} + engines: {node: '>=0.10.0'} + hasBin: true + + 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-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-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pacote@15.2.0: + resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + + parse-filepath@1.0.2: + resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} + engines: {node: '>=0.8'} + + parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-ms@2.1.0: + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} + + parse-passwd@1.0.0: + resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} + engines: {node: '>=0.10.0'} + + path-dirname@1.0.2: + resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} + + 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@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-root-regex@0.1.2: + resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} + engines: {node: '>=0.10.0'} + + path-root@0.1.1: + resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} + engines: {node: '>=0.10.0'} + + path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} + + path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pidtree@0.3.1: + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} + hasBin: true + + pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + + pkg-types@1.1.0: + resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} + + plugin-error@1.0.1: + resolution: {integrity: sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==} + engines: {node: '>= 0.10'} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + pm-info@2.5.1: + resolution: {integrity: sha512-cCK0S13Pk3z6vG1G0XyoqWPVg6SLEi7LnNRVlDep+JM50bsUD49rtEmhcCWKqTEEJD0QHYNlWNpb4W4s+Vi2tA==} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss-safe-parser@6.0.0: + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + + postcss-scss@4.0.9: + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.29 + + postcss-selector-parser@6.0.16: + resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} + engines: {node: '>=4'} + + postcss-styl@0.12.3: + resolution: {integrity: sha512-8I7Cd8sxiEITIp32xBK4K/Aj1ukX6vuWnx8oY/oAH35NfQI4OZaY5nd68Yx8HeN5S49uhQ6DL0rNk0ZBu/TaLg==} + engines: {node: ^8.10.0 || ^10.13.0 || ^11.10.1 || >=12.13.0} + + postcss-values-parser@6.0.2: + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} + peerDependencies: + postcss: ^8.2.9 + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + preact@10.20.2: + resolution: {integrity: sha512-S1d1ernz3KQ+Y2awUxKakpfOg2CEmJmwOP+6igPx6dgr6pgDvenqYviyokWso2rhHvGtTlWWnJDa7RaPbQerTg==} + + precinct@11.0.5: + resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} + engines: {node: ^14.14.0 || >=16.0.0} + hasBin: true + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-config-common@1.4.0: + resolution: {integrity: sha512-8sYxS0a6pDInA/eJGL4iCsdblr39yHKrjrXLNb/OZkm8yQ0338FlK898Us4Pu5tV4TwOBx48GdxGt9mN58duxg==} + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + + pretty-ms@7.0.1: + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} + + proc-log@3.0.0: + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + + pump@2.0.1: + resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + pumpify@1.5.1: + resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} + + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qs@6.12.1: + resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + + quote-unquote@1.0.0: + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: 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} + + read-package-json@6.0.4: + resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + rechoir@0.8.0: + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} + engines: {node: '>= 10.13.0'} + + regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + + regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + + regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + + reinstaller@3.0.2: + resolution: {integrity: sha512-VLjzE9tQMghK53x1Ccx96AEdRRe+dKq5zsnSNFLf1d7QsLAaRV0yX3lU1djgIaPYNSjDOXBRXjt8Y/GFTrHt/A==} + hasBin: true + peerDependencies: + debug: '>= 4' + js-cool: '>= 2' + + remove-bom-buffer@3.0.0: + resolution: {integrity: sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==} + engines: {node: '>=0.10.0'} + + remove-bom-stream@1.2.0: + resolution: {integrity: sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==} + engines: {node: '>= 0.10'} + + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + + replace-ext@1.0.1: + resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} + engines: {node: '>= 0.10'} + + replace-ext@2.0.0: + resolution: {integrity: sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==} + engines: {node: '>= 10'} + + replace-homedir@2.0.0: + resolution: {integrity: sha512-bgEuQQ/BHW0XkkJtawzrfzHFSN70f/3cNOiHa2QsYxqrjaC30X1k74FJ6xswVBP0sr0SpGIdVFuPwfrYziVeyw==} + engines: {node: '>= 10.13.0'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + requirejs-config-file@4.0.0: + resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} + engines: {node: '>=10.13.0'} + + requirejs@2.3.6: + resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} + engines: {node: '>=0.4.0'} + hasBin: true + + resolve-dependency-path@3.0.2: + resolution: {integrity: sha512-Tz7zfjhLfsvR39ADOSk9us4421J/1ztVBo4rWUkF38hgHK5m0OCZ3NxFVpqHRkjctnwVa15igEUHFJp8MCS7vA==} + engines: {node: '>=14'} + + resolve-dir@1.0.1: + resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} + engines: {node: '>=0.10.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-options@1.1.0: + resolution: {integrity: sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==} + engines: {node: '>= 0.10'} + + resolve-options@2.0.0: + resolution: {integrity: sha512-/FopbmmFOQCfsCx77BRFdKOniglTiHumLgwvd6IDPihy1GKkadZbgQJBcTb2lMzSR1pndzd96b1nZrreZ7+9/A==} + engines: {node: '>= 10.13.0'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + + rimraf@5.0.5: + resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} + engines: {node: '>=14'} + hasBin: true + + rm-all@1.1.1: + resolution: {integrity: sha512-5n3SiDtp0BxHX485YhfbxR1RLtR9KlRTCj0hHahTufYEhUyE9ydy1nRtP4OG9kXifsYClu43gwkqcOnjpz/HPQ==} + engines: {node: '>=12.20'} + hasBin: true + peerDependencies: + js-cool: '>= 2' + + rollup-plugin-add-banner@1.1.0: + resolution: {integrity: sha512-GvBE6Miow7NxxHeRc0ehs6uJ8AV4fAmc5rnPIpIAyrUX+LKLkw0vXgFiGl63mFshWK3HXLjyXfzTgBLp1W9W2g==} + peerDependencies: + rollup: '>= 2.0.0' + + rollup-plugin-css-only@4.5.2: + resolution: {integrity: sha512-7rj9+jB17Pz8LNcPgtMUb16JcgD8lxQMK9HcGfAVhMK3na/WXes3oGIo5QsrQQVqtgAU6q6KnQNXJrYunaUIQQ==} + engines: {node: '>=14'} + peerDependencies: + rollup: <5 + + rollup-plugin-esbuild@6.1.1: + resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} + engines: {node: '>=14.18.0'} + peerDependencies: + esbuild: '>=0.18.0' + rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + + rollup-plugin-filesize@10.0.0: + resolution: {integrity: sha512-JAYYhzCcmGjmCzo3LEHSDE3RAPHKIeBdpqRhiyZSv5o/3wFhktUOzYAWg/uUKyEu5dEaVaql6UOmaqHx1qKrZA==} + engines: {node: '>=16.0.0'} + + rollup-plugin-node-externals@7.1.2: + resolution: {integrity: sha512-cVJFKs+ulZxpMmn/s+oi431d93Jq5+G7Sc5ixWDrL2k+Gj+MqXg0KMNWgKf8Mw5qpaG4jVDpsvuqFfiCvRcGeA==} + engines: {node: '>= 21 || ^20.6.0 || ^18.19.0'} + peerDependencies: + rollup: ^3.0.0 || ^4.0.0 + + rollup-plugin-replace-shebang@1.2.0: + resolution: {integrity: sha512-683B/kMQwm7TN8sIsBo778kzvu4PYed4XU7OPNidTdGb2eFlEdkNbq8dPapzkEckLfzxxPHYz44f7+U5e+NW4A==} + peerDependencies: + rollup: '>= 2.0.0' + + rollup-plugin-visualizer@5.12.0: + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true + + rollup@0.63.5: + resolution: {integrity: sha512-dFf8LpUNzIj3oE0vCvobX6rqOzHzLBoblyFp+3znPbjiSmSvOoK2kMKx+Fv9jYduG1rvcCfCveSgEaQHjWRF6g==} + hasBin: true + + rollup@4.16.4: + resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + + run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + + safe-regex@2.1.1: + resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sass-lookup@5.0.1: + resolution: {integrity: sha512-t0X5PaizPc2H4+rCwszAqHZRtr4bugo4pgiCvrBFvIX0XFxnr29g77LJcpyj9A0DcKf7gXMLcgvRjsonYI6x4g==} + engines: {node: '>=14'} + hasBin: true + + sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + + search-insights@2.13.0: + resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} + + semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + + semver-greatest-satisfied-range@2.0.0: + resolution: {integrity: sha512-lH3f6kMbwyANB7HuOWRMlLCa2itaCrZJ+SAqqkSZrZKO/cAsk2EOyaKHUtNkVLFyFW9pct22SFesFp3Z7zpA0g==} + engines: {node: '>= 10.13.0'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + + semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + shiki@0.14.7: + resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} + + shiki@1.3.0: + resolution: {integrity: sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==} + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + 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'} + + sigstore@1.9.0: + resolution: {integrity: sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + smob@1.5.0: + resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} + + socks-proxy-agent@7.0.0: + resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} + engines: {node: '>= 10'} + + socks@2.8.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-resolve@0.6.0: + resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + + sparkles@2.1.0: + resolution: {integrity: sha512-r7iW1bDw8R/cFifrD3JnQJX0K1jqT0kprL48BiBpLZLJPmAm34zsVBsK5lc7HirZYZqMW65dOXZgbAGt/I6frg==} + engines: {node: '>= 10.13.0'} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + + spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + + split2@3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + ssri@10.0.5: + resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + ssri@9.0.1: + resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + stdin-discarder@0.1.0: + resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + stream-composer@1.0.2: + resolution: {integrity: sha512-bnBselmwfX5K10AH6L4c8+S5lgZMWI7ZYrz2rvYjCPB2DIMC4Ig8OpxGpNJSxRZ58oti7y1IcNvjBAz9vW5m4w==} + + stream-exhaust@1.0.2: + resolution: {integrity: sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==} + + stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + + stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + + streamx@2.16.1: + resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==} + + 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.prototype.padend@3.1.6: + resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + 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-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + stylus-lookup@5.0.1: + resolution: {integrity: sha512-tLtJEd5AGvnVy4f9UHQMw4bkJJtaAcmo54N+ovQBjDY3DuWyK9Eltxzr5+KG0q4ew6v2EHyuWWNnHeiw/Eo7rQ==} + engines: {node: '>=14'} + hasBin: true + + stylus@0.57.0: + resolution: {integrity: sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ==} + hasBin: true + + 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-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + sver@1.8.4: + resolution: {integrity: sha512-71o1zfzyawLfIWBOmw8brleKyvnbn73oVHNCsu51uPMz/HWiKkkXsI31JjHW5zqXEqnPYkIiHd8ZmL7FCimLEA==} + + svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + + synckit@0.6.2: + resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} + engines: {node: '>=12.20'} + + synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + teex@1.0.1: + resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} + + terser@5.30.4: + resolution: {integrity: sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==} + engines: {node: '>=10'} + hasBin: true + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + through2-filter@3.0.0: + resolution: {integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==} + + through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + + through2@3.0.2: + resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} + + through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + to-absolute-glob@2.0.2: + resolution: {integrity: sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==} + engines: {node: '>=0.10.0'} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + to-through@2.0.0: + resolution: {integrity: sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==} + engines: {node: '>= 0.10'} + + to-through@3.0.0: + resolution: {integrity: sha512-y8MN937s/HVhEoBU1SxfHC+wxCHkV1a9gW8eAdTadYh/bGyesZIVcbjI+mSpFbSVwQici/XjBjuUyri1dnXwBw==} + engines: {node: '>=10.13.0'} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-graphviz@1.8.2: + resolution: {integrity: sha512-5YhbFoHmjxa7pgQLkB07MtGnGJ/yhvjmc9uhsnDBEICME6gkPf83SBwLDQqGDoCa3XzUMWLk1AU2Wn1u1naDtA==} + engines: {node: '>=14.16'} + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tsnd@1.1.0: + resolution: {integrity: sha512-sc+Xm5uxwfMlYCjLkwP9i7+9uC4izAo8N/opmdzR+RHtE/XTEfUV8r5FI3oh6RdcMybNHD0DTGultnzrJfcirQ==} + hasBin: true + + tsutils@3.21.0: + 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' + + tuf-js@1.1.7: + resolution: {integrity: sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + 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'} + + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typedoc-plugin-markdown@3.17.1: + resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==} + peerDependencies: + typedoc: '>=0.24.0' + + typedoc@0.25.13: + resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==} + engines: {node: '>= 16'} + hasBin: true + peerDependencies: + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x + + typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + + uglify-js@3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} + hasBin: true + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + unc-path-regex@0.1.2: + resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} + engines: {node: '>=0.10.0'} + + undertaker-registry@2.0.0: + resolution: {integrity: sha512-+hhVICbnp+rlzZMgxXenpvTxpuvA67Bfgtt+O9WOE5jo7w/dyiF1VmoZVIHvP2EkUjsyKyTwYKlLhA+j47m1Ew==} + engines: {node: '>= 10.13.0'} + + undertaker@2.0.0: + resolution: {integrity: sha512-tO/bf30wBbTsJ7go80j0RzA2rcwX6o7XPBpeFcb+jzoeb4pfMM2zUeSDIkY1AWqeZabWxaQZ/h8N9t35QKDLPQ==} + engines: {node: '>=10.13.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + unescape@1.0.1: + resolution: {integrity: sha512-O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==} + engines: {node: '>=0.10.0'} + + unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unique-filename@2.0.1: + resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + unique-filename@3.0.0: + resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + unique-slug@3.0.0: + resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + unique-slug@4.0.0: + resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + unique-stream@2.3.1: + resolution: {integrity: sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==} + + unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + unplugin-vue-define-options@1.4.3: + resolution: {integrity: sha512-CN5xF8l8bySD6okw6PCt1zWFHf5vX+q4Cg2ssn9usANHtxmeyCgMccC7ywZyzI32dQS+pq6hvuSz/GewtYnbEQ==} + engines: {node: '>=16.14.0'} + + unplugin@1.10.1: + resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} + engines: {node: '>=14.0.0'} + + update-browserslist-db@1.0.13: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + urllib@2.41.0: + resolution: {integrity: sha512-pNXdxEv52L67jahLT+/7QE+Fup1y2Gc6EdmrAhQ6OpQIC2rl14oWwv9hvk1GXOZqEnJNwRXHABuwgPOs1CtL7g==} + engines: {node: '>= 0.10.0'} + peerDependencies: + proxy-agent: ^5.0.0 peerDependenciesMeta: - '@babel/core': + proxy-agent: + optional: true + + use-downloads@1.5.1: + resolution: {integrity: sha512-DOAlnvDzbXJLo2D+jMQ87qKhNBiV7p0RzDjDHLCmlyTOA6iVytQuyvVDcTK4UYz7U907YJkaOieWxXHGWy6+tg==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utility@1.18.0: + resolution: {integrity: sha512-PYxZDA+6QtvRvm//++aGdmKG/cI07jNwbROz0Ql+VzFV1+Z0Dy55NI4zZ7RHc9KKpBePNFwoErqIuqQv/cjiTA==} + engines: {node: '>= 0.12.0'} + + v8flags@4.0.1: + resolution: {integrity: sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg==} + engines: {node: '>= 10.13.0'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + validate-npm-package-name@5.0.0: + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + + value-or-function@3.0.0: + resolution: {integrity: sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==} + engines: {node: '>= 0.10'} + + value-or-function@4.0.0: + resolution: {integrity: sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg==} + engines: {node: '>= 10.13.0'} + + vinyl-contents@2.0.0: + resolution: {integrity: sha512-cHq6NnGyi2pZ7xwdHSW1v4Jfnho4TEGtxZHw01cmnc8+i7jgR6bRnED/LbrKan/Q7CvVLbnvA5OepnhbpjBZ5Q==} + engines: {node: '>=10.13.0'} + + vinyl-fs@3.0.3: + resolution: {integrity: sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==} + engines: {node: '>= 0.10'} + + vinyl-fs@4.0.0: + resolution: {integrity: sha512-7GbgBnYfaquMk3Qu9g22x000vbYkOex32930rBnc3qByw6HfMEAoELjCjoJv4HuEQxHAurT+nvMHm6MnJllFLw==} + engines: {node: '>=10.13.0'} + + vinyl-sourcemap@1.1.0: + resolution: {integrity: sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==} + engines: {node: '>= 0.10'} + + vinyl-sourcemap@2.0.0: + resolution: {integrity: sha512-BAEvWxbBUXvlNoFQVFVHpybBbjW1r03WhohJzJDSfgrrK5xVYIDTan6xN14DlyImShgDRv2gl9qhM6irVMsV0Q==} + engines: {node: '>=10.13.0'} + + vinyl@2.2.1: + resolution: {integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==} + engines: {node: '>= 0.10'} + + vinyl@3.0.0: + resolution: {integrity: sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==} + engines: {node: '>=10.13.0'} + + vite@5.2.10: + resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + 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 + + vitepress@1.1.3: + resolution: {integrity: sha512-hGrIYN0w9IHWs0NQSnlMjKV/v/HLfD+Ywv5QdvCSkiT32mpNOOwUrZjnqZv/JL/WBPpUc94eghTUvmipxw0xrA==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + + vscode-oniguruma@1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + + vscode-textmate@8.0.0: + resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} + + vue-demi@0.14.7: + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-eslint-parser@9.4.2: + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + vue@3.4.25: + resolution: {integrity: sha512-HWyDqoBHMgav/OKiYA2ZQg+kjfMgLt/T0vg4cbIF7JbXAjDexRf5JRg+PWAfrAkSmTd2I8aPSXtooBFWHB98cg==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: optional: true + + walkdir@0.4.1: + resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} + engines: {node: '>=6.0.0'} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack-virtual-modules@0.6.1: + resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + + what-pm@2.5.1: + resolution: {integrity: sha512-5CLrxTyIKk3o2Tshv1BMAe84NjJbucr/uio8fX4Jr838/enF/aQEpAUWLcj5WSbA3dOJWWsoySLQPCK2SPCeSA==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + which@3.0.1: + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + + widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + + win-release@1.1.1: + resolution: {integrity: sha512-iCRnKVvGxOQdsKhcQId2PXV1vV3J/sDPXKA4Oe9+Eti2nb2ESEsYHRYls/UjoUW3bIc5ZDO8dTH50A/5iVN+bw==} + engines: {node: '>=0.10.0'} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + workspace-projects@2.5.1: + resolution: {integrity: sha512-bUnx92d1MrnukbK+bK4NZ04+4VMC9jCOfvkB4D67KwzvxVmaBCh0zul0jQ6eghxGxMibxEtdIVQwYQuF0pSu3Q==} + + workspace-root@2.5.1: + resolution: {integrity: sha512-pgC3AXnpwJ7E26Y+IolqBm/pqCyGZz6lk+QXyLJYGGXF8AOkwH3w49kEXbBt+6f9nKG39v0O0VAJ4y/k7qPIJQ==} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + 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==} + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml-eslint-parser@1.2.2: + resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==} + engines: {node: ^14.17.0 || >=16.0.0} + + yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + + zx@8.0.2: + resolution: {integrity: sha512-3g+ePtPYmyrjRuASlJiUhkje1je4a47woML/fzTKBb9PA5BzRQbSswwyJ8nlFWJjA1ORRi6TMyAdhuz/jK+Gaw==} + engines: {node: '>= 16.0.0'} + hasBin: true + +snapshots: + + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + + '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + dependencies: + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + + '@algolia/cache-browser-local-storage@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + + '@algolia/cache-common@4.23.3': {} + + '@algolia/cache-in-memory@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + + '@algolia/client-account@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-analytics@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-common@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-personalization@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-search@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/logger-common@4.23.3': {} + + '@algolia/logger-console@4.23.3': + dependencies: + '@algolia/logger-common': 4.23.3 + + '@algolia/recommend@4.23.3': + dependencies: + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/requester-browser-xhr@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + + '@algolia/requester-common@4.23.3': {} + + '@algolia/requester-node-http@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + + '@algolia/transporter@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.24.2': + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + + '@babel/compat-data@7.24.4': {} + + '@babel/core@7.24.4': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/eslint-parser@7.24.1(@babel/core@7.24.4)(eslint@8.57.0)': + dependencies: + '@babel/core': 7.24.4 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.57.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + + '@babel/generator@7.24.4': + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-compilation-targets@7.23.6': + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + + '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.0 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-environment-visitor@7.22.20': {} + + '@babel/helper-function-name@7.23.0': + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + + '@babel/helper-hoist-variables@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-member-expression-to-functions@7.23.0': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-module-imports@7.22.15': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-module-imports@7.24.3': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + '@babel/helper-optimise-call-expression@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-plugin-utils@7.24.0': {} + + '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + + '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + + '@babel/helper-simple-access@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-split-export-declaration@7.22.6': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-string-parser@7.24.1': {} + + '@babel/helper-validator-identifier@7.22.20': {} + + '@babel/helper-validator-option@7.23.5': {} + + '@babel/helper-wrap-function@7.22.20': + dependencies: + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + + '@babel/helpers@7.24.4': + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + + '@babel/highlight@7.24.2': + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + + '@babel/parser@7.24.4': + dependencies: + '@babel/types': 7.24.0 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) + + '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) + + '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) + + '@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + + '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/template': 7.24.0 + + '@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) + + '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) + + '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + + '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) + + '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) + + '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 + + '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-identifier': 7.22.20 + + '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + + '@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) + + '@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) + + '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + + '@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) + + '@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + + '@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) + + '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + + '@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) + + '@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/preset-env@7.24.4(@babel/core@7.24.4)': + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.4) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.4) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.4) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.4) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.4) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.4) + core-js-compat: 3.37.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4)': dependencies: - '@babel/core': 7.23.3 - '@babel/helper-plugin-utils': 7.22.5 - dev: true + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/types': 7.24.0 + esutils: 2.0.3 - /@babel/plugin-transform-typescript@7.23.4(@babel/core@7.23.3): - resolution: {integrity: sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - peerDependenciesMeta: - '@babel/core': - optional: true + '@babel/preset-typescript@7.24.1(@babel/core@7.24.4)': dependencies: - '@babel/core': 7.23.3 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.3) - dev: true + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) - /@babel/runtime@7.21.0: - resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} - engines: {node: '>=6.9.0'} + '@babel/regjsgen@0.8.0': {} + + '@babel/runtime@7.24.4': dependencies: - regenerator-runtime: 0.13.11 - dev: true + regenerator-runtime: 0.14.1 - /@babel/template@7.22.15: - resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} - engines: {node: '>=6.9.0'} + '@babel/template@7.24.0': dependencies: - '@babel/code-frame': 7.23.4 - '@babel/parser': 7.24.0 - '@babel/types': 7.23.6 - dev: true + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 - /@babel/traverse@7.23.4: - resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} - engines: {node: '>=6.9.0'} + '@babel/traverse@7.24.1': dependencies: - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.0 - '@babel/types': 7.23.6 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: true - - /@babel/types@7.22.17: - resolution: {integrity: sha512-YSQPHLFtQNE5xN9tHuZnzu8vPr61wVTBZdfv1meex1NBosa4iT05k/Jw06ddJugi4bk7The/oSwQGFcksmEJQg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.15 - to-fast-properties: 2.0.0 - dev: true - /@babel/types@7.23.6: - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} - engines: {node: '>=6.9.0'} + '@babel/types@7.24.0': dependencies: - '@babel/helper-string-parser': 7.23.4 + '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - dev: true - /@dependents/detective-less@3.0.1: - resolution: {integrity: sha512-NjjCPJbx/za2287T6gnC5zD2IFSplro1evaTV9yvx3jnPpHi7s8PwJvh9vvJRFnMx5nbakodwNOnFvk8+9YQTg==} - engines: {node: '>=12'} + '@dependents/detective-less@4.1.0': dependencies: gonzales-pe: 4.3.0 - node-source-walk: 5.0.1 - dev: true + node-source-walk: 6.0.2 - /@docsearch/css@3.5.2: - resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} - dev: true + '@docsearch/css@3.6.0': {} - /@docsearch/js@3.5.2(search-insights@2.6.0): - resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} + '@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)': dependencies: - '@docsearch/react': 3.5.2(search-insights@2.6.0) - preact: 10.13.1 + '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) + preact: 10.20.2 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' - react - react-dom - search-insights - dev: true - /@docsearch/react@3.5.2(search-insights@2.6.0): - resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} - peerDependencies: - '@types/react': '>= 16.8.0 < 19.0.0' - react: '>= 16.8.0 < 19.0.0' - react-dom: '>= 16.8.0 < 19.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true + '@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)': dependencies: - '@algolia/autocomplete-core': 1.9.3(algoliasearch@4.19.1)(search-insights@2.6.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(algoliasearch@4.19.1) - '@docsearch/css': 3.5.2 - algoliasearch: 4.19.1 - search-insights: 2.6.0 + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@docsearch/css': 3.6.0 + algoliasearch: 4.23.3 + optionalDependencies: + search-insights: 2.13.0 transitivePeerDependencies: - '@algolia/client-search' - dev: true - /@es-joy/jsdoccomment@0.42.0: - resolution: {integrity: sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==} - engines: {node: '>=16'} + '@es-joy/jsdoccomment@0.42.0': dependencies: comment-parser: 1.4.1 esquery: 1.5.0 jsdoc-type-pratt-parser: 4.0.0 - dev: true - /@esbuild-kit/cjs-loader@2.4.4: - resolution: {integrity: sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==} + '@esbuild-kit/cjs-loader@2.4.4': dependencies: '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.7.2 - dev: true + get-tsconfig: 4.7.3 - /@esbuild-kit/core-utils@3.3.2: - resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} + '@esbuild-kit/core-utils@3.3.2': dependencies: esbuild: 0.18.20 source-map-support: 0.5.21 - dev: true - /@esbuild-kit/esm-loader@2.6.5: - resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} + '@esbuild-kit/esm-loader@2.6.5': dependencies: '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.7.2 - dev: true - - /@esbuild/aix-ppc64@0.19.11: - resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/aix-ppc64@0.20.1: - resolution: {integrity: sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.19.11: - resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.20.1: - resolution: {integrity: sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.19.11: - resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.20.1: - resolution: {integrity: sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.19.11: - resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.20.1: - resolution: {integrity: sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.19.11: - resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.20.1: - resolution: {integrity: sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.19.11: - resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.20.1: - resolution: {integrity: sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.19.11: - resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.20.1: - resolution: {integrity: sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.19.11: - resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.20.1: - resolution: {integrity: sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true + get-tsconfig: 4.7.3 - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/aix-ppc64@0.20.2': optional: true - /@esbuild/linux-arm64@0.19.11: - resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/android-arm64@0.18.20': optional: true - /@esbuild/linux-arm64@0.20.1: - resolution: {integrity: sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/android-arm64@0.20.2': optional: true - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/android-arm@0.18.20': optional: true - /@esbuild/linux-arm@0.19.11: - resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/android-arm@0.20.2': optional: true - /@esbuild/linux-arm@0.20.1: - resolution: {integrity: sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/android-x64@0.18.20': optional: true - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/android-x64@0.20.2': optional: true - /@esbuild/linux-ia32@0.19.11: - resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/darwin-arm64@0.18.20': optional: true - /@esbuild/linux-ia32@0.20.1: - resolution: {integrity: sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/darwin-arm64@0.20.2': optional: true - /@esbuild/linux-loong64@0.14.54: - resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/darwin-x64@0.18.20': optional: true - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/darwin-x64@0.20.2': optional: true - /@esbuild/linux-loong64@0.19.11: - resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/freebsd-arm64@0.18.20': optional: true - /@esbuild/linux-loong64@0.20.1: - resolution: {integrity: sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/freebsd-arm64@0.20.2': optional: true - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/freebsd-x64@0.18.20': optional: true - /@esbuild/linux-mips64el@0.19.11: - resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/freebsd-x64@0.20.2': optional: true - /@esbuild/linux-mips64el@0.20.1: - resolution: {integrity: sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm64@0.18.20': optional: true - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm64@0.20.2': optional: true - /@esbuild/linux-ppc64@0.19.11: - resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm@0.18.20': optional: true - /@esbuild/linux-ppc64@0.20.1: - resolution: {integrity: sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm@0.20.2': optional: true - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ia32@0.18.20': optional: true - /@esbuild/linux-riscv64@0.19.11: - resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ia32@0.20.2': optional: true - /@esbuild/linux-riscv64@0.20.1: - resolution: {integrity: sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-loong64@0.14.54': optional: true - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-loong64@0.18.20': optional: true - /@esbuild/linux-s390x@0.19.11: - resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-loong64@0.20.2': optional: true - /@esbuild/linux-s390x@0.20.1: - resolution: {integrity: sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-mips64el@0.18.20': optional: true - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-mips64el@0.20.2': optional: true - /@esbuild/linux-x64@0.19.11: - resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ppc64@0.18.20': optional: true - - /@esbuild/linux-x64@0.20.1: - resolution: {integrity: sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + + '@esbuild/linux-ppc64@0.20.2': optional: true - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + '@esbuild/linux-riscv64@0.18.20': optional: true - /@esbuild/netbsd-x64@0.19.11: - resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + '@esbuild/linux-riscv64@0.20.2': optional: true - /@esbuild/netbsd-x64@0.20.1: - resolution: {integrity: sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + '@esbuild/linux-s390x@0.18.20': optional: true - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + '@esbuild/linux-s390x@0.20.2': optional: true - /@esbuild/openbsd-x64@0.19.11: - resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + '@esbuild/linux-x64@0.18.20': optional: true - /@esbuild/openbsd-x64@0.20.1: - resolution: {integrity: sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + '@esbuild/linux-x64@0.20.2': optional: true - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + '@esbuild/netbsd-x64@0.18.20': optional: true - /@esbuild/sunos-x64@0.19.11: - resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + '@esbuild/netbsd-x64@0.20.2': optional: true - /@esbuild/sunos-x64@0.20.1: - resolution: {integrity: sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + '@esbuild/openbsd-x64@0.18.20': optional: true - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/openbsd-x64@0.20.2': optional: true - /@esbuild/win32-arm64@0.19.11: - resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/sunos-x64@0.18.20': optional: true - /@esbuild/win32-arm64@0.20.1: - resolution: {integrity: sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/sunos-x64@0.20.2': optional: true - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-arm64@0.18.20': optional: true - /@esbuild/win32-ia32@0.19.11: - resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-arm64@0.20.2': optional: true - /@esbuild/win32-ia32@0.20.1: - resolution: {integrity: sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-ia32@0.18.20': optional: true - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-ia32@0.20.2': optional: true - /@esbuild/win32-x64@0.19.11: - resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-x64@0.18.20': optional: true - /@esbuild/win32-x64@0.20.1: - resolution: {integrity: sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-x64@0.20.2': optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.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 || >= 8.0.0 + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': dependencies: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/regexpp@4.6.2: - resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true + '@eslint-community/regexpp@4.10.0': {} - /@eslint-sets/eslint-config-basic@5.12.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3): - resolution: {integrity: sha512-AgECfmJsiVOWKmvgjv780VuuoT9SE6PRgxGTtytHSfE9b9MAJjHxToVTKtD4UEKvocEGbg2EcwqGbff8cxDWKw==} - peerDependencies: - eslint: '>=7.4.0 || >= 8.0.0' - prettier: '>=2' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@eslint-sets/eslint-config-basic@5.13.0(@babel/core@7.24.4)(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5)': dependencies: - '@babel/eslint-parser': 7.23.10(eslint@8.57.0) + '@babel/eslint-parser': 7.24.1(@babel/core@7.24.4)(eslint@8.57.0) eslint: 8.57.0 eslint-config-prettier: 9.1.0(eslint@8.57.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) eslint-plugin-html: 7.1.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.57.0) - eslint-plugin-jsonc: 2.13.0(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0) + eslint-plugin-jsonc: 2.15.1(eslint@8.57.0) eslint-plugin-markdown: 3.0.1(eslint@8.57.0) eslint-plugin-n: 16.6.2(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5) eslint-plugin-promise: 6.1.1(eslint@8.57.0) eslint-plugin-tsdoc: 0.2.17 eslint-plugin-unicorn: 40.1.0(eslint@8.57.0) - eslint-plugin-yml: 1.12.2(eslint@8.57.0) + eslint-plugin-yml: 1.14.0(eslint@8.57.0) jsonc-eslint-parser: 2.4.0 prettier: 3.2.5 - typescript: 5.3.3 vue-eslint-parser: 9.4.2(eslint@8.57.0) yaml-eslint-parser: 1.2.2 + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - '@babel/core' - '@types/eslint' @@ -1675,1173 +7456,771 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true - /@eslint-sets/eslint-config-ts@5.12.0(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3): - resolution: {integrity: sha512-7vOzV6qYv0SbA9W17m9lkG/Zv+qVeCcAbWEY1d9hUbBHx9Ip48kNMNVDrnh97zUORXGcmjxsZ81W2lC36Ox2pw==} - peerDependencies: - eslint: '>=7.4.0 || >= 8.0.0' - prettier: '>=2' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@eslint-sets/eslint-config-ts@5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5)': dependencies: - '@eslint-sets/eslint-config-basic': 5.12.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3) - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@eslint-sets/eslint-config-basic': 5.13.0(@babel/core@7.24.4)(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5) eslint-plugin-tsdoc: 0.2.17 prettier: 3.2.5 - typescript: 5.3.3 + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - '@babel/core' - '@types/eslint' - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true - /@eslint-sets/eslint-config-vue3@5.12.0(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3): - resolution: {integrity: sha512-gQBmQicZihPcxncIdkKagQGZ2dH+97ioAlUpsaczEdgY9pLrLOU5oGTetjbaxAp6zGS2sXm1n0i2BnwRIlt4Bg==} - peerDependencies: - eslint: '>=7.4.0 || >= 8.0.0' - prettier: '>=2' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@eslint-sets/eslint-config-vue3@5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5)': dependencies: - '@eslint-sets/eslint-config-basic': 5.12.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3) - '@eslint-sets/eslint-config-ts': 5.12.0(eslint@8.57.0)(prettier@3.2.5)(typescript@5.3.3) - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@eslint-sets/eslint-config-basic': 5.13.0(@babel/core@7.24.4)(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) + '@eslint-sets/eslint-config-ts': 5.13.0(@babel/core@7.24.4)(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-jsdoc: 48.2.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + eslint-plugin-jsdoc: 48.2.3(eslint@8.57.0) + eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5) eslint-plugin-tsdoc: 0.2.17 - eslint-plugin-vitest-globals: 1.4.0 - eslint-plugin-vue: 9.22.0(eslint@8.57.0) - eslint-plugin-vue-scoped-css: 2.7.2(eslint@8.57.0)(vue-eslint-parser@9.4.2) + eslint-plugin-vitest-globals: 1.5.0 + eslint-plugin-vue: 9.25.0(eslint@8.57.0) + eslint-plugin-vue-scoped-css: 2.8.0(eslint@8.57.0)(vue-eslint-parser@9.4.2(eslint@8.57.0)) local-pkg: 0.5.0 prettier: 3.2.5 - typescript: 5.3.3 vue-eslint-parser: 9.4.2(eslint@8.57.0) + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - '@babel/core' - '@types/eslint' - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 globals: 13.24.0 - ignore: 5.2.4 + 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 - dev: true - /@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 + '@eslint/js@8.57.0': {} - /@gar/promisify@1.1.3: - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - dev: true + '@gar/promisify@1.1.3': {} - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + '@gulpjs/messages@1.1.0': {} + + '@gulpjs/to-absolute-glob@4.0.0': + dependencies: + is-negated-glob: 1.0.0 + + '@humanwhocodes/config-array@0.11.14': dependencies: - '@humanwhocodes/object-schema': 2.0.2 + '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: true - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true + '@humanwhocodes/module-importer@1.0.1': {} - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true + '@humanwhocodes/object-schema@2.0.3': {} - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@inquirer/checkbox@1.5.2': + dependencies: + '@inquirer/core': 6.0.0 + '@inquirer/type': 1.3.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + figures: 3.2.0 + + '@inquirer/confirm@2.0.17': + dependencies: + '@inquirer/core': 6.0.0 + '@inquirer/type': 1.3.1 + chalk: 4.1.2 + + '@inquirer/core@6.0.0': + dependencies: + '@inquirer/type': 1.3.1 + '@types/mute-stream': 0.0.4 + '@types/node': 20.12.7 + '@types/wrap-ansi': 3.0.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-spinners: 2.9.2 + cli-width: 4.1.0 + figures: 3.2.0 + mute-stream: 1.0.0 + run-async: 3.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + + '@inquirer/editor@1.2.15': + dependencies: + '@inquirer/core': 6.0.0 + '@inquirer/type': 1.3.1 + chalk: 4.1.2 + external-editor: 3.1.0 + + '@inquirer/expand@1.1.16': + dependencies: + '@inquirer/core': 6.0.0 + '@inquirer/type': 1.3.1 + chalk: 4.1.2 + figures: 3.2.0 + + '@inquirer/input@1.2.16': + dependencies: + '@inquirer/core': 6.0.0 + '@inquirer/type': 1.3.1 + chalk: 4.1.2 + + '@inquirer/password@1.1.16': + dependencies: + '@inquirer/core': 6.0.0 + '@inquirer/type': 1.3.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + + '@inquirer/prompts@3.3.2': + dependencies: + '@inquirer/checkbox': 1.5.2 + '@inquirer/confirm': 2.0.17 + '@inquirer/core': 6.0.0 + '@inquirer/editor': 1.2.15 + '@inquirer/expand': 1.1.16 + '@inquirer/input': 1.2.16 + '@inquirer/password': 1.1.16 + '@inquirer/rawlist': 1.2.16 + '@inquirer/select': 1.3.3 + + '@inquirer/rawlist@1.2.16': + dependencies: + '@inquirer/core': 6.0.0 + '@inquirer/type': 1.3.1 + chalk: 4.1.2 + + '@inquirer/select@1.3.3': + dependencies: + '@inquirer/core': 6.0.0 + '@inquirer/type': 1.3.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + figures: 3.2.0 + + '@inquirer/type@1.3.1': {} + + '@isaacs/cliui@8.0.2': 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 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true + wrap-ansi-cjs: wrap-ansi@7.0.0 - /@jridgewell/gen-mapping@0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} - engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.5': dependencies: - '@jridgewell/set-array': 1.1.2 + '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.17 - dev: true + '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/resolve-uri@3.1.2': {} - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/set-array@1.2.1': {} - /@jridgewell/source-map@0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + '@jridgewell/source-map@0.3.6': dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 - dev: true + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true + '@jridgewell/sourcemap-codec@1.4.15': {} - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@jridgewell/trace-mapping@0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + '@jridgewell/trace-mapping@0.3.25': dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 - /@jssj/request@1.1.0(core-js@3.32.2)(tslib@2.6.2): - resolution: {integrity: sha512-XEOGtru6oNCRF2zn7MGm8c8lpNsQhknX/xKhIKxW1srvtaixMPV8RGNh5theQqyUc42/GWtoi9errVf/Z5qwNA==} + '@jssj/request@1.1.0(core-js@3.37.0)(tslib@2.6.2)': dependencies: '@jssj/utils': 1.1.0 - js-cool: 2.8.0(core-js@3.32.2)(tslib@2.6.2) - qs: 6.11.2 + js-cool: 2.8.0(core-js@3.37.0)(tslib@2.6.2) + qs: 6.12.1 transitivePeerDependencies: - core-js - tslib - dev: false - /@jssj/utils@1.1.0: - resolution: {integrity: sha512-QK9tV/SIkSXp36bbDREoKEdnnBA9lSrVYyV1qvAE2zZ99X6zGBMF5JCZ1N+Fa+2ojbYW1TxKZSztsHeYhbtYXA==} - dev: false + '@jssj/utils@1.1.0': {} - /@microsoft/api-extractor-model@7.28.13(@types/node@20.11.24): - resolution: {integrity: sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw==} + '@microsoft/api-extractor-model@7.28.14(@types/node@20.12.7)': dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.24) + '@rushstack/node-core-library': 4.1.0(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' - dev: true - /@microsoft/api-extractor@7.42.1(@types/node@20.11.24): - resolution: {integrity: sha512-eswRJCfiscDDcgu+0DPBdpYKRCVXaeFOOp9h4Y4ixoCCeGoEwgNi/P9zp39O+61pLWxZ3pAShTY0pe8vw5LtrQ==} - hasBin: true + '@microsoft/api-extractor@7.43.1(@types/node@20.12.7)': dependencies: - '@microsoft/api-extractor-model': 7.28.13(@types/node@20.11.24) + '@microsoft/api-extractor-model': 7.28.14(@types/node@20.12.7) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.24) + '@rushstack/node-core-library': 4.1.0(@types/node@20.12.7) '@rushstack/rig-package': 0.5.2 - '@rushstack/terminal': 0.10.0(@types/node@20.11.24) - '@rushstack/ts-command-line': 4.18.1(@types/node@20.11.24) + '@rushstack/terminal': 0.10.1(@types/node@20.12.7) + '@rushstack/ts-command-line': 4.19.2(@types/node@20.12.7) lodash: 4.17.21 minimatch: 3.0.8 - resolve: 1.22.4 + resolve: 1.22.8 semver: 7.5.4 source-map: 0.6.1 - typescript: 5.3.3 + typescript: 5.4.2 transitivePeerDependencies: - '@types/node' - dev: true - /@microsoft/tsdoc-config@0.16.2: - resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + '@microsoft/tsdoc-config@0.16.2': dependencies: '@microsoft/tsdoc': 0.14.2 ajv: 6.12.6 jju: 1.4.0 resolve: 1.19.0 - dev: true - /@microsoft/tsdoc@0.14.2: - resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} - dev: true + '@microsoft/tsdoc@0.14.2': {} - /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: - resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': dependencies: eslint-scope: 5.1.1 - dev: true - /@node-kit/extra.cp@3.2.0: - resolution: {integrity: sha512-8n27oOF0clO0VsqkhSo0PXTOG9YGYS25f8zsf9JKsMaT9IkZjPNCzgcNDQkIOE/e3r1u7c5j6ab6siWOON0keQ==} - hasBin: true + '@node-kit/extra.cp@3.2.0': {} - /@node-kit/extra.fs@2.5.1: - resolution: {integrity: sha512-cj0gMQ+yE4jNmCrtz1TEXYMX+zNOJEGxGy1YzG2IBek0ndKszIYRxyLbIz3URh1MSTMGT+f9Zxy3iARB8vVP9g==} - dev: true + '@node-kit/extra.fs@2.5.1': {} - /@node-kit/extra.fs@3.2.0: - resolution: {integrity: sha512-BtGZcB4ffMneAyKd2qy0umOURc7kMjgNOQlEQNqgkQwcwoGejqiJLQpzKVhAr2waBx7OLZx+/3sNzGgngSzx7w==} - hasBin: true + '@node-kit/extra.fs@3.2.0': {} - /@node-kit/extra.path@2.5.1: - resolution: {integrity: sha512-Ab11rUZjs78Yl1/EtOh8K9df+BkWd+cwC1xA70GDOWw+5a/TstsrpKxUtpujUZfCBldaMhn5Szd6tvejxtkGtQ==} - dev: true + '@node-kit/extra.path@2.5.1': {} - /@node-kit/lerna-workspace-info@2.5.1: - resolution: {integrity: sha512-KAoZSfeAJ/qBUS2JjBSW2oUDGCloPgsz3HhJ5HGDZFjqDJ8UY9KvHv9cfvGRlmD8l9l2oWx95aImySNWgutQyg==} + '@node-kit/lerna-workspace-info@2.5.1': dependencies: '@node-kit/extra.fs': 2.5.1 '@node-kit/extra.path': 2.5.1 '@node-kit/lerna-workspace-root': 2.5.1 fast-glob: 3.3.2 - dev: true - /@node-kit/lerna-workspace-root@2.5.1: - resolution: {integrity: sha512-6uoro6IlkkZUtXDiKH8JiRzJMv5ozIT8wtTr2GvieAOBppc62/Rxz1VuSgAoRLBYSFUrfzwdEBAJMi6s4UMZ5Q==} + '@node-kit/lerna-workspace-root@2.5.1': dependencies: '@node-kit/extra.fs': 2.5.1 find-up: 5.0.0 - dev: true - /@node-kit/pnpm-workspace-info@2.5.1: - resolution: {integrity: sha512-uJfJgNvHNt+fZJW/GeEONDN5SIIYR7DGB3GSzYzvYq6NMW46B/pjDmIHokeaI80VyLzwiJvV/K4RgF9IOe5cXA==} + '@node-kit/pnpm-workspace-info@2.5.1': dependencies: '@node-kit/extra.path': 2.5.1 '@node-kit/pnpm-workspace-root': 2.5.1 fast-glob: 3.3.2 load-yml: 1.4.0 - dev: true - /@node-kit/pnpm-workspace-root@2.5.1: - resolution: {integrity: sha512-G8scVrTODQorLajnGUzgGZyc4Ny0wfVUClbz0RwpS5O+9EMJHDHzKBMN2yR608F0X+qDQ0p5Du6fuPYf4JjGHw==} + '@node-kit/pnpm-workspace-root@2.5.1': dependencies: '@node-kit/extra.fs': 2.5.1 - '@pnpm/error': 5.0.1 + '@pnpm/error': 5.0.3 find-up: 5.0.0 - dev: true - /@node-kit/yarn-workspace-info@2.5.1: - resolution: {integrity: sha512-0UMgpQERJZsze9xjciiDAN8GZoRNomBfcCd6rMGZSROj86taxxLyHrZMGMbZgJhy8/6EjmcizDDDJtHQRMI9cw==} + '@node-kit/yarn-workspace-info@2.5.1': dependencies: '@node-kit/extra.fs': 2.5.1 '@node-kit/extra.path': 2.5.1 '@node-kit/yarn-workspace-root': 2.5.1 fast-glob: 3.3.2 - dev: true - /@node-kit/yarn-workspace-root@2.5.1: - resolution: {integrity: sha512-Oeno9PlUSkw7eJZDK3YU5Q+dcdHvaIZN85uPcILSyJWS0bfPnz5pNCWl1btCWg5sIAClaeSTZ8QO9XTlsBwA0g==} + '@node-kit/yarn-workspace-root@2.5.1': dependencies: '@node-kit/extra.fs': 2.5.1 find-up: 5.0.0 micromatch: 4.0.5 - dev: true - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true + '@nodelib/fs.stat@2.0.5': {} - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - dev: true + fastq: 1.17.1 - /@npmcli/fs@2.1.2: - resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + '@npmcli/fs@2.1.2': dependencies: '@gar/promisify': 1.1.3 semver: 7.6.0 - dev: true - /@npmcli/fs@3.1.0: - resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@npmcli/fs@3.1.0': dependencies: semver: 7.6.0 - dev: true - /@npmcli/git@4.0.4: - resolution: {integrity: sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@npmcli/git@4.1.0': dependencies: '@npmcli/promise-spawn': 6.0.2 lru-cache: 7.18.3 - npm-pick-manifest: 8.0.1 + npm-pick-manifest: 8.0.2 proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 semver: 7.6.0 - which: 3.0.0 + which: 3.0.1 transitivePeerDependencies: - bluebird - dev: true - /@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 + '@npmcli/installed-package-contents@2.1.0': dependencies: npm-bundled: 3.0.0 - npm-normalize-package-bin: 3.0.0 - dev: true + npm-normalize-package-bin: 3.0.1 - /@npmcli/move-file@2.0.1: - resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This functionality has been moved to @npmcli/fs + '@npmcli/move-file@2.0.1': dependencies: mkdirp: 1.0.4 rimraf: 3.0.2 - dev: true - /@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: true + '@npmcli/node-gyp@3.0.0': {} - /@npmcli/promise-spawn@6.0.2: - resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@npmcli/promise-spawn@6.0.2': dependencies: - which: 3.0.0 - dev: true + which: 3.0.1 - /@npmcli/run-script@6.0.0: - resolution: {integrity: sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@npmcli/run-script@6.0.2': dependencies: '@npmcli/node-gyp': 3.0.0 '@npmcli/promise-spawn': 6.0.2 - node-gyp: 9.3.1 + node-gyp: 9.4.1 read-package-json-fast: 3.0.2 - which: 3.0.0 + which: 3.0.1 transitivePeerDependencies: - bluebird - supports-color - dev: true - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true - dev: true + '@pkgjs/parseargs@0.11.0': optional: true - /@pkgr/core@0.1.0: - resolution: {integrity: sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true + '@pkgr/core@0.1.1': {} - /@pnpm/constants@7.1.0: - resolution: {integrity: sha512-PzpiPtGF+bIrmkNaHgOIfBZw669+rkUtt/5UFzHukiETwI4/+BTYz8FAr+m5Dfuns531Y+fYRFOpB0PdbAU0+w==} - engines: {node: '>=16.14'} - dev: true + '@pnpm/constants@7.1.1': {} - /@pnpm/error@5.0.1: - resolution: {integrity: sha512-JQSOeSEqrV6k6+kKgrlSJ7gddJRcjxtNCxSVJRIqwckkGSdSTNpXmKEdGgLlaDuEwElPAZUmLDGSqk5InJ5pMA==} - engines: {node: '>=16.14'} + '@pnpm/error@5.0.3': dependencies: - '@pnpm/constants': 7.1.0 - dev: true + '@pnpm/constants': 7.1.1 - /@pnpm/logger@5.0.0: - resolution: {integrity: sha512-YfcB2QrX+Wx1o6LD1G2Y2fhDhOix/bAY/oAnMpHoNLsKkWIRbt1oKLkIFvxBMzLwAEPqnYWguJrYC+J6i4ywbw==} - engines: {node: '>=12.17'} + '@pnpm/logger@5.0.0': dependencies: - bole: 5.0.3 + bole: 5.0.11 ndjson: 2.0.0 - dev: true - - /@rollup/plugin-alias@5.1.0(rollup@4.12.0): - resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - rollup: 4.12.0 - slash: 4.0.0 - dev: true - - /@rollup/plugin-commonjs@25.0.7(rollup@4.12.0): - resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - commondir: 1.0.1 - estree-walker: 2.0.2 - glob: 8.1.0 - is-reference: 1.2.1 - magic-string: 0.30.7 - rollup: 4.12.0 - dev: true - - /@rollup/plugin-json@6.1.0(rollup@4.12.0): - resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - rollup: 4.12.0 - dev: true - - /@rollup/plugin-node-resolve@15.2.3(rollup@4.12.0): - resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-builtin-module: 3.2.1 - is-module: 1.0.0 - resolve: 1.22.4 - rollup: 4.12.0 - dev: true - /@rollup/pluginutils@5.1.0(rollup@4.12.0): - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-alias@5.1.0(rollup@4.16.4)': dependencies: - '@types/estree': 1.0.5 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 4.12.0 - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm-eabi@4.9.4: - resolution: {integrity: sha512-ub/SN3yWqIv5CWiAZPHVS1DloyZsJbtXmX4HxUTIpS0BHm9pW5iYBo2mIZi+hE3AeiTzHz33blwSnhdUo+9NpA==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true + slash: 4.0.0 + optionalDependencies: + rollup: 4.16.4 - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true + '@rollup/plugin-babel@6.0.4(@babel/core@7.24.4)(rollup@4.16.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-imports': 7.24.3 + '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + optionalDependencies: + rollup: 4.16.4 - /@rollup/rollup-android-arm64@4.9.4: - resolution: {integrity: sha512-ehcBrOR5XTl0W0t2WxfTyHCR/3Cq2jfb+I4W+Ch8Y9b5G+vbAecVv0Fx/J1QKktOrgUYsIKxWAKgIpvw56IFNA==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true + '@rollup/plugin-commonjs@25.0.7(rollup@4.16.4)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.30.10 + optionalDependencies: + rollup: 4.16.4 - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true + '@rollup/plugin-json@6.1.0(rollup@4.16.4)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + optionalDependencies: + rollup: 4.16.4 - /@rollup/rollup-darwin-arm64@4.9.4: - resolution: {integrity: sha512-1fzh1lWExwSTWy8vJPnNbNM02WZDS8AW3McEOb7wW+nPChLKf3WG2aG7fhaUmfX5FKw9zhsF5+MBwArGyNM7NA==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true + '@rollup/plugin-node-resolve@15.2.3(rollup@4.16.4)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.8 + optionalDependencies: + rollup: 4.16.4 - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true + '@rollup/plugin-replace@5.0.5(rollup@4.16.4)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + magic-string: 0.30.10 + optionalDependencies: + rollup: 4.16.4 - /@rollup/rollup-darwin-x64@4.9.4: - resolution: {integrity: sha512-Gc6cukkF38RcYQ6uPdiXi70JB0f29CwcQ7+r4QpfNpQFVHXRd0DfWFidoGxjSx1DwOETM97JPz1RXL5ISSB0pA==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true + '@rollup/plugin-terser@0.4.4(rollup@4.16.4)': + dependencies: + serialize-javascript: 6.0.2 + smob: 1.5.0 + terser: 5.30.4 + optionalDependencies: + rollup: 4.16.4 - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true + '@rollup/plugin-typescript@11.1.6(rollup@4.16.4)(tslib@2.6.2)(typescript@5.4.5)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + resolve: 1.22.8 + typescript: 5.4.5 + optionalDependencies: + rollup: 4.16.4 + tslib: 2.6.2 - /@rollup/rollup-linux-arm-gnueabihf@4.9.4: - resolution: {integrity: sha512-g21RTeFzoTl8GxosHbnQZ0/JkuFIB13C3T7Y0HtKzOXmoHhewLbVTFBQZu+z5m9STH6FZ7L/oPgU4Nm5ErN2fw==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true + '@rollup/pluginutils@5.1.0(rollup@4.16.4)': + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.16.4 - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - requiresBuild: true - dev: true + '@rollup/rollup-android-arm-eabi@4.16.4': optional: true - /@rollup/rollup-linux-arm64-gnu@4.9.4: - resolution: {integrity: sha512-TVYVWD/SYwWzGGnbfTkrNpdE4HON46orgMNHCivlXmlsSGQOx/OHHYiQcMIOx38/GWgwr/po2LBn7wypkWw/Mg==} - cpu: [arm64] - os: [linux] - libc: [glibc] - requiresBuild: true - dev: true + '@rollup/rollup-android-arm64@4.16.4': optional: true - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} - cpu: [arm64] - os: [linux] - libc: [musl] - requiresBuild: true - dev: true + '@rollup/rollup-darwin-arm64@4.16.4': optional: true - /@rollup/rollup-linux-arm64-musl@4.9.4: - resolution: {integrity: sha512-XcKvuendwizYYhFxpvQ3xVpzje2HHImzg33wL9zvxtj77HvPStbSGI9czrdbfrf8DGMcNNReH9pVZv8qejAQ5A==} - cpu: [arm64] - os: [linux] - libc: [musl] - requiresBuild: true - dev: true + '@rollup/rollup-darwin-x64@4.16.4': optional: true - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - requiresBuild: true - dev: true + '@rollup/rollup-linux-arm-gnueabihf@4.16.4': optional: true - /@rollup/rollup-linux-riscv64-gnu@4.9.4: - resolution: {integrity: sha512-LFHS/8Q+I9YA0yVETyjonMJ3UA+DczeBd/MqNEzsGSTdNvSJa1OJZcSH8GiXLvcizgp9AlHs2walqRcqzjOi3A==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - requiresBuild: true - dev: true + '@rollup/rollup-linux-arm-musleabihf@4.16.4': optional: true - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} - cpu: [x64] - os: [linux] - libc: [glibc] - requiresBuild: true - dev: true + '@rollup/rollup-linux-arm64-gnu@4.16.4': optional: true - /@rollup/rollup-linux-x64-gnu@4.9.4: - resolution: {integrity: sha512-dIYgo+j1+yfy81i0YVU5KnQrIJZE8ERomx17ReU4GREjGtDW4X+nvkBak2xAUpyqLs4eleDSj3RrV72fQos7zw==} - cpu: [x64] - os: [linux] - libc: [glibc] - requiresBuild: true - dev: true + '@rollup/rollup-linux-arm64-musl@4.16.4': optional: true - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} - cpu: [x64] - os: [linux] - libc: [musl] - requiresBuild: true - dev: true + '@rollup/rollup-linux-powerpc64le-gnu@4.16.4': optional: true - /@rollup/rollup-linux-x64-musl@4.9.4: - resolution: {integrity: sha512-RoaYxjdHQ5TPjaPrLsfKqR3pakMr3JGqZ+jZM0zP2IkDtsGa4CqYaWSfQmZVgFUCgLrTnzX+cnHS3nfl+kB6ZQ==} - cpu: [x64] - os: [linux] - libc: [musl] - requiresBuild: true - dev: true + '@rollup/rollup-linux-riscv64-gnu@4.16.4': optional: true - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-linux-s390x-gnu@4.16.4': optional: true - /@rollup/rollup-win32-arm64-msvc@4.9.4: - resolution: {integrity: sha512-T8Q3XHV+Jjf5e49B4EAaLKV74BbX7/qYBRQ8Wop/+TyyU0k+vSjiLVSHNWdVd1goMjZcbhDmYZUYW5RFqkBNHQ==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-linux-x64-gnu@4.16.4': optional: true - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-linux-x64-musl@4.16.4': optional: true - /@rollup/rollup-win32-ia32-msvc@4.9.4: - resolution: {integrity: sha512-z+JQ7JirDUHAsMecVydnBPWLwJjbppU+7LZjffGf+Jvrxq+dVjIE7By163Sc9DKc3ADSU50qPVw0KonBS+a+HQ==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-win32-arm64-msvc@4.16.4': optional: true - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-win32-ia32-msvc@4.16.4': optional: true - /@rollup/rollup-win32-x64-msvc@4.9.4: - resolution: {integrity: sha512-LfdGXCV9rdEify1oxlN9eamvDSjv9md9ZVMAbNHA87xqIfFCxImxan9qZ8+Un54iK2nnqPlbnSi4R54ONtbWBw==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-win32-x64-msvc@4.16.4': optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): - resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true + '@rushstack/node-core-library@4.1.0(@types/node@20.12.7)': dependencies: - '@types/node': 20.11.24 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.4 + resolve: 1.22.8 semver: 7.5.4 z-schema: 5.0.5 - dev: true + optionalDependencies: + '@types/node': 20.12.7 - /@rushstack/rig-package@0.5.2: - resolution: {integrity: sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==} + '@rushstack/rig-package@0.5.2': dependencies: - resolve: 1.22.4 + resolve: 1.22.8 strip-json-comments: 3.1.1 - dev: true - /@rushstack/terminal@0.10.0(@types/node@20.11.24): - resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true + '@rushstack/terminal@0.10.1(@types/node@20.12.7)': dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.24) - '@types/node': 20.11.24 + '@rushstack/node-core-library': 4.1.0(@types/node@20.12.7) supports-color: 8.1.1 - dev: true + optionalDependencies: + '@types/node': 20.12.7 - /@rushstack/ts-command-line@4.18.1(@types/node@20.11.24): - resolution: {integrity: sha512-A3x3ARWzoW4ARU1XS87wFVJvdywzo2j27aRm5SIFY3Nwl5vQqo0hvzaQDYCq/hEGBxAdBGW8q6N5clNk36H34A==} + '@rushstack/ts-command-line@4.19.2(@types/node@20.12.7)': dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.24) + '@rushstack/terminal': 0.10.1(@types/node@20.12.7) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 transitivePeerDependencies: - '@types/node' - dev: true - /@shikijs/core@1.1.7: - resolution: {integrity: sha512-gTYLUIuD1UbZp/11qozD3fWpUTuMqPSf3svDMMrL0UmlGU7D9dPw/V1FonwAorCUJBltaaESxq90jrSjQyGixg==} - dev: true + '@shikijs/core@1.3.0': {} - /@shikijs/transformers@1.1.7: - resolution: {integrity: sha512-lXz011ao4+rvweps/9h3CchBfzb1U5OtP5D51Tqc9lQYdLblWMIxQxH6Ybe1GeGINcEVM4goMyPrI0JvlIp4UQ==} + '@shikijs/transformers@1.3.0': dependencies: - shiki: 1.1.7 - dev: true + shiki: 1.3.0 - /@sigstore/protobuf-specs@0.1.0: - resolution: {integrity: sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + '@sigstore/bundle@1.1.0': + dependencies: + '@sigstore/protobuf-specs': 0.2.1 - /@tootallnate/once@1.1.2: - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - dev: false + '@sigstore/protobuf-specs@0.2.1': {} - /@tootallnate/once@2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} - dev: true + '@sigstore/sign@1.0.0': + dependencies: + '@sigstore/bundle': 1.1.0 + '@sigstore/protobuf-specs': 0.2.1 + make-fetch-happen: 11.1.1 + transitivePeerDependencies: + - supports-color - /@tufjs/models@1.0.1: - resolution: {integrity: sha512-AY0VoG/AXdlSOocuREfPoEW4SNhOPp/7fw6mpAxfVIny1uZ+0fEtMoCi7NhELSlqQIRLMu7RgfKhkxT+AJ+EXg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@sigstore/tuf@1.0.3': dependencies: - minimatch: 7.4.3 - dev: true + '@sigstore/protobuf-specs': 0.2.1 + tuf-js: 1.1.7 + transitivePeerDependencies: + - supports-color - /@types/argparse@1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true + '@tootallnate/once@2.0.0': {} - /@types/columnify@1.5.4: - resolution: {integrity: sha512-YPEVzmy3kJupUee1ueLuvGspy6U2JHcxt6rYvRsSCEgVC54+KdBFjQ6NG/0koZk69e1bfXwSusgChwdFhvEXMw==} - dev: true + '@tufjs/canonical-json@1.0.0': {} - /@types/cross-spawn@6.0.6: - resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} + '@tufjs/models@1.0.4': dependencies: - '@types/node': 20.11.24 - dev: true + '@tufjs/canonical-json': 1.0.0 + minimatch: 9.0.4 - /@types/debug@4.1.12: - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/argparse@1.0.38': {} + + '@types/columnify@1.5.4': {} + + '@types/cross-spawn@6.0.6': dependencies: - '@types/ms': 0.7.32 - dev: true + '@types/node': 20.12.7 - /@types/estree@0.0.39: - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - dev: true + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true + '@types/estree@0.0.39': {} - /@types/expect@1.20.4: - resolution: {integrity: sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==} - dev: true + '@types/estree@1.0.5': {} - /@types/fs-extra@11.0.1: - resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} - dependencies: - '@types/jsonfile': 6.1.1 - '@types/node': 20.11.24 - dev: true + '@types/expect@1.20.4': {} - /@types/glob-stream@6.1.1: - resolution: {integrity: sha512-AGOUTsTdbPkRS0qDeyeS+6KypmfVpbT5j23SN8UPG63qjKXNKjXn6V9wZUr8Fin0m9l8oGYaPK8b2WUMF8xI1A==} + '@types/fs-extra@11.0.4': dependencies: - '@types/glob': 8.1.0 - '@types/node': 20.11.24 - dev: true + '@types/jsonfile': 6.1.4 + '@types/node': 20.12.7 + optional: true - /@types/glob@7.2.0: - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + '@types/glob-stream@8.0.2': dependencies: - '@types/minimatch': 5.1.2 - '@types/node': 20.11.24 - dev: true + '@types/node': 20.12.7 + '@types/picomatch': 2.3.3 + '@types/streamx': 2.9.5 - /@types/glob@8.1.0: - resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} + '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.11.24 - dev: true + '@types/node': 20.12.7 - /@types/gulp@4.0.17: - resolution: {integrity: sha512-+pKQynu2C/HS16kgmDlAicjtFYP8kaa86eE9P0Ae7GB5W29we/E2TIdbOWtEZD5XkpY+jr8fyqfwO6SWZecLpQ==} + '@types/gulp@4.0.17': dependencies: - '@types/node': 20.11.24 - '@types/undertaker': 1.2.8 - '@types/vinyl-fs': 3.0.1 - chokidar: 3.5.3 - dev: true + '@types/node': 20.12.7 + '@types/undertaker': 1.2.11 + '@types/vinyl-fs': 3.0.5 + chokidar: 3.6.0 - /@types/inquirer@8.2.6: - resolution: {integrity: sha512-3uT88kxg8lNzY8ay2ZjP44DKcRaTGztqeIvN2zHvhzIBH/uAPaL75aBtdNRKbA7xXoMbBt5kX0M00VKAnfOYlA==} + '@types/inquirer@9.0.7': dependencies: - '@types/through': 0.0.30 - rxjs: 7.8.0 - dev: true - - /@types/js-yaml@4.0.5: - resolution: {integrity: sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==} - dev: true + '@types/through': 0.0.33 + rxjs: 7.8.1 - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} - dev: true + '@types/js-yaml@4.0.9': {} - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - - /@types/jsonfile@6.1.1: - resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} - dependencies: - '@types/node': 20.11.24 - dev: true + '@types/json-schema@7.0.15': {} - /@types/linkify-it@3.0.2: - resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==} - dev: true + '@types/json5@0.0.29': {} - /@types/lodash-es@4.17.12: - resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + '@types/jsonfile@6.1.4': dependencies: - '@types/lodash': 4.14.191 + '@types/node': 20.12.7 + optional: true - /@types/lodash@4.14.191: - resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==} + '@types/linkify-it@3.0.5': {} - /@types/markdown-it@13.0.7: - resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} + '@types/markdown-it@14.0.1': dependencies: - '@types/linkify-it': 3.0.2 - '@types/mdurl': 1.0.2 - dev: true + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 - /@types/mdast@3.0.11: - resolution: {integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==} + '@types/mdast@3.0.15': dependencies: - '@types/unist': 2.0.6 - dev: true + '@types/unist': 2.0.10 - /@types/mdurl@1.0.2: - resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} - dev: true + '@types/mdurl@1.0.5': {} - /@types/minimatch@5.1.2: - resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - dev: true - - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - dev: true + '@types/minimatch@5.1.2': {} - /@types/ms@0.7.32: - resolution: {integrity: sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g==} - dev: true + '@types/ms@0.7.34': {} - /@types/node@18.16.16: - resolution: {integrity: sha512-NpaM49IGQQAUlBhHMF82QH80J08os4ZmyF9MkpCzWAGuOHqE4gTEbhzd7L3l5LmWuZ6E0OiC1FweQ4tsiW35+g==} - dev: true + '@types/mute-stream@0.0.4': + dependencies: + '@types/node': 20.12.7 - /@types/node@20.11.24: - resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} + '@types/node@20.12.7': dependencies: undici-types: 5.26.5 - dev: true - - /@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: true + '@types/normalize-package-data@2.4.4': {} - /@types/resolve@1.20.2: - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - dev: true + '@types/picomatch@2.3.3': {} - /@types/rimraf@2.0.5: - resolution: {integrity: sha512-YyP+VfeaqAyFmXoTh3HChxOQMyjByRMsHU7kc5KOJkSlXudhMhQIALbYV7rHh/l8d2lX3VUQzprrcAgWdRuU8g==} - dependencies: - '@types/glob': 8.1.0 - '@types/node': 20.11.24 - dev: true + '@types/resolve@1.20.2': {} - /@types/rollup-plugin-css-only@3.1.3: - resolution: {integrity: sha512-Yomg5XvEYfZ9RWAO/5yKhc1QAUXmyI2VOFeMJpAmwhE73EZMsjtuZ+w2Y7gC2c2XHdb+YtymNQrFKqBqyokjfw==} + '@types/rollup-plugin-css-only@3.1.3': dependencies: - '@types/node': 20.11.24 + '@types/node': 20.12.7 rollup: 0.63.5 - dev: true - /@types/semver@7.5.0: - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} - dev: true + '@types/semver@7.5.8': {} - /@types/shelljs@0.8.15: - resolution: {integrity: sha512-vzmnCHl6hViPu9GNLQJ+DZFd6BQI2DBTUeOvYHqkWQLMfKAAQYMb/xAmZkTogZI/vqXHCWkqDRymDI5p0QTi5Q==} + '@types/shelljs@0.8.15': dependencies: '@types/glob': 7.2.0 - '@types/node': 20.11.24 - dev: true + '@types/node': 20.12.7 - /@types/through@0.0.30: - resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} + '@types/streamx@2.9.5': dependencies: - '@types/node': 20.11.24 - dev: true + '@types/node': 20.12.7 - /@types/undertaker-registry@1.0.1: - resolution: {integrity: sha512-Z4TYuEKn9+RbNVk1Ll2SS4x1JeLHecolIbM/a8gveaHsW0Hr+RQMraZACwTO2VD7JvepgA6UO1A1VrbktQrIbQ==} - dev: true + '@types/through@0.0.33': + dependencies: + '@types/node': 20.12.7 + + '@types/undertaker-registry@1.0.4': {} - /@types/undertaker@1.2.8: - resolution: {integrity: sha512-gW3PRqCHYpo45XFQHJBhch7L6hytPsIe0QeLujlnFsjHPnXLhJcPdN6a9368d7aIQgH2I/dUTPFBlGeSNA3qOg==} + '@types/undertaker@1.2.11': dependencies: - '@types/node': 20.11.24 - '@types/undertaker-registry': 1.0.1 + '@types/node': 20.12.7 + '@types/undertaker-registry': 1.0.4 async-done: 1.3.2 - dev: true - /@types/unist@2.0.6: - resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} - dev: true + '@types/unist@2.0.10': {} - /@types/vinyl-fs@3.0.1: - resolution: {integrity: sha512-me2Gcxw23pZp62oqPoiTDDMz/txEmtEZzXM/D/VTr+xUX4LiNA+nQPs38SSPu5KHnsaEER4HEtzWU5qJRXigfA==} + '@types/vinyl-fs@3.0.5': dependencies: - '@types/glob-stream': 6.1.1 - '@types/node': 20.11.24 - '@types/rimraf': 2.0.5 - '@types/vinyl': 2.0.7 - dev: true + '@types/glob-stream': 8.0.2 + '@types/node': 20.12.7 + '@types/vinyl': 2.0.12 - /@types/vinyl@2.0.7: - resolution: {integrity: sha512-4UqPv+2567NhMQuMLdKAyK4yzrfCqwaTt6bLhHEs8PFcxbHILsrxaY63n4wgE/BRLDWDQeI+WcTmkXKExh9hQg==} + '@types/vinyl@2.0.12': dependencies: '@types/expect': 1.20.4 - '@types/node': 20.11.24 - dev: true + '@types/node': 20.12.7 - /@types/web-bluetooth@0.0.20: - resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - dev: true + '@types/web-bluetooth@0.0.20': {} - /@types/which@3.0.0: - resolution: {integrity: sha512-ASCxdbsrwNfSMXALlC3Decif9rwDMu+80KGp5zI2RLRotfMsTv7fHL8W8VDp24wymzDyIFudhUeSCugrgRFfHQ==} - dev: true + '@types/wrap-ansi@3.0.0': {} - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 || >= 8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.1(typescript@5.3.3) - typescript: 5.3.3 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || >= 8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.57.0 - typescript: 5.3.3 + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/scope-manager@6.21.0: - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@6.21.0': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - dev: true - /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || >= 8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) debug: 4.3.4 eslint: 8.57.0 - ts-api-utils: 1.0.1(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/types@4.33.0: - resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dev: true - - /@typescript-eslint/types@5.60.1: - resolution: {integrity: sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@typescript-eslint/types@6.21.0: - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true + '@typescript-eslint/types@5.62.0': {} - /@typescript-eslint/typescript-estree@4.33.0(typescript@3.9.10): - resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/visitor-keys': 4.33.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.6.0 - tsutils: 3.21.0(typescript@3.9.10) - typescript: 3.9.10 - transitivePeerDependencies: - - supports-color - dev: true + '@typescript-eslint/types@6.21.0': {} - /@typescript-eslint/typescript-estree@5.60.1(typescript@4.9.5): - resolution: {integrity: sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 5.60.1 - '@typescript-eslint/visitor-keys': 5.60.1 + '@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.6.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 @@ -2849,853 +8228,468 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.1(typescript@5.3.3) - typescript: 5.3.3 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || >= 8.0.0 + '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) eslint: 8.57.0 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript - dev: true - /@typescript-eslint/visitor-keys@4.33.0: - resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dependencies: - '@typescript-eslint/types': 4.33.0 - eslint-visitor-keys: 2.1.0 - dev: true - - /@typescript-eslint/visitor-keys@5.60.1: - resolution: {integrity: sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/visitor-keys@5.62.0': dependencies: - '@typescript-eslint/types': 5.60.1 + '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@6.21.0: - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@6.21.0': dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 - dev: true - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - /@vitejs/plugin-vue-jsx@3.1.0: - resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.0.0 || ^5.0.0 - vue: ^3.0.0 - peerDependenciesMeta: - vite: - optional: true - vue: - optional: true - dependencies: - '@babel/core': 7.23.3 - '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.3) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.3) - transitivePeerDependencies: - - supports-color - dev: true + '@ungap/structured-clone@1.2.0': {} - /@vitejs/plugin-vue@5.0.4(vite@5.1.4)(vue@3.4.21): - resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - vite: ^5.0.0 - vue: ^3.2.25 - peerDependenciesMeta: - vite: - optional: true - vue: - optional: true + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.10(@types/node@20.12.7)(stylus@0.57.0)(terser@5.30.4))(vue@3.4.25(typescript@5.4.5))': dependencies: - vite: 5.1.4(@types/node@20.11.24) - vue: 3.4.21(typescript@5.3.3) - dev: true - - /@vue-macros/common@1.10.1(rollup@4.12.0): - resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - peerDependenciesMeta: - vue: - optional: true + '@babel/core': 7.24.4 + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) + '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.4) + vite: 5.2.10(@types/node@20.12.7)(stylus@0.57.0)(terser@5.30.4) + vue: 3.4.25(typescript@5.4.5) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@5.0.4(vite@5.2.10(@types/node@20.12.7)(stylus@0.57.0)(terser@5.30.4))(vue@3.4.25(typescript@5.4.5))': + dependencies: + vite: 5.2.10(@types/node@20.12.7)(stylus@0.57.0)(terser@5.30.4) + vue: 3.4.25(typescript@5.4.5) + + '@vue-macros/common@1.10.2(rollup@4.16.4)(vue@3.4.25(typescript@5.4.5))': dependencies: - '@babel/types': 7.23.6 - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - '@vue/compiler-sfc': 3.4.21 - ast-kit: 0.11.3(rollup@4.12.0) + '@babel/types': 7.24.0 + '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + '@vue/compiler-sfc': 3.4.25 + ast-kit: 0.12.1 local-pkg: 0.5.0 magic-string-ast: 0.3.0 + optionalDependencies: + vue: 3.4.25(typescript@5.4.5) transitivePeerDependencies: - rollup - dev: true - /@vue/babel-helper-vue-transform-on@1.1.5: - resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} - dev: true + '@vue/babel-helper-vue-transform-on@1.2.2': {} - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.3): - resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - peerDependenciesMeta: - '@babel/core': - optional: true + '@vue/babel-plugin-jsx@1.2.2(@babel/core@7.24.4)': dependencies: - '@babel/core': 7.23.3 '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.3) - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.6 - '@vue/babel-helper-vue-transform-on': 1.1.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + '@vue/babel-helper-vue-transform-on': 1.2.2 + '@vue/babel-plugin-resolve-type': 1.2.2(@babel/core@7.24.4) camelcase: 6.3.0 html-tags: 3.3.1 svg-tags: 1.0.0 + optionalDependencies: + '@babel/core': 7.24.4 transitivePeerDependencies: - supports-color - dev: true - /@vue/compiler-core@3.4.21: - resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + '@vue/babel-plugin-resolve-type@1.2.2(@babel/core@7.24.4)': dependencies: - '@babel/parser': 7.24.0 - '@vue/shared': 3.4.21 + '@babel/code-frame': 7.24.2 + '@babel/core': 7.24.4 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/parser': 7.24.4 + '@vue/compiler-sfc': 3.4.25 + + '@vue/compiler-core@3.4.25': + dependencies: + '@babel/parser': 7.24.4 + '@vue/shared': 3.4.25 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.0.2 - dev: true + source-map-js: 1.2.0 - /@vue/compiler-dom@3.4.21: - resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + '@vue/compiler-dom@3.4.25': dependencies: - '@vue/compiler-core': 3.4.21 - '@vue/shared': 3.4.21 - dev: true + '@vue/compiler-core': 3.4.25 + '@vue/shared': 3.4.25 - /@vue/compiler-sfc@3.4.21: - resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + '@vue/compiler-sfc@3.4.25': dependencies: - '@babel/parser': 7.24.0 - '@vue/compiler-core': 3.4.21 - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 + '@babel/parser': 7.24.4 + '@vue/compiler-core': 3.4.25 + '@vue/compiler-dom': 3.4.25 + '@vue/compiler-ssr': 3.4.25 + '@vue/shared': 3.4.25 estree-walker: 2.0.2 - magic-string: 0.30.7 - postcss: 8.4.35 - source-map-js: 1.0.2 - dev: true + magic-string: 0.30.10 + postcss: 8.4.38 + source-map-js: 1.2.0 - /@vue/compiler-ssr@3.4.21: - resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + '@vue/compiler-ssr@3.4.25': dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 - dev: true + '@vue/compiler-dom': 3.4.25 + '@vue/shared': 3.4.25 - /@vue/devtools-api@7.0.15(vue@3.4.21): - resolution: {integrity: sha512-kgEYWosDyWpS1vFSuJNNWUnHkP+VkL3Y+9mw+rf7ex41SwbYL/WdC3KXqAtjiSrEs7r/FrHmUTh0BkINJPFkbA==} + '@vue/devtools-api@7.1.3(vue@3.4.25(typescript@5.4.5))': dependencies: - '@vue/devtools-kit': 7.0.15(vue@3.4.21) + '@vue/devtools-kit': 7.1.3(vue@3.4.25(typescript@5.4.5)) transitivePeerDependencies: - vue - dev: true - /@vue/devtools-kit@7.0.15(vue@3.4.21): - resolution: {integrity: sha512-dT7OeCe1LUCIhHIb/yRR6Hn+XHh73r1o78onqCrxEKHdoZwBItiIeVnmJZPEUDFstIxfs+tJL231mySk3laTow==} - peerDependencies: - vue: ^3.0.0 - peerDependenciesMeta: - vue: - optional: true + '@vue/devtools-kit@7.1.3(vue@3.4.25(typescript@5.4.5))': dependencies: - '@vue/devtools-shared': 7.0.15 + '@vue/devtools-shared': 7.1.3 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.21(typescript@5.3.3) - dev: true + vue: 3.4.25(typescript@5.4.5) - /@vue/devtools-shared@7.0.15: - resolution: {integrity: sha512-fpfvMVvS7aDgO7x2JPFiTQ1MHcCc63/bE7yTgs278gMBybuO9b3hdiZ/k0Pw1rN+RefaU9yQiFA+5CCFc1D+6w==} + '@vue/devtools-shared@7.1.3': dependencies: rfdc: 1.3.1 - dev: true - /@vue/reactivity@3.4.21: - resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} + '@vue/reactivity@3.4.25': dependencies: - '@vue/shared': 3.4.21 - dev: true + '@vue/shared': 3.4.25 - /@vue/runtime-core@3.4.21: - resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} + '@vue/runtime-core@3.4.25': dependencies: - '@vue/reactivity': 3.4.21 - '@vue/shared': 3.4.21 - dev: true + '@vue/reactivity': 3.4.25 + '@vue/shared': 3.4.25 - /@vue/runtime-dom@3.4.21: - resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} + '@vue/runtime-dom@3.4.25': dependencies: - '@vue/runtime-core': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/runtime-core': 3.4.25 + '@vue/shared': 3.4.25 csstype: 3.1.3 - dev: true - /@vue/server-renderer@3.4.21(vue@3.4.21): - resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} - peerDependencies: - vue: 3.4.21 - peerDependenciesMeta: - vue: - optional: true + '@vue/server-renderer@3.4.25(vue@3.4.25(typescript@5.4.5))': dependencies: - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.3.3) - dev: true + '@vue/compiler-ssr': 3.4.25 + '@vue/shared': 3.4.25 + vue: 3.4.25(typescript@5.4.5) - /@vue/shared@3.4.21: - resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - dev: true + '@vue/shared@3.4.25': {} - /@vueuse/core@10.9.0(vue@3.4.21): - resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + '@vueuse/core@10.9.0(vue@3.4.25(typescript@5.4.5))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) + '@vueuse/shared': 10.9.0(vue@3.4.25(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.25(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue - dev: true - /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21): - resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} - peerDependencies: - async-validator: '*' - axios: '*' - change-case: '*' - drauu: '*' - focus-trap: '*' - fuse.js: '*' - idb-keyval: '*' - jwt-decode: '*' - nprogress: '*' - qrcode: '*' - sortablejs: '*' - universal-cookie: '*' - peerDependenciesMeta: - async-validator: - optional: true - axios: - optional: true - change-case: - optional: true - drauu: - optional: true - focus-trap: - optional: true - fuse.js: - optional: true - idb-keyval: - optional: true - jwt-decode: - optional: true - nprogress: - optional: true - qrcode: - optional: true - sortablejs: - optional: true - universal-cookie: - optional: true + '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.25(typescript@5.4.5))': dependencies: - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/shared': 10.9.0(vue@3.4.21) + '@vueuse/core': 10.9.0(vue@3.4.25(typescript@5.4.5)) + '@vueuse/shared': 10.9.0(vue@3.4.25(typescript@5.4.5)) + vue-demi: 0.14.7(vue@3.4.25(typescript@5.4.5)) + optionalDependencies: focus-trap: 7.5.4 - vue-demi: 0.14.7(vue@3.4.21) transitivePeerDependencies: - '@vue/composition-api' - vue - dev: true - /@vueuse/metadata@10.9.0: - resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} - dev: true + '@vueuse/metadata@10.9.0': {} - /@vueuse/shared@10.9.0(vue@3.4.21): - resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + '@vueuse/shared@10.9.0(vue@3.4.25(typescript@5.4.5))': dependencies: - vue-demi: 0.14.7(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.25(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue - dev: true - /abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - dev: true + abbrev@1.1.1: {} - /acorn-jsx@5.3.2(acorn@8.10.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: - acorn: 8.10.0 - dev: true - - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: false - - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - - /acorn@8.11.2: - resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + acorn: 8.11.3 - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + acorn@8.11.3: {} - /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + agent-base@6.0.2: dependencies: debug: 4.3.4 transitivePeerDependencies: - supports-color - /agentkeepalive@4.3.0: - resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} - engines: {node: '>= 8.0.0'} + agentkeepalive@4.5.0: dependencies: - debug: 4.3.4 - depd: 2.0.0 humanize-ms: 1.2.1 - transitivePeerDependencies: - - supports-color - dev: true - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 - dev: true - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + 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 - dev: true - - /algoliasearch@4.19.1: - resolution: {integrity: sha512-IJF5b93b2MgAzcE/tuzW0yOPnuUyRgGAtaPv5UUywXM8kzqfdwZTO4sPJBzoGz1eOy6H9uEchsJsBFTELZSu+g==} - dependencies: - '@algolia/cache-browser-local-storage': 4.19.1 - '@algolia/cache-common': 4.19.1 - '@algolia/cache-in-memory': 4.19.1 - '@algolia/client-account': 4.19.1 - '@algolia/client-analytics': 4.19.1 - '@algolia/client-common': 4.19.1 - '@algolia/client-personalization': 4.19.1 - '@algolia/client-search': 4.19.1 - '@algolia/logger-common': 4.19.1 - '@algolia/logger-console': 4.19.1 - '@algolia/requester-browser-xhr': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/requester-node-http': 4.19.1 - '@algolia/transporter': 4.19.1 - dev: true - - /ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + algoliasearch@4.23.3: + dependencies: + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-account': 4.23.3 + '@algolia/client-analytics': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-personalization': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/recommend': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 + + ansi-align@3.0.1: dependencies: string-width: 4.2.3 - dev: true - /ansi-colors@1.1.0: - resolution: {integrity: sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==} - engines: {node: '>=0.10.0'} + ansi-colors@1.1.0: dependencies: ansi-wrap: 0.1.0 - dev: true - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true + ansi-colors@4.1.3: {} - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 - dev: false - - /ansi-gray@0.1.1: - resolution: {integrity: sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-wrap: 0.1.0 - dev: true - - /ansi-regex@2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - dev: true - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + ansi-regex@5.0.1: {} - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: true + ansi-regex@6.0.1: {} - /ansi-sequence-parser@1.1.0: - resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} - dev: true + ansi-sequence-parser@1.1.1: {} - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: true - - /ansi-wrap@0.1.0: - resolution: {integrity: sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==} - engines: {node: '>=0.10.0'} - dev: true + ansi-styles@6.2.1: {} - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + ansi-wrap@0.1.0: {} - /anymatch@2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 - transitivePeerDependencies: - - supports-color - dev: true + any-promise@1.3.0: {} - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: true - /app-module-path@2.2.0: - resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} - dev: true + app-module-path@2.2.0: {} - /append-buffer@1.0.2: - resolution: {integrity: sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==} - engines: {node: '>=0.10.0'} + append-buffer@1.0.2: dependencies: buffer-equal: 1.0.1 - dev: true - - /aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - dev: true - /archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: true + aproba@2.0.0: {} - /are-docs-informative@0.0.2: - resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} - engines: {node: '>=14'} - dev: true + are-docs-informative@0.0.2: {} - /are-we-there-yet@3.0.1: - resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + are-we-there-yet@3.0.1: dependencies: delegates: 1.0.0 readable-stream: 3.6.2 - dev: true - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /arr-diff@4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - dev: true + argparse@2.0.1: {} - /arr-filter@1.1.2: - resolution: {integrity: sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==} - engines: {node: '>=0.10.0'} - dependencies: - make-iterator: 1.0.1 - dev: true + arr-diff@4.0.0: {} - /arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - dev: true + arr-union@3.1.0: {} - /arr-map@2.0.2: - resolution: {integrity: sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==} - engines: {node: '>=0.10.0'} + array-buffer-byte-length@1.0.1: dependencies: - make-iterator: 1.0.1 - dev: true + call-bind: 1.0.7 + is-array-buffer: 3.0.4 - /arr-union@3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} - dev: true + array-each@1.0.1: {} - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + array-includes@3.1.8: dependencies: - call-bind: 1.0.2 - is-array-buffer: 3.0.2 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + is-string: 1.0.7 - /array-each@1.0.1: - resolution: {integrity: sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==} - engines: {node: '>=0.10.0'} - dev: true + array-slice@1.1.0: {} - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.3 - get-intrinsic: 1.2.1 - is-string: 1.0.7 - dev: true + array-union@2.1.0: {} - /array-initial@1.1.0: - resolution: {integrity: sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==} - engines: {node: '>=0.10.0'} + array.prototype.findlastindex@1.2.5: dependencies: - array-slice: 1.1.0 - is-number: 4.0.0 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 - /array-last@1.3.0: - resolution: {integrity: sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==} - engines: {node: '>=0.10.0'} + array.prototype.flat@1.3.2: dependencies: - is-number: 4.0.0 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 - /array-slice@1.1.0: - resolution: {integrity: sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==} - engines: {node: '>=0.10.0'} - dev: true - - /array-sort@1.0.0: - resolution: {integrity: sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==} - engines: {node: '>=0.10.0'} + array.prototype.flatmap@1.3.2: dependencies: - default-compare: 1.0.0 - get-value: 2.0.6 - kind-of: 5.1.0 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true + arraybuffer.prototype.slice@1.0.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 - /array-unique@0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - dev: true + assign-symbols@1.0.0: {} - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} - engines: {node: '>= 0.4'} + ast-kit@0.12.1: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 - dev: true + '@babel/parser': 7.24.4 + pathe: 1.1.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.2 - define-properties: 1.2.0 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 - dev: true + ast-module-types@5.0.0: {} - /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} + ast-walker-scope@0.6.1: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 - dev: true + '@babel/parser': 7.24.4 + ast-kit: 0.12.1 - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} - engines: {node: '>= 0.4'} + async-done@1.3.2: dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 - dev: true - - /assign-symbols@1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - dev: true + end-of-stream: 1.4.4 + once: 1.4.0 + process-nextick-args: 2.0.1 + stream-exhaust: 1.0.2 - /ast-kit@0.11.3(rollup@4.12.0): - resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} - engines: {node: '>=16.14.0'} + async-done@2.0.0: dependencies: - '@babel/parser': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - pathe: 1.1.1 - transitivePeerDependencies: - - rollup - dev: true + end-of-stream: 1.4.4 + once: 1.4.0 + stream-exhaust: 1.0.2 - /ast-kit@0.9.5(rollup@4.12.0): - resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} - engines: {node: '>=16.14.0'} + async-settle@2.0.0: dependencies: - '@babel/parser': 7.24.0 - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - pathe: 1.1.1 - transitivePeerDependencies: - - rollup - dev: true - - /ast-module-types@2.7.1: - resolution: {integrity: sha512-Rnnx/4Dus6fn7fTqdeLEAn5vUll5w7/vts0RN608yFa6si/rDOUonlIIiwugHBFWjylHjxm9owoSZn71KwG4gw==} - dev: true + async-done: 2.0.0 - /ast-module-types@3.0.0: - resolution: {integrity: sha512-CMxMCOCS+4D+DkOQfuZf+vLrSEmY/7xtORwdxs4wtcC1wVgvk2MqFFTwQCFhvWsI4KPU9lcWXPI8DgRiz+xetQ==} - engines: {node: '>=6.0'} - dev: true + atob@2.1.2: {} - /ast-module-types@4.0.0: - resolution: {integrity: sha512-Kd0o8r6CDazJGCRzs8Ivpn0xj19oNKrULhoJFzhGjRsLpekF2zyZs9Ukz+JvZhWD6smszfepakTFhAaYpsI12g==} - engines: {node: '>=12.0'} - dev: true + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 - /ast-types@0.13.4: - resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} - engines: {node: '>=4'} + await-to-done@1.0.2: dependencies: tslib: 2.6.2 - dev: false - /ast-walker-scope@0.5.0(rollup@4.12.0): - resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} - engines: {node: '>=16.14.0'} + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.4): dependencies: - '@babel/parser': 7.24.0 - ast-kit: 0.9.5(rollup@4.12.0) + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4) + semver: 6.3.1 transitivePeerDependencies: - - rollup - dev: true - - /async-done@1.3.2: - resolution: {integrity: sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==} - engines: {node: '>= 0.10'} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - process-nextick-args: 2.0.1 - stream-exhaust: 1.0.2 - dev: true - - /async-each@1.0.6: - resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==} - dev: true + - supports-color - /async-settle@1.0.0: - resolution: {integrity: sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==} - engines: {node: '>= 0.10'} + babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): dependencies: - async-done: 1.3.2 - dev: true - - /atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true - - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} - dev: true + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4) + core-js-compat: 3.37.0 + transitivePeerDependencies: + - supports-color - /await-to-done@1.0.2: - resolution: {integrity: sha512-izPKtGYvcV41nmdznVgrvgiEodzz3i3qe7IzkVC4VUjlKFxHQ2R2EYrHKIZCAWTYxOfs5gwgmTZWfV0sqvLieQ==} + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.4): dependencies: - tslib: 2.6.2 + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4) + transitivePeerDependencies: + - supports-color - /bach@1.2.0: - resolution: {integrity: sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==} - engines: {node: '>= 0.10'} + bach@2.0.1: dependencies: - arr-filter: 1.1.2 - arr-flatten: 1.1.0 - arr-map: 2.0.2 - array-each: 1.0.1 - array-initial: 1.1.0 - array-last: 1.3.0 - async-done: 1.3.2 - async-settle: 1.0.0 - now-and-later: 2.0.1 - dev: true + async-done: 2.0.0 + async-settle: 2.0.0 + now-and-later: 3.0.0 - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@1.0.2: {} - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + bare-events@2.2.2: + optional: true - /base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.0 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - dev: true + base64-js@1.5.1: {} - /basic-auth@2.0.1: - resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} - engines: {node: '>= 0.8'} + basic-auth@2.0.1: dependencies: safe-buffer: 5.1.2 - dev: false - - /binary-extensions@1.13.1: - resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} - engines: {node: '>=0.10.0'} - dev: true - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true + binary-extensions@2.3.0: {} - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bl@4.1.0: dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - /bl@5.1.0: - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + bl@5.1.0: dependencies: buffer: 6.0.3 inherits: 2.0.4 readable-stream: 3.6.2 - dev: true - /bole@5.0.3: - resolution: {integrity: sha512-4o8wk9dlpU0e69sXhIsPIaFfXgOvj6en2GgZkG8hadkqNEqYKcz9Y70ijg7Kjq9hz2prJkWXljca5OBJZ451xg==} + bole@5.0.11: dependencies: fast-safe-stringify: 2.1.1 individual: 3.0.0 - dev: true - /boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - dev: true + boolbase@1.0.0: {} - /boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} + boxen@5.1.2: dependencies: ansi-align: 3.0.1 camelcase: 6.3.0 @@ -3705,104 +8699,52 @@ packages: type-fest: 0.20.2 widest-line: 3.1.0 wrap-ansi: 7.0.0 - dev: true - /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: true - - /braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + braces@3.0.2: dependencies: fill-range: 7.0.1 - dev: true - /brotli-size@4.0.0: - resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==} - engines: {node: '>= 10.16.0'} + brotli-size@4.0.0: dependencies: duplexer: 0.1.1 - dev: true - /browserslist@4.22.1: - resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + browserslist@4.23.0: dependencies: - caniuse-lite: 1.0.30001549 - electron-to-chromium: 1.4.556 - node-releases: 2.0.13 - update-browserslist-db: 1.0.13(browserslist@4.22.1) - dev: true + caniuse-lite: 1.0.30001612 + electron-to-chromium: 1.4.750 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) - /buffer-equal@1.0.1: - resolution: {integrity: sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==} - engines: {node: '>=0.4'} - dev: true + buffer-equal@1.0.1: {} - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true + buffer-from@1.1.2: {} - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true + builtin-modules@3.3.0: {} - /builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + builtins@5.1.0: dependencies: - semver: 7.5.4 - dev: true - - /bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - dev: false + semver: 7.6.0 - /cacache@16.1.3: - resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + cacache@16.1.3: dependencies: '@npmcli/fs': 2.1.2 '@npmcli/move-file': 2.0.1 @@ -3820,140 +8762,62 @@ packages: promise-inflight: 1.0.1 rimraf: 3.0.2 ssri: 9.0.1 - tar: 6.1.13 + tar: 6.2.1 unique-filename: 2.0.1 transitivePeerDependencies: - bluebird - dev: true - /cacache@17.0.5: - resolution: {integrity: sha512-Y/PRQevNSsjAPWykl9aeGz8Pr+OI6BYM9fYDNMvOkuUiG9IhG4LEmaYrZZZvioMUEQ+cBCxT0v8wrnCURccyKA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + cacache@17.1.4: dependencies: '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.1 - glob: 9.3.2 + fs-minipass: 3.0.3 + glob: 10.3.12 lru-cache: 7.18.3 - minipass: 4.2.5 + minipass: 7.0.4 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 - promise-inflight: 1.0.1 - ssri: 10.0.1 - tar: 6.1.13 + ssri: 10.0.5 + tar: 6.2.1 unique-filename: 3.0.0 - transitivePeerDependencies: - - bluebird - dev: true - - /cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.0 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 - dev: true - - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.1 - dev: true - /call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + call-bind@1.0.7: dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.1.1 - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 - /camelcase@3.0.0: - resolution: {integrity: sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==} - engines: {node: '>=0.10.0'} - dev: true + callsites@3.1.0: {} - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true + camelcase@6.3.0: {} - /caniuse-lite@1.0.30001549: - resolution: {integrity: sha512-qRp48dPYSCYaP+KurZLhDYdVE+yEyht/3NlmcJgVQ2VMGt6JL36ndQ/7rgspdZsJuxDPFIo/OzBT2+GmIJ53BA==} - dev: true + caniuse-lite@1.0.30001612: {} - /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 - /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: true - - /character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} - dev: true + chalk@5.3.0: {} - /character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} - dev: true + character-entities-legacy@1.1.4: {} - /character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - dev: true + character-entities@1.2.4: {} - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: false + character-reference-invalid@1.1.4: {} - /chokidar@2.1.8: - resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} - deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies - dependencies: - anymatch: 2.0.0 - async-each: 1.0.6 - braces: 2.3.2 - glob-parent: 3.1.0 - inherits: 2.0.4 - is-binary-path: 1.0.1 - is-glob: 4.0.3 - normalize-path: 3.0.0 - path-is-absolute: 1.0.1 - readdirp: 2.2.1 - upath: 1.2.0 - optionalDependencies: - fsevents: 2.3.2 - transitivePeerDependencies: - - supports-color - dev: true + chardet@0.7.0: {} - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + chokidar@3.6.0: dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -3963,1139 +8827,534 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 - dev: true + fsevents: 2.3.3 - /chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - dev: true - - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - dev: true + chownr@2.0.0: {} - /ci-info@4.0.0: - resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} - engines: {node: '>=8'} - dev: false + ci-info@3.9.0: {} - /class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 - dev: true + ci-info@4.0.0: {} - /clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} + clean-regexp@1.0.0: dependencies: escape-string-regexp: 1.0.5 - dev: true - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true + clean-stack@2.2.0: {} - /cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - dev: true + cli-boxes@2.2.1: {} - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 - /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-cursor@4.0.0: dependencies: restore-cursor: 4.0.0 - dev: true - /cli-spinners@2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} - engines: {node: '>=6'} + cli-spinners@2.9.2: {} - /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - dev: false + cli-width@3.0.0: {} - /cliui@3.2.0: - resolution: {integrity: sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==} + cli-width@4.1.0: {} + + cliui@7.0.4: dependencies: - string-width: 1.0.2 - strip-ansi: 3.0.1 - wrap-ansi: 2.1.0 - dev: true + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true - /clone-buffer@1.0.0: - resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==} - engines: {node: '>= 0.10'} - dev: true + clone-buffer@1.0.0: {} - /clone-stats@1.0.0: - resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==} - dev: true + clone-stats@1.0.0: {} - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} + clone@1.0.4: {} - /clone@2.1.2: - resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} - engines: {node: '>=0.8'} - dev: true + clone@2.1.2: {} - /cloneable-readable@1.1.3: - resolution: {integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==} + cloneable-readable@1.1.3: dependencies: inherits: 2.0.4 process-nextick-args: 2.0.1 readable-stream: 2.3.8 - dev: true - - /code-point-at@1.1.0: - resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} - engines: {node: '>=0.10.0'} - dev: true - /collection-map@1.0.0: - resolution: {integrity: sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-map: 2.0.2 - for-own: 1.0.0 - make-iterator: 1.0.1 - dev: true - - /collection-visit@1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - dev: true - - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@1.9.3: dependencies: color-name: 1.1.3 - /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==} + color-name@1.1.3: {} - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@1.1.4: {} - /color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - dev: true + color-support@1.1.3: {} - /colors@1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} - dev: true + colors@1.4.0: {} - /columnify@1.6.0: - resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} - engines: {node: '>=8.0.0'} + columnify@1.6.0: dependencies: strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: false - - /commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - dev: true - /commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} + commander@10.0.1: {} - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true + commander@11.1.0: {} - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - dev: true + commander@12.0.0: {} - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - dev: true + commander@2.20.3: {} - /comment-parser@1.4.1: - resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} - engines: {node: '>= 12.0.0'} - dev: true + commander@7.2.0: {} - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true + commander@9.5.0: + optional: true - /component-emitter@1.3.0: - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} - dev: true + comment-parser@1.4.1: {} - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + commondir@1.0.1: {} - /concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - typedarray: 0.0.6 - dev: true + concat-map@0.0.1: {} - /consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} - engines: {node: ^14.18.0 || >=16.10.0} - dev: true + confbox@0.1.7: {} - /console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - dev: true + consola@3.2.3: {} - /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - dev: false + console-control-strings@1.1.0: {} - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true + content-type@1.0.5: {} - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true + convert-source-map@1.9.0: {} - /copy-descriptor@0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - dev: true + convert-source-map@2.0.0: {} - /copy-props@2.0.5: - resolution: {integrity: sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==} + copy-props@4.0.0: dependencies: - each-props: 1.3.2 + each-props: 3.0.0 is-plain-object: 5.0.0 - dev: true - /copy-to@2.0.1: - resolution: {integrity: sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==} - dev: false + copy-to@2.0.1: {} - /core-js@3.32.2: - resolution: {integrity: sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==} - requiresBuild: true + core-js-compat@3.37.0: + dependencies: + browserslist: 4.23.0 - /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + core-js@3.37.0: {} - /cosmiconfig@8.3.6(typescript@5.3.3): - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true + core-util-is@1.0.3: {} + + cosmiconfig@8.3.6(typescript@5.4.5): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.3.3 - dev: true + optionalDependencies: + typescript: 5.4.5 - /cosmiconfig@9.0.0(typescript@5.3.3): - resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true + cosmiconfig@9.0.0(typescript@5.4.5): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.3.3 - dev: false + optionalDependencies: + typescript: 5.4.5 - /cross-env@7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} - hasBin: true + cross-env@7.0.3: dependencies: cross-spawn: 7.0.3 - dev: true - /cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} + cross-spawn@6.0.5: dependencies: nice-try: 1.0.5 path-key: 2.0.1 semver: 5.7.2 shebang-command: 1.2.0 which: 1.3.1 - dev: true - /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 - /css@3.0.0: - resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} + css@3.0.0: dependencies: inherits: 2.0.4 source-map: 0.6.1 source-map-resolve: 0.6.0 - dev: true - - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - dev: true - - /d@1.0.1: - resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} - dependencies: - es5-ext: 0.10.62 - type: 1.2.0 - dev: true - - /data-uri-to-buffer@3.0.1: - resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} - engines: {node: '>= 6'} - dev: false - - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: true - - /dayjs@1.11.10: - resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - dev: false - - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - 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 - dependencies: - ms: 2.1.2 - - /decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - dev: true - - /decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - dev: true - - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: true - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - dev: true - /default-compare@1.0.0: - resolution: {integrity: sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 5.1.0 - dev: true + cssesc@3.0.0: {} - /default-resolution@2.0.0: - resolution: {integrity: sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==} - engines: {node: '>= 0.10'} - dev: true + csstype@3.1.3: {} - /default-user-agent@1.0.0: - resolution: {integrity: sha512-bDF7bg6OSNcSwFWPu4zYKpVkJZQYVrAANMYB8bc9Szem1D0yKdm4sa/rOCs2aC9+2GMqQ7KnwtZRvDhmLF0dXw==} - engines: {node: '>= 0.10.0'} - dependencies: - os-name: 1.0.3 - dev: false + data-uri-to-buffer@4.0.1: {} - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + data-view-buffer@1.0.1: dependencies: - clone: 1.0.4 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 - /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} - engines: {node: '>= 0.4'} + data-view-byte-length@1.0.1: dependencies: - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.0 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 - /define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - dev: true - - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} - engines: {node: '>= 0.4'} + data-view-byte-offset@1.0.0: dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - dev: true + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 - /define-property@0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 0.1.6 - dev: true + dayjs@1.11.10: {} - /define-property@1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} + debug@2.6.9: dependencies: - is-descriptor: 1.0.2 - dev: true + ms: 2.0.0 - /define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} + debug@3.2.7: dependencies: - is-descriptor: 1.0.2 - isobject: 3.0.1 - dev: true + ms: 2.1.3 - /degenerator@3.0.2: - resolution: {integrity: sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==} - engines: {node: '>= 6'} + debug@4.3.4: dependencies: - ast-types: 0.13.4 - escodegen: 1.14.3 - esprima: 4.0.1 - vm2: 3.9.14 - dev: false - - /delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - dev: true - - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} + ms: 2.1.2 - /dependency-tree@9.0.0: - resolution: {integrity: sha512-osYHZJ1fBSon3lNLw70amAXsQ+RGzXsPvk9HbBgTLbp/bQBmpH5mOmsUvqXU+YEWVU0ZLewsmzOET/8jWswjDQ==} - engines: {node: ^10.13 || ^12 || >=14} - hasBin: true - dependencies: - commander: 2.20.3 - debug: 4.3.4 - filing-cabinet: 3.3.1 - precinct: 9.2.1 - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - dev: true + decode-uri-component@0.2.2: {} - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: false + deep-extend@0.6.0: {} - /detect-file@1.0.0: - resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} - engines: {node: '>=0.10.0'} - dev: true + deep-is@0.1.4: {} - /detective-amd@3.1.2: - resolution: {integrity: sha512-jffU26dyqJ37JHR/o44La6CxtrDf3Rt9tvd2IbImJYxWKTMdBjctp37qoZ6ZcY80RHg+kzWz4bXn39e4P7cctQ==} - engines: {node: '>=6.0'} - hasBin: true - dependencies: - ast-module-types: 3.0.0 - escodegen: 2.0.0 - get-amd-module-type: 3.0.2 - node-source-walk: 4.3.0 - dev: true + deepmerge@4.3.1: {} - /detective-amd@4.1.0: - resolution: {integrity: sha512-XlQrGjGEnMFjKbep0/S/T7XICxf25LFMP6Ug+Iw/Ww/MHUBzfy8QETCzamO1JlAMYPmkChDh21/NS/csG0FwGg==} - engines: {node: '>=12'} - hasBin: true + default-user-agent@1.0.0: dependencies: - ast-module-types: 4.0.0 - escodegen: 2.0.0 - get-amd-module-type: 4.1.0 - node-source-walk: 5.0.1 - dev: true + os-name: 1.0.3 - /detective-cjs@3.1.3: - resolution: {integrity: sha512-ljs7P0Yj9MK64B7G0eNl0ThWSYjhAaSYy+fQcpzaKalYl/UoQBOzOeLCSFEY1qEBhziZ3w7l46KG/nH+s+L7BQ==} - engines: {node: '>=6.0'} + defaults@1.0.4: dependencies: - ast-module-types: 3.0.0 - node-source-walk: 4.3.0 - dev: true + clone: 1.0.4 - /detective-cjs@4.1.0: - resolution: {integrity: sha512-QxzMwt5MfPLwS7mG30zvnmOvHLx5vyVvjsAV6gQOyuMoBR5G1DhS1eJZ4P10AlH+HSnk93mTcrg3l39+24XCtg==} - engines: {node: '>=12'} + define-data-property@1.1.4: dependencies: - ast-module-types: 4.0.0 - node-source-walk: 5.0.1 - dev: true + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 - /detective-es6@2.2.2: - resolution: {integrity: sha512-eZUKCUsbHm8xoeoCM0z6JFwvDfJ5Ww5HANo+jPR7AzkFpW9Mun3t/TqIF2jjeWa2TFbAiGaWESykf2OQp3oeMw==} - engines: {node: '>=6.0'} - dependencies: - node-source-walk: 4.3.0 - dev: true + define-lazy-prop@2.0.0: {} - /detective-es6@3.0.1: - resolution: {integrity: sha512-evPeYIEdK1jK3Oji5p0hX4sPV/1vK+o4ihcWZkMQE6voypSW/cIBiynOLxQk5KOOQbdP8oOAsYqouMTYO5l1sw==} - engines: {node: '>=12'} + define-properties@1.2.1: dependencies: - node-source-walk: 5.0.1 - dev: true + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 - /detective-less@1.0.2: - resolution: {integrity: sha512-Rps1xDkEEBSq3kLdsdnHZL1x2S4NGDcbrjmd4q+PykK5aJwDdP5MBgrJw1Xo+kyUHuv3JEzPqxr+Dj9ryeDRTA==} - engines: {node: '>= 6.0'} + delegates@1.0.0: {} + + depd@2.0.0: {} + + dependency-tree@10.0.9: dependencies: - debug: 4.3.4 - gonzales-pe: 4.3.0 - node-source-walk: 4.3.0 + commander: 10.0.1 + filing-cabinet: 4.2.0 + precinct: 11.0.5 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /detective-postcss@4.0.0: - resolution: {integrity: sha512-Fwc/g9VcrowODIAeKRWZfVA/EufxYL7XfuqJQFroBKGikKX83d2G7NFw6kDlSYGG3LNQIyVa+eWv1mqre+v4+A==} - engines: {node: ^10 || ^12 || >=14} + destroy@1.2.0: {} + + detect-file@1.0.0: {} + + detective-amd@5.0.2: dependencies: - debug: 4.3.4 - is-url: 1.2.4 - postcss: 8.4.31 - postcss-values-parser: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: true + ast-module-types: 5.0.0 + escodegen: 2.1.0 + get-amd-module-type: 5.0.1 + node-source-walk: 6.0.2 - /detective-postcss@6.1.1: - resolution: {integrity: sha512-mX62A6chiafyFW9AwGF6B/uVU+F3hGMZwXDqCHe+NjmU/M5jlDBazdXb1sMoDE+InTDsoPaX3bUUOH33Yxn5Sw==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + detective-cjs@5.0.1: dependencies: - is-url: 1.2.4 - postcss: 8.4.31 - postcss-values-parser: 6.0.2(postcss@8.4.31) - dev: true + ast-module-types: 5.0.0 + node-source-walk: 6.0.2 - /detective-sass@3.0.2: - resolution: {integrity: sha512-DNVYbaSlmti/eztFGSfBw4nZvwsTaVXEQ4NsT/uFckxhJrNRFUh24d76KzoCC3aarvpZP9m8sC2L1XbLej4F7g==} - engines: {node: '>=6.0'} + detective-es6@4.0.1: dependencies: - gonzales-pe: 4.3.0 - node-source-walk: 4.3.0 - dev: true + node-source-walk: 6.0.2 - /detective-sass@4.1.1: - resolution: {integrity: sha512-KSUoOdrLXxSZFnHpGyXufWUP6VkfSdSNC/uezbJkKIwy2i3px5NQPY5hWOR0k9OFlrBakucymD3Ap4d87zobUQ==} - engines: {node: '>=12'} + detective-postcss@6.1.3: dependencies: - gonzales-pe: 4.3.0 - node-source-walk: 5.0.1 - dev: true + is-url: 1.2.4 + postcss: 8.4.38 + postcss-values-parser: 6.0.2(postcss@8.4.38) - /detective-scss@2.0.2: - resolution: {integrity: sha512-hDWnWh/l0tht/7JQltumpVea/inmkBaanJUcXRB9kEEXVwVUMuZd6z7eusQ6GcBFrfifu3pX/XPyD7StjbAiBg==} - engines: {node: '>=6.0'} + detective-sass@5.0.3: dependencies: gonzales-pe: 4.3.0 - node-source-walk: 4.3.0 - dev: true + node-source-walk: 6.0.2 - /detective-scss@3.0.1: - resolution: {integrity: sha512-Bv/t1dEKHCPJ9+byha7wKg4zda8IFk7KZpEX+ZJs2k1HsWIE3+FBeVFLtD3y9GYGfi8l7Sim3pULPz4+yLwW9A==} - engines: {node: '>=12'} + detective-scss@4.0.3: dependencies: gonzales-pe: 4.3.0 - node-source-walk: 5.0.1 - dev: true - - /detective-stylus@1.0.3: - resolution: {integrity: sha512-4/bfIU5kqjwugymoxLXXLltzQNeQfxGoLm2eIaqtnkWxqbhap9puDVpJPVDx96hnptdERzS5Cy6p9N8/08A69Q==} - dev: true - - /detective-stylus@2.0.1: - resolution: {integrity: sha512-/Tvs1pWLg8eYwwV6kZQY5IslGaYqc/GACxjcaGudiNtN5nKCH6o2WnJK3j0gA3huCnoQcbv8X7oz/c1lnvE3zQ==} - engines: {node: '>=6.0'} - dev: true + node-source-walk: 6.0.2 - /detective-stylus@3.0.0: - resolution: {integrity: sha512-1xYTzbrduExqMYmte7Qk99IRA3Aa6oV7PYzd+3yDcQXkmENvyGF/arripri6lxRDdNYEb4fZFuHtNRAXbz3iAA==} - engines: {node: '>=12'} - dev: true - - /detective-typescript@7.0.2: - resolution: {integrity: sha512-unqovnhxzvkCz3m1/W4QW4qGsvXCU06aU2BAm8tkza+xLnp9SOFnob2QsTxUv5PdnQKfDvWcv9YeOeFckWejwA==} - engines: {node: ^10.13 || >=12.0.0} - dependencies: - '@typescript-eslint/typescript-estree': 4.33.0(typescript@3.9.10) - ast-module-types: 2.7.1 - node-source-walk: 4.3.0 - typescript: 3.9.10 - transitivePeerDependencies: - - supports-color - dev: true + detective-stylus@4.0.0: {} - /detective-typescript@9.1.1: - resolution: {integrity: sha512-Uc1yVutTF0RRm1YJ3g//i1Cn2vx1kwHj15cnzQP6ff5koNzQ0idc1zAC73ryaWEulA0ElRXFTq6wOqe8vUQ3MA==} - engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} + detective-typescript@11.2.0: dependencies: - '@typescript-eslint/typescript-estree': 5.60.1(typescript@4.9.5) - ast-module-types: 4.0.0 - node-source-walk: 5.0.1 - typescript: 4.9.5 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) + ast-module-types: 5.0.0 + node-source-walk: 6.0.2 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /digest-header@1.0.0: - resolution: {integrity: sha512-sRTuakZ2PkOUCuAaVv+SLjhr/hRf8ldZP0XnGEQ69RFGxmll5fVaMsnRXWKKK4XsUTnJf8+eRPSFNgE/lWa9wQ==} - engines: {node: '>= 8.0.0'} - dependencies: - utility: 1.17.0 - dev: false + digest-header@1.1.0: {} - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - dev: true - /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-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 entities: 4.5.0 - dev: true - /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: true + domelementtype@2.3.0: {} - /domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} + domhandler@5.0.3: dependencies: domelementtype: 2.3.0 - dev: true - /domutils@3.0.1: - resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} + domutils@3.1.0: dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 domhandler: 5.0.3 - dev: true - /dotenv@4.0.0: - resolution: {integrity: sha512-XcaMACOr3JMVcEv0Y/iUM2XaOsATRZ3U1In41/1jjK6vJZ2PZbQ1bzCG8uvaByfaBpl9gqc9QWJovpUGBXLLYQ==} - engines: {node: '>=4.6.0'} - dev: false + dotenv@4.0.0: {} - /duplexer@0.1.1: - resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==} - dev: true + duplexer@0.1.1: {} - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true + duplexer@0.1.2: {} - /duplexify@3.7.1: - resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + duplexify@3.7.1: dependencies: end-of-stream: 1.4.4 inherits: 2.0.4 readable-stream: 2.3.8 - stream-shift: 1.0.1 - dev: true + stream-shift: 1.0.3 - /each-props@1.3.2: - resolution: {integrity: sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==} + each-props@3.0.0: dependencies: - is-plain-object: 2.0.4 + is-plain-object: 5.0.0 object.defaults: 1.1.0 - dev: true - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true + eastasianwidth@0.2.0: {} - /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: false + ee-first@1.1.1: {} - /electron-to-chromium@1.4.556: - resolution: {integrity: sha512-6RPN0hHfzDU8D56E72YkDvnLw5Cj2NMXZGg3UkgyoHxjVhG99KZpsKgBWMmTy0Ei89xwan+rbRsVB9yzATmYzQ==} - dev: true + electron-to-chromium@1.4.750: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@8.0.0: {} - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true + emoji-regex@9.2.2: {} - /encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - requiresBuild: true + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 - dev: true optional: true - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.4: dependencies: once: 1.4.0 - /enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} - engines: {node: '>=10.13.0'} + enhanced-resolve@5.16.0: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - dev: true - /entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - dev: true + entities@4.5.0: {} - /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + env-paths@2.2.1: {} - /err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - dev: true + err-code@2.0.3: {} - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.1 + es-abstract@1.23.3: + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 globalthis: 1.0.3 gopd: 1.0.1 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-negative-zero: 2.0.2 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 - dev: true - - /es-module-lexer@1.3.1: - resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} - dev: true + which-typed-array: 1.1.15 - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} + es-define-property@1.0.0: dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - has-tostringtag: 1.0.0 - dev: true + get-intrinsic: 1.2.4 - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - dependencies: - has: 1.0.3 - dev: true + es-errors@1.3.0: {} - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true + es-module-lexer@1.5.0: {} - /es5-ext@0.10.62: - resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} - engines: {node: '>=0.10'} - requiresBuild: true + es-object-atoms@1.0.0: dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.3 - next-tick: 1.1.0 - dev: true + es-errors: 1.3.0 - /es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + es-set-tostringtag@2.0.3: dependencies: - d: 1.0.1 - es5-ext: 0.10.62 - es6-symbol: 3.1.3 - dev: true + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 - /es6-symbol@3.1.3: - resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} + es-shim-unscopables@1.0.2: dependencies: - d: 1.0.1 - ext: 1.7.0 - dev: true + hasown: 2.0.2 - /es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + es-to-primitive@1.2.1: dependencies: - d: 1.0.1 - es5-ext: 0.10.62 - es6-iterator: 2.0.3 - es6-symbol: 3.1.3 - dev: true + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 - /esbuild-android-64@0.14.54: - resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true + esbuild-android-64@0.14.54: optional: true - /esbuild-android-arm64@0.14.54: - resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + esbuild-android-arm64@0.14.54: optional: true - /esbuild-darwin-64@0.14.54: - resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + esbuild-darwin-64@0.14.54: optional: true - /esbuild-darwin-arm64@0.14.54: - resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + esbuild-darwin-arm64@0.14.54: optional: true - /esbuild-freebsd-64@0.14.54: - resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + esbuild-freebsd-64@0.14.54: optional: true - /esbuild-freebsd-arm64@0.14.54: - resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true + esbuild-freebsd-arm64@0.14.54: optional: true - /esbuild-linux-32@0.14.54: - resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-32@0.14.54: optional: true - /esbuild-linux-64@0.14.54: - resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-64@0.14.54: optional: true - /esbuild-linux-arm64@0.14.54: - resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-arm64@0.14.54: optional: true - /esbuild-linux-arm@0.14.54: - resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-arm@0.14.54: optional: true - /esbuild-linux-mips64le@0.14.54: - resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-mips64le@0.14.54: optional: true - /esbuild-linux-ppc64le@0.14.54: - resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-ppc64le@0.14.54: optional: true - /esbuild-linux-riscv64@0.14.54: - resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-riscv64@0.14.54: optional: true - /esbuild-linux-s390x@0.14.54: - resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + esbuild-linux-s390x@0.14.54: optional: true - /esbuild-netbsd-64@0.14.54: - resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + esbuild-netbsd-64@0.14.54: optional: true - /esbuild-node-loader@0.8.0: - resolution: {integrity: sha512-BJaecVcClXVa5lO7TbHp+CgWtUmYrtZHyPYDx1JVTO3OOXdQM569vbJOeQGPucbYThuWTiNUUNeLEc4+EZk8QQ==} + esbuild-node-loader@0.8.0: dependencies: - esbuild: 0.19.11 - node-fetch: 3.3.1 + esbuild: 0.20.2 + node-fetch: 3.3.2 semver: 7.6.0 - dev: true - /esbuild-openbsd-64@0.14.54: - resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + esbuild-openbsd-64@0.14.54: optional: true - /esbuild-register@3.4.2(esbuild@0.14.54): - resolution: {integrity: sha512-kG/XyTDyz6+YDuyfB9ZoSIOOmgyFCH+xPRtsCa8W85HLRV5Csp+o3jWVbOSHgSLfyLc5DmP+KFDNwty4mEjC+Q==} - peerDependencies: - esbuild: '>=0.12 <1' - peerDependenciesMeta: - esbuild: - optional: true + esbuild-register@3.5.0(esbuild@0.14.54): dependencies: debug: 4.3.4 esbuild: 0.14.54 transitivePeerDependencies: - supports-color - dev: true - /esbuild-sunos-64@0.14.54: - resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + esbuild-sunos-64@0.14.54: optional: true - /esbuild-windows-32@0.14.54: - resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + esbuild-windows-32@0.14.54: optional: true - /esbuild-windows-64@0.14.54: - resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + esbuild-windows-64@0.14.54: optional: true - /esbuild-windows-arm64@0.14.54: - resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + esbuild-windows-arm64@0.14.54: optional: true - /esbuild@0.14.54: - resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.14.54: optionalDependencies: '@esbuild/linux-loong64': 0.14.54 esbuild-android-64: 0.14.54 @@ -5118,13 +9377,8 @@ packages: esbuild-windows-32: 0.14.54 esbuild-windows-64: 0.14.54 esbuild-windows-arm64: 0.14.54 - dev: true - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.18.20: optionalDependencies: '@esbuild/android-arm': 0.18.20 '@esbuild/android-arm64': 0.18.20 @@ -5148,250 +9402,121 @@ packages: '@esbuild/win32-arm64': 0.18.20 '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 - dev: true - - /esbuild@0.19.11: - resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.11 - '@esbuild/android-arm': 0.19.11 - '@esbuild/android-arm64': 0.19.11 - '@esbuild/android-x64': 0.19.11 - '@esbuild/darwin-arm64': 0.19.11 - '@esbuild/darwin-x64': 0.19.11 - '@esbuild/freebsd-arm64': 0.19.11 - '@esbuild/freebsd-x64': 0.19.11 - '@esbuild/linux-arm': 0.19.11 - '@esbuild/linux-arm64': 0.19.11 - '@esbuild/linux-ia32': 0.19.11 - '@esbuild/linux-loong64': 0.19.11 - '@esbuild/linux-mips64el': 0.19.11 - '@esbuild/linux-ppc64': 0.19.11 - '@esbuild/linux-riscv64': 0.19.11 - '@esbuild/linux-s390x': 0.19.11 - '@esbuild/linux-x64': 0.19.11 - '@esbuild/netbsd-x64': 0.19.11 - '@esbuild/openbsd-x64': 0.19.11 - '@esbuild/sunos-x64': 0.19.11 - '@esbuild/win32-arm64': 0.19.11 - '@esbuild/win32-ia32': 0.19.11 - '@esbuild/win32-x64': 0.19.11 - dev: true - - /esbuild@0.20.1: - resolution: {integrity: sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.1 - '@esbuild/android-arm': 0.20.1 - '@esbuild/android-arm64': 0.20.1 - '@esbuild/android-x64': 0.20.1 - '@esbuild/darwin-arm64': 0.20.1 - '@esbuild/darwin-x64': 0.20.1 - '@esbuild/freebsd-arm64': 0.20.1 - '@esbuild/freebsd-x64': 0.20.1 - '@esbuild/linux-arm': 0.20.1 - '@esbuild/linux-arm64': 0.20.1 - '@esbuild/linux-ia32': 0.20.1 - '@esbuild/linux-loong64': 0.20.1 - '@esbuild/linux-mips64el': 0.20.1 - '@esbuild/linux-ppc64': 0.20.1 - '@esbuild/linux-riscv64': 0.20.1 - '@esbuild/linux-s390x': 0.20.1 - '@esbuild/linux-x64': 0.20.1 - '@esbuild/netbsd-x64': 0.20.1 - '@esbuild/openbsd-x64': 0.20.1 - '@esbuild/sunos-x64': 0.20.1 - '@esbuild/win32-arm64': 0.20.1 - '@esbuild/win32-ia32': 0.20.1 - '@esbuild/win32-x64': 0.20.1 - dev: true - - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true - /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: false - - /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'} - dev: true - - /escodegen@1.14.3: - resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} - engines: {node: '>=4.0'} - hasBin: true - dependencies: - esprima: 4.0.1 - estraverse: 4.3.0 - esutils: 2.0.3 - optionator: 0.8.3 + esbuild@0.20.2: optionalDependencies: - source-map: 0.6.1 - dev: false - - /escodegen@2.0.0: - resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} - engines: {node: '>=6.0'} - hasBin: true + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + + escalade@3.1.2: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escodegen@2.1.0: dependencies: esprima: 4.0.1 estraverse: 5.3.0 esutils: 2.0.3 - optionator: 0.8.3 optionalDependencies: source-map: 0.6.1 - dev: true - - /eslint-compat-utils@0.1.2(eslint@8.57.0): - resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} - engines: {node: '>=12'} - peerDependencies: - eslint: '>=6.0.0 || >= 8.0.0' - dependencies: - eslint: 8.57.0 - dev: true - /eslint-compat-utils@0.4.1(eslint@8.57.0): - resolution: {integrity: sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg==} - engines: {node: '>=12'} - peerDependencies: - eslint: '>=6.0.0 || >= 8.0.0' + eslint-compat-utils@0.5.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - semver: 7.5.4 - dev: true + semver: 7.6.0 - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0 || >= 8.0.0' + eslint-config-prettier@9.1.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - dev: true - /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.4 + resolve: 1.22.8 transitivePeerDependencies: - supports-color - dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.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.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-es-x@7.5.0(eslint@8.57.0): - resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '>=8 || >= 8.0.0' + eslint-plugin-es-x@7.6.0(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.6.2 + '@eslint-community/regexpp': 4.10.0 eslint: 8.57.0 - eslint-compat-utils: 0.1.2(eslint@8.57.0) - dev: true + eslint-compat-utils: 0.5.0(eslint@8.57.0) - /eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): - resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} - engines: {node: '>=6.5.0'} - peerDependencies: - eslint: '>=4.19.1 || >= 8.0.0' + eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): dependencies: escape-string-regexp: 1.0.5 eslint: 8.57.0 - ignore: 5.2.4 - dev: true + ignore: 5.3.1 - /eslint-plugin-html@7.1.0: - resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} + eslint-plugin-html@7.1.0: dependencies: htmlparser2: 8.0.2 - dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || >= 8.0.0 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true + eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) - hasown: 2.0.0 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-plugin-jsdoc@48.2.0(eslint@8.57.0): - resolution: {integrity: sha512-O2B1XLBJnUCRkggFzUQ+PBYJDit8iAgXdlu8ucolqGrbmOWPvttZQZX8d1sC0MbqDMSLs8SHSQxaNPRY1RQREg==} - engines: {node: '>=18'} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 || >= 8.0.0 + eslint-plugin-jsdoc@48.2.3(eslint@8.57.0): dependencies: '@es-joy/jsdoccomment': 0.42.0 are-docs-informative: 0.0.2 @@ -5405,98 +9530,59 @@ packages: spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-jsonc@2.13.0(eslint@8.57.0): - resolution: {integrity: sha512-2wWdJfpO/UbZzPDABuUVvlUQjfMJa2p2iQfYt/oWxOMpXCcjuiMUSaA02gtY/Dbu82vpaSqc+O7Xq6ECHwtIxA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0 || >= 8.0.0' + eslint-plugin-jsonc@2.15.1(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) eslint: 8.57.0 - eslint-compat-utils: 0.4.1(eslint@8.57.0) + eslint-compat-utils: 0.5.0(eslint@8.57.0) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 synckit: 0.6.2 - dev: true - /eslint-plugin-markdown@3.0.1(eslint@8.57.0): - resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || >= 8.0.0 + eslint-plugin-markdown@3.0.1(eslint@8.57.0): dependencies: eslint: 8.57.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-n@16.6.2(eslint@8.57.0): - resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - eslint: '>=7.0.0 || >= 8.0.0' + eslint-plugin-n@16.6.2(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - builtins: 5.0.1 + builtins: 5.1.0 eslint: 8.57.0 - eslint-plugin-es-x: 7.5.0(eslint@8.57.0) - get-tsconfig: 4.7.2 + eslint-plugin-es-x: 7.6.0(eslint@8.57.0) + get-tsconfig: 4.7.3 globals: 13.24.0 - ignore: 5.2.4 + ignore: 5.3.1 is-builtin-module: 3.2.1 is-core-module: 2.13.1 minimatch: 3.1.2 - resolve: 1.22.4 - semver: 7.5.4 - dev: true + resolve: 1.22.8 + semver: 7.6.0 - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): - 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 || >= 8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': - optional: true - 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.2.5): dependencies: eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 - dev: true + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@8.57.0) - /eslint-plugin-promise@6.1.1(eslint@8.57.0): - resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || >= 8.0.0 + eslint-plugin-promise@6.1.1(eslint@8.57.0): dependencies: eslint: 8.57.0 - dev: true - /eslint-plugin-tsdoc@0.2.17: - resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} + eslint-plugin-tsdoc@0.2.17: dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - dev: true - /eslint-plugin-unicorn@40.1.0(eslint@8.57.0): - resolution: {integrity: sha512-y5doK2DF9Sr5AqKEHbHxjFllJ167nKDRU01HDcWyv4Tnmaoe9iNxMrBnaybZvWZUaE3OC5Unu0lNIevYamloig==} - engines: {node: '>=12'} - peerDependencies: - eslint: '>=7.32.0 || >= 8.0.0' + eslint-plugin-unicorn@40.1.0(eslint@8.57.0): dependencies: '@babel/helper-validator-identifier': 7.22.20 ci-info: 3.9.0 @@ -5509,114 +9595,76 @@ packages: lodash: 4.17.21 pluralize: 8.0.0 read-pkg-up: 7.0.1 - regexp-tree: 0.1.24 + regexp-tree: 0.1.27 safe-regex: 2.1.1 - semver: 7.5.4 + semver: 7.6.0 strip-indent: 3.0.0 - dev: true - /eslint-plugin-vitest-globals@1.4.0: - resolution: {integrity: sha512-WE+YlK9X9s4vf5EaYRU0Scw7WItDZStm+PapFSYlg2ABNtaQ4zIG7wEqpoUB3SlfM+SgkhgmzR0TeJOO5k3/Nw==} - dev: true + eslint-plugin-vitest-globals@1.5.0: {} - /eslint-plugin-vue-scoped-css@2.7.2(eslint@8.57.0)(vue-eslint-parser@9.4.2): - resolution: {integrity: sha512-myJ99CJuwmAx5kq1WjgIeaUkxeU6PIEUh7age79Alm30bhN4fVTapOQLSMlvVTgxr36Y3igsZ3BCJM32LbHHig==} - engines: {node: ^12.22 || ^14.17 || >=16} - peerDependencies: - eslint: '>=5.0.0 || >= 8.0.0' - vue-eslint-parser: '>=7.1.0' + eslint-plugin-vue-scoped-css@2.8.0(eslint@8.57.0)(vue-eslint-parser@9.4.2(eslint@8.57.0)): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) eslint: 8.57.0 - eslint-compat-utils: 0.4.1(eslint@8.57.0) + eslint-compat-utils: 0.5.0(eslint@8.57.0) lodash: 4.17.21 - postcss: 8.4.33 - postcss-safe-parser: 6.0.0(postcss@8.4.33) - postcss-scss: 4.0.6(postcss@8.4.33) - postcss-selector-parser: 6.0.13 + postcss: 8.4.38 + postcss-safe-parser: 6.0.0(postcss@8.4.38) + postcss-scss: 4.0.9(postcss@8.4.38) + postcss-selector-parser: 6.0.16 postcss-styl: 0.12.3 vue-eslint-parser: 9.4.2(eslint@8.57.0) transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-vue@9.22.0(eslint@8.57.0): - resolution: {integrity: sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || >= 8.0.0 + eslint-plugin-vue@9.25.0(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) eslint: 8.57.0 + globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.16 semver: 7.6.0 vue-eslint-parser: 9.4.2(eslint@8.57.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-yml@1.12.2(eslint@8.57.0): - resolution: {integrity: sha512-hvS9p08FhPT7i/ynwl7/Wt7ke7Rf4P2D6fT8lZlL43peZDTsHtH2A0SIFQ7Kt7+mJ6if6P+FX3iJhMkdnxQwpg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0 || >= 8.0.0' + eslint-plugin-yml@1.14.0(eslint@8.57.0): dependencies: debug: 4.3.4 eslint: 8.57.0 - eslint-compat-utils: 0.4.1(eslint@8.57.0) + eslint-compat-utils: 0.5.0(eslint@8.57.0) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.2 transitivePeerDependencies: - supports-color - dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - dev: true - /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-utils@3.0.0(eslint@8.57.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5 || >= 8.0.0' + eslint-utils@3.0.0(eslint@8.57.0): dependencies: eslint: 8.57.0 eslint-visitor-keys: 2.1.0 - dev: true - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true + eslint-visitor-keys@2.1.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} - dev: true + eslint-visitor-keys@3.4.3: {} - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.6.2 + '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -5640,7 +9688,7 @@ packages: glob-parent: 6.0.2 globals: 13.24.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 @@ -5650,504 +9698,233 @@ packages: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 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@9.6.1: dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 - dev: true - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true + esprima@4.0.1: {} - /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'} - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true + estraverse@4.3.0: {} - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + estraverse@5.3.0: {} - /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: true + estree-walker@2.0.2: {} - /expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true + esutils@2.0.3: {} - /expand-tilde@2.0.2: - resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} - engines: {node: '>=0.10.0'} + expand-tilde@2.0.2: dependencies: homedir-polyfill: 1.0.3 - dev: true - /ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - dependencies: - type: 2.7.2 - dev: true + exponential-backoff@3.1.1: {} - /extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} + extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 - /extend-shallow@3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} + extend-shallow@3.0.2: dependencies: assign-symbols: 1.0.0 is-extendable: 1.0.1 - dev: true - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: true + extend@3.0.2: {} - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + external-editor@3.1.0: dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: false - /extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /fancy-log@1.3.3: - resolution: {integrity: sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==} - engines: {node: '>= 0.10'} - dependencies: - ansi-gray: 0.1.1 - color-support: 1.1.3 - parse-node-version: 1.0.1 - time-stamp: 1.1.0 - dev: true + fast-deep-equal@3.1.3: {} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true + fast-diff@1.3.0: {} - /fast-diff@1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} - dev: true + fast-fifo@1.3.2: {} - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - 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 - dev: true - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true + fast-json-stable-stringify@2.1.0: {} - /fast-levenshtein@1.1.4: - resolution: {integrity: sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==} - dev: true + fast-levenshtein@2.0.6: {} - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-levenshtein@3.0.0: + dependencies: + fastest-levenshtein: 1.0.16 - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: true + fast-safe-stringify@2.1.1: {} - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + fastest-levenshtein@1.0.16: {} + + fastq@1.17.1: dependencies: reusify: 1.0.4 - dev: true - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - dev: true + web-streams-polyfill: 3.3.3 - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 - dev: false - /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 - - /file-uri-to-path@2.0.0: - resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==} - engines: {node: '>= 6'} - dev: false + flat-cache: 3.2.0 - /filesize@6.4.0: - resolution: {integrity: sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==} - engines: {node: '>= 0.4.0'} - dev: true + filesize@6.4.0: {} - /filing-cabinet@3.3.1: - resolution: {integrity: sha512-renEK4Hh6DUl9Vl22Y3cxBq1yh8oNvbAdXnhih0wVpmea+uyKjC9K4QeRjUaybIiIewdzfum+Fg15ZqJ/GyCaA==} - engines: {node: '>=10.13.0'} - hasBin: true + filing-cabinet@4.2.0: dependencies: app-module-path: 2.2.0 - commander: 2.20.3 - debug: 4.3.4 - enhanced-resolve: 5.12.0 + commander: 10.0.1 + enhanced-resolve: 5.16.0 is-relative-path: 1.0.2 - module-definition: 3.4.0 - module-lookup-amd: 7.0.1 - resolve: 1.22.4 - resolve-dependency-path: 2.0.0 - sass-lookup: 3.0.0 - stylus-lookup: 3.0.2 - tsconfig-paths: 3.15.0 - typescript: 3.9.10 - transitivePeerDependencies: - - supports-color - dev: true - - /fill-range@4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 - dev: true + module-definition: 5.0.1 + module-lookup-amd: 8.0.5 + resolve: 1.22.8 + resolve-dependency-path: 3.0.2 + sass-lookup: 5.0.1 + stylus-lookup: 5.0.1 + tsconfig-paths: 4.2.0 + typescript: 5.4.5 - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 - dev: true - - /find-up@1.1.2: - resolution: {integrity: sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==} - engines: {node: '>=0.10.0'} - dependencies: - path-exists: 2.1.0 - pinkie-promise: 2.0.1 - dev: true - /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 - dev: true - /findup-sync@2.0.0: - resolution: {integrity: sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==} - engines: {node: '>= 0.10'} - dependencies: - detect-file: 1.0.0 - is-glob: 3.1.0 - micromatch: 3.1.10 - resolve-dir: 1.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /findup-sync@3.0.0: - resolution: {integrity: sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==} - engines: {node: '>= 0.10'} + findup-sync@5.0.0: dependencies: detect-file: 1.0.0 is-glob: 4.0.3 - micromatch: 3.1.10 + micromatch: 4.0.5 resolve-dir: 1.0.1 - transitivePeerDependencies: - - supports-color - dev: true - /fined@1.2.0: - resolution: {integrity: sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==} - engines: {node: '>= 0.10'} + fined@2.0.0: dependencies: expand-tilde: 2.0.2 - is-plain-object: 2.0.4 + is-plain-object: 5.0.0 object.defaults: 1.1.0 object.pick: 1.3.0 parse-filepath: 1.0.2 - dev: true - /flagged-respawn@1.0.1: - resolution: {integrity: sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==} - engines: {node: '>= 0.10'} - dev: true + flagged-respawn@2.0.0: {} - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@3.2.0: dependencies: - flatted: 3.2.7 + flatted: 3.3.1 + keyv: 4.5.4 rimraf: 3.0.2 - dev: true - - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - dev: true - /flatten@1.0.3: - resolution: {integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==} - deprecated: flatten is deprecated in favor of utility frameworks such as lodash. - dev: true + flatted@3.3.1: {} - /flush-write-stream@1.1.1: - resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} + flush-write-stream@1.1.1: dependencies: inherits: 2.0.4 readable-stream: 2.3.8 - dev: true - /focus-trap@7.5.4: - resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + focus-trap@7.5.4: dependencies: tabbable: 6.2.0 - dev: true - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.3: dependencies: is-callable: 1.2.7 - dev: true - /for-in@1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} - dev: true + for-in@1.0.2: {} - /for-own@1.0.0: - resolution: {integrity: sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==} - engines: {node: '>=0.10.0'} + for-own@1.0.0: dependencies: for-in: 1.0.2 - dev: true - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 - signal-exit: 4.0.1 - dev: true + signal-exit: 4.1.0 - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 - dev: true - /formstream@1.2.0: - resolution: {integrity: sha512-ef4F+FQLnQLly1/AZ5OGNgGzzlOmp+T7+L/TaXASJ1GrETrpZb78/Mz7z+1Ra5FX3nLZE0WIOInGOoa81LxWew==} + formstream@1.3.1: dependencies: destroy: 1.2.0 mime: 2.6.0 pause-stream: 0.0.11 - dev: false - - /fragment-cache@0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} - dependencies: - map-cache: 0.2.2 - dev: true - - /from@0.1.7: - resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - dev: true - - /fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - dev: false - /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} + fs-minipass@2.1.0: dependencies: minipass: 3.3.6 - dev: true - /fs-minipass@3.0.1: - resolution: {integrity: sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + fs-minipass@3.0.3: dependencies: - minipass: 4.2.5 - dev: true + minipass: 7.0.4 - /fs-mkdirp-stream@1.0.0: - resolution: {integrity: sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==} - engines: {node: '>= 0.10'} + fs-mkdirp-stream@1.0.0: dependencies: graceful-fs: 4.2.11 through2: 2.0.5 - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - /ftp@0.3.10: - resolution: {integrity: sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==} - engines: {node: '>=0.8.0'} + fs-mkdirp-stream@2.0.1: dependencies: - readable-stream: 1.1.14 - xregexp: 2.0.0 - dev: false + graceful-fs: 4.2.11 + streamx: 2.16.1 - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + fs.realpath@1.0.0: {} - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + fsevents@2.3.3: + optional: true - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + function-bind@1.1.2: {} + + function.prototype.name@1.1.6: dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 functions-have-names: 1.2.3 - dev: true - - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true - /fx@28.0.0: - resolution: {integrity: sha512-vKQDA9g868cZiW8ulgs2uN1yx1i7/nsS33jTMOxekk0Z03BJLffVcdW6AVD32fWb3E6RtmWWuBXBZOk8cLXFNQ==} - hasBin: true - dev: true + functions-have-names@1.2.3: {} - /gauge@4.0.4: - resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + gauge@4.0.4: dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -6157,115 +9934,50 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 - dev: true - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true - - /get-amd-module-type@3.0.2: - resolution: {integrity: sha512-PcuKwB8ouJnKuAPn6Hk3UtdfKoUV3zXRqVEvj8XGIXqjWfgd1j7QGdXy5Z9OdQfzVt1Sk29HVe/P+X74ccOuqw==} - engines: {node: '>=6.0'} - dependencies: - ast-module-types: 3.0.0 - node-source-walk: 4.3.0 - dev: true + gensync@1.0.0-beta.2: {} - /get-amd-module-type@4.1.0: - resolution: {integrity: sha512-0e/eK6vTGCnSfQ6eYs3wtH05KotJYIP7ZIZEueP/KlA+0dIAEs8bYFvOd/U56w1vfjhJqBagUxVMyy9Tr/cViQ==} - engines: {node: '>=12'} + get-amd-module-type@5.0.1: dependencies: - ast-module-types: 4.0.0 - node-source-walk: 5.0.1 - dev: true - - /get-caller-file@1.0.3: - resolution: {integrity: sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==} - dev: true - - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true + ast-module-types: 5.0.0 + node-source-walk: 6.0.2 - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-proto: 1.0.1 - has-symbols: 1.0.3 + get-caller-file@2.0.5: {} - /get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + get-intrinsic@1.2.4: dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 + hasown: 2.0.2 - /get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - dev: true + get-own-enumerable-property-symbols@3.0.2: {} - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} + get-symbol-description@1.0.2: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - dev: true + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + get-tsconfig@4.7.3: dependencies: resolve-pkg-maps: 1.0.0 - dev: true - - /get-uri@3.0.2: - resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 1.1.2 - data-uri-to-buffer: 3.0.1 - debug: 4.3.4 - file-uri-to-path: 2.0.0 - fs-extra: 8.1.0 - ftp: 0.3.10 - transitivePeerDependencies: - - supports-color - dev: false - /get-value@2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - dev: true - - /glob-parent@3.1.0: - resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} + glob-parent@3.1.0: dependencies: is-glob: 3.1.0 path-dirname: 1.0.2 - dev: true - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - dev: true - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - dev: true - /glob-stream@6.1.0: - resolution: {integrity: sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==} - engines: {node: '>= 0.10'} + glob-stream@6.1.0: dependencies: extend: 3.0.2 glob: 7.2.3 @@ -6277,37 +9989,32 @@ packages: remove-trailing-separator: 1.1.0 to-absolute-glob: 2.0.2 unique-stream: 2.3.1 - dev: true - /glob-watcher@5.0.5: - resolution: {integrity: sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==} - engines: {node: '>= 0.10'} + glob-stream@8.0.2: dependencies: - anymatch: 2.0.0 - async-done: 1.3.2 - chokidar: 2.1.8 + '@gulpjs/to-absolute-glob': 4.0.0 + anymatch: 3.1.3 + fastq: 1.17.1 + glob-parent: 6.0.2 + is-glob: 4.0.3 is-negated-glob: 1.0.0 - just-debounce: 1.1.0 normalize-path: 3.0.0 - object.defaults: 1.1.0 - transitivePeerDependencies: - - supports-color - dev: true + streamx: 2.16.1 - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + glob-watcher@6.0.0: + dependencies: + async-done: 2.0.0 + chokidar: 3.6.0 + + glob@10.3.12: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 5.0.0 - path-scurry: 1.10.1 - dev: true + minimatch: 9.0.4 + minipass: 7.0.4 + path-scurry: 1.10.2 - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -6316,205 +10023,114 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} + glob@8.1.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 - dev: true - - /glob@9.3.2: - resolution: {integrity: sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - fs.realpath: 1.0.0 - minimatch: 7.4.3 - minipass: 4.2.5 - path-scurry: 1.10.1 - dev: true - /global-modules@1.0.0: - resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} - engines: {node: '>=0.10.0'} + global-modules@1.0.0: dependencies: global-prefix: 1.0.2 is-windows: 1.0.2 resolve-dir: 1.0.1 - dev: true - /global-modules@2.0.0: - resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} - engines: {node: '>=6'} + global-modules@2.0.0: dependencies: global-prefix: 3.0.0 - dev: true - /global-prefix@1.0.2: - resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} - engines: {node: '>=0.10.0'} + global-prefix@1.0.2: dependencies: expand-tilde: 2.0.2 homedir-polyfill: 1.0.3 ini: 1.3.8 is-windows: 1.0.2 which: 1.3.1 - dev: true - /global-prefix@3.0.0: - resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} - engines: {node: '>=6'} + global-prefix@3.0.0: dependencies: ini: 1.3.8 kind-of: 6.0.3 which: 1.3.1 - dev: true - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true + globals@11.12.0: {} - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@13.24.0: dependencies: type-fest: 0.20.2 - dev: true - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} + globalthis@1.0.3: dependencies: - define-properties: 1.2.0 - dev: true + define-properties: 1.2.1 - /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.2 - ignore: 5.2.4 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 - dev: true - - /globby@13.1.4: - resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 4.0.0 - dev: true - /glogg@1.0.2: - resolution: {integrity: sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==} - engines: {node: '>= 0.10'} + glogg@2.2.0: dependencies: - sparkles: 1.0.1 - dev: true + sparkles: 2.1.0 - /gonzales-pe@4.3.0: - resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} - engines: {node: '>=0.6.0'} - hasBin: true + gonzales-pe@4.3.0: dependencies: minimist: 1.2.8 - dev: true - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.0.1: dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graceful-fs@4.2.11: {} - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + graphemer@1.4.0: {} - /gulp-cli@2.3.0: - resolution: {integrity: sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==} - engines: {node: '>= 0.10'} - hasBin: true + gulp-cli@3.0.0: dependencies: - ansi-colors: 1.1.0 - archy: 1.0.0 - array-sort: 1.0.0 - color-support: 1.1.3 - concat-stream: 1.6.2 - copy-props: 2.0.5 - fancy-log: 1.3.3 - gulplog: 1.0.0 - interpret: 1.4.0 - isobject: 3.0.1 - liftoff: 3.1.0 - matchdep: 2.0.0 - mute-stdout: 1.0.1 - pretty-hrtime: 1.0.3 - replace-homedir: 1.0.0 - semver-greatest-satisfied-range: 1.1.0 - v8flags: 3.2.0 - yargs: 7.1.2 - transitivePeerDependencies: - - supports-color - dev: true + '@gulpjs/messages': 1.1.0 + chalk: 4.1.2 + copy-props: 4.0.0 + gulplog: 2.2.0 + interpret: 3.1.1 + liftoff: 5.0.0 + mute-stdout: 2.0.0 + replace-homedir: 2.0.0 + semver-greatest-satisfied-range: 2.0.0 + string-width: 4.2.3 + v8flags: 4.0.1 + yargs: 16.2.0 - /gulp-typescript@6.0.0-alpha.1(typescript@5.3.3): - resolution: {integrity: sha512-KoT0TTfjfT7w3JItHkgFH1T/zK4oXWC+a8xxKfniRfVcA0Fa1bKrIhztYelYmb+95RB80OLMBreknYkdwzdi2Q==} - engines: {node: '>= 8'} - peerDependencies: - typescript: '~2.7.1 || >=2.8.0-dev || >=2.9.0-dev || ~3.0.0 || >=3.0.0-dev || >=3.1.0-dev || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.7.0-dev ' + gulp-typescript@6.0.0-alpha.1(typescript@5.4.5): dependencies: ansi-colors: 4.1.3 plugin-error: 1.0.1 source-map: 0.7.4 through2: 3.0.2 - typescript: 5.3.3 + typescript: 5.4.5 vinyl: 2.2.1 vinyl-fs: 3.0.3 - dev: true - /gulp@4.0.2: - resolution: {integrity: sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==} - engines: {node: '>= 0.10'} - hasBin: true + gulp@5.0.0: dependencies: - glob-watcher: 5.0.5 - gulp-cli: 2.3.0 - undertaker: 1.3.0 - vinyl-fs: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true + glob-watcher: 6.0.0 + gulp-cli: 3.0.0 + undertaker: 2.0.0 + vinyl-fs: 4.0.0 - /gulplog@1.0.0: - resolution: {integrity: sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==} - engines: {node: '>= 0.10'} + gulplog@2.2.0: dependencies: - glogg: 1.0.2 - dev: true + glogg: 2.2.0 - /gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} + gzip-size@6.0.0: dependencies: duplexer: 0.1.2 - dev: true - /handlebars@4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} - engines: {node: '>=0.4.7'} - hasBin: true + handlebars@4.7.8: dependencies: minimist: 1.2.8 neo-async: 2.6.2 @@ -6522,259 +10138,116 @@ packages: wordwrap: 1.0.0 optionalDependencies: uglify-js: 3.17.4 - dev: true - /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'} + 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.2: dependencies: - get-intrinsic: 1.2.1 + es-define-property: 1.0.0 - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} + has-proto@1.0.3: {} - /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.2: dependencies: has-symbols: 1.0.3 - dev: true - - /has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - dev: true - - /has-value@0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - dev: true - - /has-value@1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - dev: true - - /has-values@0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - dev: true - /has-values@1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - dev: true - - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 + has-unicode@2.0.1: {} - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} + hasown@2.0.2: dependencies: function-bind: 1.1.2 - /homedir-polyfill@1.0.3: - resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} - engines: {node: '>=0.10.0'} + homedir-polyfill@1.0.3: dependencies: parse-passwd: 1.0.0 - dev: true - /hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - dev: true + hookable@5.5.3: {} - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true + hosted-git-info@2.8.9: {} - /hosted-git-info@6.1.1: - resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hosted-git-info@6.1.1: dependencies: lru-cache: 7.18.3 - dev: true - /html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} - dev: true + html-tags@3.3.1: {} - /htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + htmlparser2@8.0.2: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.0.1 + domutils: 3.1.0 entities: 4.5.0 - dev: true - - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: true - - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - /http-proxy-agent@4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false + http-cache-semantics@4.1.1: {} - /http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} + http-proxy-agent@5.0.0: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: true - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 debug: 4.3.4 transitivePeerDependencies: - supports-color - /humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 - dev: false - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - requiresBuild: true + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 - dev: true - optional: true - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + ieee754@1.2.1: {} - /ignore-walk@6.0.2: - resolution: {integrity: sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ignore-walk@6.0.4: dependencies: - minimatch: 7.4.3 - dev: true + minimatch: 9.0.4 - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - dev: true + 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 - /import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: true - - /import-meta-resolve@2.2.2: - resolution: {integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==} - dev: true + import-lazy@4.0.0: {} - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true + import-meta-resolve@2.2.2: {} - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: true + imurmurhash@0.1.4: {} - /indexes-of@1.0.1: - resolution: {integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==} - dev: true + indent-string@4.0.0: {} - /individual@3.0.0: - resolution: {integrity: sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==} - dev: true + individual@3.0.0: {} - /infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - dev: true + infer-owner@1.0.4: {} - /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 - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inherits@2.0.4: {} - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: true + ini@1.3.8: {} - /inquirer@8.2.5: - resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} - engines: {node: '>=12.0.0'} + inquirer@8.2.6: dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -6786,485 +10259,216 @@ packages: mute-stream: 0.0.8 ora: 5.4.1 run-async: 2.4.1 - rxjs: 7.8.0 + rxjs: 7.8.1 string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 - wrap-ansi: 7.0.0 - dev: false + wrap-ansi: 6.2.0 - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} - engines: {node: '>= 0.4'} + internal-slot@1.0.7: dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - side-channel: 1.0.4 - dev: true + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 - /interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} + interpret@1.4.0: {} - /invert-kv@1.0.0: - resolution: {integrity: sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==} - engines: {node: '>=0.10.0'} - dev: true + interpret@3.1.1: {} - /invert-kv@3.0.1: - resolution: {integrity: sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==} - engines: {node: '>=8'} + invert-kv@3.0.1: {} - /ip@1.1.8: - resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} - dev: false + ip-address@9.0.5: + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 - /ip@2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} + ip@1.1.9: {} - /is-absolute@1.0.0: - resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} - engines: {node: '>=0.10.0'} + is-absolute@1.0.0: dependencies: is-relative: 1.0.0 is-windows: 1.0.2 - dev: true - - /is-accessor-descriptor@0.1.6: - resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} - engines: {node: '>=0.10.0'} - deprecated: Please upgrade to v0.1.7 - dependencies: - kind-of: 3.2.2 - dev: true - - /is-accessor-descriptor@1.0.0: - resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} - engines: {node: '>=0.10.0'} - deprecated: Please upgrade to v1.0.1 - dependencies: - kind-of: 6.0.3 - dev: true - /is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - dev: true + is-alphabetical@1.0.4: {} - /is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + is-alphanumerical@1.0.4: dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 - dev: true - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + is-array-buffer@3.0.4: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.10 - dev: true + call-bind: 1.0.7 + get-intrinsic: 1.2.4 - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + 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-binary-path@1.0.1: - resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} - engines: {node: '>=0.10.0'} - dependencies: - binary-extensions: 1.13.1 - dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-binary-path@2.1.0: dependencies: - binary-extensions: 2.2.0 - dev: true + binary-extensions: 2.3.0 - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + is-boolean-object@1.1.2: dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 - dev: true + call-bind: 1.0.7 + has-tostringtag: 1.0.2 - /is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - dev: true + is-buffer@1.1.6: {} - /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'} - dev: true - - /is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} - dependencies: - has: 1.0.3 - dev: true - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.0 - /is-data-descriptor@0.1.4: - resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} - engines: {node: '>=0.10.0'} - deprecated: Please upgrade to v0.1.5 - dependencies: - kind-of: 3.2.2 - dev: true + is-callable@1.2.7: {} - /is-data-descriptor@1.0.0: - resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} - engines: {node: '>=0.10.0'} - deprecated: Please upgrade to v1.0.1 + is-core-module@2.13.1: dependencies: - kind-of: 6.0.3 - dev: true + hasown: 2.0.2 - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-data-view@1.0.1: dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - dev: true + is-typed-array: 1.1.13 - /is-descriptor@0.1.6: - resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} - engines: {node: '>=0.10.0'} + is-date-object@1.0.5: dependencies: - is-accessor-descriptor: 0.1.6 - is-data-descriptor: 0.1.4 - kind-of: 5.1.0 - dev: true + has-tostringtag: 1.0.2 - /is-descriptor@1.0.2: - resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 1.0.0 - is-data-descriptor: 1.0.0 - kind-of: 6.0.3 - dev: true + is-decimal@1.0.4: {} - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true + is-docker@2.2.1: {} - /is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} + is-extendable@0.1.1: {} - /is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} + is-extendable@1.0.1: dependencies: is-plain-object: 2.0.4 - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - /is-fullwidth-code-point@1.0.0: - resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} - engines: {node: '>=0.10.0'} - dependencies: - number-is-nan: 1.0.1 - dev: true + is-extglob@2.1.1: {} - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + is-fullwidth-code-point@3.0.0: {} - /is-glob@3.1.0: - resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} - engines: {node: '>=0.10.0'} + is-glob@3.1.0: dependencies: is-extglob: 2.1.1 - dev: true - /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 - dev: true - - /is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - dev: true - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} + is-hexadecimal@1.0.4: {} - /is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - dev: true + is-interactive@1.0.0: {} - /is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - dev: true + is-interactive@2.0.0: {} - /is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - dev: true + is-lambda@1.0.1: {} - /is-negated-glob@1.0.0: - resolution: {integrity: sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==} - engines: {node: '>=0.10.0'} - dev: true + is-module@1.0.0: {} - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - dev: true + is-negated-glob@1.0.0: {} - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true + is-negative-zero@2.0.3: {} - /is-number@3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} + is-number-object@1.0.7: dependencies: - kind-of: 3.2.2 - dev: true - - /is-number@4.0.0: - resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} - engines: {node: '>=0.10.0'} - dev: true + has-tostringtag: 1.0.2 - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true + is-number@7.0.0: {} - /is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - dev: true + is-obj@1.0.1: {} - /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-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} + is-plain-object@2.0.4: dependencies: isobject: 3.0.1 - dev: true - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - dev: true + is-plain-object@5.0.0: {} - /is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + is-reference@1.2.1: dependencies: '@types/estree': 1.0.5 - dev: true - /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.2 - has-tostringtag: 1.0.0 - dev: true + call-bind: 1.0.7 + has-tostringtag: 1.0.2 - /is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - dev: true + is-regexp@1.0.0: {} - /is-relative-path@1.0.2: - resolution: {integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==} - dev: true + is-relative-path@1.0.2: {} - /is-relative@1.0.0: - resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} - engines: {node: '>=0.10.0'} + is-relative@1.0.0: dependencies: is-unc-path: 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.3: dependencies: - call-bind: 1.0.2 - dev: true + call-bind: 1.0.7 - /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 + has-tostringtag: 1.0.2 - /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.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - 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.13: dependencies: - which-typed-array: 1.1.13 - dev: true + which-typed-array: 1.1.15 - /is-unc-path@1.0.0: - resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} - engines: {node: '>=0.10.0'} + is-unc-path@1.0.0: dependencies: unc-path-regex: 0.1.2 - dev: true - - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - /is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - dev: true + is-unicode-supported@0.1.0: {} - /is-url-superb@4.0.0: - resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} - engines: {node: '>=10'} - dev: true + is-unicode-supported@1.3.0: {} - /is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - dev: true + is-url-superb@4.0.0: {} - /is-utf8@0.2.1: - resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - dev: true + is-url@1.2.4: {} - /is-valid-glob@1.0.0: - resolution: {integrity: sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==} - engines: {node: '>=0.10.0'} - dev: true + is-utf8@0.2.1: {} - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-valid-glob@1.0.0: {} + + is-weakref@1.0.2: dependencies: - call-bind: 1.0.2 - dev: true + call-bind: 1.0.7 - /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true + is-windows@1.0.2: {} - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 - dev: true - - /isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - dev: false - - /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: true - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true + isarray@1.0.0: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isarray@2.0.5: {} - /isobject@2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - dependencies: - isarray: 1.0.0 - dev: true + isexe@2.0.0: {} - /isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - dev: true + isobject@3.0.1: {} - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - dev: true - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true + jju@1.4.0: {} - /js-cool@2.8.0(core-js@3.32.2)(tslib@2.6.2): - resolution: {integrity: sha512-k2oWpZfYgqXaciJaG/aAKg2PoNyiZ37SeO0t6yVtlolY50Lwv8WnqmSekSAHTrXvxtLzN4VNj8eGhQi9lG6abQ==} - peerDependencies: - core-js: '>=3.0.0' - tslib: '>=2.0.0' + js-cool@2.8.0(core-js@3.37.0)(tslib@2.6.2): dependencies: - core-js: 3.32.2 + core-js: 3.37.0 tslib: 2.6.2 - dev: false - /js-cool@5.18.1: - resolution: {integrity: sha512-ScnRFG9lsNTyXgNtlnaRgIug+41bIbtmR2NU3hhhNiysFCwPmlP7l5AKKhnjQajrkFDcLcx8m3X/NgOvfquobA==} - engines: {node: '>=12.20'} + js-cool@5.19.0: dependencies: await-to-done: 1.0.2 load-source: 1.2.0 @@ -7276,398 +10480,202 @@ packages: tslib: 2.6.2 use-downloads: 1.5.1 - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@4.0.0: {} - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - /jsdoc-type-pratt-parser@4.0.0: - resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} - engines: {node: '>=12.0.0'} - dev: true + jsbn@1.1.0: {} - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true + jsdoc-type-pratt-parser@4.0.0: {} - /json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true + jsesc@0.5.0: {} - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + jsesc@2.5.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: true + json-buffer@3.0.1: {} - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + json-parse-better-errors@1.0.2: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-parse-even-better-errors@2.3.1: {} - /json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true + json-parse-even-better-errors@3.0.1: {} - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json-stringify-safe@5.0.1: {} + + json5@1.0.2: dependencies: minimist: 1.2.8 - dev: true - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true + json5@2.2.3: {} - /jsonc-eslint-parser@2.4.0: - resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + jsonc-eslint-parser@2.4.0: dependencies: - acorn: 8.11.2 + acorn: 8.11.3 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - semver: 7.5.4 - dev: true - - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true + semver: 7.6.0 - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 + jsonc-parser@3.2.1: {} - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.0 + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 - dev: true - /jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - dev: true - - /just-debounce@1.1.0: - resolution: {integrity: sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==} - dev: true - - /kind-of@3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true + jsonparse@1.3.1: {} - /kind-of@4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} + keyv@4.5.4: dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of@5.1.0: - resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} - engines: {node: '>=0.10.0'} - dev: true + json-buffer: 3.0.1 - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true + kind-of@6.0.3: {} - /last-run@1.1.1: - resolution: {integrity: sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==} - engines: {node: '>= 0.10'} - dependencies: - default-resolution: 2.0.0 - es6-weak-map: 2.0.3 - dev: true + last-run@2.0.0: {} - /lazystream@1.0.1: - resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} - engines: {node: '>= 0.6.3'} + lazystream@1.0.1: dependencies: readable-stream: 2.3.8 - dev: true - - /lcid@1.0.0: - resolution: {integrity: sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==} - engines: {node: '>=0.10.0'} - dependencies: - invert-kv: 1.0.0 - dev: true - /lcid@4.0.1: - resolution: {integrity: sha512-qI4sQt7g19ZWtaodPKBUvym/pen9/lZzqyl2qeItTFPwJptXllVhe3KI+mV9xmBa4cnZoik8m1obToxqFbVIZQ==} - engines: {node: '>=14.16'} + lcid@4.0.1: dependencies: invert-kv: 3.0.1 - /lead@1.0.0: - resolution: {integrity: sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==} - engines: {node: '>= 0.10'} + lead@1.0.0: dependencies: flush-write-stream: 1.1.1 - dev: true - /levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 + lead@4.0.0: {} - /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 - /liftoff@3.1.0: - resolution: {integrity: sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==} - engines: {node: '>= 0.8'} + liftoff@5.0.0: dependencies: extend: 3.0.2 - findup-sync: 3.0.0 - fined: 1.2.0 - flagged-respawn: 1.0.1 - is-plain-object: 2.0.4 - object.map: 1.0.1 - rechoir: 0.6.2 - resolve: 1.22.4 - transitivePeerDependencies: - - supports-color - dev: true - - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + findup-sync: 5.0.0 + fined: 2.0.0 + flagged-respawn: 2.0.0 + is-plain-object: 5.0.0 + rechoir: 0.8.0 + resolve: 1.22.8 - /linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - dependencies: - uc.micro: 2.0.0 - dev: true + lines-and-columns@1.2.4: {} - /load-json-file@1.1.0: - resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} - engines: {node: '>=0.10.0'} + linkify-it@5.0.0: dependencies: - graceful-fs: 4.2.11 - parse-json: 2.2.0 - pify: 2.3.0 - pinkie-promise: 2.0.1 - strip-bom: 2.0.0 - dev: true + uc.micro: 2.1.0 - /load-json-file@4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} + load-json-file@4.0.0: dependencies: graceful-fs: 4.2.11 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 - dev: true - /load-source@1.2.0: - resolution: {integrity: sha512-2pgerVx7egVvqEm2TfYr3GOSX7tbmAEs6Kt3gDRODnexC2xfLOB/hB9wP8+MFBlo2tD/GLX1MgQ1IOZ4jbtzaw==} + load-source@1.2.0: dependencies: mount-css: 1.2.0 mount-image: 1.2.0 mount-script: 1.2.0 mount-style: 1.2.0 - /load-yml@1.4.0: - resolution: {integrity: sha512-L0O2nUOOZ2bNMvFudewMPDhdJqtNoxEHUUhy0Z22aEZXSzmvR1UK5utu67uTpmwmFo+UrdycWceGuifcsgJi5w==} - engines: {node: '>=12.20'} + load-yml@1.4.0: dependencies: - '@types/js-yaml': 4.0.5 + '@types/js-yaml': 4.0.9 js-yaml: 4.1.0 tslib: 2.6.2 - dev: true - /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.6.1 + pkg-types: 1.1.0 - /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 - dev: true - - /lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - dev: false - /lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21): - resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==} - peerDependencies: - '@types/lodash-es': '*' - lodash: '*' - lodash-es: '*' - peerDependenciesMeta: - lodash: - optional: true - dependencies: - '@types/lodash-es': 4.17.12 - lodash-es: 4.17.21 - dev: false + lodash.debounce@4.0.8: {} - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true + lodash.get@4.4.2: {} - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true + lodash.isequal@4.5.0: {} - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + lodash.merge@4.6.2: {} - /lodash.sortedlastindex@4.1.0: - resolution: {integrity: sha512-s8xEQdsp2Tu5zUqVdFSe9C0kR8YlnAJYLqMdkh+pIRBRxF6/apWseLdHl3/+jv2I61dhPwtI/Ff+EqvCpc+N8w==} - dev: true + lodash.sortedlastindex@4.1.0: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.21: {} - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + log-symbols@4.1.0: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - /log-symbols@5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} + log-symbols@5.1.0: dependencies: chalk: 5.3.0 is-unicode-supported: 1.3.0 - dev: true - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@10.2.1: {} + + lru-cache@5.1.1: dependencies: yallist: 3.1.1 - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - /lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} - dev: true - - /lru-cache@9.1.1: - resolution: {integrity: sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==} - engines: {node: 14 || >=16.14} - dev: true + lru-cache@7.18.3: {} - /lunr@2.3.9: - resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - dev: true + lunr@2.3.9: {} - /madge@6.1.0(typescript@5.3.3): - resolution: {integrity: sha512-irWhT5RpFOc6lkzGHKLihonCVgM0YtfNUh4IrFeW3EqHpnt/JHUG3z26j8PeJEktCGB4tmGOOOJi1Rl/ACWucQ==} - engines: {node: '>=14'} - hasBin: true - peerDependencies: - typescript: ^3.9.5 || ^4.9.5 || ^5 - peerDependenciesMeta: - typescript: - optional: true + madge@7.0.0(typescript@5.4.5): dependencies: chalk: 4.1.2 commander: 7.2.0 commondir: 1.0.1 debug: 4.3.4 - dependency-tree: 9.0.0 - detective-amd: 4.1.0 - detective-cjs: 4.1.0 - detective-es6: 3.0.1 - detective-less: 1.0.2 - detective-postcss: 6.1.1 - detective-sass: 4.1.1 - detective-scss: 3.0.1 - detective-stylus: 2.0.1 - detective-typescript: 9.1.1 + dependency-tree: 10.0.9 ora: 5.4.1 pluralize: 8.0.0 - precinct: 8.3.1 + precinct: 11.0.5 pretty-ms: 7.0.1 rc: 1.2.8 stream-to-array: 2.3.0 - ts-graphviz: 1.5.5 - typescript: 5.3.3 + ts-graphviz: 1.8.2 walkdir: 0.4.1 + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /magic-string-ast@0.3.0: - resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} - engines: {node: '>=16.14.0'} + magic-string-ast@0.3.0: dependencies: - magic-string: 0.30.7 - dev: true + magic-string: 0.30.10 - /magic-string@0.26.7: - resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} - engines: {node: '>=12'} + magic-string@0.26.7: dependencies: sourcemap-codec: 1.4.8 - dev: true - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} + magic-string@0.30.10: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /make-fetch-happen@10.2.1: - resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + make-fetch-happen@10.2.1: dependencies: - agentkeepalive: 4.3.0 + agentkeepalive: 4.5.0 cacache: 16.1.3 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 @@ -7686,382 +10694,191 @@ packages: transitivePeerDependencies: - bluebird - supports-color - dev: true - /make-fetch-happen@11.0.3: - resolution: {integrity: sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + make-fetch-happen@11.1.1: dependencies: - agentkeepalive: 4.3.0 - cacache: 17.0.5 + agentkeepalive: 4.5.0 + cacache: 17.1.4 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 7.18.3 - minipass: 4.2.5 - minipass-fetch: 3.0.1 + minipass: 5.0.0 + minipass-fetch: 3.0.4 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 negotiator: 0.6.3 promise-retry: 2.0.1 socks-proxy-agent: 7.0.0 - ssri: 10.0.1 + ssri: 10.0.5 transitivePeerDependencies: - - bluebird - supports-color - dev: true - - /make-iterator@1.0.1: - resolution: {integrity: sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - /map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - dev: true - - /map-stream@0.1.0: - resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} - dev: true - - /map-visit@1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} - dependencies: - object-visit: 1.0.1 - dev: true + map-cache@0.2.2: {} - /mark.js@8.11.1: - resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} - dev: true + mark.js@8.11.1: {} - /markdown-it-anchor@8.6.7(@types/markdown-it@13.0.7)(markdown-it@14.0.0): - resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==} - peerDependencies: - '@types/markdown-it': '*' - markdown-it: '*' + markdown-it-anchor@8.6.7(@types/markdown-it@14.0.1)(markdown-it@14.1.0): dependencies: - '@types/markdown-it': 13.0.7 - markdown-it: 14.0.0 - dev: true + '@types/markdown-it': 14.0.1 + markdown-it: 14.1.0 - /markdown-it-container@4.0.0: - resolution: {integrity: sha512-HaNccxUH0l7BNGYbFbjmGpf5aLHAMTinqRZQAEQbMr2cdD3z91Q6kIo1oUn1CQndkT03jat6ckrdRYuwwqLlQw==} - dev: true + markdown-it-container@4.0.0: {} - /markdown-it@14.0.0: - resolution: {integrity: sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==} - hasBin: true + markdown-it@14.1.0: dependencies: argparse: 2.0.1 entities: 4.5.0 linkify-it: 5.0.0 mdurl: 2.0.0 punycode.js: 2.3.1 - uc.micro: 2.0.0 - dev: true - - /marked@4.3.0: - resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} - engines: {node: '>= 12'} - hasBin: true - dev: true + uc.micro: 2.1.0 - /matchdep@2.0.0: - resolution: {integrity: sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==} - engines: {node: '>= 0.10.0'} - dependencies: - findup-sync: 2.0.0 - micromatch: 3.1.10 - resolve: 1.22.4 - stack-trace: 0.0.10 - transitivePeerDependencies: - - supports-color - dev: true + marked@4.3.0: {} - /mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + mdast-util-from-markdown@0.8.5: dependencies: - '@types/mdast': 3.0.11 + '@types/mdast': 3.0.15 mdast-util-to-string: 2.0.0 micromark: 2.11.4 parse-entities: 2.0.0 unist-util-stringify-position: 2.0.3 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - dev: true + mdast-util-to-string@2.0.0: {} - /mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - dev: true + mdurl@2.0.0: {} - /memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - dev: true + memorystream@0.3.1: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true + merge2@1.4.1: {} - /micromark@2.11.4: - resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + micromark@2.11.4: dependencies: debug: 4.3.4 parse-entities: 2.0.0 transitivePeerDependencies: - supports-color - dev: true - - /micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.5: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true - /mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - dev: false + mime@2.6.0: {} - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + mimic-fn@2.1.0: {} - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true + min-indent@1.0.1: {} - /minimatch@3.0.8: - resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + minimatch@3.0.8: dependencies: brace-expansion: 1.1.11 - dev: true - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@7.4.3: - resolution: {integrity: sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A==} - engines: {node: '>=10'} + minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 - dev: true - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minimist@1.2.8: {} - /minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} + minipass-collect@1.0.2: dependencies: minipass: 3.3.6 - dev: true - /minipass-fetch@2.1.2: - resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + minipass-fetch@2.1.2: dependencies: minipass: 3.3.6 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: encoding: 0.1.13 - dev: true - /minipass-fetch@3.0.1: - resolution: {integrity: sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + minipass-fetch@3.0.4: dependencies: - minipass: 4.2.5 + minipass: 7.0.4 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: encoding: 0.1.13 - dev: true - /minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} + minipass-flush@1.0.5: dependencies: minipass: 3.3.6 - dev: true - /minipass-json-stream@1.0.1: - resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + minipass-json-stream@1.0.1: dependencies: jsonparse: 1.3.1 minipass: 3.3.6 - dev: true - /minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} + minipass-pipeline@1.2.4: dependencies: minipass: 3.3.6 - dev: true - /minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} + minipass-sized@1.0.3: dependencies: minipass: 3.3.6 - dev: true - /minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} + minipass@3.3.6: dependencies: yallist: 4.0.0 - dev: true - /minipass@4.2.5: - resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==} - engines: {node: '>=8'} - dev: true + minipass@5.0.0: {} - /minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} - dev: true + minipass@7.0.4: {} - /minisearch@6.3.0: - resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} - dev: true + minisearch@6.3.0: {} - /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + minizlib@2.1.2: dependencies: minipass: 3.3.6 yallist: 4.0.0 - dev: true - - /mitt@3.0.1: - resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - dev: true - /mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - dev: true + mitt@3.0.1: {} - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true + mkdirp@0.5.6: dependencies: minimist: 1.2.8 - dev: false - - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true - /mlly@1.4.2: - resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} - dependencies: - acorn: 8.10.0 - pathe: 1.1.1 - pkg-types: 1.0.3 - ufo: 1.3.1 - dev: true + mkdirp@1.0.4: {} - /module-definition@3.4.0: - resolution: {integrity: sha512-XxJ88R1v458pifaSkPNLUTdSPNVGMP2SXVncVmApGO+gAfrLANiYe6JofymCzVceGOMwQE2xogxBSc8uB7XegA==} - engines: {node: '>=6.0'} - hasBin: true + mlly@1.6.1: dependencies: - ast-module-types: 3.0.0 - node-source-walk: 4.3.0 - dev: true + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.1.0 + ufo: 1.5.3 - /module-definition@4.1.0: - resolution: {integrity: sha512-rHXi/DpMcD2qcKbPCTklDbX9lBKJrUSl971TW5l6nMpqKCIlzJqmQ8cfEF5M923h2OOLHPDVlh5pJxNyV+AJlw==} - engines: {node: '>=12'} - hasBin: true + module-definition@5.0.1: dependencies: - ast-module-types: 4.0.0 - node-source-walk: 5.0.1 - dev: true - - /module-lookup-amd@7.0.1: - resolution: {integrity: sha512-w9mCNlj0S8qviuHzpakaLVc+/7q50jl9a/kmJ/n8bmXQZgDPkQHnPBb8MUOYh3WpAYkXuNc2c+khsozhIp/amQ==} - engines: {node: '>=10.13.0'} - hasBin: true + ast-module-types: 5.0.0 + node-source-walk: 6.0.2 + + module-lookup-amd@8.0.5: dependencies: - commander: 2.20.3 - debug: 4.3.4 + commander: 10.0.1 glob: 7.2.3 requirejs: 2.3.6 requirejs-config-file: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /monorepo-root@2.5.1: - resolution: {integrity: sha512-4sgeX1n6xAeYLRyU0DxtCHAW3aXQICaHDXwpV1GaiId/MyU6m7P6iMwvGFeqzuujuoMHCOe53hzccWX74uVVmw==} + monorepo-root@2.5.1: dependencies: workspace-root: 2.5.1 - dev: true - /morgan@1.10.0: - resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} - engines: {node: '>= 0.8.0'} + morgan@1.10.0: dependencies: basic-auth: 2.0.1 debug: 2.6.9 @@ -8070,144 +10887,71 @@ packages: on-headers: 1.0.2 transitivePeerDependencies: - supports-color - dev: false - /mount-css@1.2.0: - resolution: {integrity: sha512-LGm7ucjo+3NsXQqxHH03v9jmAs00/JR1CsqO6IC9gm7zkZjWjki5FLM+Ld9MeTfuPPXXgMj7m1yzz5NA13Ye1g==} + mount-css@1.2.0: {} - /mount-image@1.2.0: - resolution: {integrity: sha512-NQsmg+Zjnb4DZNvJtwuFbN3ekS+tJxyfbYuTk9PqdmtRpHv0RjajEnzCRXNUIZ7Epbe3iTHhRFJI/zHClmirQA==} + mount-image@1.2.0: {} - /mount-script@1.2.0: - resolution: {integrity: sha512-Zi41a5RITaRU0Uzkgih/yzUfsxWDFLjM8ap37Jjic1jH2ob7N5yOzsj6zhSJxc3JC84456kgLFd5SLdYob2eJQ==} + mount-script@1.2.0: {} - /mount-style@1.2.0: - resolution: {integrity: sha512-INP8yaVjMy6kl2fbM43UrGWxqCZIKMO35pNW9nL0EiS7jNYbZkXghf7Nt+ls2VyqOZlEONo6h4WtnxNS41By6A==} + mount-style@1.2.0: {} - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + ms@2.0.0: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.2: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + ms@2.1.3: {} - /mute-stdout@1.0.1: - resolution: {integrity: sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==} - engines: {node: '>= 0.10'} - dev: true + mute-stdout@2.0.0: {} - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: false + mute-stream@0.0.8: {} - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + mute-stream@1.0.0: {} + + mz@2.7.0: dependencies: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 - dev: false - - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - /nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true + nanoid@3.3.7: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + natural-compare@1.4.0: {} - /ndjson@2.0.0: - resolution: {integrity: sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ==} - engines: {node: '>=10'} - hasBin: true + ndjson@2.0.0: dependencies: json-stringify-safe: 5.0.1 minimist: 1.2.8 readable-stream: 3.6.2 split2: 3.2.2 through2: 4.0.2 - dev: true - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: true - - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true + negotiator@0.6.3: {} - /netmask@2.0.2: - resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} - engines: {node: '>= 0.4.0'} - dev: false - - /next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - dev: true + neo-async@2.6.2: {} - /nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - dev: true + nice-try@1.0.5: {} - /node-apollo@1.2.1: - resolution: {integrity: sha512-6bNhTQ2Yt4Zq+lqPMT4+x4nzfbC7QHytbQBv833N7slhfnYz4zvoNRC9GDMYh6BFW/wSVP05z627ZAzdyi09dg==} + node-apollo@1.2.1: dependencies: dotenv: 4.0.0 - urllib: 2.40.0 + urllib: 2.41.0 transitivePeerDependencies: + - proxy-agent - supports-color - dev: false - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: true + node-domexception@1.0.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} + node-fetch@3.3.2: dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - dev: true - /node-gyp@9.3.1: - resolution: {integrity: sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==} - engines: {node: ^12.13 || ^14.13 || >=16} - hasBin: true + node-gyp@9.4.1: dependencies: env-paths: 2.2.1 + exponential-backoff: 3.1.1 glob: 7.2.3 graceful-fs: 4.2.11 make-fetch-happen: 10.2.1 @@ -8215,143 +10959,91 @@ packages: npmlog: 6.0.2 rimraf: 3.0.2 semver: 7.6.0 - tar: 6.1.13 + tar: 6.2.1 which: 2.0.2 transitivePeerDependencies: - bluebird - supports-color - dev: true - - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} - dev: true - /node-source-walk@4.3.0: - resolution: {integrity: sha512-8Q1hXew6ETzqKRAs3jjLioSxNfT1cx74ooiF8RlAONwVMcfq+UdzLC2eB5qcPldUxaE5w3ytLkrmV1TGddhZTA==} - engines: {node: '>=6.0'} - dependencies: - '@babel/parser': 7.22.10 - dev: true + node-releases@2.0.14: {} - /node-source-walk@5.0.1: - resolution: {integrity: sha512-fe5rFjPqkWQb4CLfsOf10fZAJvImfLpcVx+Nqbozaj6PBoAEjyEK1HZGCGvQNyre2HdL1HnZG6mxBf2UHSzr/w==} - engines: {node: '>=12'} + node-source-walk@6.0.2: dependencies: - '@babel/parser': 7.22.10 - dev: true + '@babel/parser': 7.24.4 - /nopt@6.0.0: - resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hasBin: true + nopt@6.0.0: dependencies: abbrev: 1.1.1 - dev: true - /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.4 + resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 - dev: true - /normalize-package-data@5.0.0: - resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + normalize-package-data@5.0.0: dependencies: hosted-git-info: 6.1.1 is-core-module: 2.13.1 semver: 7.6.0 validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} + normalize-path@2.1.1: dependencies: remove-trailing-separator: 1.1.0 - dev: true - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true + normalize-path@3.0.0: {} - /now-and-later@2.0.1: - resolution: {integrity: sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==} - engines: {node: '>= 0.10'} + now-and-later@2.0.1: dependencies: once: 1.4.0 - dev: true - /npm-bundled@3.0.0: - resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + now-and-later@3.0.0: + dependencies: + once: 1.4.0 + + npm-bundled@3.0.0: dependencies: - npm-normalize-package-bin: 3.0.0 - dev: true + npm-normalize-package-bin: 3.0.1 - /npm-install-checks@6.1.0: - resolution: {integrity: sha512-udSGENih/5xKh3Ex+L0PtZcOt0Pa+6ppDLnpG5D49/EhMja3LupaY9E/DtJTxyFBwE09ot7Fc+H4DywnZNWTVA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + npm-install-checks@6.3.0: dependencies: semver: 7.6.0 - dev: true - /npm-normalize-package-bin@3.0.0: - resolution: {integrity: sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + npm-normalize-package-bin@3.0.1: {} - /npm-package-arg@10.1.0: - resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + npm-package-arg@10.1.0: dependencies: hosted-git-info: 6.1.1 proc-log: 3.0.0 semver: 7.6.0 validate-npm-package-name: 5.0.0 - dev: true - /npm-packlist@7.0.4: - resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + npm-packlist@7.0.4: dependencies: - ignore-walk: 6.0.2 - dev: true + ignore-walk: 6.0.4 - /npm-pick-manifest@8.0.1: - resolution: {integrity: sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + npm-pick-manifest@8.0.2: dependencies: - npm-install-checks: 6.1.0 - npm-normalize-package-bin: 3.0.0 + npm-install-checks: 6.3.0 + npm-normalize-package-bin: 3.0.1 npm-package-arg: 10.1.0 semver: 7.6.0 - dev: true - /npm-registry-fetch@14.0.3: - resolution: {integrity: sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + npm-registry-fetch@14.0.5: dependencies: - make-fetch-happen: 11.0.3 - minipass: 4.2.5 - minipass-fetch: 3.0.1 + make-fetch-happen: 11.1.1 + minipass: 5.0.0 + minipass-fetch: 3.0.4 minipass-json-stream: 1.0.1 minizlib: 2.1.2 npm-package-arg: 10.1.0 proc-log: 3.0.0 transitivePeerDependencies: - - bluebird - supports-color - dev: true - /npm-run-all@4.1.5: - resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} - engines: {node: '>= 4'} - hasBin: true + npm-run-all@4.1.5: dependencies: ansi-styles: 3.2.1 chalk: 2.4.2 @@ -8360,358 +11052,187 @@ packages: minimatch: 3.1.2 pidtree: 0.3.1 read-pkg: 3.0.0 - shell-quote: 1.8.0 - string.prototype.padend: 3.1.4 - dev: true + shell-quote: 1.8.1 + string.prototype.padend: 3.1.6 - /npmlog@6.0.2: - resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + npmlog@6.0.2: dependencies: are-we-there-yet: 3.0.1 console-control-strings: 1.1.0 gauge: 4.0.4 set-blocking: 2.0.0 - dev: true - /nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nth-check@2.1.1: dependencies: boolbase: 1.0.0 - dev: true - - /number-is-nan@1.0.1: - resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} - engines: {node: '>=0.10.0'} - dev: true - - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: false - - /object-copy@0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - dev: true - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-assign@4.1.1: {} - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true + object-inspect@1.13.1: {} - /object-visit@1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true + 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.5: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /object.defaults@1.1.0: - resolution: {integrity: sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==} - engines: {node: '>=0.10.0'} + object.defaults@1.1.0: dependencies: array-each: 1.0.1 array-slice: 1.1.0 for-own: 1.0.0 isobject: 3.0.1 - dev: true - - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.3 - dev: true - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + object.fromentries@2.0.8: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.3 - get-intrinsic: 1.2.1 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - /object.map@1.0.1: - resolution: {integrity: sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==} - engines: {node: '>=0.10.0'} + object.groupby@1.0.3: dependencies: - for-own: 1.0.0 - make-iterator: 1.0.1 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 - /object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} + object.pick@1.3.0: dependencies: isobject: 3.0.1 - dev: true - - /object.reduce@1.0.1: - resolution: {integrity: sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==} - engines: {node: '>=0.10.0'} - dependencies: - for-own: 1.0.0 - make-iterator: 1.0.1 - dev: true - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} + object.values@1.2.0: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.3 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 - /on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} + on-finished@2.3.0: dependencies: ee-first: 1.1.1 - dev: false - /on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - dev: false + on-headers@1.0.2: {} - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + 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 - /open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} + open@8.4.2: dependencies: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 - dev: true - /optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.3 - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true + word-wrap: 1.2.5 - /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} + ora@5.4.1: dependencies: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.7.0 + cli-spinners: 2.9.2 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 - /ora@6.3.0: - resolution: {integrity: sha512-1/D8uRFY0ay2kgBpmAwmSA404w4OoPVhHMqRqtjvrcK/dnzcEZxMJ+V4DUbyICu8IIVRclHcOf5wlD1tMY4GUQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + ora@6.3.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 + strip-ansi: 7.1.0 wcwidth: 1.0.1 - dev: true - /ordered-read-streams@1.0.1: - resolution: {integrity: sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==} + ordered-read-streams@1.0.1: dependencies: readable-stream: 2.3.8 - dev: true - /os-lang@3.2.0: - resolution: {integrity: sha512-/hMEpk0p6gE4BaK9ZufPktHYsws4Kft8nBwiWEdIJryigq6bZ4PkuKkWypvjFdAZRtHm20pZTSoZgBjKtT/HTw==} - hasBin: true + os-lang@3.2.0: dependencies: '@node-kit/extra.cp': 3.2.0 lcid: 4.0.1 - /os-locale@1.4.0: - resolution: {integrity: sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==} - engines: {node: '>=0.10.0'} - dependencies: - lcid: 1.0.0 - dev: true - - /os-name@1.0.3: - resolution: {integrity: sha512-f5estLO2KN8vgtTRaILIgEGBoBrMnZ3JQ7W9TMZCnOIGwHe8TRGSpcagnWDo+Dfhd/z08k9Xe75hvciJJ8Qaew==} - engines: {node: '>=0.10.0'} - hasBin: true + os-name@1.0.3: dependencies: osx-release: 1.1.0 win-release: 1.1.1 - dev: false - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - dev: false + os-tmpdir@1.0.2: {} - /osx-release@1.1.0: - resolution: {integrity: sha512-ixCMMwnVxyHFQLQnINhmIpWqXIfS2YOXchwQrk+OFzmo6nDjQ0E4KXAyyUh0T0MZgV4bUhkRrAbVqlE4yLVq4A==} - engines: {node: '>=0.10.0'} - hasBin: true + osx-release@1.1.0: dependencies: minimist: 1.2.8 - dev: false - /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 - 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 - dev: true - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + p-map@4.0.0: dependencies: aggregate-error: 3.1.0 - dev: true - - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /pac-proxy-agent@5.0.0: - resolution: {integrity: sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==} - engines: {node: '>= 8'} - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.3.4 - get-uri: 3.0.2 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - pac-resolver: 5.0.1 - raw-body: 2.5.2 - socks-proxy-agent: 5.0.1 - transitivePeerDependencies: - - supports-color - dev: false - /pac-resolver@5.0.1: - resolution: {integrity: sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==} - engines: {node: '>= 8'} - dependencies: - degenerator: 3.0.2 - ip: 1.1.8 - netmask: 2.0.2 - dev: false + p-try@2.2.0: {} - /pacote@15.1.1: - resolution: {integrity: sha512-eeqEe77QrA6auZxNHIp+1TzHQ0HBKf5V6c8zcaYZ134EJe1lCi+fjXATkNiEEfbG+e50nu02GLvUtmZcGOYabQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true + pacote@15.2.0: dependencies: - '@npmcli/git': 4.0.4 - '@npmcli/installed-package-contents': 2.0.2 + '@npmcli/git': 4.1.0 + '@npmcli/installed-package-contents': 2.1.0 '@npmcli/promise-spawn': 6.0.2 - '@npmcli/run-script': 6.0.0 - cacache: 17.0.5 - fs-minipass: 3.0.1 - minipass: 4.2.5 + '@npmcli/run-script': 6.0.2 + cacache: 17.1.4 + fs-minipass: 3.0.3 + minipass: 5.0.0 npm-package-arg: 10.1.0 npm-packlist: 7.0.4 - npm-pick-manifest: 8.0.1 - npm-registry-fetch: 14.0.3 + npm-pick-manifest: 8.0.2 + npm-registry-fetch: 14.0.5 proc-log: 3.0.0 promise-retry: 2.0.1 - read-package-json: 6.0.1 + read-package-json: 6.0.4 read-package-json-fast: 3.0.2 - sigstore: 1.2.0 - ssri: 10.0.1 - tar: 6.1.13 + sigstore: 1.9.0 + ssri: 10.0.5 + tar: 6.2.1 transitivePeerDependencies: - bluebird - supports-color - dev: true - /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 - /parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + parse-entities@2.0.0: dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -8719,593 +11240,248 @@ packages: is-alphanumerical: 1.0.4 is-decimal: 1.0.4 is-hexadecimal: 1.0.4 - dev: true - /parse-filepath@1.0.2: - resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} - engines: {node: '>=0.8'} + parse-filepath@1.0.2: dependencies: is-absolute: 1.0.0 map-cache: 0.2.2 path-root: 0.1.1 - dev: true - - /parse-json@2.2.0: - resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} - engines: {node: '>=0.10.0'} - dependencies: - error-ex: 1.3.2 - dev: true - /parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} + parse-json@4.0.0: dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 - dev: true - /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.23.4 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - /parse-ms@2.1.0: - resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} - engines: {node: '>=6'} - dev: true - - /parse-node-version@1.0.1: - resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} - engines: {node: '>= 0.10'} - dev: true - - /parse-passwd@1.0.0: - resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} - engines: {node: '>=0.10.0'} - dev: true - - /pascalcase@0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - dev: true + parse-ms@2.1.0: {} - /path-dirname@1.0.2: - resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} - dev: true + parse-passwd@1.0.0: {} - /path-exists@2.1.0: - resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==} - engines: {node: '>=0.10.0'} - dependencies: - pinkie-promise: 2.0.1 - dev: true + path-dirname@1.0.2: {} - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true + path-exists@4.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + path-is-absolute@1.0.1: {} - /path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - dev: true + path-key@2.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + path-key@3.1.1: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-parse@1.0.7: {} - /path-root-regex@0.1.2: - resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} - engines: {node: '>=0.10.0'} - dev: true + path-root-regex@0.1.2: {} - /path-root@0.1.1: - resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} - engines: {node: '>=0.10.0'} + path-root@0.1.1: dependencies: path-root-regex: 0.1.2 - dev: true - - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - lru-cache: 9.1.1 - minipass: 5.0.0 - dev: true - /path-type@1.1.0: - resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} - engines: {node: '>=0.10.0'} + path-scurry@1.10.2: dependencies: - graceful-fs: 4.2.11 - pify: 2.3.0 - pinkie-promise: 2.0.1 - dev: true + lru-cache: 10.2.1 + minipass: 7.0.4 - /path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} + path-type@3.0.0: dependencies: pify: 3.0.0 - dev: true - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true + path-type@4.0.0: {} - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} - dev: true + pathe@1.1.2: {} - /pause-stream@0.0.11: - resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + pause-stream@0.0.11: dependencies: through: 2.3.8 - /perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - dev: true - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /pidtree@0.3.1: - resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} - engines: {node: '>=0.10'} - hasBin: true - dev: true + perfect-debounce@1.0.0: {} - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true + picocolors@1.0.0: {} - /pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} - dev: true + picomatch@2.3.1: {} - /pinkie-promise@2.0.1: - resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} - engines: {node: '>=0.10.0'} - dependencies: - pinkie: 2.0.4 - dev: true + pidtree@0.3.1: {} - /pinkie@2.0.4: - resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} - engines: {node: '>=0.10.0'} - dev: true + pify@3.0.0: {} - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + pkg-types@1.1.0: dependencies: - jsonc-parser: 3.2.0 - mlly: 1.4.2 - pathe: 1.1.1 - dev: true + confbox: 0.1.7 + mlly: 1.6.1 + pathe: 1.1.2 - /plugin-error@1.0.1: - resolution: {integrity: sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==} - engines: {node: '>= 0.10'} + plugin-error@1.0.1: dependencies: ansi-colors: 1.1.0 arr-diff: 4.0.0 arr-union: 3.1.0 extend-shallow: 3.0.2 - dev: true - - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: true - - /pm-info@2.5.1: - resolution: {integrity: sha512-cCK0S13Pk3z6vG1G0XyoqWPVg6SLEi7LnNRVlDep+JM50bsUD49rtEmhcCWKqTEEJD0QHYNlWNpb4W4s+Vi2tA==} - dependencies: - load-yml: 1.4.0 - dev: true - /posix-character-classes@0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} - dev: true + pluralize@8.0.0: {} - /postcss-safe-parser@6.0.0(postcss@8.4.33): - resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.3.3 + pm-info@2.5.1: dependencies: - postcss: 8.4.33 - dev: true + load-yml: 1.4.0 - /postcss-scss@4.0.6(postcss@8.4.33): - resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.4.19 + possible-typed-array-names@1.0.0: {} + + postcss-safe-parser@6.0.0(postcss@8.4.38): dependencies: - postcss: 8.4.33 - dev: true + postcss: 8.4.38 - /postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} - engines: {node: '>=4'} + postcss-scss@4.0.9(postcss@8.4.38): dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: true + postcss: 8.4.38 - /postcss-selector-parser@6.0.15: - resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} - engines: {node: '>=4'} + postcss-selector-parser@6.0.16: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: true - /postcss-styl@0.12.3: - resolution: {integrity: sha512-8I7Cd8sxiEITIp32xBK4K/Aj1ukX6vuWnx8oY/oAH35NfQI4OZaY5nd68Yx8HeN5S49uhQ6DL0rNk0ZBu/TaLg==} - engines: {node: ^8.10.0 || ^10.13.0 || ^11.10.1 || >=12.13.0} + postcss-styl@0.12.3: dependencies: debug: 4.3.4 - fast-diff: 1.2.0 + fast-diff: 1.3.0 lodash.sortedlastindex: 4.1.0 - postcss: 8.4.33 + postcss: 8.4.38 stylus: 0.57.0 transitivePeerDependencies: - supports-color - dev: true - - /postcss-values-parser@2.0.1: - resolution: {integrity: sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==} - engines: {node: '>=6.14.4'} - dependencies: - flatten: 1.0.3 - indexes-of: 1.0.1 - uniq: 1.0.1 - dev: true - /postcss-values-parser@6.0.2(postcss@8.4.31): - resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} - engines: {node: '>=10'} - peerDependencies: - postcss: ^8.2.9 + postcss-values-parser@6.0.2(postcss@8.4.38): dependencies: color-name: 1.1.4 is-url-superb: 4.0.0 - postcss: 8.4.31 + postcss: 8.4.38 quote-unquote: 1.0.0 - dev: true - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.38: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true + source-map-js: 1.2.0 - /preact@10.13.1: - resolution: {integrity: sha512-KyoXVDU5OqTpG9LXlB3+y639JAGzl8JSBXLn1J9HTSB3gbKcuInga7bZnXLlxmK94ntTs1EFeZp0lrja2AuBYQ==} - dev: true - - /precinct@8.3.1: - resolution: {integrity: sha512-pVppfMWLp2wF68rwHqBIpPBYY8Kd12lDhk8LVQzOwqllifVR15qNFyod43YLyFpurKRZQKnE7E4pofAagDOm2Q==} - engines: {node: ^10.13 || ^12 || >=14} - hasBin: true - dependencies: - commander: 2.20.3 - debug: 4.3.4 - detective-amd: 3.1.2 - detective-cjs: 3.1.3 - detective-es6: 2.2.2 - detective-less: 1.0.2 - detective-postcss: 4.0.0 - detective-sass: 3.0.2 - detective-scss: 2.0.2 - detective-stylus: 1.0.3 - detective-typescript: 7.0.2 - module-definition: 3.4.0 - node-source-walk: 4.3.0 - transitivePeerDependencies: - - supports-color - dev: true + preact@10.20.2: {} - /precinct@9.2.1: - resolution: {integrity: sha512-uzKHaTyiVejWW7VJtHInb9KBUq9yl9ojxXGujhjhDmPon2wgZPBKQIKR+6csGqSlUeGXAA4MEFnU6DesxZib+A==} - engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} - hasBin: true + precinct@11.0.5: dependencies: - '@dependents/detective-less': 3.0.1 - commander: 9.5.0 - detective-amd: 4.1.0 - detective-cjs: 4.1.0 - detective-es6: 3.0.1 - detective-postcss: 6.1.1 - detective-sass: 4.1.1 - detective-scss: 3.0.1 - detective-stylus: 3.0.0 - detective-typescript: 9.1.1 - module-definition: 4.1.0 - node-source-walk: 5.0.1 + '@dependents/detective-less': 4.1.0 + commander: 10.0.1 + detective-amd: 5.0.2 + detective-cjs: 5.0.1 + detective-es6: 4.0.1 + detective-postcss: 6.1.3 + detective-sass: 5.0.3 + detective-scss: 4.0.3 + detective-stylus: 4.0.0 + detective-typescript: 11.2.0 + module-definition: 5.0.1 + node-source-walk: 6.0.2 transitivePeerDependencies: - supports-color - dev: true - /prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.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-config-common@1.4.0: - resolution: {integrity: sha512-8sYxS0a6pDInA/eJGL4iCsdblr39yHKrjrXLNb/OZkm8yQ0338FlK898Us4Pu5tV4TwOBx48GdxGt9mN58duxg==} - dev: true + prettier-config-common@1.4.0: {} - /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.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - dev: true + fast-diff: 1.3.0 - /pretty-hrtime@1.0.3: - resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} - engines: {node: '>= 0.8'} - dev: true + prettier@3.2.5: {} - /pretty-ms@7.0.1: - resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} - engines: {node: '>=10'} + pretty-ms@7.0.1: dependencies: parse-ms: 2.1.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: true + proc-log@3.0.0: {} - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: true + process-nextick-args@2.0.1: {} - /promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - dev: true + promise-inflight@1.0.1: {} - /promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} + promise-retry@2.0.1: dependencies: err-code: 2.0.3 retry: 0.12.0 - dev: true - - /proxy-agent@5.0.0: - resolution: {integrity: sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==} - engines: {node: '>= 8'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - lru-cache: 5.1.1 - pac-proxy-agent: 5.0.0 - proxy-from-env: 1.1.0 - socks-proxy-agent: 5.0.1 - transitivePeerDependencies: - - supports-color - dev: false - - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - 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: true - /pump@2.0.1: - resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} + pump@2.0.1: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - dev: true - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.0: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - dev: false - /pumpify@1.5.1: - resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} + pumpify@1.5.1: dependencies: duplexify: 3.7.1 inherits: 2.0.4 pump: 2.0.1 - dev: true - /punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} - dev: true + punycode.js@2.3.1: {} - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true + punycode@2.3.1: {} - /qs@6.11.2: - resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} - engines: {node: '>=0.6'} + qs@6.12.1: dependencies: - side-channel: 1.0.4 - dev: false + side-channel: 1.0.6 - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + queue-microtask@1.2.3: {} - /quote-unquote@1.0.0: - resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} - dev: true + queue-tick@1.0.1: {} - /raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} + quote-unquote@1.0.0: {} + + randombytes@2.1.0: dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - dev: false + safe-buffer: 5.2.1 - /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true + rc@1.2.8: dependencies: deep-extend: 0.6.0 ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 - 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} + read-package-json-fast@3.0.2: dependencies: - json-parse-even-better-errors: 3.0.0 - npm-normalize-package-bin: 3.0.0 - dev: true + json-parse-even-better-errors: 3.0.1 + npm-normalize-package-bin: 3.0.1 - /read-package-json@6.0.1: - resolution: {integrity: sha512-AaHqXxfAVa+fNL07x8iAghfKOds/XXsu7zoouIVsbm7PEbQ3nMWXlvjcbrNLjElnUHWQtAo4QEa0RXuvD4XlpA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + read-package-json@6.0.4: dependencies: - glob: 9.3.2 - json-parse-even-better-errors: 3.0.0 + glob: 10.3.12 + json-parse-even-better-errors: 3.0.1 normalize-package-data: 5.0.0 - npm-normalize-package-bin: 3.0.0 - dev: true - - /read-pkg-up@1.0.1: - resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==} - engines: {node: '>=0.10.0'} - dependencies: - find-up: 1.1.2 - read-pkg: 1.1.0 - dev: true + npm-normalize-package-bin: 3.0.1 - /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@1.1.0: - resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==} - engines: {node: '>=0.10.0'} - dependencies: - load-json-file: 1.1.0 - normalize-package-data: 2.5.0 - path-type: 1.1.0 - dev: true - /read-pkg@3.0.0: - resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} - engines: {node: '>=4'} + read-pkg@3.0.0: dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 path-type: 3.0.0 - 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 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 - dev: true - - /readable-stream@1.1.14: - resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 0.0.1 - string_decoder: 0.10.31 - dev: false - /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -9314,1062 +11490,561 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: true - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - /readdirp@2.2.1: - resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} - engines: {node: '>=0.10'} + readdirp@3.6.0: dependencies: - graceful-fs: 4.2.11 - micromatch: 3.1.10 - readable-stream: 2.3.8 - transitivePeerDependencies: - - supports-color - dev: true + picomatch: 2.3.1 - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + rechoir@0.6.2: dependencies: - picomatch: 2.3.1 - dev: true + resolve: 1.22.8 - /rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} + rechoir@0.8.0: dependencies: - resolve: 1.22.4 + resolve: 1.22.8 - /regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - dev: true + regenerate-unicode-properties@10.1.1: + dependencies: + regenerate: 1.4.2 - /regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} + regenerate@1.4.2: {} + + regenerator-runtime@0.14.1: {} + + regenerator-transform@0.15.2: dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - dev: true + '@babel/runtime': 7.24.4 - /regexp-tree@0.1.24: - resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==} - hasBin: true - dev: true + regexp-tree@0.1.27: {} - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.2: dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - set-function-name: 2.0.1 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 - /reinstaller@3.0.2(debug@4.3.4)(js-cool@5.18.1)(typescript@5.3.3): - resolution: {integrity: sha512-VLjzE9tQMghK53x1Ccx96AEdRRe+dKq5zsnSNFLf1d7QsLAaRV0yX3lU1djgIaPYNSjDOXBRXjt8Y/GFTrHt/A==} - hasBin: true - peerDependencies: - debug: '>= 4' - js-cool: '>= 2' + regexpu-core@5.3.2: + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + + regjsparser@0.9.1: + dependencies: + jsesc: 0.5.0 + + reinstaller@3.0.2(debug@4.3.4)(js-cool@5.19.0)(typescript@5.4.5): dependencies: '@node-kit/extra.fs': 2.5.1 commander: 10.0.1 consola: 3.2.3 - core-js: 3.32.2 - cosmiconfig: 8.3.6(typescript@5.3.3) + core-js: 3.37.0 + cosmiconfig: 8.3.6(typescript@5.4.5) debug: 4.3.4 global-modules: 2.0.0 - js-cool: 5.18.1 + js-cool: 5.19.0 monorepo-root: 2.5.1 - ora: 6.3.0 + ora: 6.3.1 what-pm: 2.5.1 workspace-projects: 2.5.1 transitivePeerDependencies: - typescript - dev: true - /remove-bom-buffer@3.0.0: - resolution: {integrity: sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==} - engines: {node: '>=0.10.0'} + remove-bom-buffer@3.0.0: dependencies: is-buffer: 1.1.6 is-utf8: 0.2.1 - dev: true - /remove-bom-stream@1.2.0: - resolution: {integrity: sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==} - engines: {node: '>= 0.10'} + remove-bom-stream@1.2.0: dependencies: remove-bom-buffer: 3.0.0 safe-buffer: 5.2.1 through2: 2.0.5 - dev: true - /remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - dev: true - - /repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - dev: true - - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: true + remove-trailing-separator@1.1.0: {} - /replace-ext@1.0.1: - resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} - engines: {node: '>= 0.10'} - dev: true + replace-ext@1.0.1: {} - /replace-homedir@1.0.0: - resolution: {integrity: sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==} - engines: {node: '>= 0.10'} - dependencies: - homedir-polyfill: 1.0.3 - is-absolute: 1.0.0 - remove-trailing-separator: 1.1.0 - dev: true + replace-ext@2.0.0: {} - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true + replace-homedir@2.0.0: {} - /require-main-filename@1.0.1: - resolution: {integrity: sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==} - dev: true + require-directory@2.1.1: {} - /requirejs-config-file@4.0.0: - resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} - engines: {node: '>=10.13.0'} + requirejs-config-file@4.0.0: dependencies: esprima: 4.0.1 stringify-object: 3.3.0 - dev: true - /requirejs@2.3.6: - resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + requirejs@2.3.6: {} - /resolve-dependency-path@2.0.0: - resolution: {integrity: sha512-DIgu+0Dv+6v2XwRaNWnumKu7GPufBBOr5I1gRPJHkvghrfCGOooJODFvgFimX/KRxk9j0whD2MnKHzM1jYvk9w==} - engines: {node: '>=6.0.0'} - dev: true + resolve-dependency-path@3.0.2: {} - /resolve-dir@1.0.1: - resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} - engines: {node: '>=0.10.0'} + resolve-dir@1.0.1: dependencies: expand-tilde: 2.0.2 global-modules: 1.0.0 - dev: true - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolve-from@4.0.0: {} - /resolve-options@1.1.0: - resolution: {integrity: sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==} - engines: {node: '>= 0.10'} + resolve-options@1.1.0: dependencies: value-or-function: 3.0.0 - dev: true - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true + resolve-options@2.0.0: + dependencies: + value-or-function: 4.0.0 - /resolve-url@0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated - dev: true + resolve-pkg-maps@1.0.0: {} - /resolve@1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + resolve@1.19.0: dependencies: - is-core-module: 2.13.0 + is-core-module: 2.13.1 path-parse: 1.0.7 - dev: true - /resolve@1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} - 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@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - /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: true - - /ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - dev: true - /retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - dev: true + retry@0.12.0: {} - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true + reusify@1.0.4: {} - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: true + rfdc@1.3.1: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - dev: true - /rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} - engines: {node: '>=14'} - hasBin: true + rimraf@5.0.5: dependencies: - glob: 10.3.10 - dev: true + glob: 10.3.12 - /rm-all@1.1.1(js-cool@5.18.1): - resolution: {integrity: sha512-5n3SiDtp0BxHX485YhfbxR1RLtR9KlRTCj0hHahTufYEhUyE9ydy1nRtP4OG9kXifsYClu43gwkqcOnjpz/HPQ==} - engines: {node: '>=12.20'} - hasBin: true - peerDependencies: - js-cool: '>= 2' + rm-all@1.1.1(js-cool@5.19.0): dependencies: '@node-kit/extra.fs': 3.2.0 commander: 11.1.0 - js-cool: 5.18.1 - dev: true + js-cool: 5.19.0 - /rollup-plugin-add-banner@1.1.0(rollup@4.12.0): - resolution: {integrity: sha512-GvBE6Miow7NxxHeRc0ehs6uJ8AV4fAmc5rnPIpIAyrUX+LKLkw0vXgFiGl63mFshWK3HXLjyXfzTgBLp1W9W2g==} - peerDependencies: - rollup: '>= 2.0.0' + rollup-plugin-add-banner@1.1.0(rollup@4.16.4): dependencies: magic-string: 0.26.7 - rollup: 4.12.0 - dev: true - - /rollup-plugin-css-only@4.5.2(rollup@4.12.0): - resolution: {integrity: sha512-7rj9+jB17Pz8LNcPgtMUb16JcgD8lxQMK9HcGfAVhMK3na/WXes3oGIo5QsrQQVqtgAU6q6KnQNXJrYunaUIQQ==} - engines: {node: '>=14'} - peerDependencies: - rollup: <5 - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - rollup: 4.12.0 - dev: true + rollup: 4.16.4 - /rollup-plugin-dts@6.1.0(rollup@4.12.0)(typescript@5.3.3): - resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} - engines: {node: '>=16'} - peerDependencies: - rollup: ^3.29.4 || ^4 - typescript: ^4.5 || ^5.0 + rollup-plugin-css-only@4.5.2(rollup@4.16.4): dependencies: - magic-string: 0.30.7 - rollup: 4.12.0 - typescript: 5.3.3 - optionalDependencies: - '@babel/code-frame': 7.23.4 - dev: true + '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + rollup: 4.16.4 - /rollup-plugin-esbuild@6.1.1(esbuild@0.20.1)(rollup@4.12.0): - resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} - engines: {node: '>=14.18.0'} - peerDependencies: - esbuild: '>=0.18.0' - rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - peerDependenciesMeta: - esbuild: - optional: true + rollup-plugin-esbuild@6.1.1(esbuild@0.20.2)(rollup@4.16.4): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.16.4) debug: 4.3.4 - es-module-lexer: 1.3.1 - esbuild: 0.20.1 - get-tsconfig: 4.7.2 - rollup: 4.12.0 + es-module-lexer: 1.5.0 + esbuild: 0.20.2 + get-tsconfig: 4.7.3 + rollup: 4.16.4 transitivePeerDependencies: - supports-color - dev: true - /rollup-plugin-filesize@10.0.0: - resolution: {integrity: sha512-JAYYhzCcmGjmCzo3LEHSDE3RAPHKIeBdpqRhiyZSv5o/3wFhktUOzYAWg/uUKyEu5dEaVaql6UOmaqHx1qKrZA==} - engines: {node: '>=16.0.0'} + rollup-plugin-filesize@10.0.0: dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.24.4 boxen: 5.1.2 brotli-size: 4.0.0 colors: 1.4.0 filesize: 6.4.0 gzip-size: 6.0.0 - pacote: 15.1.1 - terser: 5.16.8 + pacote: 15.2.0 + terser: 5.30.4 transitivePeerDependencies: - bluebird - supports-color - dev: true - /rollup-plugin-node-externals@7.0.1(rollup@4.12.0): - resolution: {integrity: sha512-NIGBhcuhyKn8slRsIt2mCHmxj5zRjXfkYjJ5FPjmg1Q3/rHvvMhOzj07kg0qVX/X6SEP2iubswIc0sL+CbXruA==} - engines: {node: '>= 21 || ^20.6.0 || ^18.19.0'} - peerDependencies: - rollup: ^3.0.0 || ^4.0.0 + rollup-plugin-node-externals@7.1.2(rollup@4.16.4): dependencies: - rollup: 4.12.0 - dev: true + rollup: 4.16.4 - /rollup-plugin-replace-shebang@1.2.0(rollup@4.12.0): - resolution: {integrity: sha512-683B/kMQwm7TN8sIsBo778kzvu4PYed4XU7OPNidTdGb2eFlEdkNbq8dPapzkEckLfzxxPHYz44f7+U5e+NW4A==} - peerDependencies: - rollup: '>= 2.0.0' + rollup-plugin-replace-shebang@1.2.0(rollup@4.16.4): dependencies: magic-string: 0.26.7 - rollup: 4.12.0 - dev: true + rollup: 4.16.4 - /rollup-plugin-visualizer@5.12.0(rollup@4.12.0): - resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} - engines: {node: '>=14'} - hasBin: true - peerDependencies: - rollup: 2.x || 3.x || 4.x - peerDependenciesMeta: - rollup: - optional: true + rollup-plugin-visualizer@5.12.0(rollup@4.16.4): dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.12.0 source-map: 0.7.4 - yargs: 17.7.1 - dev: true + yargs: 17.7.2 + optionalDependencies: + rollup: 4.16.4 - /rollup@0.63.5: - resolution: {integrity: sha512-dFf8LpUNzIj3oE0vCvobX6rqOzHzLBoblyFp+3znPbjiSmSvOoK2kMKx+Fv9jYduG1rvcCfCveSgEaQHjWRF6g==} - hasBin: true + rollup@0.63.5: dependencies: '@types/estree': 0.0.39 - '@types/node': 20.11.24 - dev: true + '@types/node': 20.12.7 - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 - fsevents: 2.3.2 - dev: true - - /rollup@4.9.4: - resolution: {integrity: sha512-2ztU7pY/lrQyXSCnnoU4ICjT/tCG9cdH3/G25ERqE3Lst6vl2BCM5hL2Nw+sslAvAf+ccKsAq1SkKQALyqhR7g==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true + rollup@4.16.4: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.9.4 - '@rollup/rollup-android-arm64': 4.9.4 - '@rollup/rollup-darwin-arm64': 4.9.4 - '@rollup/rollup-darwin-x64': 4.9.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.9.4 - '@rollup/rollup-linux-arm64-gnu': 4.9.4 - '@rollup/rollup-linux-arm64-musl': 4.9.4 - '@rollup/rollup-linux-riscv64-gnu': 4.9.4 - '@rollup/rollup-linux-x64-gnu': 4.9.4 - '@rollup/rollup-linux-x64-musl': 4.9.4 - '@rollup/rollup-win32-arm64-msvc': 4.9.4 - '@rollup/rollup-win32-ia32-msvc': 4.9.4 - '@rollup/rollup-win32-x64-msvc': 4.9.4 - fsevents: 2.3.2 - dev: true - - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: false - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + '@rollup/rollup-android-arm-eabi': 4.16.4 + '@rollup/rollup-android-arm64': 4.16.4 + '@rollup/rollup-darwin-arm64': 4.16.4 + '@rollup/rollup-darwin-x64': 4.16.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.16.4 + '@rollup/rollup-linux-arm-musleabihf': 4.16.4 + '@rollup/rollup-linux-arm64-gnu': 4.16.4 + '@rollup/rollup-linux-arm64-musl': 4.16.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.16.4 + '@rollup/rollup-linux-riscv64-gnu': 4.16.4 + '@rollup/rollup-linux-s390x-gnu': 4.16.4 + '@rollup/rollup-linux-x64-gnu': 4.16.4 + '@rollup/rollup-linux-x64-musl': 4.16.4 + '@rollup/rollup-win32-arm64-msvc': 4.16.4 + '@rollup/rollup-win32-ia32-msvc': 4.16.4 + '@rollup/rollup-win32-x64-msvc': 4.16.4 + fsevents: 2.3.3 + + run-async@2.4.1: {} + + run-async@3.0.0: {} + + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - dev: true - /rxjs@7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + rxjs@7.8.1: dependencies: tslib: 2.6.2 - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} + safe-array-concat@1.1.2: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 - dev: true - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + safe-buffer@5.1.2: {} - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-buffer@5.2.1: {} - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + safe-regex-test@1.0.3: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + es-errors: 1.3.0 is-regex: 1.1.4 - dev: true - - /safe-regex@1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - dependencies: - ret: 0.1.15 - dev: true - /safe-regex@2.1.1: - resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} + safe-regex@2.1.1: dependencies: - regexp-tree: 0.1.24 - dev: true + regexp-tree: 0.1.27 - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - /sass-lookup@3.0.0: - resolution: {integrity: sha512-TTsus8CfFRn1N44bvdEai1no6PqdmDiQUiqW5DlpmtT+tYnIt1tXtDIph5KA1efC+LmioJXSnCtUVpcK9gaKIg==} - engines: {node: '>=6.0.0'} - hasBin: true + safer-buffer@2.1.2: {} + + sass-lookup@5.0.1: dependencies: - commander: 2.20.3 - dev: true + commander: 10.0.1 - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - dev: true + sax@1.2.4: {} - /search-insights@2.6.0: - resolution: {integrity: sha512-vU2/fJ+h/Mkm/DJOe+EaM5cafJv/1rRTZpGJTuFPf/Q5LjzgMDsqPdSaZsAe+GAWHHsfsu+rQSAn6c8IGtBEVw==} - engines: {node: '>=8.16.0'} - dev: true + search-insights@2.13.0: {} - /semver-diff@4.0.0: - resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} - engines: {node: '>=12'} + semver-diff@4.0.0: dependencies: - semver: 7.5.4 - dev: false + semver: 7.6.0 - /semver-greatest-satisfied-range@1.1.0: - resolution: {integrity: sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==} - engines: {node: '>= 0.10'} + semver-greatest-satisfied-range@2.0.0: dependencies: - sver-compat: 1.5.0 - dev: true - - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - dev: false + sver: 1.8.4 - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - dev: true + semver@5.7.2: {} - /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 + semver@7.5.4: dependencies: lru-cache: 6.0.0 - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true + semver@7.6.0: dependencies: lru-cache: 6.0.0 - dev: true - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - dev: true + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 - /set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} - engines: {node: '>= 0.4'} + set-blocking@2.0.0: {} + + set-function-length@1.2.2: dependencies: - define-data-property: 1.1.1 - get-intrinsic: 1.2.2 + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 gopd: 1.0.1 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.2 - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} + set-function-name@2.0.2: dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.4 + es-errors: 1.3.0 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.0 - dev: true - - /set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - dev: true - - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false + has-property-descriptors: 1.0.2 - /shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 - dev: true - /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@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - dev: true + shebang-regex@1.0.0: {} - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + shebang-regex@3.0.0: {} - /shell-quote@1.8.0: - resolution: {integrity: sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==} - dev: true + shell-quote@1.8.1: {} - /shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true + shelljs@0.8.5: dependencies: glob: 7.2.3 interpret: 1.4.0 rechoir: 0.6.2 - dev: false - /shiki@0.14.7: - resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} + shiki@0.14.7: dependencies: - ansi-sequence-parser: 1.1.0 - jsonc-parser: 3.2.0 + ansi-sequence-parser: 1.1.1 + jsonc-parser: 3.2.1 vscode-oniguruma: 1.7.0 vscode-textmate: 8.0.0 - dev: true - /shiki@1.1.7: - resolution: {integrity: sha512-9kUTMjZtcPH3i7vHunA6EraTPpPOITYTdA5uMrvsJRexktqP0s7P3s9HVK80b4pP42FRVe03D7fT3NmJv2yYhw==} + shiki@1.3.0: dependencies: - '@shikijs/core': 1.1.7 - dev: true + '@shikijs/core': 1.3.0 - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.6: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 object-inspect: 1.13.1 - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@3.0.7: {} - /signal-exit@4.0.1: - resolution: {integrity: sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==} - engines: {node: '>=14'} - dev: true + signal-exit@4.1.0: {} - /sigstore@1.2.0: - resolution: {integrity: sha512-Fr9+W1nkBSIZCkJQR7jDn/zI0UXNsVpp+7mDQkCnZOIxG9p6yNXBx9xntHsfUyYHE55XDkkVV3+rYbrkzAeesA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true + sigstore@1.9.0: dependencies: - '@sigstore/protobuf-specs': 0.1.0 - make-fetch-happen: 11.0.3 - tuf-js: 1.1.2 + '@sigstore/bundle': 1.1.0 + '@sigstore/protobuf-specs': 0.2.1 + '@sigstore/sign': 1.0.0 + '@sigstore/tuf': 1.0.3 + make-fetch-happen: 11.1.1 transitivePeerDependencies: - - bluebird - supports-color - dev: true - - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true - - /smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - /snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - dev: true + slash@3.0.0: {} - /snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true + slash@4.0.0: {} - /snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true + smart-buffer@4.2.0: {} - /socks-proxy-agent@5.0.1: - resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==} - engines: {node: '>= 6'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - socks: 2.7.1 - transitivePeerDependencies: - - supports-color - dev: false + smob@1.5.0: {} - /socks-proxy-agent@7.0.0: - resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} - engines: {node: '>= 10'} + socks-proxy-agent@7.0.0: dependencies: agent-base: 6.0.2 debug: 4.3.4 - socks: 2.7.1 + socks: 2.8.3 transitivePeerDependencies: - supports-color - dev: true - /socks@2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + socks@2.8.3: dependencies: - ip: 2.0.0 + ip-address: 9.0.5 smart-buffer: 4.2.0 - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 - dev: true + source-map-js@1.2.0: {} - /source-map-resolve@0.6.0: - resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated + source-map-resolve@0.6.0: dependencies: atob: 2.1.2 decode-uri-component: 0.2.2 - dev: true - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - - /source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - dev: true - - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - dev: true - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + source-map@0.6.1: {} - /source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - dev: true + source-map@0.7.4: {} - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true + sourcemap-codec@1.4.8: {} - /sparkles@1.0.1: - resolution: {integrity: sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==} - engines: {node: '>= 0.10'} - dev: true + sparkles@2.1.0: {} - /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 - dev: true + spdx-license-ids: 3.0.17 - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - dev: true + spdx-exceptions@2.5.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.13 - dev: true + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 - /spdx-expression-parse@4.0.0: - resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + spdx-expression-parse@4.0.0: dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 - dev: true + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} - dev: true - - /speakingurl@14.0.1: - resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} - engines: {node: '>=0.10.0'} - dev: true + spdx-license-ids@3.0.17: {} - /split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - dev: true + speakingurl@14.0.1: {} - /split2@3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + split2@3.2.2: dependencies: readable-stream: 3.6.2 - dev: true - /split@0.3.3: - resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} - dependencies: - through: 2.3.8 - dev: true + sprintf-js@1.0.3: {} - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true + sprintf-js@1.1.3: {} - /ssri@10.0.1: - resolution: {integrity: sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ssri@10.0.5: dependencies: - minipass: 4.2.5 - dev: true + minipass: 7.0.4 - /ssri@9.0.1: - resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + ssri@9.0.1: dependencies: minipass: 3.3.6 - dev: true - - /stack-trace@0.0.10: - resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} - dev: true - - /static-extend@0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - dev: true - - /statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - dev: false - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false + statuses@1.5.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} + stdin-discarder@0.1.0: dependencies: bl: 5.1.0 - dev: true - /stream-combiner@0.0.4: - resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + stream-composer@1.0.2: dependencies: - duplexer: 0.1.2 - dev: true + streamx: 2.16.1 - /stream-exhaust@1.0.2: - resolution: {integrity: sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==} - dev: true + stream-exhaust@1.0.2: {} - /stream-shift@1.0.1: - resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} - dev: true + stream-shift@1.0.3: {} - /stream-to-array@2.3.0: - resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + stream-to-array@2.3.0: dependencies: any-promise: 1.3.0 - dev: true - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true - - /string-width@1.0.2: - resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} - engines: {node: '>=0.10.0'} + streamx@2.16.1: dependencies: - code-point-at: 1.1.0 - is-fullwidth-code-point: 1.0.0 - strip-ansi: 3.0.1 - dev: true + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + optionalDependencies: + bare-events: 2.2.2 - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-argv@0.3.2: {} + + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /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: true + strip-ansi: 7.1.0 - /string.prototype.padend@3.1.4: - resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} - engines: {node: '>= 0.4'} + string.prototype.padend@3.1.6: dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} + string.prototype.trim@1.2.9: dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + string.prototype.trimend@1.0.8: dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + string.prototype.trimstart@1.0.8: dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 - /string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} - dev: false - - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 - 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 - /stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} + stringify-object@3.3.0: dependencies: get-own-enumerable-property-symbols: 3.0.2 is-obj: 1.0.1 is-regexp: 1.0.0 - dev: true - - /strip-ansi@3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-regex: 2.1.1 - dev: true - /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: true - - /strip-bom@2.0.0: - resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} - engines: {node: '>=0.10.0'} - dependencies: - is-utf8: 0.2.1 - dev: true - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true + strip-bom@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@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - dev: true + strip-json-comments@2.0.1: {} - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + strip-json-comments@3.1.1: {} - /stylus-lookup@3.0.2: - resolution: {integrity: sha512-oEQGHSjg/AMaWlKe7gqsnYzan8DLcGIHe0dUaFkucZZ14z4zjENRlQMCHT4FNsiWnJf17YN9OvrCfCoi7VvOyg==} - engines: {node: '>=6.0.0'} - hasBin: true + stylus-lookup@5.0.1: dependencies: - commander: 2.20.3 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true + commander: 10.0.1 - /stylus@0.57.0: - resolution: {integrity: sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ==} - hasBin: true + stylus@0.57.0: dependencies: css: 3.0.0 debug: 4.3.4 @@ -10379,668 +12054,370 @@ packages: source-map: 0.7.4 transitivePeerDependencies: - supports-color - dev: true - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - /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-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + supports-color@8.1.1: dependencies: has-flag: 4.0.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + supports-preserve-symlinks-flag@1.0.0: {} - /sver-compat@1.5.0: - resolution: {integrity: sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==} - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.3 - dev: true + sver@1.8.4: + optionalDependencies: + semver: 6.3.1 - /svg-tags@1.0.0: - resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} - dev: true + svg-tags@1.0.0: {} - /synckit@0.6.2: - resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} - engines: {node: '>=12.20'} + synckit@0.6.2: dependencies: tslib: 2.6.2 - dev: true - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} + synckit@0.8.8: dependencies: - '@pkgr/core': 0.1.0 + '@pkgr/core': 0.1.1 tslib: 2.6.2 - dev: true - /tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - dev: true + tabbable@6.2.0: {} - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true + tapable@2.2.1: {} - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} - engines: {node: '>=10'} + tar@6.2.1: dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.2.5 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 - dev: true - /terser@5.16.8: - resolution: {integrity: sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==} - engines: {node: '>=10'} - hasBin: true + teex@1.0.1: + dependencies: + streamx: 2.16.1 + + terser@5.30.4: dependencies: - '@jridgewell/source-map': 0.3.2 - acorn: 8.11.2 + '@jridgewell/source-map': 0.3.6 + acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 - dev: true - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + text-table@0.2.0: {} - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} + thenify-all@1.6.0: dependencies: thenify: 3.3.1 - dev: false - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thenify@3.3.1: dependencies: any-promise: 1.3.0 - dev: false - /through2-filter@3.0.0: - resolution: {integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==} + through2-filter@3.0.0: dependencies: through2: 2.0.5 xtend: 4.0.2 - dev: true - /through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + through2@2.0.5: dependencies: readable-stream: 2.3.8 xtend: 4.0.2 - dev: true - /through2@3.0.2: - resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} + through2@3.0.2: dependencies: inherits: 2.0.4 readable-stream: 3.6.2 - dev: true - /through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + through2@4.0.2: dependencies: readable-stream: 3.6.2 - dev: true - - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - /time-stamp@1.1.0: - resolution: {integrity: sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==} - engines: {node: '>=0.10.0'} - dev: true + through@2.3.8: {} - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 - dev: false - /to-absolute-glob@2.0.2: - resolution: {integrity: sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==} - engines: {node: '>=0.10.0'} + to-absolute-glob@2.0.2: dependencies: is-absolute: 1.0.0 is-negated-glob: 1.0.0 - dev: true - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - /to-object-path@0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /to-regex-range@2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 - dev: true + to-fast-properties@2.0.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 - dev: true - - /to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - dev: true - /to-through@2.0.0: - resolution: {integrity: sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==} - engines: {node: '>= 0.10'} + to-through@2.0.0: dependencies: through2: 2.0.5 - dev: true - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false + to-through@3.0.0: + dependencies: + streamx: 2.16.1 - /ts-api-utils@1.0.1(typescript@5.3.3): - resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.3.0(typescript@5.4.5): dependencies: - typescript: 5.3.3 - dev: true + typescript: 5.4.5 - /ts-graphviz@1.5.5: - resolution: {integrity: sha512-abon0Tlcgvxcqr8x+p8QH1fTbR2R4cEXKGZfT4OJONZWah2YfqkmERb6hrr82omAc1IHwk5PlF8g4BS/ECYvwQ==} - engines: {node: '>=14.16'} - dev: true + ts-graphviz@1.8.2: {} - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + 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 + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@1.14.1: {} - /tsnd@1.1.0: - resolution: {integrity: sha512-sc+Xm5uxwfMlYCjLkwP9i7+9uC4izAo8N/opmdzR+RHtE/XTEfUV8r5FI3oh6RdcMybNHD0DTGultnzrJfcirQ==} - hasBin: true + tslib@2.6.2: {} + + tsnd@1.1.0: dependencies: cross-spawn: 7.0.3 esbuild: 0.14.54 esbuild-node-loader: 0.8.0 - esbuild-register: 3.4.2(esbuild@0.14.54) + esbuild-register: 3.5.0(esbuild@0.14.54) import-meta-resolve: 2.2.2 transitivePeerDependencies: - supports-color - dev: true - - /tsutils@3.21.0(typescript@3.9.10): - 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: 3.9.10 - dev: true - /tsutils@3.21.0(typescript@4.9.5): - 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' + tsutils@3.21.0(typescript@5.4.5): dependencies: tslib: 1.14.1 - typescript: 4.9.5 - dev: true + typescript: 5.4.5 - /tuf-js@1.1.2: - resolution: {integrity: sha512-gBfbnS6khluxjvoFCpRV0fhWT265xNfpiNXOcBX0Ze6HGbPhe93UG5V5DdKcgm/aXsMadnY76l/h6j63GmJS5g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + tuf-js@1.1.7: dependencies: - '@tufjs/models': 1.0.1 - make-fetch-happen: 11.0.3 + '@tufjs/models': 1.0.4 + debug: 4.3.4 + make-fetch-happen: 11.1.1 transitivePeerDependencies: - - bluebird - supports-color - dev: true - - /type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 - /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-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true - - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: false - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true + type-fest@0.20.2: {} - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true + type-fest@0.21.3: {} - /type@1.2.0: - resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} - dev: true + type-fest@0.6.0: {} - /type@2.7.2: - resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} - dev: true + type-fest@0.8.1: {} - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} + typed-array-buffer@1.0.2: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 - dev: true + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 - /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.1: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.2: dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-length@1.0.6: dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 - is-typed-array: 1.1.10 - dev: true - - /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - dev: true + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 - /typedoc-plugin-markdown@3.17.1(typedoc@0.25.9): - resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==} - peerDependencies: - typedoc: '>=0.24.0' + typedoc-plugin-markdown@3.17.1(typedoc@0.25.13(typescript@5.4.5)): dependencies: - handlebars: 4.7.7 - typedoc: 0.25.9(typescript@5.3.3) - dev: true + handlebars: 4.7.8 + typedoc: 0.25.13(typescript@5.4.5) - /typedoc@0.25.9(typescript@5.3.3): - resolution: {integrity: sha512-jVoGmfNw848iW0L313+jqHbsknepwDV6F9nzk1H30oWhKXkw65uaENgR6QtTw9a5KqRWEb6nwNd54KxffBJyWw==} - engines: {node: '>= 16'} - hasBin: true - peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x + typedoc@0.25.13(typescript@5.4.5): dependencies: lunr: 2.3.9 marked: 4.3.0 - minimatch: 9.0.3 + minimatch: 9.0.4 shiki: 0.14.7 - typescript: 5.3.3 - dev: true - - /typescript@3.9.10: - resolution: {integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true + typescript: 5.4.5 - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true + typescript@5.4.2: {} - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true + typescript@5.4.5: {} - /uc.micro@2.0.0: - resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} - dev: true + uc.micro@2.1.0: {} - /ufo@1.3.1: - resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} - dev: true + ufo@1.5.3: {} - /uglify-js@3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} - engines: {node: '>=0.8.0'} - hasBin: true - requiresBuild: true - dev: true + uglify-js@3.17.4: optional: true - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.0.2: dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - dev: true - /unc-path-regex@0.1.2: - resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} - engines: {node: '>=0.10.0'} - dev: true + unc-path-regex@0.1.2: {} - /undertaker-registry@1.0.1: - resolution: {integrity: sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==} - engines: {node: '>= 0.10'} - dev: true + undertaker-registry@2.0.0: {} - /undertaker@1.3.0: - resolution: {integrity: sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==} - engines: {node: '>= 0.10'} + undertaker@2.0.0: dependencies: - arr-flatten: 1.1.0 - arr-map: 2.0.2 - bach: 1.2.0 - collection-map: 1.0.0 - es6-weak-map: 2.0.3 - fast-levenshtein: 1.1.4 - last-run: 1.1.1 - object.defaults: 1.1.0 - object.reduce: 1.0.1 - undertaker-registry: 1.0.1 - dev: true + bach: 2.0.1 + fast-levenshtein: 3.0.0 + last-run: 2.0.0 + undertaker-registry: 2.0.0 - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true + undici-types@5.26.5: {} - /unescape@1.0.1: - resolution: {integrity: sha512-O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==} - engines: {node: '>=0.10.0'} + unescape@1.0.1: dependencies: extend-shallow: 2.0.1 - dev: false - /union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} + unicode-canonical-property-names-ecmascript@2.0.0: {} + + unicode-match-property-ecmascript@2.0.0: dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - dev: true + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 - /uniq@1.0.1: - resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} - dev: true + unicode-match-property-value-ecmascript@2.1.0: {} - /unique-filename@2.0.1: - resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + unicode-property-aliases-ecmascript@2.1.0: {} + + unique-filename@2.0.1: dependencies: unique-slug: 3.0.0 - dev: true - /unique-filename@3.0.0: - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + unique-filename@3.0.0: dependencies: unique-slug: 4.0.0 - dev: true - /unique-slug@3.0.0: - resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + unique-slug@3.0.0: dependencies: imurmurhash: 0.1.4 - dev: true - /unique-slug@4.0.0: - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + unique-slug@4.0.0: dependencies: imurmurhash: 0.1.4 - dev: true - /unique-stream@2.3.1: - resolution: {integrity: sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==} + unique-stream@2.3.1: dependencies: json-stable-stringify-without-jsonify: 1.0.1 through2-filter: 3.0.0 - dev: true - /unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + unist-util-stringify-position@2.0.3: dependencies: - '@types/unist': 2.0.6 - dev: true - - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} + '@types/unist': 2.0.10 - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - dev: true - - /unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: false + universalify@0.1.2: {} - /unplugin-vue-define-options@1.4.2(rollup@4.12.0): - resolution: {integrity: sha512-jQ3nJ1olC107QUA67UEB1CWJXnbVA7SF4UibKQF+jvME7UZ/XomctISHtAkJSJ9YHn0eqnqqzyNkng/KnLUZBw==} - engines: {node: '>=16.14.0'} + unplugin-vue-define-options@1.4.3(rollup@4.16.4)(vue@3.4.25(typescript@5.4.5)): dependencies: - '@vue-macros/common': 1.10.1(rollup@4.12.0) - ast-walker-scope: 0.5.0(rollup@4.12.0) - unplugin: 1.7.1 + '@vue-macros/common': 1.10.2(rollup@4.16.4)(vue@3.4.25(typescript@5.4.5)) + ast-walker-scope: 0.6.1 + unplugin: 1.10.1 transitivePeerDependencies: - rollup - vue - dev: true - /unplugin@1.7.1: - resolution: {integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==} + unplugin@1.10.1: dependencies: acorn: 8.11.3 - chokidar: 3.5.3 + chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 - dev: true - - /unset-value@1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - dev: true - - /upath@1.2.0: - resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} - engines: {node: '>=4'} - dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.1): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + update-browserslist-db@1.0.13(browserslist@4.23.0): dependencies: - browserslist: 4.22.1 - escalade: 3.1.1 + browserslist: 4.23.0 + escalade: 3.1.2 picocolors: 1.0.0 - dev: true - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: - punycode: 2.3.0 - dev: true + punycode: 2.3.1 - /urix@0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - dev: true - - /urllib@2.40.0: - resolution: {integrity: sha512-XDZjoijtzsbkXTXgM+A/sJM002nwoYsc46YOYr6MNH2jUUw1nCBf2ywT1WaPsVEWJX4Yr+9isGmYj4+yofFn9g==} - engines: {node: '>= 0.10.0'} + urllib@2.41.0: dependencies: any-promise: 1.3.0 content-type: 1.0.5 debug: 2.6.9 default-user-agent: 1.0.0 - digest-header: 1.0.0 + digest-header: 1.1.0 ee-first: 1.1.1 - formstream: 1.2.0 + formstream: 1.3.1 humanize-ms: 1.2.1 iconv-lite: 0.4.24 - ip: 1.1.8 - proxy-agent: 5.0.0 + ip: 1.1.9 pump: 3.0.0 - qs: 6.11.2 + qs: 6.12.1 statuses: 1.5.0 - utility: 1.17.0 + utility: 1.18.0 transitivePeerDependencies: - supports-color - dev: false - - /use-downloads@1.5.1: - resolution: {integrity: sha512-DOAlnvDzbXJLo2D+jMQ87qKhNBiV7p0RzDjDHLCmlyTOA6iVytQuyvVDcTK4UYz7U907YJkaOieWxXHGWy6+tg==} - /use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - dev: true + use-downloads@1.5.1: {} - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util-deprecate@1.0.2: {} - /utility@1.17.0: - resolution: {integrity: sha512-KdVkF9An/0239BJ4+dqOa7NPrPIOeQE9AGfx0XS16O9DBiHNHRJMoeU5nL6pRGAkgJOqdOu8R4gBRcXnAocJKw==} - engines: {node: '>= 0.12.0'} + utility@1.18.0: dependencies: copy-to: 2.0.1 escape-html: 1.0.3 mkdirp: 0.5.6 mz: 2.7.0 unescape: 1.0.1 - dev: false - /v8flags@3.2.0: - resolution: {integrity: sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==} - engines: {node: '>= 0.10'} - dependencies: - homedir-polyfill: 1.0.3 - dev: true + v8flags@4.0.1: {} - /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.2.0 spdx-expression-parse: 3.0.1 - dev: true - /validate-npm-package-name@5.0.0: - resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + validate-npm-package-name@5.0.0: dependencies: - builtins: 5.0.1 - dev: true + builtins: 5.1.0 - /validator@13.9.0: - resolution: {integrity: sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==} - engines: {node: '>= 0.10'} - dev: true + validator@13.11.0: {} - /value-or-function@3.0.0: - resolution: {integrity: sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==} - engines: {node: '>= 0.10'} - dev: true + value-or-function@3.0.0: {} - /vinyl-fs@3.0.3: - resolution: {integrity: sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==} - engines: {node: '>= 0.10'} + value-or-function@4.0.0: {} + + vinyl-contents@2.0.0: + dependencies: + bl: 5.1.0 + vinyl: 3.0.0 + + vinyl-fs@3.0.3: dependencies: fs-mkdirp-stream: 1.0.0 glob-stream: 6.1.0 @@ -11048,7 +12425,7 @@ packages: is-valid-glob: 1.0.0 lazystream: 1.0.1 lead: 1.0.0 - object.assign: 4.1.4 + object.assign: 4.1.5 pumpify: 1.5.1 readable-stream: 2.3.8 remove-bom-buffer: 3.0.0 @@ -11059,11 +12436,25 @@ packages: value-or-function: 3.0.0 vinyl: 2.2.1 vinyl-sourcemap: 1.1.0 - dev: true - /vinyl-sourcemap@1.1.0: - resolution: {integrity: sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==} - engines: {node: '>= 0.10'} + vinyl-fs@4.0.0: + dependencies: + fs-mkdirp-stream: 2.0.1 + glob-stream: 8.0.2 + graceful-fs: 4.2.11 + iconv-lite: 0.6.3 + is-valid-glob: 1.0.0 + lead: 4.0.0 + normalize-path: 3.0.0 + resolve-options: 2.0.0 + stream-composer: 1.0.2 + streamx: 2.16.1 + to-through: 3.0.0 + value-or-function: 4.0.0 + vinyl: 3.0.0 + vinyl-sourcemap: 2.0.0 + + vinyl-sourcemap@1.1.0: dependencies: append-buffer: 1.0.2 convert-source-map: 1.9.0 @@ -11072,11 +12463,17 @@ packages: now-and-later: 2.0.1 remove-bom-buffer: 3.0.0 vinyl: 2.2.1 - dev: true - /vinyl@2.2.1: - resolution: {integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==} - engines: {node: '>= 0.10'} + vinyl-sourcemap@2.0.0: + dependencies: + convert-source-map: 2.0.0 + graceful-fs: 4.2.11 + now-and-later: 3.0.0 + streamx: 2.16.1 + vinyl: 3.0.0 + vinyl-contents: 2.0.0 + + vinyl@2.2.1: dependencies: clone: 2.1.2 clone-buffer: 1.0.0 @@ -11084,72 +12481,45 @@ packages: cloneable-readable: 1.1.3 remove-trailing-separator: 1.1.0 replace-ext: 1.0.1 - dev: true - /vite@5.1.4(@types/node@20.11.24): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} - 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 + vinyl@3.0.0: dependencies: - '@types/node': 20.11.24 - esbuild: 0.19.11 - postcss: 8.4.35 - rollup: 4.9.4 - optionalDependencies: - fsevents: 2.3.2 - dev: true + clone: 2.1.2 + clone-stats: 1.0.0 + remove-trailing-separator: 1.1.0 + replace-ext: 2.0.0 + teex: 1.0.1 - /vitepress@1.0.0-rc.44(@types/node@20.11.24)(postcss@8.4.33)(search-insights@2.6.0)(typescript@5.3.3): - resolution: {integrity: sha512-tO5taxGI7fSpBK1D8zrZTyJJERlyU9nnt0jHSt3fywfq3VKn977Hg0wUuTkEmwXlFYwuW26+6+3xorf4nD3XvA==} - hasBin: true - peerDependencies: - markdown-it-mathjax3: ^4.3.2 - postcss: ^8.4.35 - peerDependenciesMeta: - markdown-it-mathjax3: - optional: true - postcss: - optional: true + vite@5.2.10(@types/node@20.12.7)(stylus@0.57.0)(terser@5.30.4): dependencies: - '@docsearch/css': 3.5.2 - '@docsearch/js': 3.5.2(search-insights@2.6.0) - '@shikijs/core': 1.1.7 - '@shikijs/transformers': 1.1.7 - '@types/markdown-it': 13.0.7 - '@vitejs/plugin-vue': 5.0.4(vite@5.1.4)(vue@3.4.21) - '@vue/devtools-api': 7.0.15(vue@3.4.21) - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21) + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.16.4 + optionalDependencies: + '@types/node': 20.12.7 + fsevents: 2.3.3 + stylus: 0.57.0 + terser: 5.30.4 + + vitepress@1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(stylus@0.57.0)(terser@5.30.4)(typescript@5.4.5): + dependencies: + '@docsearch/css': 3.6.0 + '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) + '@shikijs/core': 1.3.0 + '@shikijs/transformers': 1.3.0 + '@types/markdown-it': 14.0.1 + '@vitejs/plugin-vue': 5.0.4(vite@5.2.10(@types/node@20.12.7)(stylus@0.57.0)(terser@5.30.4))(vue@3.4.25(typescript@5.4.5)) + '@vue/devtools-api': 7.1.3(vue@3.4.25(typescript@5.4.5)) + '@vueuse/core': 10.9.0(vue@3.4.25(typescript@5.4.5)) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.25(typescript@5.4.5)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 - postcss: 8.4.33 - shiki: 1.1.7 - vite: 5.1.4(@types/node@20.11.24) - vue: 3.4.21(typescript@5.3.3) + shiki: 1.3.0 + vite: 5.2.10(@types/node@20.12.7)(stylus@0.57.0)(terser@5.30.4) + vue: 3.4.25(typescript@5.4.5) + optionalDependencies: + postcss: 8.4.38 transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -11176,48 +12546,16 @@ packages: - terser - typescript - universal-cookie - dev: true - - /vm2@3.9.14: - resolution: {integrity: sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==} - engines: {node: '>=6.0'} - deprecated: The library contains critical security issues and should not be used for production! The maintenance of the project has been discontinued. Consider migrating your code to isolated-vm. - hasBin: true - dependencies: - acorn: 8.10.0 - acorn-walk: 8.2.0 - dev: false - /vscode-oniguruma@1.7.0: - resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} - dev: true + vscode-oniguruma@1.7.0: {} - /vscode-textmate@8.0.0: - resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} - dev: true + vscode-textmate@8.0.0: {} - /vue-demi@0.14.7(vue@3.4.21): - resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - vue: - optional: true + vue-demi@0.14.7(vue@3.4.25(typescript@5.4.5)): dependencies: - vue: 3.4.21(typescript@5.3.3) - dev: true + vue: 3.4.25(typescript@5.4.5) - /vue-eslint-parser@9.4.2(eslint@8.57.0): - resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0 || >= 8.0.0' + vue-eslint-parser@9.4.2(eslint@8.57.0): dependencies: debug: 4.3.4 eslint: 8.57.0 @@ -11229,301 +12567,164 @@ packages: semver: 7.6.0 transitivePeerDependencies: - supports-color - dev: true - /vue@3.4.21(typescript@5.3.3): - resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + vue@3.4.25(typescript@5.4.5): dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-sfc': 3.4.21 - '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21) - '@vue/shared': 3.4.21 - typescript: 5.3.3 - dev: true + '@vue/compiler-dom': 3.4.25 + '@vue/compiler-sfc': 3.4.25 + '@vue/runtime-dom': 3.4.25 + '@vue/server-renderer': 3.4.25(vue@3.4.25(typescript@5.4.5)) + '@vue/shared': 3.4.25 + optionalDependencies: + typescript: 5.4.5 - /walkdir@0.4.1: - resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} - engines: {node: '>=6.0.0'} - dev: true + walkdir@0.4.1: {} - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + wcwidth@1.0.1: dependencies: defaults: 1.0.4 - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: true - - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: true + web-streams-polyfill@3.3.3: {} - /webpack-virtual-modules@0.6.1: - resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} - dev: true + webpack-sources@3.2.3: {} - /webpod@0.0.2: - resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==} - hasBin: true - dev: true + webpack-virtual-modules@0.6.1: {} - /what-pm@2.5.1: - resolution: {integrity: sha512-5CLrxTyIKk3o2Tshv1BMAe84NjJbucr/uio8fX4Jr838/enF/aQEpAUWLcj5WSbA3dOJWWsoySLQPCK2SPCeSA==} + what-pm@2.5.1: dependencies: find-up: 5.0.0 pm-info: 2.5.1 workspace-root: 2.5.1 - dev: true - /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-module@1.0.0: - resolution: {integrity: sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==} - dev: true - - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.15: dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true + has-tostringtag: 1.0.2 - /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true + which@1.3.1: dependencies: isexe: 2.0.0 - dev: true - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - /which@3.0.0: - resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true + which@3.0.1: dependencies: isexe: 2.0.0 - dev: true - /wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + wide-align@1.1.5: dependencies: string-width: 4.2.3 - dev: true - /widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} + widest-line@3.1.0: dependencies: string-width: 4.2.3 - dev: true - /win-release@1.1.1: - resolution: {integrity: sha512-iCRnKVvGxOQdsKhcQId2PXV1vV3J/sDPXKA4Oe9+Eti2nb2ESEsYHRYls/UjoUW3bIc5ZDO8dTH50A/5iVN+bw==} - engines: {node: '>=0.10.0'} + win-release@1.1.1: dependencies: - semver: 5.7.1 - dev: false + semver: 5.7.2 - /word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} + word-wrap@1.2.5: {} - /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true + wordwrap@1.0.0: {} - /workspace-projects@2.5.1: - resolution: {integrity: sha512-bUnx92d1MrnukbK+bK4NZ04+4VMC9jCOfvkB4D67KwzvxVmaBCh0zul0jQ6eghxGxMibxEtdIVQwYQuF0pSu3Q==} + workspace-projects@2.5.1: dependencies: '@node-kit/lerna-workspace-info': 2.5.1 '@node-kit/pnpm-workspace-info': 2.5.1 '@node-kit/yarn-workspace-info': 2.5.1 - dev: true - /workspace-root@2.5.1: - resolution: {integrity: sha512-pgC3AXnpwJ7E26Y+IolqBm/pqCyGZz6lk+QXyLJYGGXF8AOkwH3w49kEXbBt+6f9nKG39v0O0VAJ4y/k7qPIJQ==} + workspace-root@2.5.1: dependencies: '@node-kit/lerna-workspace-root': 2.5.1 '@node-kit/pnpm-workspace-root': 2.5.1 '@node-kit/yarn-workspace-root': 2.5.1 - dev: true - /wrap-ansi@2.1.0: - resolution: {integrity: sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==} - engines: {node: '>=0.10.0'} + wrap-ansi@6.2.0: dependencies: - string-width: 1.0.2 - strip-ansi: 3.0.1 - dev: true + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 - strip-ansi: 7.0.1 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} - dev: true + strip-ansi: 7.1.0 - /xregexp@2.0.0: - resolution: {integrity: sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==} - dev: false + wrappy@1.0.2: {} - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true + xml-name-validator@4.0.0: {} - /y18n@3.2.2: - resolution: {integrity: sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==} - dev: true + xtend@4.0.2: {} - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true + y18n@5.0.8: {} - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@3.1.1: {} - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@4.0.0: {} - /yaml-eslint-parser@1.2.2: - resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==} - engines: {node: ^14.17.0 || >=16.0.0} + yaml-eslint-parser@1.2.2: dependencies: eslint-visitor-keys: 3.4.3 lodash: 4.17.21 - yaml: 2.3.1 - dev: true + yaml: 2.4.1 - /yaml@2.3.1: - resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} - engines: {node: '>= 14'} - dev: true + yaml@2.4.1: {} - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true + yargs-parser@20.2.9: {} - /yargs-parser@5.0.1: - resolution: {integrity: sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==} - dependencies: - camelcase: 3.0.0 - object.assign: 4.1.4 - dev: true + yargs-parser@21.1.1: {} - /yargs@17.7.1: - resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} - engines: {node: '>=12'} + yargs@16.2.0: dependencies: - cliui: 8.0.1 - escalade: 3.1.1 + cliui: 7.0.4 + escalade: 3.1.2 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: true + yargs-parser: 20.2.9 - /yargs@7.1.2: - resolution: {integrity: sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==} + yargs@17.7.2: dependencies: - camelcase: 3.0.0 - cliui: 3.2.0 - decamelize: 1.2.0 - get-caller-file: 1.0.3 - os-locale: 1.4.0 - read-pkg-up: 1.0.1 + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 require-directory: 2.1.1 - require-main-filename: 1.0.1 - set-blocking: 2.0.0 - string-width: 1.0.2 - which-module: 1.0.0 - y18n: 3.2.2 - yargs-parser: 5.0.1 - dev: true + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true + yocto-queue@0.1.0: {} - /z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true + z-schema@5.0.5: dependencies: lodash.get: 4.4.2 lodash.isequal: 4.5.0 - validator: 13.9.0 + validator: 13.11.0 optionalDependencies: commander: 9.5.0 - dev: true - /zx@7.2.3: - resolution: {integrity: sha512-QODu38nLlYXg/B/Gw7ZKiZrvPkEsjPN3LQ5JFXM7h0JvwhEdPNNl+4Ao1y4+o3CLNiDUNcwzQYZ4/Ko7kKzCMA==} - engines: {node: '>= 16.0.0'} - hasBin: true - dependencies: - '@types/fs-extra': 11.0.1 - '@types/minimist': 1.2.2 - '@types/node': 18.16.16 - '@types/ps-tree': 1.1.2 - '@types/which': 3.0.0 - chalk: 5.3.0 - fs-extra: 11.1.1 - fx: 28.0.0 - globby: 13.1.4 - minimist: 1.2.8 - node-fetch: 3.3.1 - ps-tree: 1.2.0 - webpod: 0.0.2 - which: 3.0.0 - yaml: 2.3.1 - dev: true + zx@8.0.2: + optionalDependencies: + '@types/fs-extra': 11.0.4 + '@types/node': 20.12.7 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 98e1f2d2e..451481e22 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,11 @@ packages: + - packages/api + - packages/build + - packages/cache - packages/core + - packages/git + - packages/go + - packages/hook + - packages/utils - packages/docs - packages/gitmars diff --git a/scripts/build.ts b/scripts/build.ts index 3e11127aa..890bf883b 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -1,76 +1,103 @@ -import path from 'path' +import { join, resolve, sep } from 'node:path' import assert from 'assert' -import { execSync } from 'child_process' -import { promises, readFileSync, writeFileSync } from 'fs' -import fg from 'fast-glob' +import { execSync } from 'node:child_process' +import { existsSync, promises } from 'node:fs' +import { type ParseArgsConfig, parseArgs } from 'node:util' import consola from 'consola' -import { packages } from '../build/packages' -import { version } from '../package.json' -// import { updateImport } from "./utils"; -import { PACKAGE } from '../build/utils/paths' - -const rootDir = path.resolve(__dirname, '..') -const watch = process.argv.includes('--watch') +import { cpSync } from '@node-kit/extra.fs' +import { getBundlePackages } from '../build/packages' +const [, , ...args] = process.argv +const rootDir = resolve(__dirname, '..') const FILES_COPY_ROOT = ['LICENSE'] -const FILES_COPY_LOCAL = ['README.md', '*.cjs', '*.mjs', '*.d.ts'] + +const options: ParseArgsConfig['options'] = { + package: { type: 'string', short: 'p' }, + watch: { type: 'boolean' } +} +const { values, positionals } = parseArgs({ + args, + options, + allowPositionals: true +}) + +const watch = values.watch as boolean +let packageName = positionals[0] || (values.package as string) +try { + packageName = JSON.parse(packageName) +} catch {} + +const packages = getBundlePackages(packageName) assert(process.cwd() !== __dirname) async function buildMetaFiles() { for (const { name } of packages) { - const packageRoot = path.resolve(__dirname, '..', 'packages', name) - const packageDist = path.resolve(packageRoot, 'dist') - - if (name === 'core') - await promises.copyFile( - path.join(rootDir, 'README.md'), - path.join(packageDist, 'README.md') - ) + if (name === 'monorepo') continue + const dirName = name.replace(/\./g, sep) + const packageRoot = resolve(__dirname, '..', 'packages', dirName) for (const file of FILES_COPY_ROOT) - await promises.copyFile(path.join(rootDir, file), path.join(packageDist, file)) + await promises.copyFile(resolve(rootDir, file), resolve(packageRoot, file)) + } +} + +async function build() { + for (const { build, name, extractTypes, output = 'dist', buildTask } of packages) { + const dirName = name.replace(/\./g, sep) + const cwd = resolve(__dirname, '..', 'packages', dirName) + const HAS_INDEX_MJS = existsSync(join(cwd, 'src', 'index.mjs')) - const files = await fg(FILES_COPY_LOCAL, { cwd: packageRoot }) - for (const file of files) - await promises.copyFile(path.join(packageRoot, file), path.join(packageDist, file)) + if (build === false || !buildTask || buildTask !== 'bundle') continue - const packageJSON = JSON.parse(readFileSync(path.join(packageRoot, 'package.json'), 'utf8')) - for (const key of Object.keys(packageJSON.dependencies || {})) { - if (key.startsWith('@gitmars/')) packageJSON.dependencies[key] = version - } - for (const key of Object.keys(packageJSON.devDependencies || {})) { - if (key.startsWith('@gitmars/')) packageJSON.devDependencies[key] = version + consola.info('Clean up in: packages/%s', dirName) + execSync(`rm-all temp ${output} types`, { + stdio: 'inherit', + cwd + }) + + if (HAS_INDEX_MJS) { + consola.info('Copy index.mjs in: packages/%s', dirName) + cpSync(join(cwd, 'src', 'index.mjs'), join(cwd, output)) } - writeFileSync(path.join(packageDist, 'package.json'), JSON.stringify(packageJSON, null, 4)) - } -} -async function buildEachPackage() { - for (const { name, output } of packages) { - const packageRoot = path.resolve(PACKAGE, name) - const packageDist = path.resolve(PACKAGE, output || 'dist') + if (watch) continue - execSync(`pnpm build cjs`, { - cwd: packageRoot, - stdio: 'inherit' + if (extractTypes === false) continue + + consola.info('Create types: packages/%s', dirName) + execSync('tsc -p tsconfig.json', { + stdio: 'inherit', + cwd + }) + execSync('api-extractor run', { + stdio: 'inherit', + cwd + }) + execSync('rm-all temp', { + stdio: 'inherit', + cwd }) } -} -async function build() { - consola.info('Clean up') - execSync('pnpm run clean', { stdio: 'inherit' }) + consola.info('Rollup build bundle => %s', packageName) + execSync( + `pnpm run build:rollup${watch ? ' --watch' : ''}${ + packageName ? ' --environment BUILD_PACKAGE:' + packageName : '' + }`, + { + stdio: 'inherit' + } + ) - consola.info('Run Build Task') - // execSync(`pnpm run build:rollup${watch ? ' -- --watch' : ''}`, { - // stdio: 'inherit' - // }) + consola.info('Gulp build => %s', packageName) + execSync(`pnpm run build ${packageName || ''}`, { + stdio: 'inherit' + }) // consola.info("Fix types"); // execSync("pnpm run types:fix", { stdio: "inherit" }); - await buildEachPackage() await buildMetaFiles() } diff --git a/scripts/publish.ts b/scripts/publish.ts index 0d1d4fcec..d0b03dc23 100644 --- a/scripts/publish.ts +++ b/scripts/publish.ts @@ -1,17 +1,21 @@ -import { execSync } from 'child_process' -import { join } from 'path' -import consola from 'consola' +import { exec, execSync } from 'child_process' +import { promisify } from 'node:util' +import { join, sep } from 'path' +import { clone, awaitTo as to } from 'js-cool' import { readJSONSync, writeJSONSync } from '@node-kit/extra.fs' -import { PACKAGE, ROOT } from '../build/utils/paths' import { version } from '../package.json' import { packages } from '../build/packages' -// execSync('pnpm build', { stdio: 'inherit' }) - const [, , ...args] = process.argv const IS_TEST = args.includes('--test') +const IS_DRY_RUN = args.includes('--dry-run') +export const ROOT = join(__dirname, '..') +export const PACKAGE = join(ROOT, 'packages') + const REGISTRY_URL = 'https://registry.npmjs.org' -let command = `npm --registry=${REGISTRY_URL} publish --access public` +const jsonMap: Record = {} +let command = `pnpm --registry=${REGISTRY_URL} publish -r --access public` +if (IS_DRY_RUN) command += ' --dry-run' if (version.includes('rc')) command += ' --tag release' else if (version.includes('beta')) command += ' --tag beta' @@ -21,38 +25,58 @@ else if (IS_TEST) { process.exit(0) } -for (const { name, pkgName } of packages) { - const PKG_FILE = join(PACKAGE, name, 'package.json') - const pkgJson = readJSONSync(PKG_FILE) - const newPkgJson = JSON.parse(JSON.stringify(pkgJson)) - for (const { pkgName: pkg } of packages) { - if (pkg in ((newPkgJson.dependencies as Record) || {})) { - newPkgJson.dependencies[pkg] = version - } - if (pkg in ((newPkgJson.devDependencies as Record) || {})) { - newPkgJson.devDependencies[pkg] = version - } - if (pkg in ((newPkgJson.peerDependencies as Record) || {})) { - newPkgJson.peerDependencies[pkg] = version - } - } - writeJSONSync(PKG_FILE, newPkgJson, { - encoding: 'utf8' - }) - execSync(command, { - stdio: 'inherit', - cwd: join('packages', name) - }) - writeJSONSync(PKG_FILE, pkgJson!, { - encoding: 'utf8' +transformPkgJson() + +to( + promisify(exec)(command, { + cwd: ROOT, + timeout: 15000 }) - execSync(`npx prettier --write ${PKG_FILE}`, { - stdio: 'inherit', - cwd: ROOT +) + .then(([err]) => { + err && console.error(err) }) - consola.success(`Published ${pkgName}`) + .finally(() => transformPkgJson(true)) + +function transformPkgJson(isFallback = false) { + for (const { name } of packages) { + const dirName = name.replace(/\./g, sep) + const cwd = name === 'monorepo' ? ROOT : join(PACKAGE, dirName) + const PKG_FILE = join(cwd, 'package.json') + if (!isFallback) { + jsonMap[name] = readJSONSync(PKG_FILE)! + const newPkgJson = clone(jsonMap[name]) + for (const { pkgName: pkg } of packages) { + if ( + pkg in ((newPkgJson.dependencies as Record) || {}) && + newPkgJson.dependencies[pkg].includes('workspace') + ) { + newPkgJson.dependencies[pkg] = version + } + if ( + pkg in ((newPkgJson.devDependencies as Record) || {}) && + newPkgJson.devDependencies[pkg].includes('workspace') + ) { + newPkgJson.devDependencies[pkg] = version + } + if ( + pkg in ((newPkgJson.peerDependencies as Record) || {}) && + newPkgJson.peerDependencies[pkg].includes('workspace') + ) { + newPkgJson.peerDependencies[pkg] = version + } + } + writeJSONSync(PKG_FILE, newPkgJson, { + encoding: 'utf8' + }) + } else { + writeJSONSync(PKG_FILE, jsonMap[name], { + encoding: 'utf8' + }) + } + execSync(`npx prettier --write ${PKG_FILE}`, { + stdio: 'inherit', + cwd: ROOT + }) + } } -execSync(command, { - stdio: 'inherit' -}) -consola.success('Published @gitmars/monorepo') diff --git a/scripts/sync.ts b/scripts/sync.ts index 3da0e06cb..f2b1ca973 100644 --- a/scripts/sync.ts +++ b/scripts/sync.ts @@ -1,8 +1,11 @@ -import { execSync } from 'child_process' +import { execSync } from 'node:child_process' import { packages } from '../build/packages' -const cmd = process.platform === 'win32' ? 'start' : 'open' +// const cmd = process.platform === 'win32' ? 'start' : 'open' for (const pkg of packages) { - execSync(`${cmd} https://npmmirror.com/sync/${pkg.pkgName}`) + // execSync(`${cmd} https://npmmirror.com/sync/${pkg.pkgName}`) + execSync( + `curl -X PUT -d "sync_upstream=true" "https://registry-direct.npmmirror.com/${pkg.pkgName}/sync"` + ) } diff --git a/scripts/update.ts b/scripts/update.ts index a28606f10..5a55049d7 100644 --- a/scripts/update.ts +++ b/scripts/update.ts @@ -1,17 +1,20 @@ -import { resolve } from 'path' +import { resolve, sep } from 'path' import { execSync } from 'child_process' -import { promises, readFileSync, writeFileSync } from 'fs' +import { promises } from 'fs' +import { readJSONSync, writeJSONSync } from '@node-kit/extra.fs' import { packages } from '../build/packages' import { version } from '../package.json' async function updatePackageJSON() { - for (const { name, display, author, iife } of packages) { - const packageRoot = resolve(__dirname, '..', 'packages', name) + for (const { name, display, iife, browser } of packages) { + if (name === 'monorepo') continue + const dirName = name.replace(/\./g, sep) + const packageRoot = resolve(__dirname, '..', 'packages', dirName) const packageJSONPath = resolve(packageRoot, 'package.json') - const packageJSON = JSON.parse(readFileSync(packageJSONPath, 'utf8')) + const packageJSON = readJSONSync(packageJSONPath)! packageJSON.version = version packageJSON.description = display || packageJSON.description - packageJSON.author = author || 'saqqdy ' + packageJSON.author = 'saqqdy ' packageJSON.bugs = { url: 'https://github.com/saqqdy/gitmars/issues' } @@ -24,23 +27,27 @@ async function updatePackageJSON() { url: 'git+https://github.com/saqqdy/gitmars.git', directory: `packages/${name}` } - // packageJSON.main = './lib/index.js' - // packageJSON.types = './index.d.ts' - // packageJSON.module = './index.mjs' + packageJSON.module = './dist/index.esm-bundler.js' + packageJSON.main = './dist/index.cjs.js' + packageJSON.types = './dist/index.d.ts' + if (browser !== false) { + packageJSON.browser = 'dist/index.esm-browser.js' + } if (iife !== false) { - packageJSON.unpkg = './index.iife.min.js' - packageJSON.jsdelivr = './index.iife.min.js' + packageJSON.unpkg = 'dist/index.global.prod.js' + packageJSON.jsdelivr = 'dist/index.global.prod.js' } // packageJSON.exports = { - // '.': { - // import: './index.mjs', - // require: './index.cjs', - // types: './index.d.ts' - // }, - // './*': './*', - // ...packageJSON.exports + // '.': { + // types: './dist/index.d.ts', + // module: './dist/index.esm-bundler.js', + // require: './dist/index.cjs.js', + // import: './dist/index.mjs' + // }, + // './*': './*', + // ...packageJSON.exports // } - writeFileSync(packageJSONPath, JSON.stringify(packageJSON, null, 4)) + writeJSONSync(packageJSONPath, packageJSON) } } diff --git a/scripts/version.ts b/scripts/version.ts deleted file mode 100644 index de910e520..000000000 --- a/scripts/version.ts +++ /dev/null @@ -1,196 +0,0 @@ -import { resolve } from 'path' -import { type ExecSyncOptions, type SpawnSyncOptions, execSync, spawnSync } from 'child_process' -import { Separator, prompt } from 'inquirer' -import { writeJSONSync } from '@node-kit/extra.fs' -import pkg from '../package.json' -import { ROOT } from '../build/utils/paths' - -export interface VersionObject { - patch: string - minor: string - major: string - preid: string - subVer: string - version: string -} - -export interface VersionObjectList extends VersionObject { - id: string - command: string -} - -const increaseTypes = ['prerelease'] as const -const preTypes = ['prepatch', 'preminor', 'premajor'] as const -const productionTypes = ['patch', 'minor', 'major'] as const -const preidList = ['alpha', 'beta', 'rc'] as const -let COUNT = 0 - -const spawnOption: SpawnSyncOptions = { - stdio: 'inherit', - shell: process.platform === 'win32' -} -const execOption: ExecSyncOptions = { - stdio: 'inherit' -} - -const newVers = {} as Record< - (typeof preidList)[number] | 'production' | 'increase' | 'pre', - VersionObjectList[] -> - -for (const increaseType of increaseTypes) { - if (!('increase' in newVers)) newVers.increase = [] - const ver = genNextVersion(increaseType) - newVers.increase.push({ - ...ver, - command: `npm version ${increaseType} --preid=${ver.preid}`, - id: String(COUNT++) - }) -} - -for (const verType of productionTypes) { - if (!('production' in newVers)) newVers.production = [] - const ver = genNextVersion(verType) - newVers.production.push({ - ...ver, - command: `npm version ${verType}`, - id: String(COUNT++) - }) -} - -for (const preType of preTypes) { - if (!('pre' in newVers)) newVers.pre = [] - for (const preidType of preidList) { - const ver = genNextVersion(preType, preidType) - newVers.pre.push({ - ...ver, - command: `npm version ${preType} --preid=${ver.preid}`, - id: String(COUNT++) - }) - } -} - -prompt([ - { - type: 'list', - name: 'recommend', - message: 'Choose which version do you want?', - default: newVers.production[0].version, - choices: [ - // new Separator(' === Increase (recommend) === '), - ...newVers.increase.map(el => `${el.id}) ${el.version}`), - // new Separator(' === Production (recommend) === '), - ...newVers.production.map(el => `${el.id}) ${el.version}`), - 'create pre version', - new Separator(' --- Exit --- '), - 'exit', - new Separator() - ] - }, - { - type: 'list', - name: 'pre', - message: 'Choose which version do you want?', - default: newVers.pre[0].version, - choices: [ - ...newVers.pre.map(el => `${el.id}) ${el.version}`), - new Separator(' --- Exit --- '), - 'exit', - new Separator() - ], - when(data) { - return data.recommend === 'create pre version' - } - }, - { - type: 'confirm', - name: 'confirm', - message: '[Be Cautious]: Do you need to create a git tag?', - default: true, - when(data) { - return data.recommend !== 'exit' && data.pre !== 'exit' - } - } -]).then((data: { recommend: string; pre?: string; confirm: boolean }) => { - if (data.recommend === 'exit' || data.pre === 'exit') { - process.exit(0) - } - - const PACKAGE_JSON_URL = resolve(ROOT, 'package.json') - const [id] = (data.pre || data.recommend).split(')') - const { command, version } = searchVerTarget(id) - - if (data.confirm) { - execSync(command, execOption) - } else { - writeJSONSync(PACKAGE_JSON_URL, { - ...pkg, - version - }) - } - spawnSync('npx', ['prettier', '--write', './package.json'], spawnOption) -}) - -function searchVerTarget(id) { - return ( - newVers.increase.find(el => el.id === id) || - newVers.production.find(el => el.id === id) || - newVers.pre.find(el => el.id === id) || - null - ) -} - -function parseVersion(ver: string): VersionObject { - const [verNum, extVer = ''] = ver.split('-') - const [major, minor, patch] = verNum.split('.') - let [preid = '', subVer = ''] = extVer.split('.') - if (preid && !subVer) { - subVer = preid - preid = '' - } - return { - major, - minor, - patch, - preid, - subVer, - version: ver - } -} - -function genNextVersion( - type: - | (typeof productionTypes)[number] - | (typeof increaseTypes)[number] - | (typeof preTypes)[number] = 'patch', - preid?: (typeof preidList)[number] -): VersionObject { - const ver = parseVersion(pkg.version) - if (type.includes('patch')) { - ver.patch = String(+ver.patch + 1) - } else if (type.includes('minor')) { - ver.minor = String(+ver.minor + 1) - ver.patch = '0' - } else if (type.includes('major')) { - ver.major = String(+ver.major + 1) - ver.minor = '0' - ver.patch = '0' - } else if (type.includes('release') && !ver.preid) { - ver.patch = String(+ver.patch + 1) - } - - if (type.includes('release')) { - ver.subVer = ver.subVer ? String(+ver.subVer + 1) : '0' - ver.preid = ver.preid || 'alpha' - } else if (preid) { - ver.subVer = '0' - ver.preid = preid - } else { - ver.preid = '' - ver.subVer = '' - } - ver.version = ver.subVer - ? `${ver.major}.${ver.minor}.${ver.patch}-${ver.preid}.${ver.subVer}` - : `${ver.major}.${ver.minor}.${ver.patch}` - return ver -} diff --git a/tsconfig.json b/tsconfig.json index b6766603c..6cf0a75e6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,12 +1,12 @@ { "compilerOptions": { - "target": "esnext", - "moduleResolution": "node", + "target": "ESNext", + "moduleResolution": "Node", "noLib": false, - "lib": ["esnext"], + "lib": ["ESNext"], "sourceMap": false, "resolveJsonModule": true, - "module": "commonjs", + "module": "ESNext", "strict": true, "noImplicitOverride": true, "noUnusedLocals": true,