From a5eba5f3d2f3da83abfdc29148435924f3e6c90b Mon Sep 17 00:00:00 2001 From: luhc228 Date: Wed, 7 Jul 2021 23:20:50 +0800 Subject: [PATCH 1/5] chore: version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1842858..2765c7b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "appworks-toolkit", "private": true, - "version": "0.1.1", + "version": "0.2.0", "description": "The Frontend Developer Toolkit", "scripts": { "setup": "npm run install:main && npm run install:renderer", From 57ad1234dfc1292380f58dc6a8578fdc9fa8dcbc Mon Sep 17 00:00:00 2001 From: Hengchang Lu <44047106+luhc228@users.noreply.github.com> Date: Mon, 19 Jul 2021 20:07:45 +0800 Subject: [PATCH 2/5] Feat: npm registry (#45) --- main/constants.ts | 11 +- main/data/data.json | 5 + main/ipc/handleNpmRegistry.ts | 23 ++ main/ipc/index.ts | 6 + main/npm/checkNpmInstalled.ts | 7 + main/npm/registry.ts | 34 ++ .../IDEExtension/vscodeExtension.ts | 4 +- .../packageInstaller/IDEExtensionInstaller.ts | 4 +- main/types/index.ts | 8 + main/utils/checkCommandInstalled.ts | 7 + main/utils/isCommandInstalled.ts | 7 - package-lock.json | 333 +++++++++--------- package.json | 2 + renderer/src/interfaces/index.ts | 8 +- .../components/InstallConfirmDialog/index.tsx | 4 +- renderer/src/pages/Dashboard/index.tsx | 6 +- renderer/src/pages/Dashboard/model.ts | 12 +- .../index.module.scss | 0 .../index.tsx | 2 +- .../index.module.scss | 30 +- .../{InstallStep => NodeInstaller}/index.tsx | 62 ++-- .../components/NodeVersion/index.module.scss | 21 ++ .../Node/components/NodeVersion/index.tsx | 52 +++ .../components/NpmRegistry/index.module.scss | 14 + .../Node/components/NpmRegistry/index.tsx | 72 ++++ renderer/src/pages/Node/index.module.scss | 20 +- renderer/src/pages/Node/index.tsx | 100 ++---- .../Node/{model.ts => models/nodeVersion.ts} | 25 +- renderer/src/pages/Node/models/registry.ts | 33 ++ renderer/src/pages/Node/store.ts | 15 +- renderer/tsconfig.json | 3 +- 31 files changed, 596 insertions(+), 334 deletions(-) create mode 100644 main/ipc/handleNpmRegistry.ts create mode 100644 main/npm/checkNpmInstalled.ts create mode 100644 main/npm/registry.ts create mode 100644 main/utils/checkCommandInstalled.ts delete mode 100644 main/utils/isCommandInstalled.ts rename renderer/src/pages/Node/components/{InstallResult => NodeInstallResult}/index.module.scss (100%) rename renderer/src/pages/Node/components/{InstallResult => NodeInstallResult}/index.tsx (98%) rename renderer/src/pages/Node/components/{InstallStep => NodeInstaller}/index.module.scss (64%) rename renderer/src/pages/Node/components/{InstallStep => NodeInstaller}/index.tsx (79%) create mode 100644 renderer/src/pages/Node/components/NodeVersion/index.module.scss create mode 100644 renderer/src/pages/Node/components/NodeVersion/index.tsx create mode 100644 renderer/src/pages/Node/components/NpmRegistry/index.module.scss create mode 100644 renderer/src/pages/Node/components/NpmRegistry/index.tsx rename renderer/src/pages/Node/{model.ts => models/nodeVersion.ts} (80%) create mode 100644 renderer/src/pages/Node/models/registry.ts diff --git a/main/constants.ts b/main/constants.ts index 24c623b..ee319c3 100644 --- a/main/constants.ts +++ b/main/constants.ts @@ -25,12 +25,13 @@ export const INSTALL_COMMAND_PACKAGES = [ commandRelativePath: './Contents/Resources/app/bin/code', }, ]; - export const NOT_REINSTALL_PACKAGES = ['npm']; - +// bash profile +export const PROFILE_FILES = ['.bash_profile', '.bashrc', '.zshrc']; +export const DEFAULT_PROFILE_FILE = '.bash_profile'; +// npm +export const NPMRC_PATH = path.join(process.env[(process.platform === 'win32') ? 'USERPROFILE' : 'HOME'], '.npmrc'); +export const NPM_REGISTRY = 'https://registry.npmjs.org/'; export const TAOBAO_NPM_REGISTRY = 'https://registry.npm.taobao.org'; export const ALI_NPM_REGISTRY = 'https://registry.npm.alibaba-inc.com/'; export const TAOBAO_NODE_MIRROR = 'https://npm.taobao.org/mirrors/node'; - -export const PROFILE_FILES = ['.bash_profile', '.bashrc', '.zshrc']; -export const DEFAULT_PROFILE_FILE = '.bash_profile'; diff --git a/main/data/data.json b/main/data/data.json index f0cbd53..c22e3bc 100644 --- a/main/data/data.json +++ b/main/data/data.json @@ -114,6 +114,11 @@ "registry": "https://registry.npmjs.org/", "isInternal": false }, + { + "name": "yarn", + "registry": "https://registry.yarnpkg.com/", + "isInternal": false + }, { "name": "taobao", "registry": "https://registry.npm.taobao.org/", diff --git a/main/ipc/handleNpmRegistry.ts b/main/ipc/handleNpmRegistry.ts new file mode 100644 index 0000000..2b0840d --- /dev/null +++ b/main/ipc/handleNpmRegistry.ts @@ -0,0 +1,23 @@ +import { ipcMain, IpcMainInvokeEvent } from 'electron'; +import checkNpmInstalled from '../npm/checkNpmInstalled'; +import { getAllRegistries, setCurrentRegistry, getCurrentRegistry } from '../npm/registry'; + +export default () => { + ipcMain.handle('check-npm-installed', () => { + return checkNpmInstalled(); + }); + + ipcMain.handle('get-all-npm-registries', async () => { + const allRegistries = await getAllRegistries(); + return allRegistries; + }); + + ipcMain.handle('get-current-npm-registry', async () => { + const currentRegistry = await getCurrentRegistry(); + return currentRegistry; + }); + + ipcMain.handle('set-current-npm-registry', async (e: IpcMainInvokeEvent, registry: string) => { + await setCurrentRegistry(registry); + }); +}; diff --git a/main/ipc/index.ts b/main/ipc/index.ts index 5cc9d26..7ff34fd 100644 --- a/main/ipc/index.ts +++ b/main/ipc/index.ts @@ -2,10 +2,16 @@ import getBasePackagesInfo from './getBasePackagesInfo'; import installBasePackages from './installBasePackages'; import getNodeInfo from './getNodeInfo'; import installNode from './installNode'; +import handleNpmRegistry from './handleNpmRegistry'; export default () => { getBasePackagesInfo(); + installBasePackages(); + getNodeInfo(); + installNode(); + + handleNpmRegistry(); }; diff --git a/main/npm/checkNpmInstalled.ts b/main/npm/checkNpmInstalled.ts new file mode 100644 index 0000000..c176a98 --- /dev/null +++ b/main/npm/checkNpmInstalled.ts @@ -0,0 +1,7 @@ +import checkCommandInstalled from '../utils/checkCommandInstalled'; + +function checkNpmInstalled() { + return checkCommandInstalled('npm'); +} + +export default checkNpmInstalled; diff --git a/main/npm/registry.ts b/main/npm/registry.ts new file mode 100644 index 0000000..dbffb32 --- /dev/null +++ b/main/npm/registry.ts @@ -0,0 +1,34 @@ +import * as ini from 'ini'; +import * as fse from 'fs-extra'; +import store, { packagesDataKey } from '../store'; +import { INPMRegistry } from '../types'; +import { NPMRC_PATH, NPM_REGISTRY } from '../constants'; +import checkIsAliInternal from '../utils/checkIsAliInternal'; + +const REGISTRY_FIELD = 'registry'; + +export async function getCurrentRegistry() { + const npmrc = await getNpmInfo(); + return npmrc[REGISTRY_FIELD] || NPM_REGISTRY; +} + +export async function setCurrentRegistry(registry: string) { + const npmrc = await getNpmInfo(); + npmrc[REGISTRY_FIELD] = registry; + await fse.writeFile(NPMRC_PATH, ini.stringify(npmrc)); +} + +export async function getAllRegistries() { + const isAliInternal = await checkIsAliInternal(); + const data = store.get(packagesDataKey); + const { npmRegistries = [] }: { npmRegistries: INPMRegistry[] } = data; + return npmRegistries.filter((npmRegistry) => { + return isAliInternal ? true : !npmRegistry.isInternal; + }); +} + +async function getNpmInfo() { + const npmrcExists = await fse.pathExists(NPMRC_PATH); + const npmrc = npmrcExists ? ini.parse(fse.readFileSync(NPMRC_PATH, 'utf-8')) : {}; + return npmrc; +} diff --git a/main/packageInfo/IDEExtension/vscodeExtension.ts b/main/packageInfo/IDEExtension/vscodeExtension.ts index 9afc749..aae98fa 100644 --- a/main/packageInfo/IDEExtension/vscodeExtension.ts +++ b/main/packageInfo/IDEExtension/vscodeExtension.ts @@ -1,5 +1,5 @@ import * as execa from 'execa'; -import isCliInstalled from '../../utils/isCommandInstalled'; +import checkCommandInstalled from '../../utils/checkCommandInstalled'; import { VSCODE_COMMAND_NAME } from '../../constants'; import { ILocalPackageInfo } from '../../types'; @@ -8,7 +8,7 @@ async function getVSCodeExtensionInfo(name: string) { versionStatus: 'uninstalled', localVersion: null, }; - if (isCliInstalled(VSCODE_COMMAND_NAME)) { + if (checkCommandInstalled(VSCODE_COMMAND_NAME)) { const { stdout } = await execa( VSCODE_COMMAND_NAME, ['--list-extensions', '--show-versions'], diff --git a/main/packageInstaller/IDEExtensionInstaller.ts b/main/packageInstaller/IDEExtensionInstaller.ts index 26df6a9..06f103e 100644 --- a/main/packageInstaller/IDEExtensionInstaller.ts +++ b/main/packageInstaller/IDEExtensionInstaller.ts @@ -1,6 +1,6 @@ import * as path from 'path'; import * as execa from 'execa'; -import isCommandInstalled from '../utils/isCommandInstalled'; +import checkCommandInstalled from '../utils/checkCommandInstalled'; import { IPackageInfo, IPackageInstaller, IPackagesData, Platform } from '../types'; import { INSTALL_COMMAND_PACKAGES, VSCODE_COMMAND_NAME, VSCODE_NAME } from '../constants'; import writeLog from '../utils/writeLog'; @@ -61,7 +61,7 @@ class IDEExtensionInstaller implements IPackageInstaller { }; private ensureVSCodeCommandInstalled = async () => { - if (!isCommandInstalled(VSCODE_COMMAND_NAME)) { + if (!checkCommandInstalled(VSCODE_COMMAND_NAME)) { writeLog(this.channel, `VS Code command '${VSCODE_COMMAND_NAME}' was not installed.`, true, 'error'); // try to install code command to the path diff --git a/main/types/index.ts b/main/types/index.ts index 83875e0..d55cfea 100644 --- a/main/types/index.ts +++ b/main/types/index.ts @@ -56,8 +56,16 @@ export interface INodeVersions { majors: Array<{ version: string; title: string }>; } +export interface INPMRegistry { + name: string; + registry: string; + isInternal: boolean; +} + export interface IPackagesData { bases: IBasePackageInfo[]; apps: IBasePackageInfo[]; + + npmRegistries: INPMRegistry[]; } diff --git a/main/utils/checkCommandInstalled.ts b/main/utils/checkCommandInstalled.ts new file mode 100644 index 0000000..3b18897 --- /dev/null +++ b/main/utils/checkCommandInstalled.ts @@ -0,0 +1,7 @@ +import * as shell from 'shelljs'; + +function checkCommandInstalled(command: string) { + return !!shell.which(command); +} + +export default checkCommandInstalled; diff --git a/main/utils/isCommandInstalled.ts b/main/utils/isCommandInstalled.ts deleted file mode 100644 index b756330..0000000 --- a/main/utils/isCommandInstalled.ts +++ /dev/null @@ -1,7 +0,0 @@ -import * as shell from 'shelljs'; - -function isCommandInstalled(command: string) { - return !!shell.which(command); -} - -export default isCommandInstalled; diff --git a/package-lock.json b/package-lock.json index 322e15f..2db7658 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "appworks-toolkit", - "version": "0.1.1", + "version": "0.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -21,7 +21,7 @@ }, "@appworks/recorder": { "version": "1.0.0", - "resolved": "https://registry.nlark.com/@appworks/recorder/download/@appworks/recorder-1.0.0.tgz?cache=0&sync_timestamp=1625457908685&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40appworks%2Frecorder%2Fdownload%2F%40appworks%2Frecorder-1.0.0.tgz", + "resolved": "https://registry.nlark.com/@appworks/recorder/download/@appworks/recorder-1.0.0.tgz", "integrity": "sha1-8e6/YAL5BVA4+/7tdsnsqeOvZH0=", "requires": { "@appworks/configure": "^0.1.0", @@ -87,15 +87,6 @@ "ms": "2.1.2" } }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz", - "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", @@ -876,7 +867,7 @@ "dependencies": { "typescript": { "version": "3.9.10", - "resolved": "https://registry.nlark.com/typescript/download/typescript-3.9.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftypescript%2Fdownload%2Ftypescript-3.9.10.tgz", + "resolved": "https://registry.nlark.com/typescript/download/typescript-3.9.10.tgz", "integrity": "sha1-cPORCselHta+952ngAaQsZv3eLg=" } } @@ -1116,9 +1107,9 @@ "dev": true }, "@types/cacheable-request": { - "version": "6.0.1", - "resolved": "https://registry.nlark.com/@types/cacheable-request/download/@types/cacheable-request-6.0.1.tgz?cache=0&sync_timestamp=1621240709266&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fcacheable-request%2Fdownload%2F%40types%2Fcacheable-request-6.0.1.tgz", - "integrity": "sha1-XSLz3e0f06hMC761A5p0GcLJGXY=", + "version": "6.0.2", + "resolved": "https://registry.nlark.com/@types/cacheable-request/download/@types/cacheable-request-6.0.2.tgz?cache=0&sync_timestamp=1625596835916&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fcacheable-request%2Fdownload%2F%40types%2Fcacheable-request-6.0.2.tgz", + "integrity": "sha1-wyTaAZfeCpiiMSFWU2riYkKf9rk=", "requires": { "@types/http-cache-semantics": "*", "@types/keyv": "*", @@ -1133,27 +1124,27 @@ "dev": true }, "@types/decompress": { - "version": "4.2.3", - "resolved": "https://registry.nlark.com/@types/decompress/download/@types/decompress-4.2.3.tgz?cache=0&sync_timestamp=1621241049411&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fdecompress%2Fdownload%2F%40types%2Fdecompress-4.2.3.tgz", - "integrity": "sha1-mO7UivgAAQOKoFaQsglJFfKW/mU=", + "version": "4.2.4", + "resolved": "https://registry.nlark.com/@types/decompress/download/@types/decompress-4.2.4.tgz", + "integrity": "sha1-3ScV06wfVm0D5uMC0aJv+rWfjFw=", "dev": true, "requires": { "@types/node": "*" } }, "@types/fs-extra": { - "version": "9.0.11", - "resolved": "https://registry.nlark.com/@types/fs-extra/download/@types/fs-extra-9.0.11.tgz", - "integrity": "sha1-jMmeEDSZ6rnzR9vGyk6Z+40sK4c=", + "version": "9.0.12", + "resolved": "https://registry.nlark.com/@types/fs-extra/download/@types/fs-extra-9.0.12.tgz", + "integrity": "sha1-m48nlz34p6OSDoRhUX6/in1P368=", "dev": true, "requires": { "@types/node": "*" } }, "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.nlark.com/@types/glob/download/@types/glob-7.1.3.tgz", - "integrity": "sha1-5rqA82t9qtLGhazZJmOC5omFwYM=", + "version": "7.1.4", + "resolved": "https://registry.nlark.com/@types/glob/download/@types/glob-7.1.4.tgz", + "integrity": "sha1-6lniHS7lxReRTLS8jkFTuZ5WZnI=", "dev": true, "requires": { "@types/minimatch": "*", @@ -1161,9 +1152,15 @@ } }, "@types/http-cache-semantics": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/@types/http-cache-semantics/download/@types/http-cache-semantics-4.0.0.tgz", - "integrity": "sha1-kUB3lzaqJlVjXudW4kZ9eHz+iio=" + "version": "4.0.1", + "resolved": "https://registry.nlark.com/@types/http-cache-semantics/download/@types/http-cache-semantics-4.0.1.tgz?cache=0&sync_timestamp=1625607856094&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fhttp-cache-semantics%2Fdownload%2F%40types%2Fhttp-cache-semantics-4.0.1.tgz", + "integrity": "sha1-Dqe2FJaQK5WJDcTDoRa2DLja6BI=" + }, + "@types/ini": { + "version": "1.3.30", + "resolved": "https://registry.nlark.com/@types/ini/download/@types/ini-1.3.30.tgz", + "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=", + "dev": true }, "@types/istanbul-lib-coverage": { "version": "2.0.3", @@ -1188,55 +1185,49 @@ } }, "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.7.tgz", - "integrity": "sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0=", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.nlark.com/@types/json5/download/@types/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "version": "7.0.8", + "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.8.tgz", + "integrity": "sha1-7fG/Hb9OBEE8qOWxezt9fVS1mBg=", "dev": true }, "@types/keyv": { - "version": "3.1.1", - "resolved": "https://registry.nlark.com/@types/keyv/download/@types/keyv-3.1.1.tgz", - "integrity": "sha1-5FpFMk/KnatxarEjDuJJyftSz6c=", + "version": "3.1.2", + "resolved": "https://registry.nlark.com/@types/keyv/download/@types/keyv-3.1.2.tgz?cache=0&sync_timestamp=1625610098677&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fkeyv%2Fdownload%2F%40types%2Fkeyv-3.1.2.tgz", + "integrity": "sha1-XZe7ZVJsILbghF9rDSreTyhgTuU=", "requires": { "@types/node": "*" } }, "@types/mdast": { - "version": "3.0.3", - "resolved": "https://registry.nlark.com/@types/mdast/download/@types/mdast-3.0.3.tgz?cache=0&sync_timestamp=1621241822534&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fmdast%2Fdownload%2F%40types%2Fmdast-3.0.3.tgz", - "integrity": "sha1-LX1nGxzR6j3rMG6nUDbCoEB9Les=", + "version": "3.0.4", + "resolved": "https://registry.nlark.com/@types/mdast/download/@types/mdast-3.0.4.tgz", + "integrity": "sha1-jua1IAdRtsrbmgQ8o5YSaTrWy54=", "dev": true, "requires": { "@types/unist": "*" } }, "@types/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.4.tgz", - "integrity": "sha1-8Owl2/Lw5LGGRzE6wDETTKWySyE=", + "version": "3.0.5", + "resolved": "https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz", + "integrity": "sha1-EAHMXmo3BLg8I2An538vWOoBD0A=", "dev": true }, "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.nlark.com/@types/minimist/download/@types/minimist-1.2.1.tgz", - "integrity": "sha1-KD9mn/dte4Jg34q3pCYsyD2YglY=", + "version": "1.2.2", + "resolved": "https://registry.nlark.com/@types/minimist/download/@types/minimist-1.2.2.tgz?cache=0&sync_timestamp=1625616230224&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimist%2Fdownload%2F%40types%2Fminimist-1.2.2.tgz", + "integrity": "sha1-7nceK6Sz3Fs3KTXVSf2WF780W4w=", "dev": true }, "@types/node": { - "version": "16.0.0", - "resolved": "https://registry.nlark.com/@types/node/download/@types/node-16.0.0.tgz", - "integrity": "sha1-BnpsSdx6XCQSpQVijiaQKulnv28=" + "version": "16.0.1", + "resolved": "https://registry.nlark.com/@types/node/download/@types/node-16.0.1.tgz?cache=0&sync_timestamp=1625675711917&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-16.0.1.tgz", + "integrity": "sha1-cM7f2iaveiygc/3Mm+sv/0qmk/g=" }, "@types/node-fetch": { - "version": "2.5.10", - "resolved": "https://registry.nlark.com/@types/node-fetch/download/@types/node-fetch-2.5.10.tgz", - "integrity": "sha1-m01KBCVWL5/OpwsSyz/N2UbKgTI=", + "version": "2.5.11", + "resolved": "https://registry.nlark.com/@types/node-fetch/download/@types/node-fetch-2.5.11.tgz", + "integrity": "sha1-ziKi5l/ImZ9Nvbfdu88YfXVRaeQ=", "dev": true, "requires": { "@types/node": "*", @@ -1257,9 +1248,9 @@ } }, "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.nlark.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz?cache=0&sync_timestamp=1621242027779&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.0.tgz", - "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=", + "version": "2.4.1", + "resolved": "https://registry.nlark.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.1.tgz", + "integrity": "sha1-0zV0eaD9/dWQf+Z+F+CoXJBuEwE=", "dev": true }, "@types/parse-json": { @@ -1288,14 +1279,14 @@ } }, "@types/semver": { - "version": "7.3.6", - "resolved": "https://registry.nlark.com/@types/semver/download/@types/semver-7.3.6.tgz?cache=0&sync_timestamp=1620925383788&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fsemver%2Fdownload%2F%40types%2Fsemver-7.3.6.tgz", - "integrity": "sha1-6YMXdvRRKnum2lPnHCbl+2eILWM=" + "version": "7.3.7", + "resolved": "https://registry.nlark.com/@types/semver/download/@types/semver-7.3.7.tgz", + "integrity": "sha1-ueuJ19+nDV0c5SW8FBGjU0f1M6M=" }, "@types/shelljs": { - "version": "0.8.8", - "resolved": "https://registry.nlark.com/@types/shelljs/download/@types/shelljs-0.8.8.tgz?cache=0&sync_timestamp=1621243494131&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fshelljs%2Fdownload%2F%40types%2Fshelljs-0.8.8.tgz", - "integrity": "sha1-5DnGmSm4iiyBI8GlXgnrcIMVrd8=", + "version": "0.8.9", + "resolved": "https://registry.nlark.com/@types/shelljs/download/@types/shelljs-0.8.9.tgz?cache=0&sync_timestamp=1625591043397&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fshelljs%2Fdownload%2F%40types%2Fshelljs-0.8.9.tgz", + "integrity": "sha1-Rd2FAaqYgpdso2EFF9rDgxwvu/Q=", "dev": true, "requires": { "@types/glob": "*", @@ -1303,9 +1294,9 @@ } }, "@types/unist": { - "version": "2.0.4", - "resolved": "https://registry.nlark.com/@types/unist/download/@types/unist-2.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Funist%2Fdownload%2F%40types%2Funist-2.0.4.tgz", - "integrity": "sha1-RT4nxpMNZjgLTBIefV42HFwtkhs=", + "version": "2.0.5", + "resolved": "https://registry.nlark.com/@types/unist/download/@types/unist-2.0.5.tgz", + "integrity": "sha1-/dKZ8jIFw0Va+IzmGN1lwUy3PiI=", "dev": true }, "@types/verror": { @@ -1317,7 +1308,7 @@ }, "@types/yargs": { "version": "15.0.14", - "resolved": "https://registry.nlark.com/@types/yargs/download/@types/yargs-15.0.14.tgz?cache=0&sync_timestamp=1625243752176&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fyargs%2Fdownload%2F%40types%2Fyargs-15.0.14.tgz", + "resolved": "https://registry.nlark.com/@types/yargs/download/@types/yargs-15.0.14.tgz", "integrity": "sha1-Jtgh3biecEkhYLZtEKDrbfj2+wY=", "requires": { "@types/yargs-parser": "*" @@ -1329,13 +1320,13 @@ "integrity": "sha1-O5ziSJkZ2eT+pDm3aRarw0st8Sk=" }, "@typescript-eslint/eslint-plugin": { - "version": "4.28.1", - "resolved": "https://registry.nlark.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.28.1.tgz", - "integrity": "sha1-wEXkQBlq5FRk4I4gw4r/XDqCWUc=", + "version": "4.28.2", + "resolved": "https://registry.nlark.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.28.2.tgz", + "integrity": "sha1-eoMg8AFBZmgT0K5DtJ7oJE98+So=", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.28.1", - "@typescript-eslint/scope-manager": "4.28.1", + "@typescript-eslint/experimental-utils": "4.28.2", + "@typescript-eslint/scope-manager": "4.28.2", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -1361,28 +1352,28 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "4.28.1", - "resolved": "https://registry.nlark.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.28.1.tgz", - "integrity": "sha1-OGlIncyjwYUjxGAYuJluFZSNutw=", + "version": "4.28.2", + "resolved": "https://registry.nlark.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.28.2.tgz", + "integrity": "sha1-Tr3sBqEIiOkybh1R2BrVKjYb0LA=", "dev": true, "requires": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.28.1", - "@typescript-eslint/types": "4.28.1", - "@typescript-eslint/typescript-estree": "4.28.1", + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/parser": { - "version": "4.28.1", - "resolved": "https://registry.nlark.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.28.1.tgz", - "integrity": "sha1-UYG4FlhBT0cpFFLBW/bNRKMvhb0=", + "version": "4.28.2", + "resolved": "https://registry.nlark.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.28.2.tgz?cache=0&sync_timestamp=1625505417367&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-4.28.2.tgz", + "integrity": "sha1-av8Rv0uR62fKdReWLu3pUenioV0=", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.28.1", - "@typescript-eslint/types": "4.28.1", - "@typescript-eslint/typescript-estree": "4.28.1", + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", "debug": "^4.3.1" }, "dependencies": { @@ -1404,29 +1395,29 @@ } }, "@typescript-eslint/scope-manager": { - "version": "4.28.1", - "resolved": "https://registry.nlark.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.28.1.tgz?cache=0&sync_timestamp=1624900649821&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fscope-manager%2Fdownload%2F%40typescript-eslint%2Fscope-manager-4.28.1.tgz", - "integrity": "sha1-/TwgYnzcEpM/bZizhpQNjQzoqZE=", + "version": "4.28.2", + "resolved": "https://registry.nlark.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.28.2.tgz", + "integrity": "sha1-RR3OkDA6POKDdQERSV00ycIE5RA=", "dev": true, "requires": { - "@typescript-eslint/types": "4.28.1", - "@typescript-eslint/visitor-keys": "4.28.1" + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2" } }, "@typescript-eslint/types": { - "version": "4.28.1", - "resolved": "https://registry.nlark.com/@typescript-eslint/types/download/@typescript-eslint/types-4.28.1.tgz?cache=0&sync_timestamp=1624900647755&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Ftypes%2Fdownload%2F%40typescript-eslint%2Ftypes-4.28.1.tgz", - "integrity": "sha1-0PLsvvNoRjTbNXubv8l7lLgo+D8=", + "version": "4.28.2", + "resolved": "https://registry.nlark.com/@typescript-eslint/types/download/@typescript-eslint/types-4.28.2.tgz?cache=0&sync_timestamp=1625505407747&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Ftypes%2Fdownload%2F%40typescript-eslint%2Ftypes-4.28.2.tgz", + "integrity": "sha1-5rniNODppmxNJbq4gWYekUeCI7U=", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.28.1", - "resolved": "https://registry.nlark.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.28.1.tgz", - "integrity": "sha1-r4gq5BdA0fJo44tND60h5+jYaoE=", + "version": "4.28.2", + "resolved": "https://registry.nlark.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.28.2.tgz", + "integrity": "sha1-aAEpsqKFKJoV58YQjIRzmt86eYw=", "dev": true, "requires": { - "@typescript-eslint/types": "4.28.1", - "@typescript-eslint/visitor-keys": "4.28.1", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -1452,12 +1443,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.28.1", - "resolved": "https://registry.nlark.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.28.1.tgz", - "integrity": "sha1-FipRXuJV8YpgaO3CbfeTzcHskVc=", + "version": "4.28.2", + "resolved": "https://registry.nlark.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.28.2.tgz?cache=0&sync_timestamp=1625505419663&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fvisitor-keys%2Fdownload%2F%40typescript-eslint%2Fvisitor-keys-4.28.2.tgz", + "integrity": "sha1-v1akAIV7totZsxHm0KX771w7UTA=", "dev": true, "requires": { - "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/types": "4.28.2", "eslint-visitor-keys": "^2.0.0" } }, @@ -2320,9 +2311,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001242", - "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001242.tgz?cache=0&sync_timestamp=1625381800338&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001242.tgz", - "integrity": "sha1-BCAWJ6vNYNyJIR8iy+I0cwbNpGs=", + "version": "1.0.30001243", + "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001243.tgz", + "integrity": "sha1-2SUBVckehyGGZxxSPzrlDPyUo6o=", "dev": true }, "caseless": { @@ -2833,6 +2824,15 @@ "requires": { "ini": "^1.3.4", "proto-list": "~1.2.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "dev": true, + "optional": true + } } }, "configstore": { @@ -3470,9 +3470,9 @@ } }, "electron": { - "version": "12.0.9", - "resolved": "https://registry.nlark.com/electron/download/electron-12.0.9.tgz?cache=0&sync_timestamp=1625174434655&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron%2Fdownload%2Felectron-12.0.9.tgz", - "integrity": "sha1-1YKvqPb8DEKWBvCWGkyJs3aZSCM=", + "version": "12.0.14", + "resolved": "https://registry.nlark.com/electron/download/electron-12.0.14.tgz", + "integrity": "sha1-fFVH+CSGM6S7u6iciMV6qeZBCJI=", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -3481,9 +3481,9 @@ }, "dependencies": { "@types/node": { - "version": "14.17.4", - "resolved": "https://registry.nlark.com/@types/node/download/@types/node-14.17.4.tgz", - "integrity": "sha1-IYcSJCRG/IaNDgB68ppECMd2W8A=", + "version": "14.17.5", + "resolved": "https://registry.nlark.com/@types/node/download/@types/node-14.17.5.tgz?cache=0&sync_timestamp=1625675711917&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.17.5.tgz", + "integrity": "sha1-tZ2van/6RhtWSEVspZBQuo5A7VQ=", "dev": true } } @@ -3510,7 +3510,7 @@ "dependencies": { "@types/yargs": { "version": "16.0.4", - "resolved": "https://registry.nlark.com/@types/yargs/download/@types/yargs-16.0.4.tgz?cache=0&sync_timestamp=1625243752176&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fyargs%2Fdownload%2F%40types%2Fyargs-16.0.4.tgz", + "resolved": "https://registry.nlark.com/@types/yargs/download/@types/yargs-16.0.4.tgz", "integrity": "sha1-JqrZjdLCo45CEIbqmtQrnlFkKXc=", "dev": true, "requires": { @@ -3718,9 +3718,9 @@ } }, "electron-to-chromium": { - "version": "1.3.766", - "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.766.tgz", - "integrity": "sha1-L9FKTlT3dmWHL04j/PSWjoNjgiA=", + "version": "1.3.770", + "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.770.tgz?cache=0&sync_timestamp=1625709775699&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.770.tgz", + "integrity": "sha1-qecFpzMV9JAIgGIrOrds8dciG3c=", "dev": true }, "electron-updater": { @@ -4033,7 +4033,7 @@ }, "globals": { "version": "12.4.0", - "resolved": "https://registry.nlark.com/globals/download/globals-12.4.0.tgz", + "resolved": "https://registry.nlark.com/globals/download/globals-12.4.0.tgz?cache=0&sync_timestamp=1625655787416&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobals%2Fdownload%2Fglobals-12.4.0.tgz", "integrity": "sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg=", "dev": true, "requires": { @@ -4406,15 +4406,15 @@ "dev": true }, "eslint-plugin-vue": { - "version": "7.12.1", - "resolved": "https://registry.nlark.com/eslint-plugin-vue/download/eslint-plugin-vue-7.12.1.tgz?cache=0&sync_timestamp=1624613908830&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-7.12.1.tgz", - "integrity": "sha1-72SZzk/gVmZZyOEscXE/UwhjCnY=", + "version": "7.13.0", + "resolved": "https://registry.nlark.com/eslint-plugin-vue/download/eslint-plugin-vue-7.13.0.tgz?cache=0&sync_timestamp=1625569822737&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-7.13.0.tgz", + "integrity": "sha1-bz0jK/H80EKDU7DVgeusocXbwXo=", "dev": true, "requires": { "eslint-utils": "^2.1.0", "natural-compare": "^1.4.0", "semver": "^7.3.2", - "vue-eslint-parser": "^7.6.0" + "vue-eslint-parser": "^7.8.0" }, "dependencies": { "eslint-utils": { @@ -4785,7 +4785,7 @@ }, "flatted": { "version": "2.0.2", - "resolved": "https://registry.nlark.com/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1625177060866&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz", + "resolved": "https://registry.nlark.com/flatted/download/flatted-2.0.2.tgz", "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=", "dev": true }, @@ -5080,6 +5080,14 @@ "dev": true, "requires": { "ini": "^1.3.4" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "dev": true + } } }, "global-modules": { @@ -5102,6 +5110,12 @@ "which": "^1.3.1" }, "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "dev": true + }, "which": { "version": "1.3.1", "resolved": "https://registry.nlark.com/which/download/which-1.3.1.tgz", @@ -5128,7 +5142,7 @@ }, "globals": { "version": "11.12.0", - "resolved": "https://registry.nlark.com/globals/download/globals-11.12.0.tgz", + "resolved": "https://registry.nlark.com/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1625655787416&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz", "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", "dev": true }, @@ -5401,7 +5415,7 @@ }, "husky": { "version": "6.0.0", - "resolved": "https://registry.nlark.com/husky/download/husky-6.0.0.tgz?cache=0&sync_timestamp=1625114256445&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhusky%2Fdownload%2Fhusky-6.0.0.tgz", + "resolved": "https://registry.nlark.com/husky/download/husky-6.0.0.tgz", "integrity": "sha1-gQ8RhprfUWBMMupXftvDd9f5MZ4=", "dev": true }, @@ -5539,10 +5553,9 @@ "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" }, "ini": { - "version": "1.3.8", - "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", - "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.nlark.com/ini/download/ini-2.0.0.tgz", + "integrity": "sha1-5f1Vbs3VcmvpePoQAYYurLCpS8U=" }, "inquirer": { "version": "7.3.3", @@ -5724,12 +5737,6 @@ "requires": { "ini": "2.0.0" } - }, - "ini": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/ini/download/ini-2.0.0.tgz", - "integrity": "sha1-5f1Vbs3VcmvpePoQAYYurLCpS8U=", - "dev": true } } }, @@ -6061,12 +6068,12 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", - "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz", + "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" } }, "jsonfile": { @@ -6127,7 +6134,7 @@ }, "known-css-properties": { "version": "0.21.0", - "resolved": "https://registry.npm.taobao.org/known-css-properties/download/known-css-properties-0.21.0.tgz", + "resolved": "https://registry.nlark.com/known-css-properties/download/known-css-properties-0.21.0.tgz", "integrity": "sha1-FfvQu7g0R/POCdivJH7UfGjt6A0=", "dev": true }, @@ -7627,6 +7634,14 @@ "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "dev": true + } } }, "react-is": { @@ -7645,17 +7660,6 @@ "js-yaml": "^4.1.0", "json5": "^2.2.0", "lazy-val": "^1.0.4" - }, - "dependencies": { - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz", - "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } } }, "read-pkg": { @@ -8038,7 +8042,7 @@ }, "rxjs": { "version": "6.6.7", - "resolved": "https://registry.nlark.com/rxjs/download/rxjs-6.6.7.tgz?cache=0&sync_timestamp=1621619391474&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frxjs%2Fdownload%2Frxjs-6.6.7.tgz", + "resolved": "https://registry.nlark.com/rxjs/download/rxjs-6.6.7.tgz?cache=0&sync_timestamp=1625506603452&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frxjs%2Fdownload%2Frxjs-6.6.7.tgz", "integrity": "sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk=", "dev": true, "requires": { @@ -8631,9 +8635,9 @@ } }, "flatted": { - "version": "3.2.0", - "resolved": "https://registry.nlark.com/flatted/download/flatted-3.2.0.tgz?cache=0&sync_timestamp=1625177060866&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fflatted%2Fdownload%2Fflatted-3.2.0.tgz", - "integrity": "sha1-2gf7iAgFCrpv3qwilFQuUENYPwU=", + "version": "3.2.1", + "resolved": "https://registry.nlark.com/flatted/download/flatted-3.2.1.tgz", + "integrity": "sha1-u+8IDZX8pnCTYscwRKFjT3xufQU=", "dev": true }, "import-lazy": { @@ -9130,13 +9134,12 @@ } }, "tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npm.taobao.org/tsconfig-paths/download/tsconfig-paths-3.9.0.tgz", - "integrity": "sha1-CYVHpsREiAfo/Ljq4IEGTumjyQs=", + "version": "3.10.1", + "resolved": "https://registry.nlark.com/tsconfig-paths/download/tsconfig-paths-3.10.1.tgz", + "integrity": "sha1-ea5npowVKJ/fXFHLdPOXUi15Xtc=", "dev": true, "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", + "json5": "^2.2.0", "minimist": "^1.2.0", "strip-bom": "^3.0.0" } @@ -9213,7 +9216,7 @@ }, "typescript": { "version": "4.3.5", - "resolved": "https://registry.nlark.com/typescript/download/typescript-4.3.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftypescript%2Fdownload%2Ftypescript-4.3.5.tgz", + "resolved": "https://registry.nlark.com/typescript/download/typescript-4.3.5.tgz", "integrity": "sha1-TRw3zBbok5c8RaBohrcRMjTxGfQ=", "dev": true }, @@ -9249,7 +9252,7 @@ }, "unified": { "version": "9.2.1", - "resolved": "https://registry.nlark.com/unified/download/unified-9.2.1.tgz", + "resolved": "https://registry.nlark.com/unified/download/unified-9.2.1.tgz?cache=0&sync_timestamp=1625559996933&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funified%2Fdownload%2Funified-9.2.1.tgz", "integrity": "sha1-rhjVZ0wRQCG/299zhlymD0ECFaM=", "dev": true, "requires": { @@ -9375,9 +9378,9 @@ } }, "urllib": { - "version": "2.37.2", - "resolved": "https://registry.nlark.com/urllib/download/urllib-2.37.2.tgz?cache=0&sync_timestamp=1623051138819&other_urls=https%3A%2F%2Fregistry.nlark.com%2Furllib%2Fdownload%2Furllib-2.37.2.tgz", - "integrity": "sha1-R5npGpyS1nQdxv3Uy5/3ZPvZsFk=", + "version": "2.37.3", + "resolved": "https://registry.nlark.com/urllib/download/urllib-2.37.3.tgz", + "integrity": "sha1-5QRKVJR/vp/gBhiLvnMEGXAzQRE=", "dev": true, "requires": { "any-promise": "^1.3.0", @@ -9505,9 +9508,9 @@ } }, "vue-eslint-parser": { - "version": "7.7.2", - "resolved": "https://registry.nlark.com/vue-eslint-parser/download/vue-eslint-parser-7.7.2.tgz?cache=0&sync_timestamp=1625222026267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-7.7.2.tgz", - "integrity": "sha1-pyMICynCf6Czc3vtzq7r4w/Q81k=", + "version": "7.8.0", + "resolved": "https://registry.nlark.com/vue-eslint-parser/download/vue-eslint-parser-7.8.0.tgz", + "integrity": "sha1-Q4UL+FbJpp1iwOEnaWCcM4QjaEs=", "dev": true, "requires": { "debug": "^4.1.1", diff --git a/package.json b/package.json index 2765c7b..62060ec 100644 --- a/package.json +++ b/package.json @@ -91,6 +91,7 @@ "fs-extra": "^9.1.0", "globby": "^11.0.3", "ice-npm-utils": "^2.1.1", + "ini": "^2.0.0", "node-cache": "^5.1.2", "node-fetch": "^2.6.1", "shelljs": "^0.8.4", @@ -101,6 +102,7 @@ "@commitlint/cli": "^12.1.1", "@iceworks/spec": "^1.0.0", "@types/decompress": "^4.2.3", + "@types/ini": "^1.3.30", "@types/node-fetch": "^2.5.10", "@types/shelljs": "^0.8.8", "ali-oss": "^6.15.2", diff --git a/renderer/src/interfaces/index.ts b/renderer/src/interfaces/index.ts index bf27a28..8b43c8c 100644 --- a/renderer/src/interfaces/index.ts +++ b/renderer/src/interfaces/index.ts @@ -1,4 +1,4 @@ -export interface IBasePackage { +export interface IPackageInfo { name: string; title: string; description: string; @@ -41,3 +41,9 @@ export interface INodeVersions { versions: string[]; majors: Array<{ version: string; title: string }>; } + +export interface INPMRegistry { + name: string; + registry: string; + isInternal: boolean; +} diff --git a/renderer/src/pages/Dashboard/components/InstallConfirmDialog/index.tsx b/renderer/src/pages/Dashboard/components/InstallConfirmDialog/index.tsx index dc97ab4..b4b1c4a 100644 --- a/renderer/src/pages/Dashboard/components/InstallConfirmDialog/index.tsx +++ b/renderer/src/pages/Dashboard/components/InstallConfirmDialog/index.tsx @@ -1,10 +1,10 @@ import { FC, useState } from 'react'; -import { IBasePackage } from '@/interfaces'; +import { IPackageInfo } from '@/interfaces'; import { Dialog, Checkbox } from '@alifd/next'; import styles from './index.module.scss'; interface IInstallConfirmDialog { - packages: IBasePackage[]; + packages: IPackageInfo[]; onCancel: () => void; onOk: (value: string[]) => void; } diff --git a/renderer/src/pages/Dashboard/index.tsx b/renderer/src/pages/Dashboard/index.tsx index 05d844d..fbe08d7 100644 --- a/renderer/src/pages/Dashboard/index.tsx +++ b/renderer/src/pages/Dashboard/index.tsx @@ -5,7 +5,7 @@ import classnames from 'classnames'; import PageHeader from '@/components/PageHeader'; import XtermTerminal from '@/components/XtermTerminal'; import xtermManager from '@/utils/xtermManager'; -import { IBasePackage } from '@/interfaces'; +import { IPackageInfo } from '@/interfaces'; import { STEP_STATUS_ICON } from '@/constants'; import AppCard from './components/AppCard'; import InstallConfirmDialog from './components/InstallConfirmDialog'; @@ -145,7 +145,7 @@ const Dashboard = () => { const installStepItem = (
- {selectedInstalledPackagesList.map((item: IBasePackage, index: number) => { + {selectedInstalledPackagesList.map((item: IPackageInfo, index: number) => { const { status } = pkgInstallStatuses[index] || {}; return ( {
) : ( - {basePackagesList.map((item: IBasePackage, index: number) => ( + {basePackagesList.map((item: IPackageInfo, index: number) => ( ({ name: item.name, status: 'wait' })); + prevState.pkgInstallStatuses = selectedInstalledPackagesList.map((item: IPackageInfo) => ({ name: item.name, status: 'wait' })); prevState.selectedInstalledPackagesList = selectedInstalledPackagesList; prevState.installResult = []; }, @@ -54,7 +54,7 @@ export default { async getBasePackages() { const data = await ipcRenderer.invoke('get-base-packages-info'); dispatch.dashboard.updateBasePackagesList(data); - const packagesList = data.filter((basePackage: IBasePackage) => { + const packagesList = data.filter((basePackage: IPackageInfo) => { return basePackage.versionStatus !== 'installed'; }); dispatch.dashboard.updateUninstalledPackagesList(packagesList); diff --git a/renderer/src/pages/Node/components/InstallResult/index.module.scss b/renderer/src/pages/Node/components/NodeInstallResult/index.module.scss similarity index 100% rename from renderer/src/pages/Node/components/InstallResult/index.module.scss rename to renderer/src/pages/Node/components/NodeInstallResult/index.module.scss diff --git a/renderer/src/pages/Node/components/InstallResult/index.tsx b/renderer/src/pages/Node/components/NodeInstallResult/index.tsx similarity index 98% rename from renderer/src/pages/Node/components/InstallResult/index.tsx rename to renderer/src/pages/Node/components/NodeInstallResult/index.tsx index 13dc32e..ae1e826 100644 --- a/renderer/src/pages/Node/components/InstallResult/index.tsx +++ b/renderer/src/pages/Node/components/NodeInstallResult/index.tsx @@ -5,7 +5,7 @@ import styles from './index.module.scss'; const { Group: TagGroup } = Tag; const InstallResult = ({ goBack, reinstallGlobalDeps }) => { - const [state] = store.useModel('node'); + const [state] = store.useModel('nodeVersion'); const { nodeInstallStatus, installResult, nodeInstallErrMsg } = state; const successTag = 成功; diff --git a/renderer/src/pages/Node/components/InstallStep/index.module.scss b/renderer/src/pages/Node/components/NodeInstaller/index.module.scss similarity index 64% rename from renderer/src/pages/Node/components/InstallStep/index.module.scss rename to renderer/src/pages/Node/components/NodeInstaller/index.module.scss index 06e7194..2194718 100644 --- a/renderer/src/pages/Node/components/InstallStep/index.module.scss +++ b/renderer/src/pages/Node/components/NodeInstaller/index.module.scss @@ -1,10 +1,4 @@ -.installStepContainer { - margin-top: 40px; -} - .step { - margin-bottom: 40px; - .stepItem { :global { .next-step-item-container { @@ -12,9 +6,12 @@ display: inline-flex; .next-step-item-node-placeholder { - width: 20px; - height: 20px; - + width: 22px; + height: 22px; + display: flex; + align-items: center; + justify-content: center; + .next-step-item-node { .next-icon:before { width: 20px; @@ -36,6 +33,21 @@ text-align: right; } +.cannelBtn { + margin-bottom: 30px; + align-self: flex-end; + margin-right: 5%; +} + .loading { + margin-top: 20px; width: 100%; } + +.term { + width: 100%; +} + +.form { + padding-top: 30px; +} \ No newline at end of file diff --git a/renderer/src/pages/Node/components/InstallStep/index.tsx b/renderer/src/pages/Node/components/NodeInstaller/index.tsx similarity index 79% rename from renderer/src/pages/Node/components/InstallStep/index.tsx rename to renderer/src/pages/Node/components/NodeInstaller/index.tsx index 02fc4a6..1adf348 100644 --- a/renderer/src/pages/Node/components/InstallStep/index.tsx +++ b/renderer/src/pages/Node/components/NodeInstaller/index.tsx @@ -4,24 +4,33 @@ import XtermTerminal from '@/components/XtermTerminal'; import xtermManager from '@/utils/xtermManager'; import { STEP_STATUS_ICON } from '@/constants'; import { ipcRenderer, IpcRendererEvent } from 'electron'; +import { IPackageInfo } from '@/interfaces'; import store from '../../store'; -import InstallResult from '../InstallResult'; +import InstallResult from '../NodeInstallResult'; import styles from './index.module.scss'; -interface IInstallStep { - managerName: string; - INSTALL_NODE_CHANNEL: string; - INSTALL_PROCESS_STATUS_CHANNEL: string; +interface INodeInstaller { goBack: () => void; } const defaultValues = { reinstallGlobalDeps: true }; -const InstallStep: FC = ({ managerName, INSTALL_NODE_CHANNEL, INSTALL_PROCESS_STATUS_CHANNEL, goBack }) => { - const [state, dispatchers] = store.useModel('node'); - const { nodeInstallFormValue, currentStep, nodeVersions, nodeInstallStatus, nodeInstallVisible } = state; - const effectsLoading = store.useModelEffectsLoading('node'); - const effectsErrors = store.useModelEffectsError('node'); +const NodeInstaller: FC = ({ goBack }) => { + const [state, dispatchers] = store.useModel('nodeVersion'); + const { + nodeInstallChannel, + nodeInstallProcessStatusChannel, + nodeInstallFormValue, + currentStep, + nodeVersions, + nodeInstallStatus, + nodeInstallVisible, + nodeInfo, + } = state; + const { options = {} } = nodeInfo as IPackageInfo; + const { managerName } = options; + const effectsLoading = store.useModelEffectsLoading('nodeVersion'); + const effectsErrors = store.useModelEffectsError('nodeVersion'); useEffect(() => { if (effectsErrors.getNodeVersions.error) { @@ -45,10 +54,10 @@ const InstallStep: FC = ({ managerName, INSTALL_NODE_CHANNEL, INST const field = Field.useField({ values: defaultValues }); const formItemLayout = { labelCol: { - fixedSpan: 10, + span: 6, }, wrapperCol: { - span: 14, + span: 16, }, }; @@ -64,8 +73,8 @@ const InstallStep: FC = ({ managerName, INSTALL_NODE_CHANNEL, INST }; const goNext = () => { - const { node } = store.getState(); - dispatchers.updateStep(node.currentStep + 1); + const { nodeVersion } = store.getState(); + dispatchers.updateStep(nodeVersion.currentStep + 1); }; const submit = async () => { @@ -84,13 +93,14 @@ const InstallStep: FC = ({ managerName, INSTALL_NODE_CHANNEL, INST { managerName, ...values, - installChannel: INSTALL_NODE_CHANNEL, - processChannel: INSTALL_PROCESS_STATUS_CHANNEL, + installChannel: nodeInstallChannel, + processChannel: nodeInstallProcessStatusChannel, }, ); goNext(); }; + let mainbody: JSX.Element; switch (currentStep) { @@ -100,6 +110,8 @@ const InstallStep: FC = ({ managerName, INSTALL_NODE_CHANNEL, INST {...formItemLayout} field={field} fullWidth + labelAlign="left" + className={styles.form} onChange={dispatchers.updateNodeInstallFormValue} > = ({ managerName, INSTALL_NODE_CHANNEL, INST case 2: mainbody = (
- +
); break; @@ -177,14 +189,14 @@ const InstallStep: FC = ({ managerName, INSTALL_NODE_CHANNEL, INST useEffect(() => { if (nodeInstallVisible) { - dispatchers.getCaches({ installChannel: INSTALL_NODE_CHANNEL, processChannel: INSTALL_PROCESS_STATUS_CHANNEL }); + dispatchers.getCaches({ installChannel: nodeInstallChannel, processChannel: nodeInstallProcessStatusChannel }); } }, []); useEffect(() => { - ipcRenderer.on(INSTALL_NODE_CHANNEL, writeChunk); + ipcRenderer.on(nodeInstallChannel, writeChunk); return () => { - ipcRenderer.removeListener(INSTALL_NODE_CHANNEL, writeChunk); + ipcRenderer.removeListener(nodeInstallChannel, writeChunk); }; }, []); @@ -204,17 +216,17 @@ const InstallStep: FC = ({ managerName, INSTALL_NODE_CHANNEL, INST } useEffect(() => { - ipcRenderer.on(INSTALL_PROCESS_STATUS_CHANNEL, handleUpdateInstallStatus); + ipcRenderer.on(nodeInstallProcessStatusChannel, handleUpdateInstallStatus); return () => { ipcRenderer.removeListener( - INSTALL_PROCESS_STATUS_CHANNEL, + nodeInstallProcessStatusChannel, handleUpdateInstallStatus, ); }; }, []); return ( -
- +
+ {stepComponents} @@ -224,4 +236,4 @@ const InstallStep: FC = ({ managerName, INSTALL_NODE_CHANNEL, INST ); }; -export default InstallStep; +export default NodeInstaller; diff --git a/renderer/src/pages/Node/components/NodeVersion/index.module.scss b/renderer/src/pages/Node/components/NodeVersion/index.module.scss new file mode 100644 index 0000000..f67f62e --- /dev/null +++ b/renderer/src/pages/Node/components/NodeVersion/index.module.scss @@ -0,0 +1,21 @@ +.row { + margin-bottom: 32px; + display: flex; + align-items: center; + + .subTitle { + font-size: 20px; + font-weight: 500; + } + + .switchVersionBtn { + margin-left: 16px; + } + + .col { + display: flex; + align-items: center; + font-size: 16px; + } +} + diff --git a/renderer/src/pages/Node/components/NodeVersion/index.tsx b/renderer/src/pages/Node/components/NodeVersion/index.tsx new file mode 100644 index 0000000..475be49 --- /dev/null +++ b/renderer/src/pages/Node/components/NodeVersion/index.tsx @@ -0,0 +1,52 @@ +import { Grid, Button, Balloon } from '@alifd/next'; +import { IPackageInfo } from '@/interfaces'; +import store from '../../store'; +import styles from './index.module.scss'; + +const { Row, Col } = Grid; + +const NodeVersion = () => { + const [state, dispatchers] = store.useModel('nodeVersion'); + const { nodeInfo, nodeInstallChannel, nodeInstallProcessStatusChannel } = state; + const { localVersion, managerVersionStatus } = nodeInfo as IPackageInfo; + + const onSwitchVersionBtnClick = async () => { + await dispatchers.clearCaches({ installChannel: nodeInstallChannel, processChannel: nodeInstallProcessStatusChannel }); + dispatchers.initStep(); + dispatchers.initNodeInstall(); + dispatchers.setNodeInstallVisible(true); + }; + + + const switchNodeVersionBtn = ( + + ); + + return ( + + +
Node 版本
+ + + {localVersion || 'Not Found'} + {managerVersionStatus === 'uninstalled' ? ( + + 请在首页安装 NVM 以更好安装和管理 Node 版本。 + + ) : ( + <>{switchNodeVersionBtn} + )} + +
+ ); +}; + +export default NodeVersion; diff --git a/renderer/src/pages/Node/components/NpmRegistry/index.module.scss b/renderer/src/pages/Node/components/NpmRegistry/index.module.scss new file mode 100644 index 0000000..1ed977a --- /dev/null +++ b/renderer/src/pages/Node/components/NpmRegistry/index.module.scss @@ -0,0 +1,14 @@ +.row { + margin-bottom: 32px; + display: flex; + align-items: center; + + .subTitle { + font-size: 20px; + font-weight: 500; + } + + .select { + min-width: 100%; + } +} diff --git a/renderer/src/pages/Node/components/NpmRegistry/index.tsx b/renderer/src/pages/Node/components/NpmRegistry/index.tsx new file mode 100644 index 0000000..18b2baa --- /dev/null +++ b/renderer/src/pages/Node/components/NpmRegistry/index.tsx @@ -0,0 +1,72 @@ +import { useEffect } from 'react'; +import { Grid, Select, Message } from '@alifd/next'; +import store from '../../store'; +import styles from './index.module.scss'; + +const { Row, Col } = Grid; + +function NpmRegistry() { + const [state, dispatchers] = store.useModel('registry'); + const { npmInstalled, currentNpmRegistry, allNpmRegistries } = state; + const effectsState = store.useModelEffectsState('registry'); + const effectsErrors = store.useModelEffectsError('registry'); + + useEffect(() => { + dispatchers.checkNpmInstalled(); + }, []); + + useEffect(() => { + if (npmInstalled) { + dispatchers.getAllNpmRegistries(); + dispatchers.getCurrentNpmRegistry(); + } + }, [npmInstalled]); + + const onChange = async (registry: string) => { + await dispatchers.setCurrentNpmRegistry(registry); + Message.success(`设置镜像源地址 ${registry} 成功`); + }; + + useEffect(() => { + if (effectsErrors.checkNpmInstalled.error) { + Message.error(effectsErrors.checkNpmInstalled.error.message); + } + }, [effectsErrors.checkNpmInstalled.error]); + + useEffect(() => { + if (effectsErrors.getAllNpmRegistries.error) { + Message.error(effectsErrors.getAllNpmRegistries.error.message); + } + }, [effectsErrors.getAllNpmRegistries.error]); + + useEffect(() => { + if (effectsErrors.getCurrentNpmRegistry.error) { + Message.error(effectsErrors.getCurrentNpmRegistry.error.message); + } + }, [effectsErrors.getCurrentNpmRegistry.error]); + + useEffect(() => { + if (effectsErrors.setCurrentNpmRegistry.error) { + Message.error(effectsErrors.setCurrentNpmRegistry.error.message); + } + }, [effectsErrors.setCurrentNpmRegistry.error]); + return ( + + +
npm 镜像源
+ + + + } + placeholder="搜索" + value={searchValue} + aria-label="input with config of innerAfter" + onChange={(value: string) => dispatcher.updateSearchValue(value)} + /> + + + + + +
+
+ ); +} + +export default InstallNpmDependency; diff --git a/renderer/src/pages/Node/components/LatestVersionTabelCell/index.module.scss b/renderer/src/pages/Node/components/LatestVersionTabelCell/index.module.scss new file mode 100644 index 0000000..601b3fb --- /dev/null +++ b/renderer/src/pages/Node/components/LatestVersionTabelCell/index.module.scss @@ -0,0 +1,14 @@ +.columnCell { + position: relative; + display: flex; + align-items: center; + justify-content: center; + + + .button { + margin-left: 10px; + position: absolute; + left: 70px; + top: -2px; + } +} diff --git a/renderer/src/pages/Node/components/LatestVersionTabelCell/index.tsx b/renderer/src/pages/Node/components/LatestVersionTabelCell/index.tsx new file mode 100644 index 0000000..f1738df --- /dev/null +++ b/renderer/src/pages/Node/components/LatestVersionTabelCell/index.tsx @@ -0,0 +1,55 @@ +import { INpmDependency } from '@/interfaces/npmDependency'; +import { Button, Message, Icon, Balloon } from '@alifd/next'; +import CustomIcon from '@/components/Icon'; +import { useEffect } from 'react'; +import store from '../../store'; +import styles from './index.module.scss'; + +const { Tooltip } = Balloon; + +const LatestVersionTableCell = ({ index, value, record }) => { + const [state, dispatcher] = store.useModel('npmDependency'); + const effectsState = store.useModelEffectsState('npmDependency'); + const { curUpdateDepIndex } = state; + + const isUpdateGlobalDep = curUpdateDepIndex.includes(index) && effectsState.updateGlobalNpmDependency.isLoading; + useEffect(() => { + if (effectsState.updateGlobalNpmDependency.error) { + Message.error(effectsState.updateGlobalNpmDependency.error.message); + } + }, [effectsState.updateGlobalNpmDependency.error]); + + const onUpdateGlobalDep = async (dependency: INpmDependency, i: number) => { + dispatcher.addCurDepIndex({ type: 'update', index }); + const { name } = dependency; + await dispatcher.updateGlobalNpmDependency(dependency.name); + dispatcher.removeCurDepIndex({ type: 'update', index: i }); + Message.success(`升级依赖 ${name} 成功`); + await dispatcher.getGlobalNpmDependencies(true); + }; + return ( +
+ {value} + {record.isOutdated && ( + await onUpdateGlobalDep(record, index)} + disabled={isUpdateGlobalDep} + > + {isUpdateGlobalDep ? : } + + } + align="t" + > + 更新 + + )} +
+ ); +}; + +export default LatestVersionTableCell; diff --git a/renderer/src/pages/Node/components/NodeInstallResult/index.tsx b/renderer/src/pages/Node/components/NodeInstallResult/index.tsx index ae1e826..049259b 100644 --- a/renderer/src/pages/Node/components/NodeInstallResult/index.tsx +++ b/renderer/src/pages/Node/components/NodeInstallResult/index.tsx @@ -47,13 +47,13 @@ const InstallResult = ({ goBack, reinstallGlobalDeps }) => { {reinstallGlobalDeps && ( {nodeInstallStatus.reinstallPackages === 'success' ? successTag : errorTag}} + extra={{nodeInstallStatus.reinstallDependencies === 'success' ? successTag : errorTag}} > - {nodeInstallStatus.reinstallPackages === 'error' && ( + {nodeInstallStatus.reinstallDependencies === 'error' && ( <>
重装全局依赖失败,请自行安装依赖。详细日志如下:
- {nodeInstallErrMsg.reinstallPackages} + {nodeInstallErrMsg.reinstallDependencies} )} diff --git a/renderer/src/pages/Node/components/NodeInstaller/index.tsx b/renderer/src/pages/Node/components/NodeInstaller/index.tsx index 1adf348..76feb03 100644 --- a/renderer/src/pages/Node/components/NodeInstaller/index.tsx +++ b/renderer/src/pages/Node/components/NodeInstaller/index.tsx @@ -48,7 +48,7 @@ const NodeInstaller: FC = ({ goBack }) => { const steps = [ { title: '选择版本', name: 'selectedVersion' }, { title: '安装 Node.js', name: 'installNode' }, - { title: '重装全局依赖', name: 'reinstallPackages' }, + { title: '重装全局依赖', name: 'reinstallDependencies' }, { title: '完成', name: 'finish' }, ]; const field = Field.useField({ values: defaultValues }); diff --git a/renderer/src/pages/Node/components/NpmDependency/index.module.scss b/renderer/src/pages/Node/components/NpmDependency/index.module.scss new file mode 100644 index 0000000..23882d1 --- /dev/null +++ b/renderer/src/pages/Node/components/NpmDependency/index.module.scss @@ -0,0 +1,19 @@ +.header { + display: flex; + align-items: center; + justify-content: space-between; +} + +.title { + font-size: 18px; + font-weight: 500; +} + +.table { + margin-top: 20px; +} + +.placeholder { + width: 28px; + margin-right: 6px; +} \ No newline at end of file diff --git a/renderer/src/pages/Node/components/NpmDependency/index.tsx b/renderer/src/pages/Node/components/NpmDependency/index.tsx new file mode 100644 index 0000000..0286609 --- /dev/null +++ b/renderer/src/pages/Node/components/NpmDependency/index.tsx @@ -0,0 +1,57 @@ +import { Table, Button, Message, Dropdown } from '@alifd/next'; +import { useEffect } from 'react'; +import { INpmDependency } from '@/interfaces/npmDependency'; +import store from '../../store'; +import InstallNpmDependency from '../InstallNpmDependency'; +import OperationTableCell from '../OperationTableCell'; +import LatestVersionTableCell from '../LatestVersionTabelCell'; +import styles from './index.module.scss'; + +const defaultTableColumnProps: any = { + align: 'center', + alignHeader: 'center', + width: 140, +}; + +function NpmDependency() { + const [state, dispatcher] = store.useModel('npmDependency'); + const effectsState = store.useModelEffectsState('npmDependency'); + const { npmDependencies } = state; + + useEffect(() => { + if (effectsState.getGlobalNpmDependencies.error) { + Message.error(effectsState.getGlobalNpmDependencies.error.message); + } + }, [effectsState.getGlobalNpmDependencies.error]); + + + const operationCell = (value: any, index: number, record: INpmDependency) => { + return ; + }; + + const latestVersionCell = (value: string, index: number, record: INpmDependency) => { + return ; + }; + + useEffect(() => { + dispatcher.getGlobalNpmDependencies(); + }, []); + return ( + <> +
+
全局 npm 依赖管理
+ 添加依赖} triggerType={['click']}> + + +
+ + + + + +
+ + ); +} + +export default NpmDependency; diff --git a/renderer/src/pages/Node/components/NpmRegistry/index.tsx b/renderer/src/pages/Node/components/NpmRegistry/index.tsx index 18b2baa..c51da96 100644 --- a/renderer/src/pages/Node/components/NpmRegistry/index.tsx +++ b/renderer/src/pages/Node/components/NpmRegistry/index.tsx @@ -6,10 +6,10 @@ import styles from './index.module.scss'; const { Row, Col } = Grid; function NpmRegistry() { - const [state, dispatchers] = store.useModel('registry'); + const [state, dispatchers] = store.useModel('npmRegistry'); const { npmInstalled, currentNpmRegistry, allNpmRegistries } = state; - const effectsState = store.useModelEffectsState('registry'); - const effectsErrors = store.useModelEffectsError('registry'); + const effectsState = store.useModelEffectsState('npmRegistry'); + const effectsErrors = store.useModelEffectsError('npmRegistry'); useEffect(() => { dispatchers.checkNpmInstalled(); diff --git a/renderer/src/pages/Node/components/OperationTableCell/index.module.scss b/renderer/src/pages/Node/components/OperationTableCell/index.module.scss new file mode 100644 index 0000000..c858bf7 --- /dev/null +++ b/renderer/src/pages/Node/components/OperationTableCell/index.module.scss @@ -0,0 +1,9 @@ +.columnCell { + display: flex; + align-items: center; + justify-content: center; + + .button { + margin-left: 10px; + } +} \ No newline at end of file diff --git a/renderer/src/pages/Node/components/OperationTableCell/index.tsx b/renderer/src/pages/Node/components/OperationTableCell/index.tsx new file mode 100644 index 0000000..1031628 --- /dev/null +++ b/renderer/src/pages/Node/components/OperationTableCell/index.tsx @@ -0,0 +1,96 @@ +import { Button, Message, Icon, Balloon } from '@alifd/next'; +import BalloonConfirm from '@/components/BalloonConfirm'; +import { INpmDependency } from '@/interfaces/npmDependency'; +import CustomIcon from '@/components/Icon'; +import { useEffect } from 'react'; +import store from '../../store'; +import styles from './index.module.scss'; + +const { Tooltip } = Balloon; + +const OperationTableCell = ({ index, record }) => { + const [state, dispatcher] = store.useModel('npmDependency'); + const effectsState = store.useModelEffectsState('npmDependency'); + const { curUninstallDepIndex, curReinstallDepIndex } = state; + + useEffect(() => { + if (effectsState.reinstallGlobalNpmDependency.error) { + Message.error(effectsState.reinstallGlobalNpmDependency.error.message); + } + }, [effectsState.reinstallGlobalNpmDependency.error]); + + useEffect(() => { + if (effectsState.uninstallGlobalNpmDependency.error) { + Message.error(effectsState.uninstallGlobalNpmDependency.error.message); + } + }, [effectsState.uninstallGlobalNpmDependency.error]); + + const onReinstallGlobalDep = async (dependency: INpmDependency, i: number) => { + dispatcher.addCurDepIndex({ type: 'reinstall', index }); + const { name, currentVersion } = dependency; + await dispatcher.reinstallGlobalNpmDependency({ dependency: name, version: currentVersion }); + dispatcher.removeCurDepIndex({ type: 'reinstall', index: i }); + Message.success(`重装依赖 ${name}@${currentVersion} 成功`); + await dispatcher.getGlobalNpmDependencies(true); + }; + + const onUninstallGlobalDep = async (dependency: INpmDependency, i: number) => { + dispatcher.addCurDepIndex({ type: 'uninstall', index }); + const { name } = dependency; + await dispatcher.uninstallGlobalNpmDependency(name); + dispatcher.removeCurDepIndex({ type: 'uninstall', index: i }); + Message.success(`卸载依赖 ${name} 成功`); + await dispatcher.getGlobalNpmDependencies(true); + }; + + const isReinstallCurrentDep = curReinstallDepIndex.includes(index) && effectsState.reinstallGlobalNpmDependency.isLoading; + const isUninstallCurrentDep = curUninstallDepIndex.includes(index) && effectsState.uninstallGlobalNpmDependency.isLoading; + + return ( +
+ await onReinstallGlobalDep(record, index)} + title="确定重装该依赖?" + disable={isReinstallCurrentDep} + > + + {isReinstallCurrentDep ? : } + + } + align="t" + > + 重装 + + + await onUninstallGlobalDep(record, index)} + title="确定卸载该依赖?" + disable={isUninstallCurrentDep} + > + + {isUninstallCurrentDep ? : } + + } + align="t" + > + 卸载 + + +
+ ); +}; + +export default OperationTableCell; diff --git a/renderer/src/pages/Node/index.module.scss b/renderer/src/pages/Node/index.module.scss index 0471889..a9d75d8 100644 --- a/renderer/src/pages/Node/index.module.scss +++ b/renderer/src/pages/Node/index.module.scss @@ -1,5 +1,5 @@ .nodeContainer { - margin: 0 38px; + margin: 0 38px 40px; main { padding: 30px 0; diff --git a/renderer/src/pages/Node/index.tsx b/renderer/src/pages/Node/index.tsx index 2ae893f..d9a4b4b 100644 --- a/renderer/src/pages/Node/index.tsx +++ b/renderer/src/pages/Node/index.tsx @@ -7,6 +7,7 @@ import store from './store'; import NodeVersion from './components/NodeVersion'; import NpmRegistry from './components/NpmRegistry'; import NodeInstaller from './components/NodeInstaller'; +import NpmDependency from './components/NpmDependency'; const Node = () => { const [nodeVersionState, nodeVersionDispatchers] = store.useModel('nodeVersion'); @@ -52,6 +53,7 @@ const Node = () => { <> + )} diff --git a/renderer/src/pages/Node/models/npmDependency.ts b/renderer/src/pages/Node/models/npmDependency.ts new file mode 100644 index 0000000..1adcd94 --- /dev/null +++ b/renderer/src/pages/Node/models/npmDependency.ts @@ -0,0 +1,59 @@ +import { ipcRenderer } from 'electron'; + +const curDepIndexMap = { + install: 'curInstallDepIndex', + update: 'curUpdateDepIndex', + reinstall: 'curReinstallDepIndex', + uninstall: 'curUninstallDepIndex', +}; + +export default { + state: { + npmDependencies: [], + curInstallDepIndex: [], + curUpdateDepIndex: [], + curReinstallDepIndex: [], + curUninstallDepIndex: [], + searchValue: '', + queryNpmDependencies: [], + }, + reducers: { + addCurDepIndex(prevState, { type, index }: { type: string; index: number }) { + prevState[curDepIndexMap[type]].push(index); + }, + removeCurDepIndex(prevState, { type, index }: { type: string; index: number }) { + const depIndex = prevState[curDepIndexMap[type]].findIndex((i: number) => i === index); + prevState[curDepIndexMap[type]].splice(depIndex, 1); + }, + updateSearchValue(prevState, searchValue: string) { + prevState.searchValue = searchValue; + }, + }, + effects: () => ({ + async getGlobalNpmDependencies(force = false) { + const npmDependencies = await ipcRenderer.invoke('get-global-npm-dependencies', force); + this.setState({ npmDependencies }); + }, + + async uninstallGlobalNpmDependency(dependency: string) { + await ipcRenderer.invoke('uninstall-global-npm-dependency', dependency); + }, + + async updateGlobalNpmDependency(dependency: string) { + await ipcRenderer.invoke('update-global-npm-dependency', dependency); + }, + + async reinstallGlobalNpmDependency({ dependency, version }: {dependency: string; version: string}) { + await ipcRenderer.invoke('reinstall-global-npm-dependency', dependency, version); + }, + + async installGlobalNpmDependency({ dependency, version }: { dependency: string; version: string }) { + await ipcRenderer.invoke('install-global-npm-dependency', dependency, version); + }, + + async searchNpmDependencies(query: string) { + const queryNpmDependencies = await ipcRenderer.invoke('search-npm-dependencies', query); + this.setState({ queryNpmDependencies }); + }, + }), +}; diff --git a/renderer/src/pages/Node/models/registry.ts b/renderer/src/pages/Node/models/npmRegistry.ts similarity index 100% rename from renderer/src/pages/Node/models/registry.ts rename to renderer/src/pages/Node/models/npmRegistry.ts diff --git a/renderer/src/pages/Node/store.ts b/renderer/src/pages/Node/store.ts index 93105a9..ef9c4ed 100644 --- a/renderer/src/pages/Node/store.ts +++ b/renderer/src/pages/Node/store.ts @@ -1,15 +1,18 @@ import { createStore, IStoreModels } from 'ice'; import nodeVersionModel from './models/nodeVersion'; -import registryModel from './models/registry'; +import npmRegistryModel from './models/npmRegistry'; +import npmDependencyModel from './models/npmDependency'; interface IModels extends IStoreModels { nodeVersion: typeof nodeVersionModel; - registry: typeof registryModel; + npmRegistry: typeof npmRegistryModel; + npmDependency: typeof npmDependencyModel; } const models: IModels = { nodeVersion: nodeVersionModel, - registry: registryModel, + npmRegistry: npmRegistryModel, + npmDependency: npmDependencyModel, }; export default createStore(models); diff --git a/scripts/uploadApp.ts b/scripts/uploadApp.ts index e194359..05a26bd 100644 --- a/scripts/uploadApp.ts +++ b/scripts/uploadApp.ts @@ -28,7 +28,7 @@ const { build: { productName }, version } = packageJSON; // upload app resource // record latest version for the auto-updater to work. e.g: latest-mac.yml const channelFile = `${channel}${channelExt}`; - // package installer file with version. e.g: AppWorks Toolkit.dmg + // package installer file without version. e.g: AppWorks Toolkit.dmg const packageWithoutVersionFile = `${productName}${distFileExt}`; // package installer file with version. e.g: AppWorks Toolkit-0.1.0.dmg const packageWithVersionFile = `${distFileName}${distFileExt}`; From c9dd1fc11c994a458a709ea8a3024904fedf2ebb Mon Sep 17 00:00:00 2001 From: Hengchang Lu <44047106+luhc228@users.noreply.github.com> Date: Thu, 22 Jul 2021 10:50:20 +0800 Subject: [PATCH 4/5] Feat: git manager (#48) --- .eslintrc.js | 3 +- main/constants.ts | 3 + main/git/config.ts | 187 + main/git/index.ts | 2 + main/git/ssh.ts | 170 + main/ipc/getFolderPath.ts | 15 + main/ipc/handleGitConfig.ts | 78 + main/ipc/index.ts | 6 + main/types/git.ts | 12 + package-lock.json | 9875 ----------------- package.json | 6 +- renderer/package.json | 1 + renderer/src/components/Icon/index.ts | 2 +- .../components/PageHeader/index.module.scss | 7 +- .../src/layouts/BasicLayout/menuConfig.ts | 5 + .../BaseGitConfig/index.module.scss | 11 + .../Git/components/BaseGitConfig/index.tsx | 37 + .../components/GitDirFormItemLabel/index.tsx | 18 + .../components/GitDirsForm/index.module.scss | 31 + .../Git/components/GitDirsForm/index.tsx | 92 + .../GlobalGitConfig/index.module.scss | 5 + .../Git/components/GlobalGitConfig/index.tsx | 54 + .../components/SSHKeyFormItemLabel/index.tsx | 18 + .../UserGitConfig/index.module.scss | 21 + .../Git/components/UserGitConfig/index.tsx | 94 + .../UserGitConfigDialogForm/index.module.scss | 18 + .../UserGitConfigDialogForm/index.tsx | 129 + .../UserGitConfigList/index.module.scss | 25 + .../components/UserGitConfigList/index.tsx | 80 + renderer/src/pages/Git/index.module.scss | 7 + renderer/src/pages/Git/index.tsx | 23 + renderer/src/pages/Git/models/git.ts | 85 + renderer/src/pages/Git/store.ts | 12 + renderer/src/routes.ts | 6 + renderer/src/utils/removeObjEmptyValue.ts | 13 + 35 files changed, 1270 insertions(+), 9881 deletions(-) create mode 100644 main/git/config.ts create mode 100644 main/git/index.ts create mode 100644 main/git/ssh.ts create mode 100644 main/ipc/getFolderPath.ts create mode 100644 main/ipc/handleGitConfig.ts create mode 100644 main/types/git.ts delete mode 100644 package-lock.json create mode 100644 renderer/src/pages/Git/components/BaseGitConfig/index.module.scss create mode 100644 renderer/src/pages/Git/components/BaseGitConfig/index.tsx create mode 100644 renderer/src/pages/Git/components/GitDirFormItemLabel/index.tsx create mode 100644 renderer/src/pages/Git/components/GitDirsForm/index.module.scss create mode 100644 renderer/src/pages/Git/components/GitDirsForm/index.tsx create mode 100644 renderer/src/pages/Git/components/GlobalGitConfig/index.module.scss create mode 100644 renderer/src/pages/Git/components/GlobalGitConfig/index.tsx create mode 100644 renderer/src/pages/Git/components/SSHKeyFormItemLabel/index.tsx create mode 100644 renderer/src/pages/Git/components/UserGitConfig/index.module.scss create mode 100644 renderer/src/pages/Git/components/UserGitConfig/index.tsx create mode 100644 renderer/src/pages/Git/components/UserGitConfigDialogForm/index.module.scss create mode 100644 renderer/src/pages/Git/components/UserGitConfigDialogForm/index.tsx create mode 100644 renderer/src/pages/Git/components/UserGitConfigList/index.module.scss create mode 100644 renderer/src/pages/Git/components/UserGitConfigList/index.tsx create mode 100644 renderer/src/pages/Git/index.module.scss create mode 100644 renderer/src/pages/Git/index.tsx create mode 100644 renderer/src/pages/Git/models/git.ts create mode 100644 renderer/src/pages/Git/store.ts create mode 100644 renderer/src/utils/removeObjEmptyValue.ts diff --git a/.eslintrc.js b/.eslintrc.js index e75ff7f..5a4d8bb 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -8,6 +8,7 @@ module.exports = getESLintConfig('react-ts', { '@iceworks/best-practices/recommend-polyfill': 0, 'import/order': 1, 'no-param-reassign': 0, - '@typescript-eslint/no-require-imports': 0 + '@typescript-eslint/no-require-imports': 0, + 'no-await-in-loop': 0 }, }); diff --git a/main/constants.ts b/main/constants.ts index 3a3a73c..3e42eb5 100644 --- a/main/constants.ts +++ b/main/constants.ts @@ -8,6 +8,7 @@ export const PACKAGE_JSON_FILE_NAME = 'package.json'; export const TOOLKIT_DIR = path.join(process.env.HOME, '.toolkit'); export const TOOLKIT_TMP_DIR = path.join(TOOLKIT_DIR, 'tmp'); export const TOOLKIT_PACKAGES_DIR = path.join(TOOLKIT_DIR, 'packages'); +export const TOOLKIT_USER_GIT_CONFIG_DIR = path.join(TOOLKIT_DIR, 'git'); export const DEFAULT_LOCAL_PACKAGE_INFO: ILocalPackageInfo = { localVersion: null, @@ -35,3 +36,5 @@ export const NPM_REGISTRY = 'https://registry.npmjs.org/'; export const TAOBAO_NPM_REGISTRY = 'https://registry.npm.taobao.org'; export const ALI_NPM_REGISTRY = 'https://registry.npm.alibaba-inc.com/'; export const TAOBAO_NODE_MIRROR = 'https://npm.taobao.org/mirrors/node'; +// git +export const GLOBAL_GITCONFIG_PATH = path.join(process.env[(process.platform === 'win32') ? 'USERPROFILE' : 'HOME'], '.gitconfig'); diff --git a/main/git/config.ts b/main/git/config.ts new file mode 100644 index 0000000..e8eee2e --- /dev/null +++ b/main/git/config.ts @@ -0,0 +1,187 @@ +import * as path from 'path'; +import ini = require('ini'); +import * as fse from 'fs-extra'; +import * as globby from 'globby'; +import { IAddUserConfig, IUserConfig } from '../types/git'; +import { GLOBAL_GITCONFIG_PATH, TOOLKIT_USER_GIT_CONFIG_DIR } from '../constants'; +import log from '../utils/log'; +import { + updateSSHConfig, + getSSHConfig, + removeSSHConfig, + addSSHConfig, +} from './ssh'; + +const USER_GIT_CONFIG_FILENAME_PREFIX = '.gitconfig-'; +const IGNORE_CONFIG_KEYS = ['gitDir']; + +export async function getGlobalGitConfig() { + const globalGitConfig = await parseGitConfig(GLOBAL_GITCONFIG_PATH); + log.info('get-global-git-config', globalGitConfig); + return globalGitConfig; +} + +export async function updateGlobalGitConfig(gitConfig: object) { + log.info('update-global-git-config', gitConfig); + await writeGitConfig(GLOBAL_GITCONFIG_PATH, gitConfig); +} + +export async function getExistedUserGitConfigNames() { + const filenames = await getUserGitConfigFilenames(); + return filenames.map((filename: string) => filename.replace(USER_GIT_CONFIG_FILENAME_PREFIX, '')); +} + +/** + * get user git config list + */ +export async function getUserGitConfigs(): Promise { + const gitConfigFilenames = await getUserGitConfigFilenames(); + const userGitDirs = await getUserGitDirs(); + + const userGitConfigs = []; + for (const gitConfigFilename of gitConfigFilenames) { + const configPath = path.join(TOOLKIT_USER_GIT_CONFIG_DIR, gitConfigFilename); + if (!fse.pathExistsSync(configPath)) { + continue; + } + const gitConfig = await parseGitConfig(configPath); + const filename = path.basename(configPath); + const configName = filename.replace(USER_GIT_CONFIG_FILENAME_PREFIX, ''); + const { SSHPublicKey } = await getSSHConfig(configName); + userGitConfigs.push({ + ...gitConfig, + SSHPublicKey, + configName, + gitDirs: userGitDirs[configPath] || [], + }); + } + + return userGitConfigs; +} + +export async function addUserGitConfig(userGitConfig: IAddUserConfig) { + const { configName, user: { name: userName, hostName } } = userGitConfig; + const gitConfigPath = getGitConfigPath(configName); + + checkUserGitConfigExists(configName, gitConfigPath); + + await fse.createFile(gitConfigPath); + // do not save the configName to the gitconfig file + delete userGitConfig.configName; + await writeGitConfig(gitConfigPath, userGitConfig); + await addSSHConfig({ hostName, configName, userName }); +} + +export async function updateUserGitConfig(gitConfig: any, configName: string) { + const { user = {} } = gitConfig; + const { name: userName = '', hostName = '' } = user; + await updateSSHConfig(configName, hostName, userName); + + IGNORE_CONFIG_KEYS.forEach((key) => { + delete gitConfig[key]; + }); + // save to ~/.toolkit/git/.gitconfig-${configName} + const gitConfigPath = `${path.join(TOOLKIT_USER_GIT_CONFIG_DIR, `${USER_GIT_CONFIG_FILENAME_PREFIX}${configName}`)}`; + await writeGitConfig(gitConfigPath, gitConfig); + + log.info('update-user-git-config', configName, gitConfig); +} + +async function getUserGitDirs() { + const globalGitConfig = await getGlobalGitConfig(); + + const userGitDirs = {}; + + const configKeys = Object.keys(globalGitConfig); + + for (const configKey of configKeys) { + const { path: gitConfigPath } = globalGitConfig[configKey]; + if (!gitConfigPath) { + continue; + } + if (!userGitDirs[gitConfigPath]) { + userGitDirs[gitConfigPath] = []; + } + const gitDir = configKey.replace(/includeIf "gitdir:(.*)"/, (match, p1) => p1); + userGitDirs[gitConfigPath].push(gitDir); + } + + return userGitDirs; +} + +export async function updateUserGitDir( + originGitDir: string, + currentGitDir: string, + configName: string, +) { + const globalGitConfig = await parseGitConfig(GLOBAL_GITCONFIG_PATH); + + const originIncludeIfKey = `includeIf "gitdir:${originGitDir}"`; + const currentIncludeIfKey = `includeIf "gitdir:${currentGitDir}"`; + + delete globalGitConfig[originIncludeIfKey]; + const gitConfigPath = getGitConfigPath(configName); + globalGitConfig[currentIncludeIfKey] = { path: gitConfigPath }; + await writeGitConfig(GLOBAL_GITCONFIG_PATH, globalGitConfig); + + log.info('update-user-git-dir: ', currentIncludeIfKey, globalGitConfig[currentIncludeIfKey]); +} + +export async function removeUserGitDir(gitDir: string, configName: string) { + const gitConfigPath = getGitConfigPath(configName); + const globalGitConfig = await parseGitConfig(GLOBAL_GITCONFIG_PATH); + + const includeIfKey = `includeIf "gitdir:${gitDir}"`; + const includeIfValue = globalGitConfig[includeIfKey]; + if (includeIfValue && includeIfValue.path === gitConfigPath) { + delete globalGitConfig[includeIfKey]; + await writeGitConfig(GLOBAL_GITCONFIG_PATH, globalGitConfig); + log.info('remove-user-git-dir: ', includeIfKey, gitConfigPath); + } else { + const error = new Error(`Can not remove ${gitDir}. The ${includeIfValue} is not found.`); + log.error(error); + throw error; + } +} + +export async function removeUserGitConfig(configName: string, gitDirs = []) { + await removeSSHConfig(configName); + + for (const gitDir of gitDirs) { + await removeUserGitDir(gitDir, configName); + } + + // remove the gitconfig file + const gitConfigPath = getGitConfigPath(configName); + await fse.remove(gitConfigPath); +} + +async function parseGitConfig(gitConfigPath: string) { + const gitConfigContent = await fse.readFile(gitConfigPath, 'utf-8'); + return ini.parse(gitConfigContent); +} + +async function writeGitConfig(gitConfigPath: string, config: object) { + await fse.writeFile(gitConfigPath, ini.stringify(config)); + log.info('write-git-config', config); +} + +function checkUserGitConfigExists(configName: string, gitConfigPath: string) { + if (fse.pathExistsSync(gitConfigPath)) { + const err = new Error(`${configName} config has existed,please use other config name.`); + err.name = 'add-user-git-config'; + log.error(err); + throw err; + } +} + +async function getUserGitConfigFilenames() { + return await globby([`${USER_GIT_CONFIG_FILENAME_PREFIX}*`], { cwd: TOOLKIT_USER_GIT_CONFIG_DIR, dot: true }); +} + +/** + * get absolute git config path in ~/.toolkit/git/ + */ +function getGitConfigPath(configName: string) { + return path.join(TOOLKIT_USER_GIT_CONFIG_DIR, `${USER_GIT_CONFIG_FILENAME_PREFIX}${configName}`); +} diff --git a/main/git/index.ts b/main/git/index.ts new file mode 100644 index 0000000..1841609 --- /dev/null +++ b/main/git/index.ts @@ -0,0 +1,2 @@ +export * from './config'; +export * from './ssh'; diff --git a/main/git/ssh.ts b/main/git/ssh.ts new file mode 100644 index 0000000..81f4f7c --- /dev/null +++ b/main/git/ssh.ts @@ -0,0 +1,170 @@ +import * as util from 'util'; +import * as path from 'path'; +import * as fse from 'fs-extra'; +import SSHKeyGen = require('ssh-keygen'); +import SSHConfig = require('ssh-config'); +import log from '../utils/log'; + +const SSHKeyGenAsync = util.promisify(SSHKeyGen); + +const HOME_DIR = process.env[(process.platform === 'win32') ? 'USERPROFILE' : 'HOME']; +export const SSHDir = path.join(HOME_DIR, '.ssh'); +const SSHConfigPath = path.join(SSHDir, 'config'); + +/** + * generate SSH public key and private key + */ +export async function generateSSHKey(configName: string, userEmail: string) { + const location = path.join(SSHDir, configName); + return await SSHKeyGenAsync({ comment: userEmail, location, read: true }); +} + +export async function getSSHPublicKey(SSHPrivateKeyPath: string) { + const SSHPublicKeyPath = `${SSHPrivateKeyPath}.pub`; + const SSHPublicKeyFileExists = await fse.pathExists(SSHPublicKeyPath); + if (!SSHPublicKeyFileExists) { + return ''; + } + return await fse.readFile(SSHPublicKeyPath, 'utf-8'); +} + +export async function getSSHConfigs() { + const SSHConfigExists = await fse.pathExists(SSHConfigPath); + let SSHConfigSections; + if (!SSHConfigExists) { + SSHConfigSections = []; + } else { + const SSHConfigContent = await fse.readFile(SSHConfigPath, 'utf-8'); + SSHConfigSections = SSHConfig.parse(SSHConfigContent); + } + + log.info('get-SSH-configs', SSHConfigSections); + return SSHConfigSections; +} + +/** + * get HostName and public SSH Key from ~/.ssh + */ +export async function getSSHConfig(configName: string) { + let SSHPublicKey = ''; + const privateKeyPath = path.join(SSHDir, `${configName}`); + const SSHConfigSections = await getSSHConfigs(); + /* eslint-disable no-labels */ + loopLabel: + for (const section of SSHConfigSections) { + const { config = [] } = section; + for (const { param, value } of config) { + if (param === 'IdentityFile' && value.replace('~', HOME_DIR) === privateKeyPath) { + SSHPublicKey = await getSSHPublicKey(privateKeyPath); + /* eslint-disable no-labels */ + break loopLabel; + } + } + } + + return { SSHPublicKey }; +} + +/** + * add SSH config to ~/.ssh/config + */ +export async function addSSHConfig( + { hostName, userName, configName }: { configName: string; hostName: string; userName: string }, +) { + const SSHConfigExists = await fse.pathExists(SSHConfigPath); + if (!SSHConfigExists) { + log.info('add-ssh-config', 'create ssh config file:', SSHConfigPath); + await fse.createFile(SSHConfigPath); + } + const SSHConfigContent = await fse.readFile(SSHConfigPath, 'utf-8'); + const SSHConfigSections = SSHConfig.parse(SSHConfigContent); + const newSSHConfigSection = { + Host: hostName, + HostName: hostName, + User: userName, + PreferredAuthentications: 'publickey', + IdentityFile: path.join(SSHDir, `${configName}`), + }; + SSHConfigSections.append(newSSHConfigSection); + + await fse.writeFile(SSHConfigPath, SSHConfig.stringify(SSHConfigSections)); + + log.info('add-SSH-config', newSSHConfigSection); +} + +/** + * save SSH Config to ~/.ssh/config + */ +export async function updateSSHConfig(configName: string, hostName = '', userName = '') { + const SSHConfigExists = await fse.pathExists(SSHConfigPath); + if (!SSHConfigExists) { + const error = new Error(`The SSH config path: ${SSHConfigPath} does not exist.`); + error.name = 'update-ssh-config'; + log.error(error); + throw error; + } + const SSHConfigContent = await fse.readFile(SSHConfigPath, 'utf-8'); + const SSHConfigSections = SSHConfig.parse(SSHConfigContent); + + const SSHConfigSectionIndex = findSSHConfigSectionIndex(SSHConfigSections, configName); + + if (SSHConfigSectionIndex > -1) { + SSHConfigSections.splice(SSHConfigSectionIndex, 1); + const newSSHConfigSection = { + Host: hostName, + HostName: hostName, + User: userName, + PreferredAuthentications: 'publickey', + IdentityFile: path.join(SSHDir, `${configName}`), + }; + SSHConfigSections.append(newSSHConfigSection); + await fse.writeFile(SSHConfigPath, SSHConfig.stringify(SSHConfigSections)); + + log.info('update-SSH-config', newSSHConfigSection); + } +} + +/** + * Remove SSH config section + */ +export async function removeSSHConfig(configName: string) { + const SSHConfigExists = await fse.pathExists(SSHConfigPath); + if (!SSHConfigExists) { + const error = new Error(`The SSH config path: ${SSHConfigPath} does not exist.`); + error.name = 'remove-ssh-config'; + log.error(error); + throw error; + } + const SSHConfigContent = await fse.readFile(SSHConfigPath, 'utf-8'); + const SSHConfigSections = SSHConfig.parse(SSHConfigContent); + + const currentSSHConfigIndex = findSSHConfigSectionIndex(SSHConfigSections, configName); + if (currentSSHConfigIndex <= -1) { + return; + } + // remove SSH config + const removeSection = SSHConfigSections.splice(currentSSHConfigIndex, 1); + await fse.writeFile(SSHConfigPath, SSHConfig.stringify(SSHConfigSections)); + // remove SSH private key and public key + const privateSSHKeyPath = path.join(SSHDir, `${configName}`); + const publicSSHKeyPath = path.join(SSHDir, `${configName}.pub`); + await fse.remove(privateSSHKeyPath); + await fse.remove(publicSSHKeyPath); + + log.info('remove-SSH-config', removeSection); +} + +/** + * find the SSH config index in ssh config array by the configName + */ +function findSSHConfigSectionIndex(SSHConfigSections: any[], configName: string) { + const privateKeyPath = path.join(SSHDir, `${configName}`); + + const currentSSHConfigIndex = SSHConfigSections.findIndex(({ config = [] }) => { + return config.some(({ param, value }) => { + return param === 'IdentityFile' && value.replace('~', HOME_DIR) === privateKeyPath; + }); + }); + + return currentSSHConfigIndex; +} diff --git a/main/ipc/getFolderPath.ts b/main/ipc/getFolderPath.ts new file mode 100644 index 0000000..ab07d9b --- /dev/null +++ b/main/ipc/getFolderPath.ts @@ -0,0 +1,15 @@ +import * as path from 'path'; +import { dialog, ipcMain } from 'electron'; + +export default () => { + ipcMain.handle('get-folder-path', async () => { + const { canceled, filePaths } = await dialog.showOpenDialog({ + properties: ['openDirectory'], + }); + if (canceled) { + return ''; + } + const selectedFolderPath = filePaths[0]; + return path.join(selectedFolderPath, '/'); + }); +}; diff --git a/main/ipc/handleGitConfig.ts b/main/ipc/handleGitConfig.ts new file mode 100644 index 0000000..816510a --- /dev/null +++ b/main/ipc/handleGitConfig.ts @@ -0,0 +1,78 @@ +import { ipcMain } from 'electron'; +import { IpcMainInvokeEvent } from 'electron/main'; +import { IAddUserConfig } from 'types/git'; +import { + getGlobalGitConfig, + updateGlobalGitConfig, + getUserGitConfigs, + updateUserGitConfig, + addUserGitConfig, + removeUserGitConfig, + generateSSHKey, + updateUserGitDir, + getExistedUserGitConfigNames, + removeUserGitDir, +} from '../git'; + +export default () => { + ipcMain.handle('get-global-git-config', async () => { + return await getGlobalGitConfig(); + }); + + ipcMain.handle('update-global-git-config', async (e: IpcMainInvokeEvent, gitConfig: object) => { + await updateGlobalGitConfig(gitConfig); + }); + + ipcMain.handle('get-user-git-configs', async () => { + return await getUserGitConfigs(); + }); + + ipcMain.handle('update-user-git-config', async ( + e: IpcMainInvokeEvent, + currentGitConfig: object, + configName: string, + ) => { + await updateUserGitConfig(currentGitConfig, configName); + }); + + ipcMain.handle('add-user-git-config', async (e: IpcMainInvokeEvent, gitConfig: IAddUserConfig) => { + await addUserGitConfig(gitConfig); + }); + + ipcMain.handle('get-existed-user-git-config-names', async () => { + return await getExistedUserGitConfigNames(); + }); + + ipcMain.handle('update-user-git-dir', async ( + e: IpcMainInvokeEvent, + originGitDir: string, + currentGitDir: string, + configName: string, + ) => { + await updateUserGitDir(originGitDir, currentGitDir, configName); + }); + + ipcMain.handle('remove-user-git-dir', async ( + e: IpcMainInvokeEvent, + gitDir: string, + configName: string, + ) => { + await removeUserGitDir(gitDir, configName); + }); + + ipcMain.handle('remove-user-git-config', async ( + e: IpcMainInvokeEvent, + configName: string, + gitDirs: string[], + ) => { + await removeUserGitConfig(configName, gitDirs); + }); + + ipcMain.handle('generate-ssh-key', async ( + e: IpcMainInvokeEvent, + configName: string, + userEmail: string, + ) => { + return await generateSSHKey(configName, userEmail); + }); +}; diff --git a/main/ipc/index.ts b/main/ipc/index.ts index f3095d6..15f7632 100644 --- a/main/ipc/index.ts +++ b/main/ipc/index.ts @@ -2,6 +2,8 @@ import getBasePackagesInfo from './getBasePackagesInfo'; import installBasePackages from './installBasePackages'; import getNodeInfo from './getNodeInfo'; import installNode from './installNode'; +import handleGitConfig from './handleGitConfig'; +import getFolderPath from './getFolderPath'; import handleNpmRegistry from './handleNpmRegistry'; import handleNpmDependency from './handleNpmDependency'; @@ -14,6 +16,10 @@ export default () => { installNode(); + handleGitConfig(); + + getFolderPath(); + handleNpmRegistry(); handleNpmDependency(); diff --git a/main/types/git.ts b/main/types/git.ts new file mode 100644 index 0000000..3937731 --- /dev/null +++ b/main/types/git.ts @@ -0,0 +1,12 @@ +export interface IAddUserConfig { + configName: string; + SSHPublicKey: string; + user: { name: string; email: string; hostName: string }; +} + +export interface IUserConfig { + SSHPublicKey: string; + configName: string; + gitDirs: string[]; + user: { name: string; email: string; hostName: string }; +} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index dda5135..0000000 --- a/package-lock.json +++ /dev/null @@ -1,9875 +0,0 @@ -{ - "name": "appworks-toolkit", - "version": "0.2.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "7zip-bin": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/7zip-bin/download/7zip-bin-5.1.1.tgz", - "integrity": "sha1-knTsdGBlL5xjLFmt3yTvsWhO+HY=", - "dev": true - }, - "@appworks/configure": { - "version": "0.1.0", - "resolved": "https://registry.nlark.com/@appworks/configure/download/@appworks/configure-0.1.0.tgz", - "integrity": "sha1-h9jJxdizoFm4toJ3r8Sywt0zgoA=", - "requires": { - "@appworks/storage": "^0.1.0", - "conf": "^7.1.1" - } - }, - "@appworks/recorder": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/@appworks/recorder/download/@appworks/recorder-1.0.0.tgz?cache=0&sync_timestamp=1626250540543&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40appworks%2Frecorder%2Fdownload%2F%40appworks%2Frecorder-1.0.0.tgz", - "integrity": "sha1-8e6/YAL5BVA4+/7tdsnsqeOvZH0=", - "requires": { - "@appworks/configure": "^0.1.0", - "axios": "^0.19.2", - "ice-npm-utils": "^2.0.0", - "is-electron": "^2.2.0" - } - }, - "@appworks/storage": { - "version": "0.1.0", - "resolved": "https://registry.nlark.com/@appworks/storage/download/@appworks/storage-0.1.0.tgz", - "integrity": "sha1-uHjsske3s8jBFVKC6ZB+Mnn1SyY=", - "requires": { - "fs-extra": "^9.0.1", - "mkdirp": "^1.0.4", - "user-home": "^2.0.0" - } - }, - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz", - "integrity": "sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/compat-data": { - "version": "7.14.7", - "resolved": "https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.14.7.tgz", - "integrity": "sha1-ewR9ejqJpn0iWNxh9gTwmPG8fgg=", - "dev": true - }, - "@babel/core": { - "version": "7.14.6", - "resolved": "https://registry.nlark.com/@babel/core/download/@babel/core-7.14.6.tgz?cache=0&sync_timestamp=1623707878699&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.14.6.tgz", - "integrity": "sha1-4IFOwalQAy/xbBOich3jmoQW/Ks=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helpers": "^7.14.6", - "@babel/parser": "^7.14.6", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/generator/download/@babel/generator-7.14.5.tgz", - "integrity": "sha1-hI17nwMcrKnQzQrwGwY/Im9S14U=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.14.5.tgz", - "integrity": "sha1-epnF0JZ5Eely/iw0EffVtJhJjs8=", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.14.5.tgz?cache=0&sync_timestamp=1623280385237&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.14.5.tgz", - "integrity": "sha1-ieLEdJcvFdjiM7Uu6MSA4s/NUMQ=", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha1-Jfv6V5sJN+7h87gF7OTOOYxDGBU=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha1-4N0nwzp45XfXyIhJFqPn7x98f40=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.14.7", - "resolved": "https://registry.nlark.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.14.7.tgz?cache=0&sync_timestamp=1624312632792&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.14.7.tgz", - "integrity": "sha1-l+ViRL65QhH+J3vYGOOjKcZveXA=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.14.5.tgz", - "integrity": "sha1-bRpE32o4yVeqfDEtoHZCnxG0IvM=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.14.5.tgz?cache=0&sync_timestamp=1623280405923&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.14.5.tgz", - "integrity": "sha1-feQvENeJtCPrkC69JAMcp3yx4Q4=", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha1-8nOVqGGeBmWz8DZM3bQcJdcbSZw=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.14.5.tgz", - "integrity": "sha1-DswLA8Qc1We0Ak6gFhNMKEFKu5Q=", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.14.5.tgz", - "integrity": "sha1-ZuqFz1O6C05Yi6d/yBP1OryqQcQ=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha1-IrI6VO9RwrdgXYUZMMGXbdC8aTo=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.5.tgz?cache=0&sync_timestamp=1623280305128&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.5.tgz", - "integrity": "sha1-0PDid8US4Mk4J3+qhaOWjJpEwOg=", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz?cache=0&sync_timestamp=1623280304150&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-option%2Fdownload%2F%40babel%2Fhelper-validator-option-7.14.5.tgz", - "integrity": "sha1-bnKh//GNXfy4eOHmLxoCHEty1aM=", - "dev": true - }, - "@babel/helpers": { - "version": "7.14.6", - "resolved": "https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.14.6.tgz?cache=0&sync_timestamp=1623708032832&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.14.6.tgz", - "integrity": "sha1-W1gwa5XxtH4qAZlDT6hlj6bCFjU=", - "dev": true, - "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz", - "integrity": "sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.14.7", - "resolved": "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.14.7.tgz", - "integrity": "sha1-YJlyDIg5yoZaJjfmyFhS6tC9tZU=", - "dev": true - }, - "@babel/runtime": { - "version": "7.14.6", - "resolved": "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.6.tgz", - "integrity": "sha1-U1IDvAiS78fexgvcJ7Ls9uQJBi0=", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/template/download/@babel/template-7.14.5.tgz?cache=0&sync_timestamp=1623280386138&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.14.5.tgz", - "integrity": "sha1-qbydizM1T/blWpxg0RCSAKaJdPQ=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/traverse": { - "version": "7.14.7", - "resolved": "https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.14.7.tgz", - "integrity": "sha1-ZAB8l3TP3Dq9I7B4C8GKPONjF1M=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.7", - "@babel/types": "^7.14.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz", - "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "to-fast-properties": "^2.0.0" - } - }, - "@commitlint/cli": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/cli/download/@commitlint/cli-12.1.4.tgz", - "integrity": "sha1-r02d08ASLHs5ph+hzSq7rQQi2+A=", - "dev": true, - "requires": { - "@commitlint/format": "^12.1.4", - "@commitlint/lint": "^12.1.4", - "@commitlint/load": "^12.1.4", - "@commitlint/read": "^12.1.4", - "@commitlint/types": "^12.1.4", - "lodash": "^4.17.19", - "resolve-from": "5.0.0", - "resolve-global": "1.0.0", - "yargs": "^16.2.0" - } - }, - "@commitlint/ensure": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/ensure/download/@commitlint/ensure-12.1.4.tgz?cache=0&sync_timestamp=1621842772383&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fensure%2Fdownload%2F%40commitlint%2Fensure-12.1.4.tgz", - "integrity": "sha1-KHri3MXMsIbnSXBbG9m9uZdzBW8=", - "dev": true, - "requires": { - "@commitlint/types": "^12.1.4", - "lodash": "^4.17.19" - } - }, - "@commitlint/execute-rule": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/execute-rule/download/@commitlint/execute-rule-12.1.4.tgz", - "integrity": "sha1-mXOwLpd5rb8VIq6awgekgV7HPeE=", - "dev": true - }, - "@commitlint/format": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/format/download/@commitlint/format-12.1.4.tgz?cache=0&sync_timestamp=1621842772485&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fformat%2Fdownload%2F%40commitlint%2Fformat-12.1.4.tgz", - "integrity": "sha1-2y1GQYpq5XyQ5ff2Xf9G8CZdnyQ=", - "dev": true, - "requires": { - "@commitlint/types": "^12.1.4", - "chalk": "^4.0.0" - } - }, - "@commitlint/is-ignored": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/is-ignored/download/@commitlint/is-ignored-12.1.4.tgz?cache=0&sync_timestamp=1621842772412&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fis-ignored%2Fdownload%2F%40commitlint%2Fis-ignored-12.1.4.tgz", - "integrity": "sha1-TEMLw7NhqpvlzU3bJSwVWYcOp7w=", - "dev": true, - "requires": { - "@commitlint/types": "^12.1.4", - "semver": "7.3.5" - } - }, - "@commitlint/lint": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/lint/download/@commitlint/lint-12.1.4.tgz?cache=0&sync_timestamp=1621842783363&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Flint%2Fdownload%2F%40commitlint%2Flint-12.1.4.tgz", - "integrity": "sha1-hWt/0rLmNnuDbLhKEvHBs8DkDSI=", - "dev": true, - "requires": { - "@commitlint/is-ignored": "^12.1.4", - "@commitlint/parse": "^12.1.4", - "@commitlint/rules": "^12.1.4", - "@commitlint/types": "^12.1.4" - } - }, - "@commitlint/load": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/load/download/@commitlint/load-12.1.4.tgz", - "integrity": "sha1-48LbwOfY2Sj1emh4vXIZkJ/ArKs=", - "dev": true, - "requires": { - "@commitlint/execute-rule": "^12.1.4", - "@commitlint/resolve-extends": "^12.1.4", - "@commitlint/types": "^12.1.4", - "chalk": "^4.0.0", - "cosmiconfig": "^7.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0" - } - }, - "@commitlint/message": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/message/download/@commitlint/message-12.1.4.tgz?cache=0&sync_timestamp=1621842767424&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fmessage%2Fdownload%2F%40commitlint%2Fmessage-12.1.4.tgz", - "integrity": "sha1-OJXtzAcJ3spZRfPVX16pWp8fRG0=", - "dev": true - }, - "@commitlint/parse": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/parse/download/@commitlint/parse-12.1.4.tgz?cache=0&sync_timestamp=1621842772382&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fparse%2Fdownload%2F%40commitlint%2Fparse-12.1.4.tgz", - "integrity": "sha1-ugPVTSTvhPb9L/McXpmYsi19CqE=", - "dev": true, - "requires": { - "@commitlint/types": "^12.1.4", - "conventional-changelog-angular": "^5.0.11", - "conventional-commits-parser": "^3.0.0" - } - }, - "@commitlint/read": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/read/download/@commitlint/read-12.1.4.tgz?cache=0&sync_timestamp=1621842772746&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fread%2Fdownload%2F%40commitlint%2Fread-12.1.4.tgz", - "integrity": "sha1-VS/aQu8YXVtXi+tvYmpfiygt46Y=", - "dev": true, - "requires": { - "@commitlint/top-level": "^12.1.4", - "@commitlint/types": "^12.1.4", - "fs-extra": "^9.0.0", - "git-raw-commits": "^2.0.0" - } - }, - "@commitlint/resolve-extends": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/resolve-extends/download/@commitlint/resolve-extends-12.1.4.tgz", - "integrity": "sha1-51jtfc35QmGLn2A6fCimQPaggCo=", - "dev": true, - "requires": { - "import-fresh": "^3.0.0", - "lodash": "^4.17.19", - "resolve-from": "^5.0.0", - "resolve-global": "^1.0.0" - } - }, - "@commitlint/rules": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/rules/download/@commitlint/rules-12.1.4.tgz?cache=0&sync_timestamp=1621842777413&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Frules%2Fdownload%2F%40commitlint%2Frules-12.1.4.tgz", - "integrity": "sha1-DhQbCMqj173EiqeEuqi6/z79ZNs=", - "dev": true, - "requires": { - "@commitlint/ensure": "^12.1.4", - "@commitlint/message": "^12.1.4", - "@commitlint/to-lines": "^12.1.4", - "@commitlint/types": "^12.1.4" - } - }, - "@commitlint/to-lines": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/to-lines/download/@commitlint/to-lines-12.1.4.tgz", - "integrity": "sha1-yqWC2/Eh83egWIu2TiXEhUhDzSU=", - "dev": true - }, - "@commitlint/top-level": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/top-level/download/@commitlint/top-level-12.1.4.tgz?cache=0&sync_timestamp=1621842767448&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Ftop-level%2Fdownload%2F%40commitlint%2Ftop-level-12.1.4.tgz", - "integrity": "sha1-ltXHFb/Bvfht/PEbZ/ws92WMem4=", - "dev": true, - "requires": { - "find-up": "^5.0.0" - }, - "dependencies": { - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.nlark.com/find-up/download/find-up-5.0.0.tgz", - "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-6.0.0.tgz", - "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz", - "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-5.0.0.tgz", - "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - } - } - }, - "@commitlint/types": { - "version": "12.1.4", - "resolved": "https://registry.nlark.com/@commitlint/types/download/@commitlint/types-12.1.4.tgz", - "integrity": "sha1-lhil3ImR+1jm3m7YnXv3Evp0un4=", - "dev": true, - "requires": { - "chalk": "^4.0.0" - } - }, - "@develar/schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npm.taobao.org/@develar/schema-utils/download/@develar/schema-utils-2.6.5.tgz", - "integrity": "sha1-Ps4ixYOEAkGabgQl+FdCuWHZtsY=", - "dev": true, - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - } - }, - "@electron/get": { - "version": "1.12.4", - "resolved": "https://registry.npm.taobao.org/@electron/get/download/@electron/get-1.12.4.tgz?cache=0&sync_timestamp=1612575876868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40electron%2Fget%2Fdownload%2F%40electron%2Fget-1.12.4.tgz", - "integrity": "sha1-pZcRE/wb+PoSqHidwgFSpzWfBqs=", - "dev": true, - "requires": { - "debug": "^4.1.1", - "env-paths": "^2.2.0", - "fs-extra": "^8.1.0", - "global-agent": "^2.0.2", - "global-tunnel-ng": "^2.7.1", - "got": "^9.6.0", - "progress": "^2.0.3", - "semver": "^6.2.0", - "sumchecker": "^3.0.1" - }, - "dependencies": { - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.nlark.com/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz", - "integrity": "sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o=", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.nlark.com/@szmarczak/http-timer/download/@szmarczak/http-timer-1.1.2.tgz?cache=0&sync_timestamp=1626126261719&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40szmarczak%2Fhttp-timer%2Fdownload%2F%40szmarczak%2Fhttp-timer-1.1.2.tgz", - "integrity": "sha1-sWZeLEYaLNkvTBu/UNVFTeDUtCE=", - "dev": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.nlark.com/cacheable-request/download/cacheable-request-6.1.0.tgz", - "integrity": "sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI=", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz", - "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-2.0.0.tgz", - "integrity": "sha1-JgPni3tLAAbLyi+8yKMgJVislHk=", - "dev": true - } - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz?cache=0&sync_timestamp=1613125280468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecompress-response%2Fdownload%2Fdecompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.nlark.com/defer-to-connect/download/defer-to-connect-1.1.3.tgz", - "integrity": "sha1-MxrgUMCNz3ifjIOnuB8O2U9KxZE=", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz", - "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", - "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.nlark.com/got/download/got-9.6.0.tgz", - "integrity": "sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU=", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161876665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/keyv/download/keyv-3.1.0.tgz", - "integrity": "sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk=", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz", - "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/mimic-response/download/mimic-response-1.0.1.tgz", - "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.nlark.com/normalize-url/download/normalize-url-4.5.1.tgz?cache=0&sync_timestamp=1625826787829&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-url%2Fdownload%2Fnormalize-url-4.5.1.tgz", - "integrity": "sha1-DdkM8SiO4dExO4cIHJpZMu5IUYo=", - "dev": true - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.nlark.com/p-cancelable/download/p-cancelable-1.1.0.tgz", - "integrity": "sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw=", - "dev": true - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/to-readable-stream/download/to-readable-stream-1.0.0.tgz", - "integrity": "sha1-zgqgwvPfat+FLvtASng+d8BHV3E=", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1603180080276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", - "dev": true - } - } - }, - "@electron/universal": { - "version": "1.0.5", - "resolved": "https://registry.nlark.com/@electron/universal/download/@electron/universal-1.0.5.tgz", - "integrity": "sha1-uBI0Dk7yHaKz7neytNNcm4be/jc=", - "dev": true, - "requires": { - "@malept/cross-spawn-promise": "^1.1.0", - "asar": "^3.0.3", - "debug": "^4.3.1", - "dir-compare": "^2.4.0", - "fs-extra": "^9.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "@hapi/hoek": { - "version": "9.2.0", - "resolved": "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-9.2.0.tgz?cache=0&sync_timestamp=1618694570157&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fhoek%2Fdownload%2F%40hapi%2Fhoek-9.2.0.tgz", - "integrity": "sha1-85M6RONlhk9NrV25QVgQbVEegTE=", - "dev": true - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.nlark.com/@hapi/topo/download/@hapi/topo-5.1.0.tgz", - "integrity": "sha1-3ESOMyxsbjek3AL9hLqNRLmvsBI=", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@iceworks/constant": { - "version": "0.1.7", - "resolved": "https://registry.nlark.com/@iceworks/constant/download/@iceworks/constant-0.1.7.tgz", - "integrity": "sha1-+W+MR/u9Y99OVfYbXHZYzvbuhTI=", - "requires": { - "js-base64": "^3.2.4", - "typescript": "^3.8.3" - }, - "dependencies": { - "typescript": { - "version": "3.9.10", - "resolved": "https://registry.nlark.com/typescript/download/typescript-3.9.10.tgz?cache=0&sync_timestamp=1626679114211&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftypescript%2Fdownload%2Ftypescript-3.9.10.tgz", - "integrity": "sha1-cPORCselHta+952ngAaQsZv3eLg=" - } - } - }, - "@iceworks/eslint-plugin-best-practices": { - "version": "0.2.8", - "resolved": "https://registry.nlark.com/@iceworks/eslint-plugin-best-practices/download/@iceworks/eslint-plugin-best-practices-0.2.8.tgz", - "integrity": "sha1-iDgkrK+y6I3ohwBRSRjgU/g3dpg=", - "dev": true, - "requires": { - "@iceworks/spec": "^1.0.0", - "@mdn/browser-compat-data": "^2.0.3", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "line-column": "^1.0.2", - "path-to-regexp": "^6.1.0", - "require-all": "^3.0.0", - "semver": "^7.3.2" - } - }, - "@iceworks/spec": { - "version": "1.3.2", - "resolved": "https://registry.nlark.com/@iceworks/spec/download/@iceworks/spec-1.3.2.tgz", - "integrity": "sha1-t6437Jz4N2CYXxExgUY+/9a9rJ4=", - "dev": true, - "requires": { - "@iceworks/eslint-plugin-best-practices": "^0.2.0", - "@typescript-eslint/eslint-plugin": "^4.5.0", - "@typescript-eslint/parser": "^4.5.0", - "babel-eslint": "^10.1.0", - "commitlint-config-ali": "^0.1.0", - "eslint-config-ali": "^12.0.1", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsx-plus": "^0.1.0", - "eslint-plugin-react": "^7.21.5", - "eslint-plugin-react-hooks": "^4.2.0", - "eslint-plugin-vue": "^7.3.0", - "require-all": "^3.0.0", - "stylelint-config-ali": "^0.3.4", - "stylelint-scss": "^3.18.0", - "vue-eslint-parser": "^7.2.0" - } - }, - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.nlark.com/@jest/types/download/@jest/types-25.5.0.tgz?cache=0&sync_timestamp=1624900057884&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40jest%2Ftypes%2Fdownload%2F%40jest%2Ftypes-25.5.0.tgz", - "integrity": "sha1-TWpHk/e5WZ/DaAh3uFapfbzPKp0=", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/chalk/download/chalk-3.0.0.tgz", - "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "@malept/cross-spawn-promise": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/@malept/cross-spawn-promise/download/@malept/cross-spawn-promise-1.1.1.tgz?cache=0&sync_timestamp=1625270317177&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40malept%2Fcross-spawn-promise%2Fdownload%2F%40malept%2Fcross-spawn-promise-1.1.1.tgz", - "integrity": "sha1-UEryAK9rmOGYvOdovBcwxpNq4B0=", - "dev": true, - "requires": { - "cross-spawn": "^7.0.1" - } - }, - "@malept/flatpak-bundler": { - "version": "0.4.0", - "resolved": "https://registry.nlark.com/@malept/flatpak-bundler/download/@malept/flatpak-bundler-0.4.0.tgz", - "integrity": "sha1-6KMsMKldIMKxu2NcxYCYGgY4mFg=", - "dev": true, - "requires": { - "debug": "^4.1.1", - "fs-extra": "^9.0.0", - "lodash": "^4.17.15", - "tmp-promise": "^3.0.2" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "@mdn/browser-compat-data": { - "version": "2.0.7", - "resolved": "https://registry.nlark.com/@mdn/browser-compat-data/download/@mdn/browser-compat-data-2.0.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40mdn%2Fbrowser-compat-data%2Fdownload%2F%40mdn%2Fbrowser-compat-data-2.0.7.tgz", - "integrity": "sha1-cuw3ucHgDOC04DCddTvhji2hLuM=", - "dev": true, - "requires": { - "extend": "3.0.2" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz?cache=0&sync_timestamp=1622792738877&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.scandir%2Fdownload%2F%40nodelib%2Ffs.scandir-2.1.5.tgz", - "integrity": "sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz?cache=0&sync_timestamp=1622792616417&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-2.0.5.tgz", - "integrity": "sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz", - "integrity": "sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@shockpkg/hdi-mac": { - "version": "1.7.0", - "resolved": "https://registry.nlark.com/@shockpkg/hdi-mac/download/@shockpkg/hdi-mac-1.7.0.tgz", - "integrity": "sha1-a10zLyM/OPED65uur9fsbQBS1N4=", - "requires": { - "@babel/runtime": "^7.14.0", - "@shockpkg/plist-dom": "^2.1.0", - "async-exit-hook": "^2.0.1" - } - }, - "@shockpkg/plist-dom": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/@shockpkg/plist-dom/download/@shockpkg/plist-dom-2.1.0.tgz", - "integrity": "sha1-6SC8BofEVzuL4iTwBzF3kUCRnpA=", - "requires": { - "@babel/runtime": "^7.14.0", - "entities": "^2.2.0", - "xmldom": "^0.6.0" - } - }, - "@sideway/address": { - "version": "4.1.2", - "resolved": "https://registry.nlark.com/@sideway/address/download/@sideway/address-4.1.2.tgz", - "integrity": "sha1-gRuEMzozVznTlpz8Q0c2JoFwytE=", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@sideway/formula/download/@sideway/formula-3.0.0.tgz?cache=0&sync_timestamp=1603525579815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40sideway%2Fformula%2Fdownload%2F%40sideway%2Fformula-3.0.0.tgz", - "integrity": "sha1-/hWK7jLmvV3oUES+YVvAhHigoTw=", - "dev": true - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/@sideway/pinpoint/download/@sideway/pinpoint-2.0.0.tgz", - "integrity": "sha1-z/j/rcNyrSn9P3gneusp5jLMcN8=", - "dev": true - }, - "@sindresorhus/is": { - "version": "2.1.1", - "resolved": "https://registry.nlark.com/@sindresorhus/is/download/@sindresorhus/is-2.1.1.tgz", - "integrity": "sha1-zv9qKKW0hnwt1KG6UT3ieMy+i7E=" - }, - "@stylelint/postcss-css-in-js": { - "version": "0.37.2", - "resolved": "https://registry.npm.taobao.org/@stylelint/postcss-css-in-js/download/@stylelint/postcss-css-in-js-0.37.2.tgz", - "integrity": "sha1-flqErRgfQjSiSAgDQipHuHSa89I=", - "dev": true, - "requires": { - "@babel/core": ">=7.9.0" - } - }, - "@stylelint/postcss-markdown": { - "version": "0.36.2", - "resolved": "https://registry.npm.taobao.org/@stylelint/postcss-markdown/download/@stylelint/postcss-markdown-0.36.2.tgz?cache=0&sync_timestamp=1605623456196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40stylelint%2Fpostcss-markdown%2Fdownload%2F%40stylelint%2Fpostcss-markdown-0.36.2.tgz", - "integrity": "sha1-ClQMRpL43N/BPI41LBfnv+4rs5E=", - "dev": true, - "requires": { - "remark": "^13.0.0", - "unist-util-find-all-after": "^3.0.2" - } - }, - "@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.nlark.com/@szmarczak/http-timer/download/@szmarczak/http-timer-4.0.6.tgz?cache=0&sync_timestamp=1626126261719&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40szmarczak%2Fhttp-timer%2Fdownload%2F%40szmarczak%2Fhttp-timer-4.0.6.tgz", - "integrity": "sha1-tKkUu2LnwnLU5Zif5EQPgSqx2Ac=", - "requires": { - "defer-to-connect": "^2.0.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/@tootallnate/once/download/@tootallnate/once-1.1.2.tgz", - "integrity": "sha1-zLkURTYBeaBOf+av94wA/8Hur4I=", - "dev": true - }, - "@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.nlark.com/@tsconfig/node10/download/@tsconfig/node10-1.0.8.tgz?cache=0&sync_timestamp=1623230113943&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40tsconfig%2Fnode10%2Fdownload%2F%40tsconfig%2Fnode10-1.0.8.tgz", - "integrity": "sha1-weToDW+WT77LM1nEO9SLQPfK2tk=", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.nlark.com/@tsconfig/node12/download/@tsconfig/node12-1.0.9.tgz", - "integrity": "sha1-YsH23uLr2a6tgNw6+laBDljhoEw=", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/@tsconfig/node14/download/@tsconfig/node14-1.0.1.tgz?cache=0&sync_timestamp=1623230113946&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40tsconfig%2Fnode14%2Fdownload%2F%40tsconfig%2Fnode14-1.0.1.tgz", - "integrity": "sha1-lfLRZ/+5uNIGiwsjUwL6/U33EfI=", - "dev": true - }, - "@tsconfig/node16": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/@tsconfig/node16/download/@tsconfig/node16-1.0.1.tgz", - "integrity": "sha1-pspqmg/zZq9DP0L18OEkeU/2uPE=", - "dev": true - }, - "@types/cacheable-request": { - "version": "6.0.2", - "resolved": "https://registry.nlark.com/@types/cacheable-request/download/@types/cacheable-request-6.0.2.tgz?cache=0&sync_timestamp=1625596835916&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fcacheable-request%2Fdownload%2F%40types%2Fcacheable-request-6.0.2.tgz", - "integrity": "sha1-wyTaAZfeCpiiMSFWU2riYkKf9rk=", - "requires": { - "@types/http-cache-semantics": "*", - "@types/keyv": "*", - "@types/node": "*", - "@types/responselike": "*" - } - }, - "@types/debug": { - "version": "4.1.6", - "resolved": "https://registry.nlark.com/@types/debug/download/@types/debug-4.1.6.tgz?cache=0&sync_timestamp=1625128449462&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fdebug%2Fdownload%2F%40types%2Fdebug-4.1.6.tgz", - "integrity": "sha1-C3AYcjCEkYqGXv+ZJJxJBQXfIWM=", - "dev": true - }, - "@types/decompress": { - "version": "4.2.4", - "resolved": "https://registry.nlark.com/@types/decompress/download/@types/decompress-4.2.4.tgz", - "integrity": "sha1-3ScV06wfVm0D5uMC0aJv+rWfjFw=", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/fs-extra": { - "version": "9.0.12", - "resolved": "https://registry.nlark.com/@types/fs-extra/download/@types/fs-extra-9.0.12.tgz", - "integrity": "sha1-m48nlz34p6OSDoRhUX6/in1P368=", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.nlark.com/@types/glob/download/@types/glob-7.1.4.tgz", - "integrity": "sha1-6lniHS7lxReRTLS8jkFTuZ5WZnI=", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/@types/http-cache-semantics/download/@types/http-cache-semantics-4.0.1.tgz?cache=0&sync_timestamp=1625607856094&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fhttp-cache-semantics%2Fdownload%2F%40types%2Fhttp-cache-semantics-4.0.1.tgz", - "integrity": "sha1-Dqe2FJaQK5WJDcTDoRa2DLja6BI=" - }, - "@types/ini": { - "version": "1.3.30", - "resolved": "https://registry.nlark.com/@types/ini/download/@types/ini-1.3.30.tgz", - "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=", - "dev": true - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.nlark.com/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha1-S6jdtyAiH0MuRDvV+RF/0iz9R2I=" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY=", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.nlark.com/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz?cache=0&sync_timestamp=1622582274460&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-1.1.2.tgz", - "integrity": "sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI=", - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-schema": { - "version": "7.0.8", - "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.8.tgz", - "integrity": "sha1-7fG/Hb9OBEE8qOWxezt9fVS1mBg=", - "dev": true - }, - "@types/keyv": { - "version": "3.1.2", - "resolved": "https://registry.nlark.com/@types/keyv/download/@types/keyv-3.1.2.tgz?cache=0&sync_timestamp=1625610098677&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fkeyv%2Fdownload%2F%40types%2Fkeyv-3.1.2.tgz", - "integrity": "sha1-XZe7ZVJsILbghF9rDSreTyhgTuU=", - "requires": { - "@types/node": "*" - } - }, - "@types/mdast": { - "version": "3.0.7", - "resolved": "https://registry.nlark.com/@types/mdast/download/@types/mdast-3.0.7.tgz", - "integrity": "sha1-y6Y9DMEesWBc6lwK124CaEOUFms=", - "dev": true, - "requires": { - "@types/unist": "*" - } - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz", - "integrity": "sha1-EAHMXmo3BLg8I2An538vWOoBD0A=", - "dev": true - }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.nlark.com/@types/minimist/download/@types/minimist-1.2.2.tgz?cache=0&sync_timestamp=1625616230224&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimist%2Fdownload%2F%40types%2Fminimist-1.2.2.tgz", - "integrity": "sha1-7nceK6Sz3Fs3KTXVSf2WF780W4w=", - "dev": true - }, - "@types/node": { - "version": "16.3.3", - "resolved": "https://registry.nlark.com/@types/node/download/@types/node-16.3.3.tgz?cache=0&sync_timestamp=1626462214142&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-16.3.3.tgz", - "integrity": "sha1-DDCt/ze7vHpQ65tY+uKlBNDYgDg=" - }, - "@types/node-fetch": { - "version": "2.5.11", - "resolved": "https://registry.nlark.com/@types/node-fetch/download/@types/node-fetch-2.5.11.tgz", - "integrity": "sha1-ziKi5l/ImZ9Nvbfdu88YfXVRaeQ=", - "dev": true, - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - }, - "dependencies": { - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.nlark.com/form-data/download/form-data-3.0.1.tgz", - "integrity": "sha1-69U3kbeDVqma+aMA1CgsTV65dV8=", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.nlark.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.1.tgz", - "integrity": "sha1-0zV0eaD9/dWQf+Z+F+CoXJBuEwE=", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz", - "integrity": "sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA=", - "dev": true - }, - "@types/plist": { - "version": "3.0.2", - "resolved": "https://registry.nlark.com/@types/plist/download/@types/plist-3.0.2.tgz", - "integrity": "sha1-YbNye7oPXEYv4zNUJTSgw+GcywE=", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*", - "xmlbuilder": ">=11.0.1" - } - }, - "@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/@types/responselike/download/@types/responselike-1.0.0.tgz?cache=0&sync_timestamp=1621242544305&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fresponselike%2Fdownload%2F%40types%2Fresponselike-1.0.0.tgz", - "integrity": "sha1-JR9P59FU0rrRJavhtCmyOv0mLik=", - "requires": { - "@types/node": "*" - } - }, - "@types/semver": { - "version": "7.3.7", - "resolved": "https://registry.nlark.com/@types/semver/download/@types/semver-7.3.7.tgz", - "integrity": "sha1-ueuJ19+nDV0c5SW8FBGjU0f1M6M=" - }, - "@types/shelljs": { - "version": "0.8.9", - "resolved": "https://registry.nlark.com/@types/shelljs/download/@types/shelljs-0.8.9.tgz?cache=0&sync_timestamp=1625591043397&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fshelljs%2Fdownload%2F%40types%2Fshelljs-0.8.9.tgz", - "integrity": "sha1-Rd2FAaqYgpdso2EFF9rDgxwvu/Q=", - "dev": true, - "requires": { - "@types/glob": "*", - "@types/node": "*" - } - }, - "@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.nlark.com/@types/unist/download/@types/unist-2.0.6.tgz", - "integrity": "sha1-JQp7FsO5H2cqJFUuxkZ47rHToI0=", - "dev": true - }, - "@types/url-join": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/@types/url-join/download/@types/url-join-4.0.1.tgz", - "integrity": "sha1-SYnJf5aUZGR6hYbHJS2XtEnNwEU=", - "dev": true - }, - "@types/verror": { - "version": "1.10.5", - "resolved": "https://registry.nlark.com/@types/verror/download/@types/verror-1.10.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fverror%2Fdownload%2F%40types%2Fverror-1.10.5.tgz", - "integrity": "sha1-KhQTre1G5nof4jhoAOKREj7XXrE=", - "dev": true, - "optional": true - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.nlark.com/@types/yargs/download/@types/yargs-15.0.14.tgz", - "integrity": "sha1-Jtgh3biecEkhYLZtEKDrbfj2+wY=", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.nlark.com/@types/yargs-parser/download/@types/yargs-parser-20.2.1.tgz", - "integrity": "sha1-O5ziSJkZ2eT+pDm3aRarw0st8Sk=" - }, - "@typescript-eslint/eslint-plugin": { - "version": "4.28.3", - "resolved": "https://registry.nlark.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.28.3.tgz?cache=0&sync_timestamp=1626110455011&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-4.28.3.tgz", - "integrity": "sha1-Ns3NnKb55ctJufYblwsZdnCNCEs=", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.28.3", - "@typescript-eslint/scope-manager": "4.28.3", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.1.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "4.28.3", - "resolved": "https://registry.nlark.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.28.3.tgz?cache=0&sync_timestamp=1626110454372&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-4.28.3.tgz", - "integrity": "sha1-l2+MEZGzcQX9BmWO1X3f7kvjYco=", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.28.3", - "@typescript-eslint/types": "4.28.3", - "@typescript-eslint/typescript-estree": "4.28.3", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "4.28.3", - "resolved": "https://registry.nlark.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.28.3.tgz?cache=0&sync_timestamp=1626110455358&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-4.28.3.tgz", - "integrity": "sha1-lfHUdcCCaO3/3LJ3mZPEiLZDS0Q=", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "4.28.3", - "@typescript-eslint/types": "4.28.3", - "@typescript-eslint/typescript-estree": "4.28.3", - "debug": "^4.3.1" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "@typescript-eslint/scope-manager": { - "version": "4.28.3", - "resolved": "https://registry.nlark.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.28.3.tgz?cache=0&sync_timestamp=1626110453856&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fscope-manager%2Fdownload%2F%40typescript-eslint%2Fscope-manager-4.28.3.tgz", - "integrity": "sha1-wyrUSRs3Jtsbo0AwtZ6pIsIU43E=", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.28.3", - "@typescript-eslint/visitor-keys": "4.28.3" - } - }, - "@typescript-eslint/types": { - "version": "4.28.3", - "resolved": "https://registry.nlark.com/@typescript-eslint/types/download/@typescript-eslint/types-4.28.3.tgz", - "integrity": "sha1-j//UNqO62kIsLB2lYGCgVmqVBsc=", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "4.28.3", - "resolved": "https://registry.nlark.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.28.3.tgz?cache=0&sync_timestamp=1626110454920&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.28.3.tgz", - "integrity": "sha1-JT1wiBALKjiu/jyN170fgjLsRvs=", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.28.3", - "@typescript-eslint/visitor-keys": "4.28.3", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.28.3", - "resolved": "https://registry.nlark.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.28.3.tgz?cache=0&sync_timestamp=1626110454138&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fvisitor-keys%2Fdownload%2F%40typescript-eslint%2Fvisitor-keys-4.28.3.tgz", - "integrity": "sha1-JqyR6EsjUploNhBFgp2oCk5SUcQ=", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.28.3", - "eslint-visitor-keys": "^2.0.0" - } - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npm.taobao.org/JSONStream/download/JSONStream-1.3.5.tgz", - "integrity": "sha1-MgjB8I06TZkmGrZPkjArwV4RHKA=", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz", - "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz", - "integrity": "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=", - "dev": true - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz", - "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=", - "dev": true - }, - "adm-zip": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/adm-zip/download/adm-zip-0.5.5.tgz?cache=0&sync_timestamp=1617192384205&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fadm-zip%2Fdownload%2Fadm-zip-0.5.5.tgz", - "integrity": "sha1-tlSdvqdB5AUDCfG7TUfEc5fOLE8=" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.nlark.com/agent-base/download/agent-base-6.0.2.tgz", - "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", - "dev": true, - "requires": { - "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "agentkeepalive": { - "version": "3.5.2", - "resolved": "https://registry.npm.taobao.org/agentkeepalive/download/agentkeepalive-3.5.2.tgz?cache=0&sync_timestamp=1612490497760&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagentkeepalive%2Fdownload%2Fagentkeepalive-3.5.2.tgz", - "integrity": "sha1-oROSTdP6JKC8O3gQjEUMKr7gD2c=", - "dev": true, - "requires": { - "humanize-ms": "^1.2.1" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1626380017209&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", - "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/ajv-formats/download/ajv-formats-2.1.0.tgz", - "integrity": "sha1-lur4PjjTIQi2bYKpywz6JIhs3+s=", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.6.2", - "resolved": "https://registry.nlark.com/ajv/download/ajv-8.6.2.tgz?cache=0&sync_timestamp=1626380017209&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-8.6.2.tgz", - "integrity": "sha1-L7ReDl/LwIEzJsHD2lNdGIG7BXE=", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz", - "integrity": "sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=" - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.nlark.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz", - "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", - "dev": true - }, - "ali-oss": { - "version": "6.16.0", - "resolved": "https://registry.nlark.com/ali-oss/download/ali-oss-6.16.0.tgz?cache=0&sync_timestamp=1626077014328&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fali-oss%2Fdownload%2Fali-oss-6.16.0.tgz", - "integrity": "sha1-O3++EPE/vVNUePwxx9Bar0KAJps=", - "dev": true, - "requires": { - "address": "^1.0.0", - "agentkeepalive": "^3.4.1", - "bowser": "^1.6.0", - "co-defer": "^1.0.0", - "copy-to": "^2.0.1", - "dateformat": "^2.0.0", - "debug": "^2.2.0", - "destroy": "^1.0.4", - "end-or-error": "^1.0.1", - "get-ready": "^1.0.0", - "humanize-ms": "^1.2.0", - "is-type-of": "^1.0.0", - "js-base64": "^2.5.2", - "jstoxml": "^0.2.3", - "merge-descriptors": "^1.0.1", - "mime": "^2.4.5", - "mz-modules": "^2.1.0", - "platform": "^1.3.1", - "pump": "^3.0.0", - "sdk-base": "^2.0.1", - "stream-http": "2.8.2", - "stream-wormhole": "^1.0.4", - "urllib": "^2.33.1", - "utility": "^1.8.0", - "xml2js": "^0.4.16" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "js-base64": { - "version": "2.6.4", - "resolved": "https://registry.nlark.com/js-base64/download/js-base64-2.6.4.tgz", - "integrity": "sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ=", - "dev": true - } - } - }, - "all-node-versions": { - "version": "8.0.0", - "resolved": "https://registry.nlark.com/all-node-versions/download/all-node-versions-8.0.0.tgz", - "integrity": "sha1-06Tc/+XFiXdcfdvRW2PbzHH6zhQ=", - "requires": { - "fetch-node-website": "^5.0.3", - "filter-obj": "^2.0.1", - "get-stream": "^5.1.0", - "global-cache-dir": "^2.0.0", - "jest-validate": "^25.3.0", - "path-exists": "^4.0.0", - "semver": "^7.3.2", - "write-file-atomic": "^3.0.3" - }, - "dependencies": { - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=" - } - } - }, - "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-align/download/ansi-align-3.0.0.tgz", - "integrity": "sha1-tTazcc9ofKrvI2wY0+If43l0Z8s=", - "dev": true, - "requires": { - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1618553044693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.nlark.com/emoji-regex/download/emoji-regex-7.0.3.tgz", - "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/string-width/download/string-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/ansi-escapes/download/ansi-escapes-4.3.2.tgz", - "integrity": "sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4=", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.21.3.tgz?cache=0&sync_timestamp=1625745315038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.21.3.tgz", - "integrity": "sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc=", - "dev": true - } - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz?cache=0&sync_timestamp=1618553044693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "requires": { - "color-convert": "^2.0.1" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true - }, - "app-builder-bin": { - "version": "3.5.13", - "resolved": "https://registry.nlark.com/app-builder-bin/download/app-builder-bin-3.5.13.tgz?cache=0&sync_timestamp=1625296834335&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fapp-builder-bin%2Fdownload%2Fapp-builder-bin-3.5.13.tgz", - "integrity": "sha1-bdf03jSk5AiAb5m4x9bvFgEwW34=", - "dev": true - }, - "app-builder-lib": { - "version": "22.11.7", - "resolved": "https://registry.nlark.com/app-builder-lib/download/app-builder-lib-22.11.7.tgz?cache=0&sync_timestamp=1626229444225&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fapp-builder-lib%2Fdownload%2Fapp-builder-lib-22.11.7.tgz", - "integrity": "sha1-wK0RGev79BiagoCtaTYl9eaE3KY=", - "dev": true, - "requires": { - "7zip-bin": "~5.1.1", - "@develar/schema-utils": "~2.6.5", - "@electron/universal": "1.0.5", - "@malept/flatpak-bundler": "^0.4.0", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.9", - "builder-util": "22.11.7", - "builder-util-runtime": "8.7.7", - "chromium-pickle-js": "^0.2.0", - "debug": "^4.3.2", - "ejs": "^3.1.6", - "electron-publish": "22.11.7", - "fs-extra": "^10.0.0", - "hosted-git-info": "^4.0.2", - "is-ci": "^3.0.0", - "isbinaryfile": "^4.0.8", - "js-yaml": "^4.1.0", - "lazy-val": "^1.0.5", - "minimatch": "^3.0.4", - "read-config-file": "6.2.0", - "sanitize-filename": "^1.6.3", - "semver": "^7.3.5", - "temp-file": "^3.4.0" - }, - "dependencies": { - "builder-util-runtime": { - "version": "8.7.7", - "resolved": "https://registry.nlark.com/builder-util-runtime/download/builder-util-runtime-8.7.7.tgz", - "integrity": "sha1-bIPMOr56elyLTsiHj2ityCjAfw0=", - "dev": true, - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-10.0.0.tgz", - "integrity": "sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npm.taobao.org/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1605576950209&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farg%2Fdownload%2Farg-4.1.3.tgz", - "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk=", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/argparse/download/argparse-2.0.1.tgz", - "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=" - }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/array-ify/download/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, - "array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.3.tgz", - "integrity": "sha1-x/YZs4KtKvr1Mmzd/cCvxhr3aQo=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz?cache=0&sync_timestamp=1614624262896&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-2.1.0.tgz", - "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=" - }, - "array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/array.prototype.flat/download/array.prototype.flat-1.2.4.tgz?cache=0&sync_timestamp=1605688971975&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray.prototype.flat%2Fdownload%2Farray.prototype.flat-1.2.4.tgz", - "integrity": "sha1-bvY4tDMSvUAbTGGZ/ex+LcnpoSM=", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/array.prototype.flatmap/download/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha1-lM/UfMFVbsB0fZf3x3OMWBIgBMk=", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" - } - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/arrify/download/arrify-1.0.1.tgz?cache=0&sync_timestamp=1619599497996&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farrify%2Fdownload%2Farrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asar": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/asar/download/asar-3.0.3.tgz", - "integrity": "sha1-H+8DwtbS3gy60Th4jk964DsSnHs=", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "chromium-pickle-js": "^0.2.0", - "commander": "^5.0.0", - "glob": "^7.1.6", - "minimatch": "^3.0.4" - }, - "dependencies": { - "commander": { - "version": "5.1.0", - "resolved": "https://registry.nlark.com/commander/download/commander-5.1.0.tgz?cache=0&sync_timestamp=1624609539421&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-5.1.0.tgz", - "integrity": "sha1-Rqu9FlL44Fm92u+Zu9yyrZzxea4=", - "dev": true - } - } - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", - "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npm.taobao.org/ast-types/download/ast-types-0.13.4.tgz?cache=0&sync_timestamp=1599935882818&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fast-types%2Fdownload%2Fast-types-0.13.4.tgz", - "integrity": "sha1-7g13s0MmOWXsw/ti2hbnIisrZ4I=", - "dev": true, - "requires": { - "tslib": "^2.0.1" - } - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz", - "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=", - "dev": true - }, - "async": { - "version": "0.9.2", - "resolved": "https://registry.npm.taobao.org/async/download/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - }, - "async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/async-exit-hook/download/async-exit-hook-2.0.1.tgz", - "integrity": "sha1-i9iwJLDsmxwBzMua+dspvXF9+vM=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/at-least-node/download/at-least-node-1.0.0.tgz", - "integrity": "sha1-YCzUtG6EStTv/JKoARo8RuAjjcI=" - }, - "atomically": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/atomically/download/atomically-1.7.0.tgz?cache=0&sync_timestamp=1605101327415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fatomically%2Fdownload%2Fatomically-1.7.0.tgz", - "integrity": "sha1-wHoEWEMuptvJo1Bv/6QktIvMqv4=" - }, - "autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.nlark.com/autoprefixer/download/autoprefixer-9.8.6.tgz", - "integrity": "sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8=", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.nlark.com/aws-sign2/download/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.nlark.com/aws4/download/aws4-1.11.0.tgz", - "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=" - }, - "axios": { - "version": "0.19.2", - "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.19.2.tgz?cache=0&sync_timestamp=1608609324963&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.19.2.tgz", - "integrity": "sha1-PqNsXYgY0NX4qKl6bTa4bNwAyyc=", - "requires": { - "follow-redirects": "1.5.10" - } - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.nlark.com/babel-eslint/download/babel-eslint-10.1.0.tgz", - "integrity": "sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1624559054225&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", - "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", - "dev": true - } - } - }, - "bail": { - "version": "1.0.5", - "resolved": "https://registry.nlark.com/bail/download/bail-1.0.5.tgz?cache=0&sync_timestamp=1621397637411&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbail%2Fdownload%2Fbail-1.0.5.tgz", - "integrity": "sha1-tvoTNASjksvB+MS/Y/WVM1Hnp3Y=", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz?cache=0&sync_timestamp=1617714233441&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-1.0.2.tgz", - "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.nlark.com/base64-js/download/base64-js-1.5.1.tgz", - "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.nlark.com/bl/download/bl-1.2.3.tgz", - "integrity": "sha1-Ho3YAULqyA1xWMnczAR/tiDgNec=", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.nlark.com/bluebird/download/bluebird-3.7.2.tgz", - "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=" - }, - "bluebird-lst": { - "version": "1.0.9", - "resolved": "https://registry.npm.taobao.org/bluebird-lst/download/bluebird-lst-1.0.9.tgz", - "integrity": "sha1-pkoOQ2Vli5q1/odeud+2lBibtBw=", - "dev": true, - "requires": { - "bluebird": "^3.5.5" - } - }, - "boolean": { - "version": "3.1.2", - "resolved": "https://registry.nlark.com/boolean/download/boolean-3.1.2.tgz", - "integrity": "sha1-4w8hCiawJFhIKozDU6sG8mKngMI=", - "dev": true, - "optional": true - }, - "bowser": { - "version": "1.9.4", - "resolved": "https://registry.npm.taobao.org/bowser/download/bowser-1.9.4.tgz?cache=0&sync_timestamp=1599897434141&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbowser%2Fdownload%2Fbowser-1.9.4.tgz", - "integrity": "sha1-iQxYooE6nTJDcEM0+oG5alwVDJo=", - "dev": true - }, - "boxen": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/boxen/download/boxen-5.0.1.tgz", - "integrity": "sha1-ZXUovdP1mncrgnm4MfJ+wsdEZks=", - "dev": true, - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.0", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-6.2.0.tgz", - "integrity": "sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=", - "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.20.2.tgz?cache=0&sync_timestamp=1625745315038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.20.2.tgz", - "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=", - "dev": true - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.nlark.com/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.nlark.com/browserslist/download/browserslist-4.16.6.tgz?cache=0&sync_timestamp=1619789072079&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.6.tgz", - "integrity": "sha1-15ASd6WojlVO0wWxg+ybDAj2b6I=", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.nlark.com/buffer/download/buffer-5.7.1.tgz", - "integrity": "sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA=", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.nlark.com/buffer-alloc/download/buffer-alloc-1.2.0.tgz", - "integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=" - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/buffer-equal/download/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/buffer-fill/download/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.1.tgz", - "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", - "dev": true - }, - "builder-util": { - "version": "22.11.7", - "resolved": "https://registry.nlark.com/builder-util/download/builder-util-22.11.7.tgz", - "integrity": "sha1-rpcHr6ajH+r6E8J0rIO0/ijvFGc=", - "dev": true, - "requires": { - "7zip-bin": "~5.1.1", - "@types/debug": "^4.1.5", - "@types/fs-extra": "^9.0.11", - "app-builder-bin": "3.5.13", - "bluebird-lst": "^1.0.9", - "builder-util-runtime": "8.7.7", - "chalk": "^4.1.1", - "debug": "^4.3.2", - "fs-extra": "^10.0.0", - "is-ci": "^3.0.0", - "js-yaml": "^4.1.0", - "source-map-support": "^0.5.19", - "stat-mode": "^1.0.0", - "temp-file": "^3.4.0" - }, - "dependencies": { - "builder-util-runtime": { - "version": "8.7.7", - "resolved": "https://registry.nlark.com/builder-util-runtime/download/builder-util-runtime-8.7.7.tgz", - "integrity": "sha1-bIPMOr56elyLTsiHj2ityCjAfw0=", - "dev": true, - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-10.0.0.tgz", - "integrity": "sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "builder-util-runtime": { - "version": "8.7.5", - "resolved": "https://registry.nlark.com/builder-util-runtime/download/builder-util-runtime-8.7.5.tgz", - "integrity": "sha1-++WeJ0gYiF4NLjWNW3AXw0rmsPU=", - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" - } - } - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz", - "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", - "dev": true - }, - "cacheable-lookup": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/cacheable-lookup/download/cacheable-lookup-2.0.1.tgz?cache=0&sync_timestamp=1613567617958&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacheable-lookup%2Fdownload%2Fcacheable-lookup-2.0.1.tgz", - "integrity": "sha1-h75koYuSUjSHXhCpux68pK3Oazg=", - "requires": { - "@types/keyv": "^3.1.1", - "keyv": "^4.0.0" - } - }, - "cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.nlark.com/cacheable-request/download/cacheable-request-7.0.2.tgz", - "integrity": "sha1-6g0LiJNkolhUdXMByhKy2nf5HSc=", - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - } - }, - "cachedir": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/cachedir/download/cachedir-2.3.0.tgz", - "integrity": "sha1-DHWJKgUhmPCyHHwYBNgzHt/K4Og=" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1610403020286&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz", - "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz", - "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=" - }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.nlark.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz?cache=0&sync_timestamp=1624609060222&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-6.2.2.tgz", - "integrity": "sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, - "caniuse-lite": { - "version": "1.0.30001245", - "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001245.tgz?cache=0&sync_timestamp=1626238601288&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001245.tgz", - "integrity": "sha1-RblBu9gzyw+lOGH/K650azxspdQ=", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.nlark.com/caseless/download/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz", - "integrity": "sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0=", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "character-entities": { - "version": "1.2.4", - "resolved": "https://registry.nlark.com/character-entities/download/character-entities-1.2.4.tgz", - "integrity": "sha1-4Sw5Obfq9OWxXnrUxeKOHUjFsWs=", - "dev": true - }, - "character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/character-entities-legacy/download/character-entities-legacy-1.1.4.tgz?cache=0&sync_timestamp=1615373299115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcharacter-entities-legacy%2Fdownload%2Fcharacter-entities-legacy-1.1.4.tgz", - "integrity": "sha1-lLwYRdznClu50uzHSHJWYSk9j8E=", - "dev": true - }, - "character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/character-reference-invalid/download/character-reference-invalid-1.1.4.tgz", - "integrity": "sha1-CDMpzaDq4nKrPbvzfpo4LBOvFWA=", - "dev": true - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.nlark.com/chardet/download/chardet-0.7.0.tgz", - "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=", - "dev": true - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.nlark.com/chownr/download/chownr-1.1.4.tgz", - "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=" - }, - "chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.nlark.com/chromium-pickle-js/download/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", - "dev": true - }, - "ci-info": { - "version": "3.2.0", - "resolved": "https://registry.nlark.com/ci-info/download/ci-info-3.2.0.tgz", - "integrity": "sha1-KHbLlIpJh5e1I28AlbwFfQ3KOLY=", - "dev": true - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.nlark.com/cli-boxes/download/cli-boxes-2.2.1.tgz", - "integrity": "sha1-3dUDXSUJT84iDpyrQKRYQKRAMY8=", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz", - "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-progress": { - "version": "3.9.0", - "resolved": "https://registry.npm.taobao.org/cli-progress/download/cli-progress-3.9.0.tgz", - "integrity": "sha1-JduDRH3rgS5i0FusGvmuxTh+89Q=", - "requires": { - "colors": "^1.1.2", - "string-width": "^4.2.0" - } - }, - "cli-truncate": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/cli-truncate/download/cli-truncate-1.1.0.tgz", - "integrity": "sha1-Ky39g8U8/TVyuH/E1DCoCK+wQIY=", - "dev": true, - "optional": true, - "requires": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz?cache=0&sync_timestamp=1618553044693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "optional": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.nlark.com/string-width/download/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "dev": true, - "optional": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/strip-ansi/download/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/cli-width/download/cli-width-3.0.0.tgz", - "integrity": "sha1-ovSEN6LKqaIkNueUvwceyeYc7fY=", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz", - "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.nlark.com/clone/download/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" - }, - "clone-regexp": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/clone-regexp/download/clone-regexp-2.2.0.tgz", - "integrity": "sha1-fWXgCIXNh5ZAXDWnN+eoa3Qp428=", - "dev": true, - "requires": { - "is-regexp": "^2.0.0" - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/clone-response/download/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "requires": { - "mimic-response": "^1.0.0" - }, - "dependencies": { - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/mimic-response/download/mimic-response-1.0.1.tgz", - "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=" - } - } - }, - "co-defer": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/co-defer/download/co-defer-1.0.0.tgz", - "integrity": "sha1-Pkp4eo7tawoh7ih8CU9+jeDTyBg=", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.nlark.com/colorette/download/colorette-1.2.2.tgz?cache=0&sync_timestamp=1618846981554&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolorette%2Fdownload%2Fcolorette-1.2.2.tgz", - "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=", - "dev": true - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.4.0.tgz", - "integrity": "sha1-xQSRR51MG9rtLJztMs98fcI2D3g=" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.nlark.com/combined-stream/download/combined-stream-1.0.8.tgz", - "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1624609539421&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" - }, - "commitlint-config-ali": { - "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/commitlint-config-ali/download/commitlint-config-ali-0.1.3.tgz", - "integrity": "sha1-aZjZOO40+ziejSHTZCp+JV8v3DY=", - "dev": true, - "requires": { - "conventional-changelog-conventionalcommits": "^4.5.0" - } - }, - "compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/compare-func/download/compare-func-2.0.0.tgz", - "integrity": "sha1-+2XnXtvd/S5WhVTotbBf/3pR/LM=", - "dev": true, - "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, - "compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/compare-versions/download/compare-versions-3.6.0.tgz", - "integrity": "sha1-GlaJkTaF5ah2N7jT/8p1UU7EHWI=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", - "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "concurrently": { - "version": "5.3.0", - "resolved": "https://registry.nlark.com/concurrently/download/concurrently-5.3.0.tgz", - "integrity": "sha1-dQDeZBDQQ8kSston3jICy0ibHns=", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "date-fns": "^2.0.1", - "lodash": "^4.17.15", - "read-pkg": "^4.0.1", - "rxjs": "^6.5.2", - "spawn-command": "^0.0.2-1", - "supports-color": "^6.1.0", - "tree-kill": "^1.2.2", - "yargs": "^13.3.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1618553044693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.nlark.com/cliui/download/cliui-5.0.0.tgz", - "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.nlark.com/emoji-regex/download/emoji-regex-7.0.3.tgz", - "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz", - "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz", - "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/parse-json/download/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-4.0.1.tgz", - "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", - "dev": true, - "requires": { - "normalize-package-data": "^2.3.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/string-width/download/string-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", - "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz", - "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.nlark.com/y18n/download/y18n-4.0.3.tgz", - "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", - "dev": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.nlark.com/yargs/download/yargs-13.3.2.tgz", - "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.nlark.com/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1624233514145&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz", - "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "conf": { - "version": "7.1.2", - "resolved": "https://registry.nlark.com/conf/download/conf-7.1.2.tgz", - "integrity": "sha1-2WeKnY8E3ov1zUdRBdqP2uScLsQ=", - "requires": { - "ajv": "^6.12.2", - "atomically": "^1.3.1", - "debounce-fn": "^4.0.0", - "dot-prop": "^5.2.0", - "env-paths": "^2.2.0", - "json-schema-typed": "^7.0.3", - "make-dir": "^3.1.0", - "onetime": "^5.1.0", - "pkg-up": "^3.1.0", - "semver": "^7.3.2" - } - }, - "config-chain": { - "version": "1.1.13", - "resolved": "https://registry.nlark.com/config-chain/download/config-chain-1.1.13.tgz?cache=0&sync_timestamp=1622745851079&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconfig-chain%2Fdownload%2Fconfig-chain-1.1.13.tgz", - "integrity": "sha1-+tB5Wqamza/57Rto6d/5Q3LCMvQ=", - "dev": true, - "optional": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", - "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", - "dev": true, - "optional": true - } - } - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/configstore/download/configstore-5.0.1.tgz", - "integrity": "sha1-02UCG130uYzdGH1qOw4/anzF7ZY=", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.nlark.com/content-type/download/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", - "dev": true - }, - "conventional-changelog-angular": { - "version": "5.0.12", - "resolved": "https://registry.npm.taobao.org/conventional-changelog-angular/download/conventional-changelog-angular-5.0.12.tgz?cache=0&sync_timestamp=1604539743329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-angular%2Fdownload%2Fconventional-changelog-angular-5.0.12.tgz", - "integrity": "sha1-yXm4uSHL/iZALrPaW7/aAthlork=", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - } - }, - "conventional-changelog-conventionalcommits": { - "version": "4.6.0", - "resolved": "https://registry.nlark.com/conventional-changelog-conventionalcommits/download/conventional-changelog-conventionalcommits-4.6.0.tgz", - "integrity": "sha1-f8FyEdvKFgrPJGh70v3V/XZ3UOs=", - "dev": true, - "requires": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - } - }, - "conventional-commits-parser": { - "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/conventional-commits-parser/download/conventional-commits-parser-3.2.1.tgz", - "integrity": "sha1-ukTws7ZYjaLun9jaUI6/9Q0RbOI=", - "dev": true, - "requires": { - "JSONStream": "^1.0.4", - "is-text-path": "^1.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0", - "trim-off-newlines": "^1.0.0" - } - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz?cache=0&sync_timestamp=1624045420970&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.8.0.tgz", - "integrity": "sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true - } - } - }, - "copy-to": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/copy-to/download/copy-to-2.0.1.tgz", - "integrity": "sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU=", - "dev": true - }, - "core-js": { - "version": "3.15.2", - "resolved": "https://registry.nlark.com/core-js/download/core-js-3.15.2.tgz?cache=0&sync_timestamp=1624966012065&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js%2Fdownload%2Fcore-js-3.15.2.tgz", - "integrity": "sha1-dAZg0v9V7zTOZk1+JFURnFvdPWE=", - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-7.0.0.tgz?cache=0&sync_timestamp=1596310773001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-7.0.0.tgz", - "integrity": "sha1-75tE13OVnK5j3ezRIt4jhTtg+NM=", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npm.taobao.org/crc/download/crc-3.8.0.tgz", - "integrity": "sha1-rWAmnCyFb4wpnixMwN5FVpFAVsY=", - "dev": true, - "optional": true, - "requires": { - "buffer": "^5.1.0" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/create-require/download/create-require-1.1.1.tgz", - "integrity": "sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM=", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.nlark.com/cross-spawn/download/cross-spawn-7.0.3.tgz", - "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/crypto-random-string/download/crypto-random-string-2.0.0.tgz", - "integrity": "sha1-7yp6lm7BEIM4g2m6oC6+rSKbMNU=", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/cssesc/download/cssesc-3.0.0.tgz", - "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", - "dev": true - }, - "dargs": { - "version": "7.0.0", - "resolved": "https://registry.nlark.com/dargs/download/dargs-7.0.0.tgz", - "integrity": "sha1-BAFcQd4Ly2nshAUPPZvgyvjW1cw=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073647826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-uri-to-buffer": { - "version": "3.0.1", - "resolved": "https://registry.nlark.com/data-uri-to-buffer/download/data-uri-to-buffer-3.0.1.tgz", - "integrity": "sha1-WUuJc5OMW8LDMEZTV4U0GrxPNjY=", - "dev": true - }, - "date-fns": { - "version": "2.22.1", - "resolved": "https://registry.nlark.com/date-fns/download/date-fns-2.22.1.tgz?cache=0&sync_timestamp=1622203607219&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdate-fns%2Fdownload%2Fdate-fns-2.22.1.tgz", - "integrity": "sha1-Hlr5WYMeux2CmSv2e3ZQUtjw78Q=", - "dev": true - }, - "dateformat": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/dateformat/download/dateformat-2.2.0.tgz", - "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", - "dev": true - }, - "debounce-fn": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/debounce-fn/download/debounce-fn-4.0.0.tgz", - "integrity": "sha1-7XbSBtilDmDeDdZtSU2Cg1/+Ycc=", - "requires": { - "mimic-fn": "^3.0.0" - } - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/debug/download/debug-3.1.0.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.nlark.com/decamelize/download/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.nlark.com/decamelize-keys/download/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz?cache=0&sync_timestamp=1617771341569&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } - } - }, - "decompress": { - "version": "4.2.1", - "resolved": "https://registry.nlark.com/decompress/download/decompress-4.2.1.tgz", - "integrity": "sha1-AH9VzGpiwFWvo3wH62pO4bdz8Rg=", - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.nlark.com/make-dir/download/make-dir-1.3.0.tgz", - "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - } - } - }, - "decompress-response": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-5.0.0.tgz?cache=0&sync_timestamp=1613125280468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecompress-response%2Fdownload%2Fdecompress-response-5.0.0.tgz", - "integrity": "sha1-eEk5boDj0euoyy9170kw92Rhyw8=", - "requires": { - "mimic-response": "^2.0.0" - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/decompress-tar/download/decompress-tar-4.1.1.tgz", - "integrity": "sha1-cYy9P8sWIJcW5womuE57pFkuWvE=", - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/decompress-tarbz2/download/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha1-MIKluIDqQEOBY0nzeLVsUWvho5s=", - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.nlark.com/file-type/download/file-type-6.2.0.tgz", - "integrity": "sha1-5QzXXTVv/tTjBtxPW89Sp5kDqRk=" - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/decompress-targz/download/decompress-targz-4.1.1.tgz", - "integrity": "sha1-wJvDXE0R894J8tLaU+neI+fOHu4=", - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/decompress-unzip/download/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.nlark.com/file-type/download/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npm.alibaba-inc.com/deep-extend/download/deep-extend-0.6.0.tgz", - "integrity": "sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw=" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.nlark.com/deep-is/download/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "default-user-agent": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/default-user-agent/download/default-user-agent-1.0.0.tgz", - "integrity": "sha1-FsRu/cq6PtxF8k8r1IaLAbfCrcY=", - "dev": true, - "requires": { - "os-name": "~1.0.3" - } - }, - "defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/defer-to-connect/download/defer-to-connect-2.0.1.tgz", - "integrity": "sha1-gBa9tBQ+RjK3ejRJxiNid95SBYc=" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", - "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "degenerator": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/degenerator/download/degenerator-2.2.0.tgz", - "integrity": "sha1-SemMEfoCk8Wybt+7UvFXKa/NslQ=", - "dev": true, - "requires": { - "ast-types": "^0.13.2", - "escodegen": "^1.8.1", - "esprima": "^4.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/delayed-stream/download/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.nlark.com/depd/download/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.nlark.com/destroy/download/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/detect-node/download/detect-node-2.1.0.tgz?cache=0&sync_timestamp=1621146902208&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdetect-node%2Fdownload%2Fdetect-node-2.1.0.tgz", - "integrity": "sha1-yccHdaScPQO8LAbZpzvlUPl4+LE=", - "dev": true, - "optional": true - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz", - "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=", - "dev": true - }, - "digest-header": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/digest-header/download/digest-header-0.0.1.tgz", - "integrity": "sha1-Ecz23uxXZqw3l0TZAcEsuklRS+Y=", - "dev": true, - "requires": { - "utility": "0.1.11" - }, - "dependencies": { - "utility": { - "version": "0.1.11", - "resolved": "https://registry.nlark.com/utility/download/utility-0.1.11.tgz", - "integrity": "sha1-/eYM+bTkdRlHoM9dEEzik2ciZxU=", - "dev": true, - "requires": { - "address": ">=0.0.1" - } - } - } - }, - "dir-compare": { - "version": "2.4.0", - "resolved": "https://registry.nlark.com/dir-compare/download/dir-compare-2.4.0.tgz", - "integrity": "sha1-eFxB3F9kWzQ0Ok6vxQt5usfxFjE=", - "dev": true, - "requires": { - "buffer-equal": "1.0.0", - "colors": "1.0.3", - "commander": "2.9.0", - "minimatch": "3.0.4" - }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - }, - "commander": { - "version": "2.9.0", - "resolved": "https://registry.nlark.com/commander/download/commander-2.9.0.tgz?cache=0&sync_timestamp=1624609539421&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - } - } - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz", - "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=", - "requires": { - "path-type": "^4.0.0" - } - }, - "dmg-builder": { - "version": "22.11.7", - "resolved": "https://registry.nlark.com/dmg-builder/download/dmg-builder-22.11.7.tgz", - "integrity": "sha1-WVYAjBjUDucsDqAf/qlZDb9R34k=", - "dev": true, - "requires": { - "app-builder-lib": "22.11.7", - "builder-util": "22.11.7", - "builder-util-runtime": "8.7.6", - "dmg-license": "^1.0.9", - "fs-extra": "^10.0.0", - "iconv-lite": "^0.6.2", - "js-yaml": "^4.1.0" - }, - "dependencies": { - "builder-util-runtime": { - "version": "8.7.6", - "resolved": "https://registry.nlark.com/builder-util-runtime/download/builder-util-runtime-8.7.6.tgz", - "integrity": "sha1-S0PJbbK9SUztdpS812dJNGVegyQ=", - "dev": true, - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-10.0.0.tgz", - "integrity": "sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.6.3.tgz", - "integrity": "sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE=", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "dmg-license": { - "version": "1.0.9", - "resolved": "https://registry.nlark.com/dmg-license/download/dmg-license-1.0.9.tgz", - "integrity": "sha1-ovuNaSrw4wsHMLWvyR7Z7cLZy08=", - "dev": true, - "optional": true, - "requires": { - "@types/plist": "^3.0.1", - "@types/verror": "^1.10.3", - "ajv": "^6.10.0", - "cli-truncate": "^1.1.0", - "crc": "^3.8.0", - "iconv-corefoundation": "^1.1.6", - "plist": "^3.0.1", - "smart-buffer": "^4.0.2", - "verror": "^1.10.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/doctrine/download/doctrine-2.1.0.tgz", - "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1621256918158&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", - "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/domelementtype/download/domelementtype-2.2.0.tgz", - "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", - "dev": true - } - } - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.nlark.com/domelementtype/download/domelementtype-1.3.1.tgz", - "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.nlark.com/domhandler/download/domhandler-2.4.2.tgz", - "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.nlark.com/domutils/download/domutils-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz", - "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.3.0.tgz?cache=0&sync_timestamp=1605778245785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.3.0.tgz", - "integrity": "sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog=", - "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "9.0.2", - "resolved": "https://registry.nlark.com/dotenv/download/dotenv-9.0.2.tgz", - "integrity": "sha1-2swgFgk1o33qY2SqG++Bn7m2qwU=", - "dev": true - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz", - "integrity": "sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=", - "dev": true - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.nlark.com/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "ejs": { - "version": "3.1.6", - "resolved": "https://registry.nlark.com/ejs/download/ejs-3.1.6.tgz", - "integrity": "sha1-W/0KBol0O7UmizVQzO7rvBcCgio=", - "dev": true, - "requires": { - "jake": "^10.6.1" - } - }, - "electron": { - "version": "12.0.15", - "resolved": "https://registry.nlark.com/electron/download/electron-12.0.15.tgz", - "integrity": "sha1-0aUPIDe98WPFo99v6b6rsLa7TTc=", - "dev": true, - "requires": { - "@electron/get": "^1.0.1", - "@types/node": "^14.6.2", - "extract-zip": "^1.0.3" - }, - "dependencies": { - "@types/node": { - "version": "14.17.5", - "resolved": "https://registry.nlark.com/@types/node/download/@types/node-14.17.5.tgz?cache=0&sync_timestamp=1626462214142&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.17.5.tgz", - "integrity": "sha1-tZ2van/6RhtWSEVspZBQuo5A7VQ=", - "dev": true - } - } - }, - "electron-builder": { - "version": "22.11.7", - "resolved": "https://registry.nlark.com/electron-builder/download/electron-builder-22.11.7.tgz", - "integrity": "sha1-zZeg2fbm04gRLma0N23kMcyk1ZY=", - "dev": true, - "requires": { - "@types/yargs": "^16.0.2", - "app-builder-lib": "22.11.7", - "builder-util": "22.11.7", - "builder-util-runtime": "8.7.7", - "chalk": "^4.1.1", - "dmg-builder": "22.11.7", - "fs-extra": "^10.0.0", - "is-ci": "^3.0.0", - "lazy-val": "^1.0.5", - "read-config-file": "6.2.0", - "update-notifier": "^5.1.0", - "yargs": "^17.0.1" - }, - "dependencies": { - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.nlark.com/@types/yargs/download/@types/yargs-16.0.4.tgz", - "integrity": "sha1-JqrZjdLCo45CEIbqmtQrnlFkKXc=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "builder-util-runtime": { - "version": "8.7.7", - "resolved": "https://registry.nlark.com/builder-util-runtime/download/builder-util-runtime-8.7.7.tgz", - "integrity": "sha1-bIPMOr56elyLTsiHj2ityCjAfw0=", - "dev": true, - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-10.0.0.tgz", - "integrity": "sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "yargs": { - "version": "17.0.1", - "resolved": "https://registry.nlark.com/yargs/download/yargs-17.0.1.tgz", - "integrity": "sha1-ahztTtXuCziAELqf1nr4O5Ni4Ls=", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - } - } - }, - "electron-is-dev": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/electron-is-dev/download/electron-is-dev-2.0.0.tgz", - "integrity": "sha1-gzSHoGm42tIUJcZ6GYR9kGSrGb0=" - }, - "electron-log": { - "version": "4.3.5", - "resolved": "https://registry.nlark.com/electron-log/download/electron-log-4.3.5.tgz", - "integrity": "sha1-Kq1fk4Qrm1IUobShDke1rFyewQQ=" - }, - "electron-notarize": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/electron-notarize/download/electron-notarize-1.0.0.tgz", - "integrity": "sha1-vJJbHMw/eeWOAp6MRwZXKwGp/Y8=", - "dev": true, - "requires": { - "debug": "^4.1.1", - "fs-extra": "^9.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "electron-publish": { - "version": "22.11.7", - "resolved": "https://registry.nlark.com/electron-publish/download/electron-publish-22.11.7.tgz", - "integrity": "sha1-QSbLsIzPCCoqp/74nuYps6S4rpo=", - "dev": true, - "requires": { - "@types/fs-extra": "^9.0.11", - "builder-util": "22.11.7", - "builder-util-runtime": "8.7.7", - "chalk": "^4.1.1", - "fs-extra": "^10.0.0", - "lazy-val": "^1.0.5", - "mime": "^2.5.2" - }, - "dependencies": { - "builder-util-runtime": { - "version": "8.7.7", - "resolved": "https://registry.nlark.com/builder-util-runtime/download/builder-util-runtime-8.7.7.tgz", - "integrity": "sha1-bIPMOr56elyLTsiHj2ityCjAfw0=", - "dev": true, - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-10.0.0.tgz", - "integrity": "sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "electron-store": { - "version": "8.0.0", - "resolved": "https://registry.nlark.com/electron-store/download/electron-store-8.0.0.tgz", - "integrity": "sha1-gaTmh5WOLa4cXITMCZqBSL53Yzc=", - "requires": { - "conf": "^10.0.0", - "type-fest": "^1.0.2" - }, - "dependencies": { - "ajv": { - "version": "8.6.2", - "resolved": "https://registry.nlark.com/ajv/download/ajv-8.6.2.tgz?cache=0&sync_timestamp=1626380017209&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-8.6.2.tgz", - "integrity": "sha1-L7ReDl/LwIEzJsHD2lNdGIG7BXE=", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "conf": { - "version": "10.0.1", - "resolved": "https://registry.nlark.com/conf/download/conf-10.0.1.tgz", - "integrity": "sha1-A4CT5cvdwOWbwU9jOCxM5zKkeB0=", - "requires": { - "ajv": "^8.1.0", - "ajv-formats": "^2.0.2", - "atomically": "^1.7.0", - "debounce-fn": "^4.0.0", - "dot-prop": "^6.0.1", - "env-paths": "^2.2.1", - "json-schema-typed": "^7.0.3", - "onetime": "^5.1.2", - "pkg-up": "^3.1.0", - "semver": "^7.3.5" - } - }, - "dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-6.0.1.tgz?cache=0&sync_timestamp=1605778245785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-6.0.1.tgz", - "integrity": "sha1-/CazzxQrnlm3Tb057WbOYgxoEIM=", - "requires": { - "is-obj": "^2.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz", - "integrity": "sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=" - }, - "type-fest": { - "version": "1.2.2", - "resolved": "https://registry.nlark.com/type-fest/download/type-fest-1.2.2.tgz?cache=0&sync_timestamp=1625745315038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-1.2.2.tgz", - "integrity": "sha1-GTC8NrIGT3q0qjB6bRtlllGZxpg=" - } - } - }, - "electron-to-chromium": { - "version": "1.3.779", - "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.779.tgz", - "integrity": "sha1-3lVJKnVt7sY0JPifvmKuyXdvDm0=", - "dev": true - }, - "electron-updater": { - "version": "4.3.9", - "resolved": "https://registry.nlark.com/electron-updater/download/electron-updater-4.3.9.tgz", - "integrity": "sha1-JHxmC6+tfAeTXhuBrNPppf1zMVQ=", - "requires": { - "@types/semver": "^7.3.5", - "builder-util-runtime": "8.7.5", - "fs-extra": "^10.0.0", - "js-yaml": "^4.1.0", - "lazy-val": "^1.0.4", - "lodash.escaperegexp": "^4.1.2", - "lodash.isequal": "^4.5.0", - "semver": "^7.3.5" - }, - "dependencies": { - "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-10.0.0.tgz", - "integrity": "sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.nlark.com/emoji-regex/download/emoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/encodeurl/download/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true, - "optional": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.nlark.com/end-of-stream/download/end-of-stream-1.4.4.tgz", - "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", - "requires": { - "once": "^1.4.0" - } - }, - "end-or-error": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/end-or-error/download/end-or-error-1.0.1.tgz", - "integrity": "sha1-3HpiEP5403L+4kqLSJnb0VVBTcs=", - "dev": true - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/entities/download/entities-2.2.0.tgz", - "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=" - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.nlark.com/env-paths/download/env-paths-2.2.1.tgz", - "integrity": "sha1-QgOZ1BbOH76bwKB8Yvpo1n/Q+PI=" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", - "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.nlark.com/es-abstract/download/es-abstract-1.18.3.tgz", - "integrity": "sha1-JcTDOAonqiA8RLK2hbupTaMbY+A=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", - "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/es6-error/download/es6-error-4.1.1.tgz", - "integrity": "sha1-njr0B0Wd7tR+mpH5uIWoTrBcVh0=", - "dev": true, - "optional": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz", - "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", - "dev": true - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/escape-goat/download/escape-goat-2.1.1.tgz", - "integrity": "sha1-Gy3HcANnbEV+x2Cy3GjttkgYhnU=", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.nlark.com/escodegen/download/escodegen-1.14.3.tgz", - "integrity": "sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM=", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "optional": true - } - } - }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.nlark.com/eslint/download/eslint-6.8.0.tgz?cache=0&sync_timestamp=1626559195227&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint%2Fdownload%2Feslint-6.8.0.tgz", - "integrity": "sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1618553044693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.nlark.com/argparse/download/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.nlark.com/cross-spawn/download/cross-spawn-6.0.5.tgz", - "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - } - } - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/doctrine/download/doctrine-3.0.0.tgz", - "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-1.4.3.tgz?cache=0&sync_timestamp=1620975524854&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-1.4.3.tgz", - "integrity": "sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8=", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1624559054225&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", - "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", - "dev": true - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.nlark.com/globals/download/globals-12.4.0.tgz?cache=0&sync_timestamp=1625655787416&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobals%2Fdownload%2Fglobals-12.4.0.tgz", - "integrity": "sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg=", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.nlark.com/ignore/download/ignore-4.0.6.tgz", - "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618435151523&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", - "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/path-key/download/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/regexpp/download/regexpp-2.0.1.tgz?cache=0&sync_timestamp=1623668872577&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpp%2Fdownload%2Fregexpp-2.0.1.tgz", - "integrity": "sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.nlark.com/shebang-command/download/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.1.tgz?cache=0&sync_timestamp=1594571796132&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.1.tgz", - "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1625745315038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz", - "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.nlark.com/which/download/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "eslint-config-ali": { - "version": "12.1.0", - "resolved": "https://registry.nlark.com/eslint-config-ali/download/eslint-config-ali-12.1.0.tgz?cache=0&sync_timestamp=1620636785731&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-config-ali%2Fdownload%2Feslint-config-ali-12.1.0.tgz", - "integrity": "sha1-ndXJIpyD+khyBIPSeYqrZGbZRho=", - "dev": true - }, - "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha1-hf+oGULCUBLYIxCW3fZ5wDBCxxc=", - "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "eslint-module-utils": { - "version": "2.6.1", - "resolved": "https://registry.nlark.com/eslint-module-utils/download/eslint-module-utils-2.6.1.tgz?cache=0&sync_timestamp=1620972121953&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-module-utils%2Fdownload%2Feslint-module-utils-2.6.1.tgz", - "integrity": "sha1-tRvh5HPdDeHF6mOOIkKcJJDqgjM=", - "dev": true, - "requires": { - "debug": "^3.2.7", - "pkg-dir": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.nlark.com/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", - "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.3.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.3.tgz", - "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", - "dev": true - } - } - }, - "eslint-plugin-import": { - "version": "2.23.4", - "resolved": "https://registry.nlark.com/eslint-plugin-import/download/eslint-plugin-import-2.23.4.tgz", - "integrity": "sha1-jc6x7Wtz5G5Q7JpbskEbZF59PZc=", - "dev": true, - "requires": { - "array-includes": "^3.1.3", - "array.prototype.flat": "^1.2.4", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.1", - "find-up": "^2.0.0", - "has": "^1.0.3", - "is-core-module": "^2.4.0", - "minimatch": "^3.0.4", - "object.values": "^1.1.3", - "pkg-up": "^2.0.0", - "read-pkg-up": "^3.0.0", - "resolve": "^1.20.0", - "tsconfig-paths": "^3.9.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/find-up/download/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz", - "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=", - "dev": true - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz", - "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz", - "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/p-try/download/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/path-type/download/path-type-3.0.0.tgz", - "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/read-pkg-up/download/read-pkg-up-3.0.0.tgz?cache=0&sync_timestamp=1618846971516&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - } - } - }, - "eslint-plugin-jsx-plus": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/eslint-plugin-jsx-plus/download/eslint-plugin-jsx-plus-0.1.0.tgz", - "integrity": "sha1-dSEZGqO5t8+Yw0JkDIIyjsuq6IE=", - "dev": true, - "requires": { - "jsx-ast-utils": "^2.2.1", - "requireindex": "^1.1.0" - } - }, - "eslint-plugin-react": { - "version": "7.24.0", - "resolved": "https://registry.nlark.com/eslint-plugin-react/download/eslint-plugin-react-7.24.0.tgz", - "integrity": "sha1-6t7fo1Gm82tJCqF/T6mxToQrnrQ=", - "dev": true, - "requires": { - "array-includes": "^3.1.3", - "array.prototype.flatmap": "^1.2.4", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.4", - "object.fromentries": "^2.0.4", - "object.values": "^1.1.4", - "prop-types": "^15.7.2", - "resolve": "^2.0.0-next.3", - "string.prototype.matchall": "^4.0.5" - }, - "dependencies": { - "resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-2.0.0-next.3.tgz", - "integrity": "sha1-1BAWKT1KhYajnKXZtfFcvqH1XkY=", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.2.0", - "resolved": "https://registry.nlark.com/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-4.2.0.tgz?cache=0&sync_timestamp=1626452312629&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-plugin-react-hooks%2Fdownload%2Feslint-plugin-react-hooks-4.2.0.tgz", - "integrity": "sha1-jCKcJo1GiVYzTJQ7tF/IYCgPVVY=", - "dev": true - }, - "eslint-plugin-vue": { - "version": "7.14.0", - "resolved": "https://registry.nlark.com/eslint-plugin-vue/download/eslint-plugin-vue-7.14.0.tgz?cache=0&sync_timestamp=1626599061929&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-7.14.0.tgz", - "integrity": "sha1-jADyEQZL0nCPwapKvQWSU4+7LLE=", - "dev": true, - "requires": { - "eslint-utils": "^2.1.0", - "natural-compare": "^1.4.0", - "semver": "^6.3.0", - "vue-eslint-parser": "^7.9.0" - }, - "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1620975524854&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz", - "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1624559054225&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", - "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - } - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.nlark.com/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1618908284969&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", - "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-3.0.0.tgz?cache=0&sync_timestamp=1620975524854&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-3.0.0.tgz", - "integrity": "sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI=", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz?cache=0&sync_timestamp=1624559054225&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-2.1.0.tgz", - "integrity": "sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=", - "dev": true - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.nlark.com/espree/download/espree-6.2.1.tgz", - "integrity": "sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1624559054225&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", - "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/esprima/download/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "dev": true - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.nlark.com/esquery/download/esquery-1.4.0.tgz", - "integrity": "sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", - "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz", - "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", - "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.nlark.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", - "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", - "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.nlark.com/execa/download/execa-5.1.1.tgz", - "integrity": "sha1-+ArZy/Qpj3vR1MlVXCHpN0HEEd0=", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-6.0.1.tgz", - "integrity": "sha1-omLY7vZ6ztV8KFKtYWdSakPL97c=" - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/is-stream/download/is-stream-2.0.0.tgz", - "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=" - } - } - }, - "execall": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/execall/download/execall-2.0.0.tgz?cache=0&sync_timestamp=1617892740416&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexecall%2Fdownload%2Fexecall-2.0.0.tgz", - "integrity": "sha1-FqBrX+UJnffQC+XZwG7s3tFmO0U=", - "dev": true, - "requires": { - "clone-regexp": "^2.1.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.nlark.com/extend/download/extend-3.0.2.tgz", - "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz", - "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.nlark.com/tmp/download/tmp-0.0.33.tgz", - "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, - "extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.nlark.com/extract-zip/download/extract-zip-1.7.0.tgz", - "integrity": "sha1-VWzDrp339FLEk6DPtRzDAneUCSc=", - "dev": true, - "requires": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.nlark.com/extsprintf/download/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", - "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=" - }, - "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.nlark.com/fast-glob/download/fast-glob-3.2.7.tgz", - "integrity": "sha1-/Wy3otfpqnp4RhEehaGW1rL3ZqE=", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.nlark.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.nlark.com/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha1-mZD306iMxan/0fF0V0UlFwDUl+I=", - "dev": true - }, - "fastq": { - "version": "1.11.1", - "resolved": "https://registry.nlark.com/fastq/download/fastq-1.11.1.tgz?cache=0&sync_timestamp=1625392906410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffastq%2Fdownload%2Ffastq-1.11.1.tgz", - "integrity": "sha1-XYF1quF9thlH+LFiz8f2MmTSKAc=", - "requires": { - "reusify": "^1.0.4" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/fd-slicer/download/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "requires": { - "pend": "~1.2.0" - } - }, - "fetch-node-website": { - "version": "5.0.3", - "resolved": "https://registry.nlark.com/fetch-node-website/download/fetch-node-website-5.0.3.tgz", - "integrity": "sha1-6q/kvsp7NLgN5vcDt2vKwG6ybsk=", - "requires": { - "chalk": "^4.0.0", - "cli-progress": "^3.7.0", - "figures": "^3.2.0", - "filter-obj": "^2.0.1", - "got": "^10.7.0", - "jest-validate": "^25.3.0" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.nlark.com/figures/download/figures-3.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz", - "integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.nlark.com/file-entry-cache/download/file-entry-cache-5.0.1.tgz", - "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/file-type/download/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - }, - "file-uri-to-path": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-2.0.0.tgz", - "integrity": "sha1-e0Fa66In1XWFHgpbDGQNdlZAP7o=", - "dev": true - }, - "filelist": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/filelist/download/filelist-1.0.2.tgz", - "integrity": "sha1-gCAvIUYtTRwuIUEZsYB8G8A4Dls=", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "filter-obj": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/filter-obj/download/filter-obj-2.0.2.tgz?cache=0&sync_timestamp=1617699897053&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffilter-obj%2Fdownload%2Ffilter-obj-2.0.2.tgz", - "integrity": "sha1-//ZiNo5QXWmCarsRPw9qmPVunV8=" - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/find-up/download/find-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "requires": { - "locate-path": "^3.0.0" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/flat-cache/download/flat-cache-2.0.1.tgz", - "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz", - "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.nlark.com/flatted/download/flatted-2.0.2.tgz", - "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=", - "dev": true - }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.5.10.tgz", - "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=", - "requires": { - "debug": "=3.1.0" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.nlark.com/forever-agent/download/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.nlark.com/form-data/download/form-data-2.3.3.tgz", - "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "formstream": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/formstream/download/formstream-1.1.1.tgz", - "integrity": "sha1-FyWdJEDDXKlzbbn0X7O6P4Zpx1A=", - "dev": true, - "requires": { - "destroy": "^1.0.4", - "mime": "^2.5.2", - "pause-stream": "~0.0.11" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/fs-constants/download/fs-constants-1.0.0.tgz", - "integrity": "sha1-a+Dem+mYzhavivwkSXue6bfM2a0=" - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-9.1.0.tgz", - "integrity": "sha1-WVRGDHZKjaIJS6NVS/g55rmnyG0=", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-1.2.7.tgz", - "integrity": "sha1-zP+FcIQef+QmVpPaiJNsVa7X98c=", - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/fs.realpath/download/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "ftp": { - "version": "0.3.10", - "resolved": "https://registry.npm.taobao.org/ftp/download/ftp-0.3.10.tgz", - "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", - "dev": true, - "requires": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.nlark.com/isarray/download/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.nlark.com/readable-stream/download/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.nlark.com/string_decoder/download/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/function-bind/download/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz?cache=0&sync_timestamp=1577806294691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffunctional-red-black-tree%2Fdownload%2Ffunctional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.nlark.com/gensync/download/gensync-1.0.0-beta.2.tgz", - "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz", - "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-ready": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/get-ready/download/get-ready-1.0.0.tgz", - "integrity": "sha1-+RgX8emt7P6hOlYq38jeiDqzR4I=", - "dev": true - }, - "get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npm.taobao.org/get-stdin/download/get-stdin-8.0.0.tgz?cache=0&sync_timestamp=1618557719783&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stdin%2Fdownload%2Fget-stdin-8.0.0.tgz", - "integrity": "sha1-y61qc/63X27rIrqeAfiaooqpelM=", - "dev": true - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz", - "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=", - "requires": { - "pump": "^3.0.0" - } - }, - "get-uri": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/get-uri/download/get-uri-3.0.2.tgz", - "integrity": "sha1-8O8TVvqrxw4flAT6O2ayupv8clw=", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "data-uri-to-buffer": "3", - "debug": "4", - "file-uri-to-path": "2", - "fs-extra": "^8.1.0", - "ftp": "^0.3.10" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz", - "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161876665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1603180080276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", - "dev": true - } - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.nlark.com/getpass/download/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "git-raw-commits": { - "version": "2.0.10", - "resolved": "https://registry.npm.taobao.org/git-raw-commits/download/git-raw-commits-2.0.10.tgz", - "integrity": "sha1-4iVe2VY7HJw+pr0FgGQQKQKXu8E=", - "dev": true, - "requires": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - } - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.nlark.com/glob/download/glob-7.1.7.tgz?cache=0&sync_timestamp=1620337382269&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob%2Fdownload%2Fglob-7.1.7.tgz", - "integrity": "sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz", - "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "requires": { - "is-glob": "^4.0.1" - } - }, - "global-agent": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/global-agent/download/global-agent-2.2.0.tgz?cache=0&sync_timestamp=1617335983174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobal-agent%2Fdownload%2Fglobal-agent-2.2.0.tgz", - "integrity": "sha1-VmMxsGRua/eUKaFod2hcSh+/dtw=", - "dev": true, - "optional": true, - "requires": { - "boolean": "^3.0.1", - "core-js": "^3.6.5", - "es6-error": "^4.1.1", - "matcher": "^3.0.0", - "roarr": "^2.15.3", - "semver": "^7.3.2", - "serialize-error": "^7.0.1" - } - }, - "global-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/global-cache-dir/download/global-cache-dir-2.0.0.tgz", - "integrity": "sha1-aRLcRJJ50VBXU8Dj0I72P7PmhqE=", - "requires": { - "cachedir": "^2.3.0", - "path-exists": "^4.0.0" - }, - "dependencies": { - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=" - } - } - }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/global-dirs/download/global-dirs-0.1.1.tgz?cache=0&sync_timestamp=1610454716901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobal-dirs%2Fdownload%2Fglobal-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "requires": { - "ini": "^1.3.4" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", - "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", - "dev": true - } - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/global-modules/download/global-modules-2.0.0.tgz", - "integrity": "sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/global-prefix/download/global-prefix-3.0.0.tgz", - "integrity": "sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", - "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.nlark.com/which/download/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "global-tunnel-ng": { - "version": "2.7.1", - "resolved": "https://registry.nlark.com/global-tunnel-ng/download/global-tunnel-ng-2.7.1.tgz", - "integrity": "sha1-0DtRAt/eOmmRT17n2GdhyjXVfY8=", - "dev": true, - "optional": true, - "requires": { - "encodeurl": "^1.0.2", - "lodash": "^4.17.10", - "npm-conf": "^1.1.3", - "tunnel": "^0.0.6" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.nlark.com/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1625655787416&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz", - "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", - "dev": true - }, - "globalthis": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/globalthis/download/globalthis-1.0.2.tgz", - "integrity": "sha1-KiNdNPTYA2IZ9+NJKbXenhgWa4s=", - "dev": true, - "optional": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.0.4", - "resolved": "https://registry.nlark.com/globby/download/globby-11.0.4.tgz?cache=0&sync_timestamp=1623850192942&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobby%2Fdownload%2Fglobby-11.0.4.tgz", - "integrity": "sha1-LLr/d8Lypi5x6bKBOme5ejowAaU=", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/globjoin/download/globjoin-0.1.4.tgz", - "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", - "dev": true - }, - "gonzales-pe": { - "version": "4.3.0", - "resolved": "https://registry.nlark.com/gonzales-pe/download/gonzales-pe-4.3.0.tgz", - "integrity": "sha1-/p3sXzxVfurQn/hoxlgmvlTQZ7M=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "got": { - "version": "10.7.0", - "resolved": "https://registry.nlark.com/got/download/got-10.7.0.tgz", - "integrity": "sha1-YoidvNbMoyzWoVTMLQxolRIdCR8=", - "requires": { - "@sindresorhus/is": "^2.0.0", - "@szmarczak/http-timer": "^4.0.0", - "@types/cacheable-request": "^6.0.1", - "cacheable-lookup": "^2.0.0", - "cacheable-request": "^7.0.1", - "decompress-response": "^5.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^5.0.0", - "lowercase-keys": "^2.0.0", - "mimic-response": "^2.1.0", - "p-cancelable": "^2.0.0", - "p-event": "^4.0.0", - "responselike": "^2.0.0", - "to-readable-stream": "^2.0.0", - "type-fest": "^0.10.0" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.nlark.com/har-validator/download/har-validator-5.1.5.tgz", - "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/hard-rejection/download/hard-rejection-2.1.0.tgz", - "integrity": "sha1-HG7aXBaFxjlCdm15u0Cudzzs2IM=", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.nlark.com/has/download/has-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/has-bigints/download/has-bigints-1.0.1.tgz", - "integrity": "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443557459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz", - "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", - "dev": true - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/has-yarn/download/has-yarn-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-yarn%2Fdownload%2Fhas-yarn-2.1.0.tgz", - "integrity": "sha1-E34RNUp7W/EapctknPDG8/8rLnc=", - "dev": true - }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-4.0.2.tgz", - "integrity": "sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE=", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "html-tags": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/html-tags/download/html-tags-3.1.0.tgz", - "integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=", - "dev": true - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.nlark.com/htmlparser2/download/htmlparser2-3.10.1.tgz", - "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.nlark.com/entities/download/entities-1.1.2.tgz", - "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/http-cache-semantics/download/http-cache-semantics-4.1.0.tgz", - "integrity": "sha1-SekcXL82yblLz81xwj1SSex045A=" - }, - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.3.tgz?cache=0&sync_timestamp=1593407634112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.3.tgz", - "integrity": "sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/http-proxy-agent/download/http-proxy-agent-4.0.1.tgz", - "integrity": "sha1-ioyO9/WTLM+VPClsqCkblap0qjo=", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1600868555829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npm.alibaba-inc.com/http2-wrapper/download/http2-wrapper-1.0.3.tgz", - "integrity": "sha1-uPVeDB8l1OvQizsMLAeflZCACz0=", - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - }, - "dependencies": { - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npm.alibaba-inc.com/quick-lru/download/quick-lru-5.1.1.tgz", - "integrity": "sha1-NmST5rPkKjpoheLpnRj4D7eoyTI=" - } - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.nlark.com/https-proxy-agent/download/https-proxy-agent-5.0.0.tgz", - "integrity": "sha1-4qkFQqu2inYuCghQ9sntrf2FBrI=", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/human-signals/download/human-signals-2.1.0.tgz", - "integrity": "sha1-3JH8ukLk0G5Kuu0zs+ejwC9RTqA=" - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/humanize-ms/download/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, - "husky": { - "version": "6.0.0", - "resolved": "https://registry.nlark.com/husky/download/husky-6.0.0.tgz", - "integrity": "sha1-gQ8RhprfUWBMMupXftvDd9f5MZ4=", - "dev": true - }, - "ice-npm-utils": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ice-npm-utils/download/ice-npm-utils-2.1.1.tgz", - "integrity": "sha1-dzIcNSUBmMPx2Gnfp/qMAdDA46Q=", - "requires": { - "@iceworks/constant": "^0.1.0", - "fs-extra": "^8.1.0", - "mkdirp": "^0.5.1", - "request": "^2.88.0", - "request-progress": "^3.0.0", - "request-promise": "^4.2.4", - "semver": "^6.0.0", - "tar": "^4.4.8", - "url-join": "^4.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz", - "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161876665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "requires": { - "minimist": "^1.2.5" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1603180080276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" - } - } - }, - "iconv-corefoundation": { - "version": "1.1.6", - "resolved": "https://registry.nlark.com/iconv-corefoundation/download/iconv-corefoundation-1.1.6.tgz", - "integrity": "sha1-J8E1RwI39vjRNGL6H16vJQUjwpo=", - "dev": true, - "optional": true, - "requires": { - "cli-truncate": "^1.1.0", - "node-addon-api": "^1.6.3" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz", - "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.nlark.com/ieee754/download/ieee754-1.2.1.tgz", - "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=" - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.nlark.com/ignore/download/ignore-5.1.8.tgz", - "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469579940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.3.0.tgz", - "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz", - "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", - "dev": true - } - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/import-lazy/download/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.nlark.com/imurmurhash/download/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1618847271946&other_urls=https%3A%2F%2Fregistry.nlark.com%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz", - "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" - }, - "ini": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/ini/download/ini-2.0.0.tgz", - "integrity": "sha1-5f1Vbs3VcmvpePoQAYYurLCpS8U=" - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.nlark.com/inquirer/download/inquirer-7.3.3.tgz", - "integrity": "sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM=", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - } - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.nlark.com/internal-slot/download/internal-slot-1.0.3.tgz", - "integrity": "sha1-c0fjB97uovqsKsYgXUvH00ln9Zw=", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.nlark.com/interpret/download/interpret-1.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finterpret%2Fdownload%2Finterpret-1.4.0.tgz", - "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.nlark.com/ip/download/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/is-alphabetical/download/is-alphabetical-1.0.4.tgz?cache=0&sync_timestamp=1615453703061&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-alphabetical%2Fdownload%2Fis-alphabetical-1.0.4.tgz", - "integrity": "sha1-nn1rlJFr4iFTdF0YTCmMv5hqaG0=", - "dev": true - }, - "is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.nlark.com/is-alphanumerical/download/is-alphanumerical-1.0.4.tgz", - "integrity": "sha1-frmiQx+FX2se8aeOMm31FWlsTb8=", - "dev": true, - "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.2.tgz", - "integrity": "sha1-/7OBRCUDI1rSReqJ5Fs9v/BA7lo=", - "dev": true - }, - "is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.1.tgz", - "integrity": "sha1-PAh48DXLghIo01DS4eNnGXFqPeg=", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.5.tgz?cache=0&sync_timestamp=1604429876103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-2.0.5.tgz", - "integrity": "sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=", - "dev": true - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.3.tgz?cache=0&sync_timestamp=1612133072647&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.3.tgz", - "integrity": "sha1-ix4FALc6HXbHBIdjbzaOUZ3o244=", - "dev": true - }, - "is-ci": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/is-ci/download/is-ci-3.0.0.tgz?cache=0&sync_timestamp=1618847026826&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-ci%2Fdownload%2Fis-ci-3.0.0.tgz", - "integrity": "sha1-x+e+PJ2O730PoUQ5C9HkuI3EyZQ=", - "dev": true, - "requires": { - "ci-info": "^3.1.1" - } - }, - "is-class-hotfix": { - "version": "0.0.6", - "resolved": "https://registry.npm.taobao.org/is-class-hotfix/download/is-class-hotfix-0.0.6.tgz", - "integrity": "sha1-pSfTH7IyeSgd3l84XHe13nCnJDU=", - "dev": true - }, - "is-core-module": { - "version": "2.5.0", - "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.5.0.tgz?cache=0&sync_timestamp=1626158731691&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.5.0.tgz", - "integrity": "sha1-91SENhfHC/0pt72HMnQAzaXBhJE=", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.4.tgz", - "integrity": "sha1-VQz8wDr62gXuo90wmBx7CVUfc+U=", - "dev": true - }, - "is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/is-decimal/download/is-decimal-1.0.4.tgz", - "integrity": "sha1-ZaOllYocW2OnBuGzM9fNn2MNP6U=", - "dev": true - }, - "is-electron": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/is-electron/download/is-electron-2.2.0.tgz", - "integrity": "sha1-iUMITwnotzGzp6ApintdVva37vA=" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/is-hexadecimal/download/is-hexadecimal-1.0.4.tgz?cache=0&sync_timestamp=1615464641587&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-hexadecimal%2Fdownload%2Fis-hexadecimal-1.0.4.tgz", - "integrity": "sha1-zDXJdYjaS9Saju3WvECC1E3LI6c=", - "dev": true - }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/is-installed-globally/download/is-installed-globally-0.4.0.tgz?cache=0&sync_timestamp=1610875398433&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-installed-globally%2Fdownload%2Fis-installed-globally-0.4.0.tgz", - "integrity": "sha1-mg/UB5ScMPhutpWe8beZTtC3tSA=", - "dev": true, - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "dependencies": { - "global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/global-dirs/download/global-dirs-3.0.0.tgz?cache=0&sync_timestamp=1610454716901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobal-dirs%2Fdownload%2Fglobal-dirs-3.0.0.tgz", - "integrity": "sha1-cKdv6E6jFas3sfVXbL3n1I73JoY=", - "dev": true, - "requires": { - "ini": "2.0.0" - } - } - } - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/is-natural-number/download/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.1.tgz?cache=0&sync_timestamp=1607123422635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-negative-zero%2Fdownload%2Fis-negative-zero-2.0.1.tgz", - "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=", - "dev": true - }, - "is-npm": { - "version": "5.0.0", - "resolved": "https://registry.nlark.com/is-npm/download/is-npm-5.0.0.tgz", - "integrity": "sha1-Q+jWXMVuG2f41HJiz2ZwmRk/Rag=", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=" - }, - "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.5.tgz", - "integrity": "sha1-bt+u7XlQz/Ga/tzp+/yp7m3Sies=", - "dev": true - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/is-obj/download/is-obj-2.0.0.tgz", - "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-3.0.3.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-3.0.3.tgz", - "integrity": "sha1-0jE2LlOgf/Kw4Op/7QSRYf/RYoM=", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.nlark.com/is-plain-obj/download/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-regex": { - "version": "1.1.3", - "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.3.tgz?cache=0&sync_timestamp=1620452285370&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.3.tgz", - "integrity": "sha1-0Cn5r/ZEi5Prvj8z2scVEf3L758=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - } - }, - "is-regexp": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-2.1.0.tgz?cache=0&sync_timestamp=1617816768041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regexp%2Fdownload%2Fis-regexp-2.1.0.tgz", - "integrity": "sha1-zXNKVoZOI7lWv058ZsOWpMCyLC0=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.nlark.com/is-stream/download/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-string": { - "version": "1.0.6", - "resolved": "https://registry.nlark.com/is-string/download/is-string-1.0.6.tgz?cache=0&sync_timestamp=1620448217105&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-string%2Fdownload%2Fis-string-1.0.6.tgz", - "integrity": "sha1-P+XVmS+w2TQE8yWE1LAXmnG1Sl8=", - "dev": true - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz?cache=0&sync_timestamp=1620501182675&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.4.tgz", - "integrity": "sha1-ptrJO2NbBjymhyI23oiRClevE5w=", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-text-path/download/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, - "requires": { - "text-extensions": "^1.0.0" - } - }, - "is-type-of": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/is-type-of/download/is-type-of-1.2.1.tgz", - "integrity": "sha1-4mPsOFes608oxHEw7HjbCakg+MU=", - "dev": true, - "requires": { - "core-util-is": "^1.0.2", - "is-class-hotfix": "~0.0.6", - "isstream": "~0.1.2" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.nlark.com/is-unicode-supported/download/is-unicode-supported-0.1.0.tgz?cache=0&sync_timestamp=1625294010675&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-unicode-supported%2Fdownload%2Fis-unicode-supported-0.1.0.tgz", - "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", - "dev": true - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.nlark.com/is-yarn-global/download/is-yarn-global-0.3.0.tgz?cache=0&sync_timestamp=1619356824740&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-yarn-global%2Fdownload%2Fis-yarn-global-0.3.0.tgz", - "integrity": "sha1-1QLTOCWQ6jAEiTdGdUyJE5lz4jI=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isbinaryfile": { - "version": "4.0.8", - "resolved": "https://registry.nlark.com/isbinaryfile/download/isbinaryfile-4.0.8.tgz", - "integrity": "sha1-XTS5SGW9SUZjPsx4oCb8dsWxH88=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/isobject/download/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.nlark.com/isstream/download/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "jake": { - "version": "10.8.2", - "resolved": "https://registry.npm.taobao.org/jake/download/jake-10.8.2.tgz", - "integrity": "sha1-68nehVgWCmbYLQ6txqLlj7xQCns=", - "dev": true, - "requires": { - "async": "0.9.x", - "chalk": "^2.4.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.nlark.com/jest-get-type/download/jest-get-type-25.2.6.tgz?cache=0&sync_timestamp=1624900056951&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-get-type%2Fdownload%2Fjest-get-type-25.2.6.tgz", - "integrity": "sha1-Cwoy+riQi0TVCL6BaBSH26u42Hc=" - }, - "jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.nlark.com/jest-validate/download/jest-validate-25.5.0.tgz", - "integrity": "sha1-+0yT8zLC5M9wFRpijlijXkWaQTo=", - "requires": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/chalk/download/chalk-3.0.0.tgz", - "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "joi": { - "version": "17.4.1", - "resolved": "https://registry.nlark.com/joi/download/joi-17.4.1.tgz", - "integrity": "sha1-FdLyPIy+TRut7S3RkMWPjb4RzKA=", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.0", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, - "js-base64": { - "version": "3.6.1", - "resolved": "https://registry.nlark.com/js-base64/download/js-base64-3.6.1.tgz", - "integrity": "sha1-VVquOYt0aUtAN68filpiCdFw774=" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz", - "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-4.1.0.tgz?cache=0&sync_timestamp=1618435151523&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-4.1.0.tgz", - "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", - "requires": { - "argparse": "^2.0.1" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.nlark.com/jsbn/download/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.nlark.com/jsesc/download/jsesc-2.5.2.tgz", - "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", - "dev": true - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.1.tgz", - "integrity": "sha1-kziAKjDTtmBfvgYT4JQAjKjAWhM=" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.nlark.com/json-schema/download/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=" - }, - "json-schema-typed": { - "version": "7.0.3", - "resolved": "https://registry.npm.taobao.org/json-schema-typed/download/json-schema-typed-7.0.3.tgz", - "integrity": "sha1-I/9IG4tO680soSO0+gQJ5mRpotk=" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.nlark.com/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz", - "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-6.1.0.tgz?cache=0&sync_timestamp=1604161876665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-6.1.0.tgz", - "integrity": "sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4=", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/jsonparse/download/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "jstoxml": { - "version": "0.2.4", - "resolved": "https://registry.nlark.com/jstoxml/download/jstoxml-0.2.4.tgz?cache=0&sync_timestamp=1624199715336&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjstoxml%2Fdownload%2Fjstoxml-0.2.4.tgz", - "integrity": "sha1-/z+2eFaIOgMpU8fOjOdIYhD0hEc=", - "dev": true - }, - "jsx-ast-utils": { - "version": "2.4.1", - "resolved": "https://registry.nlark.com/jsx-ast-utils/download/jsx-ast-utils-2.4.1.tgz", - "integrity": "sha1-ERSkwSCUgdsGxpDCtPSIzGZfZX4=", - "dev": true, - "requires": { - "array-includes": "^3.1.1", - "object.assign": "^4.1.0" - } - }, - "keyv": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/keyv/download/keyv-4.0.3.tgz", - "integrity": "sha1-TzqpjeJUgDyvzSiWc0EI2qNeQlQ=", - "requires": { - "json-buffer": "3.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", - "dev": true - }, - "known-css-properties": { - "version": "0.21.0", - "resolved": "https://registry.nlark.com/known-css-properties/download/known-css-properties-0.21.0.tgz", - "integrity": "sha1-FfvQu7g0R/POCdivJH7UfGjt6A0=", - "dev": true - }, - "ko-sleep": { - "version": "1.0.3", - "resolved": "https://registry.nlark.com/ko-sleep/download/ko-sleep-1.0.3.tgz", - "integrity": "sha1-KKKgoUhei39BX/SI3uF9JHiKsII=", - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.nlark.com/latest-version/download/latest-version-5.1.0.tgz?cache=0&sync_timestamp=1618847146540&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flatest-version%2Fdownload%2Flatest-version-5.1.0.tgz", - "integrity": "sha1-EZ3+kI/jjRXfpD7NE/oS7Igy+s4=", - "dev": true, - "requires": { - "package-json": "^6.3.0" - }, - "dependencies": { - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npm.alibaba-inc.com/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz", - "integrity": "sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o=", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npm.alibaba-inc.com/@szmarczak/http-timer/download/@szmarczak/http-timer-1.1.2.tgz", - "integrity": "sha1-sWZeLEYaLNkvTBu/UNVFTeDUtCE=", - "dev": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npm.alibaba-inc.com/cacheable-request/download/cacheable-request-6.1.0.tgz", - "integrity": "sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI=", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npm.alibaba-inc.com/get-stream/download/get-stream-5.2.0.tgz", - "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npm.alibaba-inc.com/lowercase-keys/download/lowercase-keys-2.0.0.tgz", - "integrity": "sha1-JgPni3tLAAbLyi+8yKMgJVislHk=", - "dev": true - } - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npm.alibaba-inc.com/decompress-response/download/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npm.alibaba-inc.com/defer-to-connect/download/defer-to-connect-1.1.3.tgz", - "integrity": "sha1-MxrgUMCNz3ifjIOnuB8O2U9KxZE=", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npm.alibaba-inc.com/get-stream/download/get-stream-4.1.0.tgz", - "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npm.alibaba-inc.com/got/download/got-9.6.0.tgz", - "integrity": "sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU=", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npm.alibaba-inc.com/json-buffer/download/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npm.alibaba-inc.com/keyv/download/keyv-3.1.0.tgz", - "integrity": "sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk=", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npm.alibaba-inc.com/lowercase-keys/download/lowercase-keys-1.0.1.tgz", - "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npm.alibaba-inc.com/mimic-response/download/mimic-response-1.0.1.tgz", - "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=", - "dev": true - }, - "normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npm.alibaba-inc.com/normalize-url/download/normalize-url-4.5.1.tgz", - "integrity": "sha1-DdkM8SiO4dExO4cIHJpZMu5IUYo=", - "dev": true - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npm.alibaba-inc.com/p-cancelable/download/p-cancelable-1.1.0.tgz", - "integrity": "sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw=", - "dev": true - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npm.alibaba-inc.com/package-json/download/package-json-6.5.0.tgz", - "integrity": "sha1-b+7ayjXnVyWHbQsOZJdGl/7RRbA=", - "dev": true, - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - } - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npm.alibaba-inc.com/responselike/download/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npm.alibaba-inc.com/to-readable-stream/download/to-readable-stream-1.0.0.tgz", - "integrity": "sha1-zgqgwvPfat+FLvtASng+d8BHV3E=", - "dev": true - } - } - }, - "lazy-val": { - "version": "1.0.5", - "resolved": "https://registry.nlark.com/lazy-val/download/lazy-val-1.0.5.tgz?cache=0&sync_timestamp=1620971308718&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flazy-val%2Fdownload%2Flazy-val-1.0.5.tgz", - "integrity": "sha1-bPO59bwxzufuPjacCDK3WD3Nkj0=" - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz", - "integrity": "sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I=" - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.nlark.com/levn/download/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "line-column": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/line-column/download/line-column-1.0.2.tgz", - "integrity": "sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI=", - "dev": true, - "requires": { - "isarray": "^1.0.0", - "isobject": "^2.0.0" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.nlark.com/lines-and-columns/download/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/load-json-file/download/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/parse-json/download/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.nlark.com/lodash/download/lodash-4.17.21.tgz?cache=0&sync_timestamp=1618847150612&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flodash%2Fdownload%2Flodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.nlark.com/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/lodash.escaperegexp/download/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=" - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.nlark.com/lodash.isequal/download/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.nlark.com/lodash.truncate/download/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/log-symbols/download/log-symbols-4.1.0.tgz", - "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "longest-streak": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/longest-streak/download/longest-streak-2.0.4.tgz", - "integrity": "sha1-uFmZV9pbXatk3uP+MW+ndFl9kOQ=", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz", - "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-2.0.0.tgz", - "integrity": "sha1-JgPni3tLAAbLyi+8yKMgJVislHk=" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz", - "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/make-dir/download/make-dir-3.1.0.tgz", - "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.nlark.com/make-error/download/make-error-1.3.6.tgz", - "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=", - "dev": true - }, - "map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-4.2.1.tgz?cache=0&sync_timestamp=1617771341569&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-4.2.1.tgz", - "integrity": "sha1-5Oo5nbyXmuc1yDyGPdMb3zZCd7c=", - "dev": true - }, - "matcher": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/matcher/download/matcher-3.0.0.tgz", - "integrity": "sha1-vZBg9MW3CqgEHMxvgDaHYJlPMMo=", - "dev": true, - "optional": true, - "requires": { - "escape-string-regexp": "^4.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz", - "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", - "dev": true, - "optional": true - } - } - }, - "mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/mathml-tag-names/download/mathml-tag-names-2.1.3.tgz", - "integrity": "sha1-TdrdZzCOeAzxakdoWHjuJ7c2oKM=", - "dev": true - }, - "mdast-util-from-markdown": { - "version": "0.8.5", - "resolved": "https://registry.nlark.com/mdast-util-from-markdown/download/mdast-util-from-markdown-0.8.5.tgz", - "integrity": "sha1-0e8spCvDd+ywRjqYeRDa6JvZoow=", - "dev": true, - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^2.0.0", - "micromark": "~2.11.0", - "parse-entities": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "mdast-util-to-markdown": { - "version": "0.6.5", - "resolved": "https://registry.nlark.com/mdast-util-to-markdown/download/mdast-util-to-markdown-0.6.5.tgz?cache=0&sync_timestamp=1624464790940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmdast-util-to-markdown%2Fdownload%2Fmdast-util-to-markdown-0.6.5.tgz", - "integrity": "sha1-sz9nyoINaebMUnqT1AOSSbUEvr4=", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" - } - }, - "mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/mdast-util-to-string/download/mdast-util-to-string-2.0.0.tgz?cache=0&sync_timestamp=1619426190900&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmdast-util-to-string%2Fdownload%2Fmdast-util-to-string-2.0.0.tgz", - "integrity": "sha1-uM/mpxPhCRy1tyj8SIhaR2f4uXs=", - "dev": true - }, - "meow": { - "version": "8.1.2", - "resolved": "https://registry.nlark.com/meow/download/meow-8.1.2.tgz?cache=0&sync_timestamp=1626388195360&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmeow%2Fdownload%2Fmeow-8.1.2.tgz", - "integrity": "sha1-vL5FvaDuFynTUMA8/8g5WjbE6Jc=", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "dependencies": { - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.18.1.tgz?cache=0&sync_timestamp=1625745315038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.18.1.tgz", - "integrity": "sha1-20vBUaSiz07r+a3V23VQjbbMhB8=", - "dev": true - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/merge-descriptors/download/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/merge-stream/download/merge-stream-2.0.0.tgz", - "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz", - "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=" - }, - "micromark": { - "version": "2.11.4", - "resolved": "https://registry.nlark.com/micromark/download/micromark-2.11.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmicromark%2Fdownload%2Fmicromark-2.11.4.tgz", - "integrity": "sha1-0TQ2E47qgmOD6CJEnJpcUO5EZlo=", - "dev": true, - "requires": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.nlark.com/micromatch/download/micromatch-4.0.4.tgz", - "integrity": "sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-2.5.2.tgz", - "integrity": "sha1-bj3GzCuVEGQ4MOXxnVy3U9pe6r4=", - "dev": true - }, - "mime-db": { - "version": "1.48.0", - "resolved": "https://registry.nlark.com/mime-db/download/mime-db-1.48.0.tgz?cache=0&sync_timestamp=1622433556078&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-db%2Fdownload%2Fmime-db-1.48.0.tgz", - "integrity": "sha1-41sxBF3X6to6qtU37YijOvvvLR0=" - }, - "mime-types": { - "version": "2.1.31", - "resolved": "https://registry.nlark.com/mime-types/download/mime-types-2.1.31.tgz?cache=0&sync_timestamp=1622569304088&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.31.tgz", - "integrity": "sha1-oA12t0MXxh+cLbIhi46fjpxcnms=", - "requires": { - "mime-db": "1.48.0" - } - }, - "mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/mimic-fn/download/mimic-fn-3.1.0.tgz", - "integrity": "sha1-ZXVRRbvz42lUuUnBZFBCdFHVynQ=" - }, - "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/mimic-response/download/mimic-response-2.1.0.tgz", - "integrity": "sha1-0Tdj019hPQnsN+uzC6wEacDuj0M=" - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/min-indent/download/min-indent-1.0.1.tgz", - "integrity": "sha1-pj9oFnOzBXH76LwlaGrnRu76mGk=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", - "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/minimist-options/download/minimist-options-4.1.0.tgz", - "integrity": "sha1-wGVXE8U6ii69d/+iR9NCxA8BBhk=", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npm.taobao.org/minipass/download/minipass-2.9.0.tgz", - "integrity": "sha1-5xN2Ln0+Mv7YAxFc+T4EvKn8yaY=", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - }, - "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.nlark.com/yallist/download/yallist-3.1.1.tgz", - "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=" - } - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npm.taobao.org/minizlib/download/minizlib-1.3.3.tgz", - "integrity": "sha1-IpDeloGKNMKVUcio0wEha9Zahh0=", - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz", - "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz", - "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=", - "dev": true - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz", - "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=", - "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "mz-modules": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/mz-modules/download/mz-modules-2.1.0.tgz", - "integrity": "sha1-f1KYd6/Q1C9AmnRjuWmG1hz7z5Y=", - "dev": true, - "requires": { - "glob": "^7.1.2", - "ko-sleep": "^1.0.3", - "mkdirp": "^0.5.1", - "pump": "^3.0.0", - "rimraf": "^2.6.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "netmask": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/netmask/download/netmask-2.0.2.tgz?cache=0&sync_timestamp=1617387791479&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnetmask%2Fdownload%2Fnetmask-2.0.2.tgz", - "integrity": "sha1-iwGgdkQGXVNjg4NYI7xSAE66xec=", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.nlark.com/nice-try/download/nice-try-1.0.5.tgz", - "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", - "dev": true - }, - "node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.nlark.com/node-addon-api/download/node-addon-api-1.7.2.tgz", - "integrity": "sha1-PfMLlXILU8JOWZSLSVMrZiRE9U0=", - "dev": true, - "optional": true - }, - "node-cache": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/node-cache/download/node-cache-5.1.2.tgz", - "integrity": "sha1-8mTcLMrQp4DnYlOmlOn9DtGcOY0=", - "requires": { - "clone": "2.x" - } - }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.nlark.com/node-fetch/download/node-fetch-2.6.1.tgz?cache=0&sync_timestamp=1626684741221&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.1.tgz", - "integrity": "sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI=" - }, - "node-releases": { - "version": "1.1.73", - "resolved": "https://registry.nlark.com/node-releases/download/node-releases-1.1.73.tgz", - "integrity": "sha1-3U6B3dUnf/hGuAtSu0DEnt96eyA=", - "dev": true - }, - "normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-3.0.2.tgz", - "integrity": "sha1-yuXEEK4kNPmmwbqmXVvDuTZshpk=", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.nlark.com/normalize-range/download/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-selector": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/normalize-selector/download/normalize-selector-0.2.0.tgz", - "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", - "dev": true - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.nlark.com/normalize-url/download/normalize-url-6.1.0.tgz?cache=0&sync_timestamp=1625826787829&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-url%2Fdownload%2Fnormalize-url-6.1.0.tgz", - "integrity": "sha1-QNCIW1Nd7/4/MUe+yHfQX+TFZoo=" - }, - "npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/npm-conf/download/npm-conf-1.1.3.tgz", - "integrity": "sha1-JWzEe9DiGMJZxOlVC/QTvCGSr/k=", - "dev": true, - "optional": true, - "requires": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "optional": true - } - } - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/npm-run-path/download/npm-run-path-4.0.1.tgz", - "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", - "requires": { - "path-key": "^3.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", - "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1618847240432&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.nlark.com/object-inspect/download/object-inspect-1.11.0.tgz", - "integrity": "sha1-nc6xRs7dQUig2eUauI00z1CZIrE=", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz", - "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.4", - "resolved": "https://registry.nlark.com/object.entries/download/object.entries-1.1.4.tgz", - "integrity": "sha1-Q8z5pQvF/VtknUWrGlefJOCIyv0=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" - } - }, - "object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.nlark.com/object.fromentries/download/object.fromentries-2.0.4.tgz", - "integrity": "sha1-JuG6XEVxxcbwiQzvRHMGZFahILg=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" - } - }, - "object.values": { - "version": "1.1.4", - "resolved": "https://registry.nlark.com/object.values/download/object.values-1.1.4.tgz", - "integrity": "sha1-DSc3YoM+gWtpOmN9MAc+cFFTWzA=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.nlark.com/once/download/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.nlark.com/onetime/download/onetime-5.1.2.tgz", - "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", - "requires": { - "mimic-fn": "^2.1.0" - }, - "dependencies": { - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/mimic-fn/download/mimic-fn-2.1.0.tgz", - "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=" - } - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz", - "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-name": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/os-name/download/os-name-1.0.3.tgz", - "integrity": "sha1-GzefZINa98Wn9JizV8uVIVwVnt8=", - "dev": true, - "requires": { - "osx-release": "^1.0.0", - "win-release": "^1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/os-tmpdir/download/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osx-release": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/osx-release/download/osx-release-1.1.0.tgz", - "integrity": "sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=", - "dev": true, - "requires": { - "minimist": "^1.1.0" - } - }, - "p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.nlark.com/p-cancelable/download/p-cancelable-2.1.1.tgz", - "integrity": "sha1-qrf71BZYL6MqPbSYWcEiSHxe0s8=" - }, - "p-event": { - "version": "4.2.0", - "resolved": "https://registry.nlark.com/p-event/download/p-event-4.2.0.tgz", - "integrity": "sha1-r0sEnIrNka6BCD69Hm9criBEwbU=", - "requires": { - "p-timeout": "^3.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz?cache=0&sync_timestamp=1617947695861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-finally%2Fdownload%2Fp-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz", - "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.nlark.com/p-timeout/download/p-timeout-3.2.0.tgz", - "integrity": "sha1-x+F6vJcdKnli74NiazXWNazyPf4=", - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/p-try/download/p-try-2.2.0.tgz", - "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=" - }, - "pac-proxy-agent": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/pac-proxy-agent/download/pac-proxy-agent-4.1.0.tgz", - "integrity": "sha1-Zog+6rrckV/F6VRXMkyw8Kx43vs=", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4", - "get-uri": "3", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "5", - "pac-resolver": "^4.1.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "5" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "pac-resolver": { - "version": "4.2.0", - "resolved": "https://registry.nlark.com/pac-resolver/download/pac-resolver-4.2.0.tgz", - "integrity": "sha1-uCvLmZLUgWaSC8g8dUKrtFS9m90=", - "dev": true, - "requires": { - "degenerator": "^2.2.0", - "ip": "^1.1.5", - "netmask": "^2.0.1" - } - }, - "package-json": { - "version": "7.0.0", - "resolved": "https://registry.npm.alibaba-inc.com/package-json/download/package-json-7.0.0.tgz", - "integrity": "sha1-E1VBblClwbjxpvRxGXo2UNIRhr8=", - "requires": { - "got": "^11.8.2", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^7.3.5" - }, - "dependencies": { - "@sindresorhus/is": { - "version": "4.0.1", - "resolved": "https://registry.npm.alibaba-inc.com/@sindresorhus/is/download/@sindresorhus/is-4.0.1.tgz", - "integrity": "sha1-0mcp24UPoye3ysxVIiUhlEBCJvU=" - }, - "cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npm.alibaba-inc.com/cacheable-lookup/download/cacheable-lookup-5.0.4.tgz", - "integrity": "sha1-WmuGWyxENXvj1evCpGewMnGacAU=" - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npm.alibaba-inc.com/decompress-response/download/decompress-response-6.0.0.tgz", - "integrity": "sha1-yjh2Et234QS9FthaqwDV7PCcZvw=", - "requires": { - "mimic-response": "^3.1.0" - } - }, - "got": { - "version": "11.8.2", - "resolved": "https://registry.npm.alibaba-inc.com/got/download/got-11.8.2.tgz", - "integrity": "sha1-ers5Weoowx81dvFXbB7/ziPzNZk=", - "requires": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.1", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - } - }, - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npm.alibaba-inc.com/mimic-response/download/mimic-response-3.1.0.tgz", - "integrity": "sha1-LR1Zr5wbEpgVrMwsRqAipc4fo8k=" - } - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz", - "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/parse-entities/download/parse-entities-2.0.0.tgz", - "integrity": "sha1-U8brW5MUofTsmfoP33zgHs2gy+g=", - "dev": true, - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/parse-json/download/parse-json-5.2.0.tgz", - "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.nlark.com/path-key/download/path-key-3.1.1.tgz", - "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz", - "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" - }, - "path-to-regexp": { - "version": "6.2.0", - "resolved": "https://registry.nlark.com/path-to-regexp/download/path-to-regexp-6.2.0.tgz?cache=0&sync_timestamp=1618847046445&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-6.2.0.tgz", - "integrity": "sha1-97OAMzYQTDRoia3s5hRmkjBkXzg=", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/path-type/download/path-type-4.0.0.tgz", - "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=" - }, - "pause-stream": { - "version": "0.0.11", - "resolved": "https://registry.npm.taobao.org/pause-stream/download/pause-stream-0.0.11.tgz", - "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", - "dev": true, - "requires": { - "through": "~2.3" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.nlark.com/pend/download/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/performance-now/download/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz?cache=0&sync_timestamp=1621648246651&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpicomatch%2Fdownload%2Fpicomatch-2.3.0.tgz", - "integrity": "sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.nlark.com/pinkie/download/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/pkg-dir/download/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/find-up/download/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz", - "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/p-try/download/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/pkg-up/download/pkg-up-3.1.0.tgz", - "integrity": "sha1-EA7CNcwVDk/UJRlBJZaihRKg3vU=", - "requires": { - "find-up": "^3.0.0" - } - }, - "platform": { - "version": "1.3.6", - "resolved": "https://registry.npm.taobao.org/platform/download/platform-1.3.6.tgz", - "integrity": "sha1-SLTOmDFksgnC1FoQetsx9HOm56c=", - "dev": true - }, - "plist": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/plist/download/plist-3.0.2.tgz?cache=0&sync_timestamp=1616735797705&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fplist%2Fdownload%2Fplist-3.0.2.tgz", - "integrity": "sha1-dLvwERJLkEIcItFXec7mAGC6lbw=", - "dev": true, - "optional": true, - "requires": { - "base64-js": "^1.5.1", - "xmlbuilder": "^9.0.7", - "xmldom": "^0.5.0" - }, - "dependencies": { - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "dev": true, - "optional": true - }, - "xmldom": { - "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/xmldom/download/xmldom-0.5.0.tgz?cache=0&sync_timestamp=1618678919472&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmldom%2Fdownload%2Fxmldom-0.5.0.tgz", - "integrity": "sha1-GTy5a4SqNIYSfqYnLEWWNUy0li4=", - "dev": true, - "optional": true - } - } - }, - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz", - "integrity": "sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", - "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-html": { - "version": "0.36.0", - "resolved": "https://registry.nlark.com/postcss-html/download/postcss-html-0.36.0.tgz", - "integrity": "sha1-tAkT+U6qzCRT/TChMnrW7h+IsgQ=", - "dev": true, - "requires": { - "htmlparser2": "^3.10.0" - } - }, - "postcss-less": { - "version": "3.1.4", - "resolved": "https://registry.nlark.com/postcss-less/download/postcss-less-3.1.4.tgz", - "integrity": "sha1-Np9YZCtZKO+Jj/vBpuk8lYMExa0=", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npm.taobao.org/postcss-media-query-parser/download/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", - "dev": true - }, - "postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.nlark.com/postcss-resolve-nested-selector/download/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", - "dev": true - }, - "postcss-safe-parser": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz", - "integrity": "sha1-ptTkjw832ffBGypYG/APi6SHC5Y=", - "dev": true, - "requires": { - "postcss": "^7.0.26" - } - }, - "postcss-sass": { - "version": "0.4.4", - "resolved": "https://registry.nlark.com/postcss-sass/download/postcss-sass-0.4.4.tgz", - "integrity": "sha1-kfDzRHtFzjcyJ6mLYfjY8HhShaM=", - "dev": true, - "requires": { - "gonzales-pe": "^4.3.0", - "postcss": "^7.0.21" - } - }, - "postcss-scss": { - "version": "2.1.1", - "resolved": "https://registry.nlark.com/postcss-scss/download/postcss-scss-2.1.1.tgz?cache=0&sync_timestamp=1623651597829&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-scss%2Fdownload%2Fpostcss-scss-2.1.1.tgz", - "integrity": "sha1-7Dp1+imlXgFrkL8yaQJsU8HSs4M=", - "dev": true, - "requires": { - "postcss": "^7.0.6" - } - }, - "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620752924836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz", - "integrity": "sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-syntax": { - "version": "0.36.2", - "resolved": "https://registry.nlark.com/postcss-syntax/download/postcss-syntax-0.36.2.tgz", - "integrity": "sha1-8IV4x9lYNFdOVZOoLfv6ivrjtRw=", - "dev": true - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz", - "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/prepend-http/download/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.nlark.com/pretty-format/download/pretty-format-25.5.0.tgz", - "integrity": "sha1-eHPB13T2gsNLjUi2dDor8qxVeRo=", - "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", - "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.nlark.com/progress/download/progress-2.0.3.tgz", - "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", - "dev": true - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.nlark.com/prop-types/download/prop-types-15.7.2.tgz", - "integrity": "sha1-UsQedbjIfnK52TYOAga5ncv/psU=", - "dev": true, - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true, - "optional": true - }, - "proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/proxy-agent/download/proxy-agent-4.0.1.tgz", - "integrity": "sha1-MmwyUHdscETNGWVcy/rfLgZaBFw=", - "dev": true, - "requires": { - "agent-base": "^6.0.0", - "debug": "4", - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^5.0.0", - "lru-cache": "^5.1.1", - "pac-proxy-agent": "^4.1.0", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^5.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz", - "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.nlark.com/yallist/download/yallist-3.1.1.tgz", - "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", - "dev": true - } - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.nlark.com/proxy-from-env/download/proxy-from-env-1.1.0.tgz", - "integrity": "sha1-4QLxbKNVQkhldV0sno6k8k1Yw+I=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz", - "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/pump/download/pump-3.0.0.tgz", - "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.nlark.com/pupa/download/pupa-2.1.1.tgz?cache=0&sync_timestamp=1626170133238&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpupa%2Fdownload%2Fpupa-2.1.1.tgz", - "integrity": "sha1-9ej9SvwsXZeCj6pSNUnth0SiDWI=", - "dev": true, - "requires": { - "escape-goat": "^2.0.0" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.nlark.com/q/download/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.nlark.com/qs/download/qs-6.5.2.tgz", - "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/queue-microtask/download/queue-microtask-1.2.3.tgz?cache=0&sync_timestamp=1616391471040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqueue-microtask%2Fdownload%2Fqueue-microtask-1.2.3.tgz", - "integrity": "sha1-SSkii7xyTfrEPg77BYyve2z7YkM=" - }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/quick-lru/download/quick-lru-4.0.1.tgz", - "integrity": "sha1-W4h48ROlgheEjGSCAmxz4bpXcn8=", - "dev": true - }, - "raw-body": { - "version": "2.4.1", - "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.1.tgz", - "integrity": "sha1-MKyC+Yu1rowVLmcUnayNVRU7Fow=", - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.3", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npm.alibaba-inc.com/rc/download/rc-1.2.8.tgz", - "integrity": "sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npm.alibaba-inc.com/ini/download/ini-1.3.8.tgz", - "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=" - } - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.nlark.com/react-is/download/react-is-16.13.1.tgz", - "integrity": "sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ=" - }, - "read-config-file": { - "version": "6.2.0", - "resolved": "https://registry.nlark.com/read-config-file/download/read-config-file-6.2.0.tgz", - "integrity": "sha1-cVNgcjMLzWK6gU+RRYsSrdn8et4=", - "dev": true, - "requires": { - "dotenv": "^9.0.2", - "dotenv-expand": "^5.1.0", - "js-yaml": "^4.1.0", - "json5": "^2.2.0", - "lazy-val": "^1.0.4" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-5.2.0.tgz", - "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz", - "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz", - "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1625745315038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz", - "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.nlark.com/read-pkg-up/download/read-pkg-up-7.0.1.tgz?cache=0&sync_timestamp=1618846971516&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-7.0.1.tgz", - "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1625745315038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz", - "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", - "dev": true - } - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.nlark.com/readable-stream/download/readable-stream-2.3.7.tgz", - "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" - } - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "requires": { - "resolve": "^1.1.6" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/redent/download/redent-3.0.0.tgz?cache=0&sync_timestamp=1620069702182&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fredent%2Fdownload%2Fredent-3.0.0.tgz", - "integrity": "sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz", - "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=" - }, - "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.nlark.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz?cache=0&sync_timestamp=1623668872577&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpp%2Fdownload%2Fregexpp-3.2.0.tgz", - "integrity": "sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=", - "dev": true - }, - "registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npm.alibaba-inc.com/registry-auth-token/download/registry-auth-token-4.2.1.tgz", - "integrity": "sha1-bXtABkQZGJcszV/tzUHcMix5slA=", - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npm.alibaba-inc.com/registry-url/download/registry-url-5.1.0.tgz", - "integrity": "sha1-6YM0tQ1UNLgRNrROxjjZwgCcUAk=", - "requires": { - "rc": "^1.2.8" - } - }, - "remark": { - "version": "13.0.0", - "resolved": "https://registry.npm.taobao.org/remark/download/remark-13.0.0.tgz?cache=0&sync_timestamp=1602663734069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fremark%2Fdownload%2Fremark-13.0.0.tgz", - "integrity": "sha1-0V2b9xpAL0Aofr42Bntm1Uho5CU=", - "dev": true, - "requires": { - "remark-parse": "^9.0.0", - "remark-stringify": "^9.0.0", - "unified": "^9.1.0" - } - }, - "remark-parse": { - "version": "9.0.0", - "resolved": "https://registry.nlark.com/remark-parse/download/remark-parse-9.0.0.tgz", - "integrity": "sha1-TSCimWZYgOT0r12Qt8e4qTWFNkA=", - "dev": true, - "requires": { - "mdast-util-from-markdown": "^0.8.0" - } - }, - "remark-stringify": { - "version": "9.0.1", - "resolved": "https://registry.nlark.com/remark-stringify/download/remark-stringify-9.0.1.tgz", - "integrity": "sha1-V20G6RBUiwpxkacfJ7M/EhiGKJQ=", - "dev": true, - "requires": { - "mdast-util-to-markdown": "^0.6.0" - } - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.nlark.com/repeat-string/download/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz", - "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "request-progress": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/request-progress/download/request-progress-3.0.0.tgz", - "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=", - "requires": { - "throttleit": "^1.0.0" - } - }, - "request-promise": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/request-promise/download/request-promise-4.2.6.tgz", - "integrity": "sha1-fn5blXhjDm9ZjjgTwPjrNCon8KI=", - "requires": { - "bluebird": "^3.5.0", - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.4.tgz?cache=0&sync_timestamp=1595378718097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest-promise-core%2Fdownload%2Frequest-promise-core-1.1.4.tgz", - "integrity": "sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8=", - "requires": { - "lodash": "^4.17.19" - } - }, - "require-all": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/require-all/download/require-all-3.0.0.tgz", - "integrity": "sha1-Rz1JcEvjEBFc4ST3c4Ox69hnExI=", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.nlark.com/require-from-string/download/require-from-string-2.0.2.tgz", - "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/require-main-filename/download/require-main-filename-2.0.0.tgz", - "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", - "dev": true - }, - "requireindex": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/requireindex/download/requireindex-1.2.0.tgz", - "integrity": "sha1-NGPNsi7hUZAmNapslTXU3pwu8e8=", - "dev": true - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz", - "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-alpn": { - "version": "1.2.0", - "resolved": "https://registry.npm.alibaba-inc.com/resolve-alpn/download/resolve-alpn-1.2.0.tgz", - "integrity": "sha1-BYuwiI0c1NEkdOmktusXvdWt3EQ=" - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz", - "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", - "dev": true - }, - "resolve-global": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-global/download/resolve-global-1.0.0.tgz", - "integrity": "sha1-oqed9K8so/Sb93753azTItrRklU=", - "dev": true, - "requires": { - "global-dirs": "^0.1.1" - } - }, - "responselike": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/responselike/download/responselike-2.0.0.tgz", - "integrity": "sha1-JjkbzDF091D5p56sxAoSpcQtdyM=", - "requires": { - "lowercase-keys": "^2.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz", - "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz", - "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=" - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", - "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "roarr": { - "version": "2.15.4", - "resolved": "https://registry.nlark.com/roarr/download/roarr-2.15.4.tgz?cache=0&sync_timestamp=1626308784611&other_urls=https%3A%2F%2Fregistry.nlark.com%2Froarr%2Fdownload%2Froarr-2.15.4.tgz", - "integrity": "sha1-9f55W3uDjM/jXcYI4Cgrnrouev0=", - "dev": true, - "optional": true, - "requires": { - "boolean": "^3.0.1", - "detect-node": "^2.0.4", - "globalthis": "^1.0.1", - "json-stringify-safe": "^5.0.1", - "semver-compare": "^1.0.0", - "sprintf-js": "^1.1.2" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz", - "integrity": "sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.nlark.com/run-parallel/download/run-parallel-1.2.0.tgz", - "integrity": "sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.nlark.com/rxjs/download/rxjs-6.6.7.tgz?cache=0&sync_timestamp=1625506603452&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frxjs%2Fdownload%2Frxjs-6.6.7.tgz", - "integrity": "sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk=", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", - "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", - "dev": true - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.nlark.com/safer-buffer/download/safer-buffer-2.1.2.tgz", - "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" - }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npm.taobao.org/sanitize-filename/download/sanitize-filename-1.6.3.tgz", - "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", - "dev": true, - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.nlark.com/sax/download/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" - }, - "sdk-base": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/sdk-base/download/sdk-base-2.0.1.tgz", - "integrity": "sha1-ukAonovfJy7RHdnql+r5jgNtJMY=", - "dev": true, - "requires": { - "get-ready": "~1.0.0" - } - }, - "seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/seek-bzip/download/seek-bzip-1.0.6.tgz", - "integrity": "sha1-NcQXH1WmgJFrUqB4WezztYV/IcQ=", - "requires": { - "commander": "^2.8.1" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", - "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/semver-compare/download/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true, - "optional": true - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.nlark.com/semver-diff/download/semver-diff-3.1.1.tgz?cache=0&sync_timestamp=1620044887257&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver-diff%2Fdownload%2Fsemver-diff-3.1.1.tgz", - "integrity": "sha1-Bfd85Z8yXgDicGr9Z7tQbdscoys=", - "dev": true, - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - } - } - }, - "serialize-error": { - "version": "7.0.1", - "resolved": "https://registry.nlark.com/serialize-error/download/serialize-error-7.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-error%2Fdownload%2Fserialize-error-7.0.1.tgz", - "integrity": "sha1-8TYLBEf2H/tIPsQVfHN/q313jhg=", - "dev": true, - "optional": true, - "requires": { - "type-fest": "^0.13.1" - }, - "dependencies": { - "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.13.1.tgz?cache=0&sync_timestamp=1625745315038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.13.1.tgz", - "integrity": "sha1-AXLLW86AsL1ULqNI21DH4hg02TQ=", - "dev": true, - "optional": true - } - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/set-blocking/download/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/setprototypeof/download/setprototypeof-1.1.1.tgz", - "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/shebang-command/download/shebang-command-2.0.0.tgz", - "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz", - "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=" - }, - "shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npm.taobao.org/shelljs/download/shelljs-0.8.4.tgz", - "integrity": "sha1-3naE/ut2f4cWsyYHiooAh1iQ48I=", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/side-channel/download/side-channel-1.0.4.tgz", - "integrity": "sha1-785cj9wQTudRslxY1CkAEfpeos8=", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1592843131591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz", - "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/slash/download/slash-3.0.0.tgz", - "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=" - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-1.0.0.tgz?cache=0&sync_timestamp=1618554984144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslice-ansi%2Fdownload%2Fslice-ansi-1.0.0.tgz", - "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=", - "dev": true, - "optional": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "optional": true - } - } - }, - "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/smart-buffer/download/smart-buffer-4.1.0.tgz", - "integrity": "sha1-kWBcJdkWUvRmHqacz0XxszHKIbo=", - "dev": true - }, - "socks": { - "version": "2.6.1", - "resolved": "https://registry.npm.taobao.org/socks/download/socks-2.6.1.tgz?cache=0&sync_timestamp=1618719357511&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsocks%2Fdownload%2Fsocks-2.6.1.tgz", - "integrity": "sha1-mJ5lNKB88zfesbHJSqpEKWUg0w4=", - "dev": true, - "requires": { - "ip": "^1.1.5", - "smart-buffer": "^4.1.0" - } - }, - "socks-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.nlark.com/socks-proxy-agent/download/socks-proxy-agent-5.0.1.tgz", - "integrity": "sha1-Ay+1gwSKKev/7C5qc/ygdh9IF34=", - "dev": true, - "requires": { - "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", - "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npm.taobao.org/spawn-command/download/spawn-command-0.0.2-1.tgz", - "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz", - "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz", - "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.9", - "resolved": "https://registry.nlark.com/spdx-license-ids/download/spdx-license-ids-3.0.9.tgz?cache=0&sync_timestamp=1621652583280&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.9.tgz", - "integrity": "sha1-illRNd75WSvaaXCUdPHL7qfCRn8=", - "dev": true - }, - "specificity": { - "version": "0.4.1", - "resolved": "https://registry.nlark.com/specificity/download/specificity-0.4.1.tgz?cache=0&sync_timestamp=1620301057306&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fspecificity%2Fdownload%2Fspecificity-0.4.1.tgz", - "integrity": "sha1-qrXmRQEtsIuhguFRFlc40AiHsBk=", - "dev": true - }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/split2/download/split2-3.2.2.tgz", - "integrity": "sha1-vyzyo32DgxLCSciSBv16F90SNl8=", - "dev": true, - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.1.2.tgz", - "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=", - "dev": true, - "optional": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", - "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "stat-mode": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/stat-mode/download/stat-mode-1.0.0.tgz", - "integrity": "sha1-aLVcth6mOf9XE282shaikYANFGU=", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1609654090567&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" - }, - "stream-http": { - "version": "2.8.2", - "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.2.tgz?cache=0&sync_timestamp=1618430770209&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-http%2Fdownload%2Fstream-http-2.8.2.tgz", - "integrity": "sha1-QSboxrEHAERlkYqi/DVUnndALIc=", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-wormhole": { - "version": "1.1.0", - "resolved": "https://registry.nlark.com/stream-wormhole/download/stream-wormhole-1.1.0.tgz", - "integrity": "sha1-MAr/Rs7VU8/sZCoFJRiFQXaTwz0=", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.nlark.com/string-width/download/string-width-4.2.2.tgz", - "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "string.prototype.matchall": { - "version": "4.0.5", - "resolved": "https://registry.nlark.com/string.prototype.matchall/download/string.prototype.matchall-4.0.5.tgz?cache=0&sync_timestamp=1621973430160&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstring.prototype.matchall%2Fdownload%2Fstring.prototype.matchall-4.0.5.tgz", - "integrity": "sha1-WTcGROHbfkwMBFJ3aQz3sBIDxNo=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.3.1", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.nlark.com/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz?cache=0&sync_timestamp=1614127232940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.4.tgz", - "integrity": "sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" - } - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.nlark.com/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/strip-bom/download/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/strip-dirs/download/strip-dirs-2.1.0.tgz", - "integrity": "sha1-SYdzYmT8NEzyD2w0rKnRPR1O1sU=", - "requires": { - "is-natural-number": "^4.0.1" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz", - "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=" - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-3.0.0.tgz", - "integrity": "sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npm.alibaba-inc.com/strip-json-comments/download/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "style-search": { - "version": "0.1.0", - "resolved": "https://registry.nlark.com/style-search/download/style-search-0.1.0.tgz", - "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", - "dev": true - }, - "stylelint": { - "version": "13.13.1", - "resolved": "https://registry.nlark.com/stylelint/download/stylelint-13.13.1.tgz?cache=0&sync_timestamp=1619867919967&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstylelint%2Fdownload%2Fstylelint-13.13.1.tgz", - "integrity": "sha1-/KnJ9d55kKsmoA8We4l48IOhjzw=", - "dev": true, - "requires": { - "@stylelint/postcss-css-in-js": "^0.37.2", - "@stylelint/postcss-markdown": "^0.36.2", - "autoprefixer": "^9.8.6", - "balanced-match": "^2.0.0", - "chalk": "^4.1.1", - "cosmiconfig": "^7.0.0", - "debug": "^4.3.1", - "execall": "^2.0.0", - "fast-glob": "^3.2.5", - "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", - "global-modules": "^2.0.0", - "globby": "^11.0.3", - "globjoin": "^0.1.4", - "html-tags": "^3.1.0", - "ignore": "^5.1.8", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "known-css-properties": "^0.21.0", - "lodash": "^4.17.21", - "log-symbols": "^4.1.0", - "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.4", - "normalize-selector": "^0.2.0", - "postcss": "^7.0.35", - "postcss-html": "^0.36.0", - "postcss-less": "^3.1.4", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.2", - "postcss-sass": "^0.4.4", - "postcss-scss": "^2.1.1", - "postcss-selector-parser": "^6.0.5", - "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^4.1.0", - "resolve-from": "^5.0.0", - "slash": "^3.0.0", - "specificity": "^0.4.1", - "string-width": "^4.2.2", - "strip-ansi": "^6.0.0", - "style-search": "^0.1.0", - "sugarss": "^2.0.0", - "svg-tags": "^1.0.0", - "table": "^6.6.0", - "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^3.0.3" - }, - "dependencies": { - "ajv": { - "version": "8.6.2", - "resolved": "https://registry.nlark.com/ajv/download/ajv-8.6.2.tgz?cache=0&sync_timestamp=1626380017209&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-8.6.2.tgz", - "integrity": "sha1-L7ReDl/LwIEzJsHD2lNdGIG7BXE=", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/astral-regex/download/astral-regex-2.0.0.tgz", - "integrity": "sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=", - "dev": true - }, - "balanced-match": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-2.0.0.tgz?cache=0&sync_timestamp=1617714233441&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-2.0.0.tgz", - "integrity": "sha1-3HD5INeNuLhYU1eVhnv0j4IGM9k=", - "dev": true - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.nlark.com/file-entry-cache/download/file-entry-cache-6.0.1.tgz", - "integrity": "sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.nlark.com/flat-cache/download/flat-cache-3.0.4.tgz", - "integrity": "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.1", - "resolved": "https://registry.nlark.com/flatted/download/flatted-3.2.1.tgz", - "integrity": "sha1-u+8IDZX8pnCTYscwRKFjT3xufQU=", - "dev": true - }, - "import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/import-lazy/download/import-lazy-4.0.0.tgz", - "integrity": "sha1-6OtidIOgpD2jwD8+NVSL5csMwVM=", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz", - "integrity": "sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=", - "dev": true - }, - "meow": { - "version": "9.0.0", - "resolved": "https://registry.nlark.com/meow/download/meow-9.0.0.tgz?cache=0&sync_timestamp=1626388195360&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmeow%2Fdownload%2Fmeow-9.0.0.tgz", - "integrity": "sha1-zZUQvFysne59A8c+4fmtlZ9Oo2Q=", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz", - "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-4.0.0.tgz?cache=0&sync_timestamp=1618554984144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslice-ansi%2Fdownload%2Fslice-ansi-4.0.0.tgz", - "integrity": "sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "table": { - "version": "6.7.1", - "resolved": "https://registry.nlark.com/table/download/table-6.7.1.tgz", - "integrity": "sha1-7gVZK3FDgxqMlPPO5qrkwczvM+I=", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" - } - }, - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.18.1.tgz?cache=0&sync_timestamp=1625745315038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.18.1.tgz", - "integrity": "sha1-20vBUaSiz07r+a3V23VQjbbMhB8=", - "dev": true - } - } - }, - "stylelint-config-ali": { - "version": "0.3.4", - "resolved": "https://registry.npm.taobao.org/stylelint-config-ali/download/stylelint-config-ali-0.3.4.tgz", - "integrity": "sha1-O5POH4WjKzYjYKeNLAkZEuh4Sdc=", - "dev": true - }, - "stylelint-scss": { - "version": "3.20.1", - "resolved": "https://registry.nlark.com/stylelint-scss/download/stylelint-scss-3.20.1.tgz?cache=0&sync_timestamp=1626679558705&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstylelint-scss%2Fdownload%2Fstylelint-scss-3.20.1.tgz", - "integrity": "sha1-iPF12c/hyBpyhYvQ01UM9hUw4hI=", - "dev": true, - "requires": { - "lodash": "^4.17.15", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "sudo-prompt": { - "version": "9.2.1", - "resolved": "https://registry.npm.taobao.org/sudo-prompt/download/sudo-prompt-9.2.1.tgz", - "integrity": "sha1-d++4QwnJykiVJ6TnSfKH5r3VKv0=" - }, - "sugarss": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/sugarss/download/sugarss-2.0.0.tgz?cache=0&sync_timestamp=1623650749819&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsugarss%2Fdownload%2Fsugarss-2.0.0.tgz", - "integrity": "sha1-3dduASSyl9QL88yjHIsi7LQ7xh0=", - "dev": true, - "requires": { - "postcss": "^7.0.2" - } - }, - "sumchecker": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/sumchecker/download/sumchecker-3.0.1.tgz", - "integrity": "sha1-Y3fplnlauwttNI6bPh37JDRajkI=", - "dev": true, - "requires": { - "debug": "^4.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "requires": { - "has-flag": "^4.0.0" - } - }, - "svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/svg-tags/download/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.nlark.com/table/download/table-5.4.6.tgz", - "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1618553044693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.nlark.com/emoji-regex/download/emoji-regex-7.0.3.tgz", - "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz?cache=0&sync_timestamp=1618554984144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslice-ansi%2Fdownload%2Fslice-ansi-2.1.0.tgz", - "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/string-width/download/string-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.nlark.com/tar/download/tar-4.4.13.tgz?cache=0&sync_timestamp=1618847020118&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftar%2Fdownload%2Ftar-4.4.13.tgz", - "integrity": "sha1-Q7NkvFKIjVVSmGN7ENYHkCVKtSU=", - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "requires": { - "minimist": "^1.2.5" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.nlark.com/yallist/download/yallist-3.1.1.tgz", - "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=" - } - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npm.taobao.org/tar-stream/download/tar-stream-1.6.2.tgz", - "integrity": "sha1-jqVdqzeXIlPZqa+Q/c1VmuQ1xVU=", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "temp-file": { - "version": "3.4.0", - "resolved": "https://registry.nlark.com/temp-file/download/temp-file-3.4.0.tgz", - "integrity": "sha1-dm6iiRHGg5lsJI7xog7qBNUWUsc=", - "dev": true, - "requires": { - "async-exit-hook": "^2.0.1", - "fs-extra": "^10.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-10.0.0.tgz", - "integrity": "sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - } - } - }, - "text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/text-extensions/download/text-extensions-1.9.0.tgz?cache=0&sync_timestamp=1610432280732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftext-extensions%2Fdownload%2Ftext-extensions-1.9.0.tgz", - "integrity": "sha1-GFPkX+45yUXOb2w2stZZtaq8KiY=", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.nlark.com/thenify/download/thenify-3.3.1.tgz", - "integrity": "sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8=", - "dev": true, - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "throttleit": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/throttleit/download/throttleit-1.0.0.tgz", - "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.nlark.com/through/download/through-2.3.8.tgz?cache=0&sync_timestamp=1618847037651&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fthrough%2Fdownload%2Fthrough-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/through2/download/through2-4.0.2.tgz?cache=0&sync_timestamp=1593480386934&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-4.0.2.tgz", - "integrity": "sha1-p846wqeosLlmyA58SfBITDsjl2Q=", - "dev": true, - "requires": { - "readable-stream": "3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.nlark.com/tmp/download/tmp-0.2.1.tgz", - "integrity": "sha1-hFf8MDfc9HGcJRNnoa9lAO4czxQ=", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz", - "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "tmp-promise": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/tmp-promise/download/tmp-promise-3.0.2.tgz", - "integrity": "sha1-bpM3gqv/iwDDEZ1jWJyh+5yqpio=", - "dev": true, - "requires": { - "tmp": "^0.2.0" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/to-buffer/download/to-buffer-1.1.1.tgz", - "integrity": "sha1-STvUj2LXxD/N7TE6A9ytsuEhOoA=" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-readable-stream": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/to-readable-stream/download/to-readable-stream-2.1.0.tgz", - "integrity": "sha1-gogDFhIb6mYs3CJq2zCt21DLBug=" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", - "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz", - "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/tree-kill/download/tree-kill-1.2.2.tgz", - "integrity": "sha1-TKCakJLIi3OnzcXooBtQeweQoMw=", - "dev": true - }, - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-3.0.1.tgz", - "integrity": "sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ=", - "dev": true - }, - "trim-off-newlines": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/trim-off-newlines/download/trim-off-newlines-1.0.1.tgz", - "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", - "dev": true - }, - "trough": { - "version": "1.0.5", - "resolved": "https://registry.nlark.com/trough/download/trough-1.0.5.tgz", - "integrity": "sha1-uLY5zvrX0LsqvTfUM/+Ck++l9AY=", - "dev": true - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/truncate-utf8-bytes/download/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "dev": true, - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "ts-node": { - "version": "10.1.0", - "resolved": "https://registry.nlark.com/ts-node/download/ts-node-10.1.0.tgz?cache=0&sync_timestamp=1625867743391&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fts-node%2Fdownload%2Fts-node-10.1.0.tgz", - "integrity": "sha1-5lbYrTthEGk4qGf2nDmoum78lm4=", - "dev": true, - "requires": { - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - } - }, - "tsconfig-paths": { - "version": "3.10.1", - "resolved": "https://registry.nlark.com/tsconfig-paths/download/tsconfig-paths-3.10.1.tgz", - "integrity": "sha1-ea5npowVKJ/fXFHLdPOXUi15Xtc=", - "dev": true, - "requires": { - "json5": "^2.2.0", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "tslib": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", - "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npm.taobao.org/tsutils/download/tsutils-3.21.0.tgz", - "integrity": "sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", - "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", - "dev": true - } - } - }, - "tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npm.taobao.org/tunnel/download/tunnel-0.0.6.tgz", - "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", - "dev": true, - "optional": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.nlark.com/tunnel-agent/download/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.nlark.com/type-check/download/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-fest": { - "version": "0.10.0", - "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.10.0.tgz?cache=0&sync_timestamp=1625745315038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.10.0.tgz", - "integrity": "sha1-fwayufv8WBBo0TQf+r0DSc6vxkI=" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.nlark.com/typedarray/download/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.3.5", - "resolved": "https://registry.nlark.com/typescript/download/typescript-4.3.5.tgz?cache=0&sync_timestamp=1626679114211&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftypescript%2Fdownload%2Ftypescript-4.3.5.tgz", - "integrity": "sha1-TRw3zBbok5c8RaBohrcRMjTxGfQ=", - "dev": true - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/unbox-primitive/download/unbox-primitive-1.0.1.tgz?cache=0&sync_timestamp=1616706302651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funbox-primitive%2Fdownload%2Funbox-primitive-1.0.1.tgz", - "integrity": "sha1-CF4hViXsMWJXTciFmr7nilmxRHE=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.nlark.com/unbzip2-stream/download/unbzip2-stream-1.4.3.tgz", - "integrity": "sha1-sNoExDcTEd93HNwhXofyEwmRrOc=", - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "unescape": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/unescape/download/unescape-1.0.1.tgz", - "integrity": "sha1-lW5DD2HK2KTVfYLFGPXmzF0N2pY=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1" - } - }, - "unified": { - "version": "9.2.2", - "resolved": "https://registry.nlark.com/unified/download/unified-9.2.2.tgz", - "integrity": "sha1-Z2SaGr/Dq4XSlpUCkCd16wMUaXU=", - "dev": true, - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/is-plain-obj/download/is-plain-obj-2.1.0.tgz", - "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", - "dev": true - } - } - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/unique-string/download/unique-string-2.0.0.tgz", - "integrity": "sha1-OcZFH4GvsnSd4rIz4/fF6IQ72J0=", - "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "unist-util-find-all-after": { - "version": "3.0.2", - "resolved": "https://registry.nlark.com/unist-util-find-all-after/download/unist-util-find-all-after-3.0.2.tgz", - "integrity": "sha1-/f7NFMW3rqXp7zjV4NX3dO61YfY=", - "dev": true, - "requires": { - "unist-util-is": "^4.0.0" - } - }, - "unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/unist-util-is/download/unist-util-is-4.1.0.tgz?cache=0&sync_timestamp=1620654787971&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-is%2Fdownload%2Funist-util-is-4.1.0.tgz", - "integrity": "sha1-l25fRip6Xec9lLcGusG5BnG1d5c=", - "dev": true - }, - "unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.nlark.com/unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha1-zOO/oc34W6c3XR1bF73Eytqb2do=", - "dev": true, - "requires": { - "@types/unist": "^2.0.2" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-2.0.0.tgz?cache=0&sync_timestamp=1603180080276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-2.0.0.tgz", - "integrity": "sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc=" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/update-notifier/download/update-notifier-5.1.0.tgz", - "integrity": "sha1-SrDXx/NqIx3XMWz3cpMT8CFNmtk=", - "dev": true, - "requires": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/ci-info/download/ci-info-2.0.0.tgz", - "integrity": "sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/is-ci/download/is-ci-2.0.0.tgz?cache=0&sync_timestamp=1618847026826&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-ci%2Fdownload%2Fis-ci-2.0.0.tgz", - "integrity": "sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw=", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - } - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237641463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz", - "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", - "requires": { - "punycode": "^2.1.0" - } - }, - "url-join": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/url-join/download/url-join-4.0.1.tgz", - "integrity": "sha1-tkLiGiZGgI/6F4xMX9o5hE4Szec=" - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/url-parse-lax/download/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - } - }, - "urllib": { - "version": "2.37.3", - "resolved": "https://registry.nlark.com/urllib/download/urllib-2.37.3.tgz", - "integrity": "sha1-5QRKVJR/vp/gBhiLvnMEGXAzQRE=", - "dev": true, - "requires": { - "any-promise": "^1.3.0", - "content-type": "^1.0.2", - "debug": "^2.6.9", - "default-user-agent": "^1.0.0", - "digest-header": "^0.0.1", - "ee-first": "~1.1.1", - "formstream": "^1.1.0", - "humanize-ms": "^1.2.0", - "iconv-lite": "^0.4.15", - "ip": "^1.1.5", - "proxy-agent": "^4.0.1", - "pump": "^3.0.0", - "qs": "^6.4.0", - "statuses": "^1.3.1", - "utility": "^1.16.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/user-home/download/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "requires": { - "os-homedir": "^1.0.0" - } - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/utf8-byte-length/download/utf8-byte-length-1.0.4.tgz", - "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utility": { - "version": "1.17.0", - "resolved": "https://registry.nlark.com/utility/download/utility-1.17.0.tgz", - "integrity": "sha1-YIGfcSpuDOd09S+x1pGZKl9Z02I=", - "dev": true, - "requires": { - "copy-to": "^2.0.1", - "escape-html": "^1.0.3", - "mkdirp": "^0.5.1", - "mz": "^2.7.0", - "unescape": "^1.0.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.nlark.com/uuid/download/uuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz", - "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.nlark.com/verror/download/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vfile": { - "version": "4.2.1", - "resolved": "https://registry.nlark.com/vfile/download/vfile-4.2.1.tgz?cache=0&sync_timestamp=1626166882861&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvfile%2Fdownload%2Fvfile-4.2.1.tgz", - "integrity": "sha1-A/Hc4o/GJcYlvGUUNQ+9sA+p5iQ=", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - } - }, - "vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.nlark.com/vfile-message/download/vfile-message-2.0.4.tgz", - "integrity": "sha1-W0O4gXHUCerlhHfRPyPdQdUsNxo=", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "vue-eslint-parser": { - "version": "7.9.0", - "resolved": "https://registry.nlark.com/vue-eslint-parser/download/vue-eslint-parser-7.9.0.tgz", - "integrity": "sha1-Xu7ccfIuvHsYuVfRqxcazymkHmQ=", - "dev": true, - "requires": { - "debug": "^4.1.1", - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.2.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^6.3.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1624559054225&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz", - "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - } - } - }, - "wait-on": { - "version": "5.3.0", - "resolved": "https://registry.nlark.com/wait-on/download/wait-on-5.3.0.tgz", - "integrity": "sha1-WE4X1LP+e0asK5+OXhAsAFwndsc=", - "dev": true, - "requires": { - "axios": "^0.21.1", - "joi": "^17.3.0", - "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^6.6.3" - }, - "dependencies": { - "axios": { - "version": "0.21.1", - "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.21.1.tgz?cache=0&sync_timestamp=1608609324963&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.21.1.tgz", - "integrity": "sha1-IlY0gZYvTWvemnbVFu8OXTwJsrg=", - "dev": true, - "requires": { - "follow-redirects": "^1.10.0" - } - }, - "follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.1.tgz", - "integrity": "sha1-2RFN7Qoc/dM04WTmZirQK/2R/0M=", - "dev": true - } - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.nlark.com/which/download/which-2.0.2.tgz", - "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/widest-line/download/widest-line-3.1.0.tgz", - "integrity": "sha1-gpIzO79my0X/DeFgOxNreuFJbso=", - "dev": true, - "requires": { - "string-width": "^4.0.0" - } - }, - "win-release": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/win-release/download/win-release-1.1.1.tgz", - "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", - "dev": true, - "requires": { - "semver": "^5.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618846864940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - } - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz", - "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz", - "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz", - "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-3.0.3.tgz", - "integrity": "sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug=", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/xdg-basedir/download/xdg-basedir-4.0.0.tgz?cache=0&sync_timestamp=1617611838739&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxdg-basedir%2Fdownload%2Fxdg-basedir-4.0.0.tgz", - "integrity": "sha1-S8jZmEQDaWIl74OhVzy7y0552xM=", - "dev": true - }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.nlark.com/xml2js/download/xml2js-0.4.23.tgz", - "integrity": "sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY=", - "dev": true, - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz", - "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=", - "dev": true - }, - "xmldom": { - "version": "0.6.0", - "resolved": "https://registry.npm.taobao.org/xmldom/download/xmldom-0.6.0.tgz?cache=0&sync_timestamp=1618678919472&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmldom%2Fdownload%2Fxmldom-0.6.0.tgz", - "integrity": "sha1-Q6luy4vuzpkc7zgsCDl9gtTQxG8=" - }, - "xregexp": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/xregexp/download/xregexp-2.0.0.tgz", - "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", - "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.nlark.com/y18n/download/y18n-5.0.8.tgz", - "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/yallist/download/yallist-4.0.0.tgz", - "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.nlark.com/yaml/download/yaml-1.10.2.tgz", - "integrity": "sha1-IwHF/78StGfejaIzOkWeKeeSDks=", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.nlark.com/yargs/download/yargs-16.2.0.tgz", - "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.nlark.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1624233514145&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", - "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", - "dev": true - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.nlark.com/yauzl/download/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/yn/download/yn-3.1.1.tgz", - "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz", - "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", - "dev": true - }, - "zwitch": { - "version": "1.0.5", - "resolved": "https://registry.nlark.com/zwitch/download/zwitch-1.0.5.tgz", - "integrity": "sha1-0R1zgf/tFrdC9q97PyI9XNn+mSA=", - "dev": true - } - } -} diff --git a/package.json b/package.json index cca26fb..2467016 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "description": "The Frontend Developer Toolkit", "scripts": { "setup": "npm run install:main && npm run install:renderer", - "install:main": "rm -rf node_modules && ELECTRON_MIRROR=https://cdn.npm.taobao.org/dist/electron/ npm install --registry=http://registry.npm.taobao.org", - "install:renderer": "rm -rf renderer/node_modules && cd renderer && npm install --registry=http://registry.npm.taobao.org --no-package-lock", + "install:main": "rm -rf node_modules && ELECTRON_MIRROR=https://cdn.npm.taobao.org/dist/electron/ npm install --no-package-lock", + "install:renderer": "rm -rf renderer/node_modules && cd renderer && npm install --no-package-lock", "start": "concurrently \"npm run watch\" \"wait-on http://localhost:3000 && npm run start:electron\"", "start:electron": "npm run copy:static && electron ./dist", "copy:static": "cp -R ./main/data ./dist", @@ -97,6 +97,8 @@ "node-fetch": "^2.6.1", "package-json": "^7.0.0", "shelljs": "^0.8.4", + "ssh-config": "^4.0.6", + "ssh-keygen": "^0.5.0", "sudo-prompt": "^9.2.1", "tslib": "^2.2.0", "url-join": "^4.0.1" diff --git a/renderer/package.json b/renderer/package.json index 43415b7..8b61c67 100644 --- a/renderer/package.json +++ b/renderer/package.json @@ -12,6 +12,7 @@ "lodash.debounce": "^4.0.8", "moment": "^2.24.0", "react": "^17.0.0", + "react-copy-to-clipboard": "^5.0.3", "react-dom": "^17.0.0", "xterm": "^4.11.0", "xterm-addon-fit": "^0.5.0", diff --git a/renderer/src/components/Icon/index.ts b/renderer/src/components/Icon/index.ts index fe59a63..f6f2bea 100644 --- a/renderer/src/components/Icon/index.ts +++ b/renderer/src/components/Icon/index.ts @@ -4,7 +4,7 @@ import DynamicIcon from '@icedesign/dynamic-icon'; const Icon = DynamicIcon.create({ fontFamily: 'toolkit', prefix: 'toolkit', - css: 'https://at.alicdn.com/t/font_2523538_5irmpudnioc.css', + css: 'https://at.alicdn.com/t/font_2523538_agqzazql1xa.css', }); export default Icon; diff --git a/renderer/src/components/PageHeader/index.module.scss b/renderer/src/components/PageHeader/index.module.scss index 577024c..942b62c 100644 --- a/renderer/src/components/PageHeader/index.module.scss +++ b/renderer/src/components/PageHeader/index.module.scss @@ -4,9 +4,12 @@ flex-direction: row; align-items: center; justify-content: space-between; - margin-top: 60px; - padding-bottom: 10px; + padding: 60px 0 10px; border-bottom: 1px solid rgb(230, 230, 230); + position: sticky; + top: -40px; + background: white; + z-index: 10; .title { font-size: 32px; diff --git a/renderer/src/layouts/BasicLayout/menuConfig.ts b/renderer/src/layouts/BasicLayout/menuConfig.ts index eec5684..693988b 100644 --- a/renderer/src/layouts/BasicLayout/menuConfig.ts +++ b/renderer/src/layouts/BasicLayout/menuConfig.ts @@ -11,6 +11,11 @@ const asideMenuConfig = [ path: '/node', icon: 'nodejs', }, + { + name: 'Git 管理', + path: '/git', + icon: 'git', + }, ]; export { headerMenuConfig, asideMenuConfig }; diff --git a/renderer/src/pages/Git/components/BaseGitConfig/index.module.scss b/renderer/src/pages/Git/components/BaseGitConfig/index.module.scss new file mode 100644 index 0000000..d6f68bb --- /dev/null +++ b/renderer/src/pages/Git/components/BaseGitConfig/index.module.scss @@ -0,0 +1,11 @@ +.label { + font-size: 14px; +} + +.row { + margin-bottom: 20px; +} + +.input { + min-width: 100%; +} \ No newline at end of file diff --git a/renderer/src/pages/Git/components/BaseGitConfig/index.tsx b/renderer/src/pages/Git/components/BaseGitConfig/index.tsx new file mode 100644 index 0000000..d04101c --- /dev/null +++ b/renderer/src/pages/Git/components/BaseGitConfig/index.tsx @@ -0,0 +1,37 @@ +import { FC } from 'react'; +import { Field, Grid, Input, Switch } from '@alifd/next'; +import styles from './index.module.scss'; + +const { Row, Col } = Grid; + +interface IBaseGitConfig { + field: Field; +} + +const BaseGitConfig: FC = ({ field }) => { + const { init } = field; + return ( + <> + + 用户名 + + + + + + 邮箱 + + + + + + 忽略文件名大小写 + + + + + + ); +}; + +export default BaseGitConfig; diff --git a/renderer/src/pages/Git/components/GitDirFormItemLabel/index.tsx b/renderer/src/pages/Git/components/GitDirFormItemLabel/index.tsx new file mode 100644 index 0000000..f0f19c4 --- /dev/null +++ b/renderer/src/pages/Git/components/GitDirFormItemLabel/index.tsx @@ -0,0 +1,18 @@ +import { Icon, Balloon } from '@alifd/next'; + +const { Tooltip } = Balloon; + +export default () => { + return ( + + 使用此配置的目录 + } + align="t" + delay={200} + > + 该目录下的 Git 项目都将使用此配置,详细说明查看文档 + + + ); +}; diff --git a/renderer/src/pages/Git/components/GitDirsForm/index.module.scss b/renderer/src/pages/Git/components/GitDirsForm/index.module.scss new file mode 100644 index 0000000..53485d9 --- /dev/null +++ b/renderer/src/pages/Git/components/GitDirsForm/index.module.scss @@ -0,0 +1,31 @@ +.row { + margin-bottom: 20px; +} + +.input { + min-width: 100%; +} + +.icon { + cursor: pointer; +} + +.folderIcon { + @extend .icon; + margin-right: 10px; +} + +.minusIcon { + @extend .icon; + margin-left: 10px; +} + +.gitDirRow { + margin-bottom: 20px; + display: flex; + align-items: center; +} + +.addItemBtn { + min-width: 100%; +} \ No newline at end of file diff --git a/renderer/src/pages/Git/components/GitDirsForm/index.tsx b/renderer/src/pages/Git/components/GitDirsForm/index.tsx new file mode 100644 index 0000000..0846b60 --- /dev/null +++ b/renderer/src/pages/Git/components/GitDirsForm/index.tsx @@ -0,0 +1,92 @@ +import { useEffect } from 'react'; +import { Message, Input, Field, Grid, Button, Icon as NextIcon } from '@alifd/next'; +import Icon from '@/components/Icon'; +import GitDirFormItemLabel from '../GitDirFormItemLabel'; +import store from '../../store'; +import styles from './index.module.scss'; + +const { Row, Col } = Grid; + +const GitDirsForm = ({ refresh, gitDirs = [], configName }) => { + const [, dispatcher] = store.useModel('git'); + + const field = Field.useField({ + parseName: true, + values: { + gitDirs: [], + }, + }); + + const getDataSource = () => { + return Array.from(field.getValue('gitDirs')); + }; + + const addItem = (value = '') => { + const values = getDataSource(); + const index = values.length; + field.addArrayValue('gitDirs', index, { id: index, value }); + }; + + const removeItem = async (gitDir: string, index: number) => { + field.deleteArrayValue('gitDirs', index); + if (!gitDir) { + return; + } + const res = await dispatcher.removeUserGitDir({ gitDir, configName }); + if (res) { + Message.success('删除目录成功'); + } + }; + + const onOpenFolderDialog = async (index: number) => { + const folderPath = await dispatcher.getFolderPath(); + if (!folderPath) { + return; + } + const values = getDataSource(); + const res = await dispatcher.updateUserGitDir({ + originGitDir: values[index].value, + currentGitDir: folderPath, + configName, + }); + if (res) { + Message.success('目录更新成功'); + field.setValue(`gitDirs.${index}.value`, folderPath); + await refresh(); + } + }; + + useEffect(() => { + field.setValue('gitDirs', gitDirs.map((item, i) => { + return { id: i, value: item }; + })); + }, []); + const dataSource = getDataSource(); + return ( + + + + { + dataSource.map((gitDir: any, index: number) => ( + // eslint-disable-next-line react/no-array-index-key +
+ onOpenFolderDialog(index)} />} + /> + await removeItem(gitDir.value, index)} /> +
+ )) + } + + +
+ ); +}; + +export default GitDirsForm; diff --git a/renderer/src/pages/Git/components/GlobalGitConfig/index.module.scss b/renderer/src/pages/Git/components/GlobalGitConfig/index.module.scss new file mode 100644 index 0000000..d61d250 --- /dev/null +++ b/renderer/src/pages/Git/components/GlobalGitConfig/index.module.scss @@ -0,0 +1,5 @@ +.title { + font-size: 20px; + font-weight: 500; + margin-bottom: 20px; +} \ No newline at end of file diff --git a/renderer/src/pages/Git/components/GlobalGitConfig/index.tsx b/renderer/src/pages/Git/components/GlobalGitConfig/index.tsx new file mode 100644 index 0000000..61a8c0c --- /dev/null +++ b/renderer/src/pages/Git/components/GlobalGitConfig/index.tsx @@ -0,0 +1,54 @@ +import { FC, useEffect } from 'react'; +import { Field, Message } from '@alifd/next'; +import debounce from 'lodash.debounce'; +import removeObjEmptyValue from '@/utils/removeObjEmptyValue'; +import BaseGitConfig from '../BaseGitConfig'; +import store from '../../store'; +import styles from './index.module.scss'; + +const GlobalGitConfig: FC<{}> = () => { + const [state, dispatcher] = store.useModel('git'); + const effectsState = store.useModelEffectsState('git'); + + const { globalGitConfig } = state; + + const onFieldChange = debounce(async () => { + const values: any = field.getValues(); + await dispatcher.updateGlobalGitConfig(removeObjEmptyValue(values)); + Message.success('更新全局 Git 配置成功'); + }, 800); + + const field = Field.useField({ + parseName: true, + onChange: onFieldChange, + autoUnmount: false, + }); + + useEffect(() => { + dispatcher.getGlobalGitConfig(); + }, []); + + useEffect(() => { + if (effectsState.getGlobalGitConfig.error) { + Message.error(effectsState.getGlobalGitConfig.error.message); + } + }, [effectsState.getGlobalGitConfig.error]); + + useEffect(() => { + if (effectsState.updateGlobalGitConfig.error) { + Message.error(effectsState.updateGlobalGitConfig.error.message); + } + }, [effectsState.updateGlobalGitConfig.error]); + + useEffect(() => { + field.setValues(globalGitConfig); + }, [globalGitConfig]); + return ( + <> +
全局配置
+ + + ); +}; + +export default GlobalGitConfig; diff --git a/renderer/src/pages/Git/components/SSHKeyFormItemLabel/index.tsx b/renderer/src/pages/Git/components/SSHKeyFormItemLabel/index.tsx new file mode 100644 index 0000000..45c5666 --- /dev/null +++ b/renderer/src/pages/Git/components/SSHKeyFormItemLabel/index.tsx @@ -0,0 +1,18 @@ +import { Icon, Balloon } from '@alifd/next'; + +const { Tooltip } = Balloon; + +export default () => { + return ( + + SSH 公钥 + } + align="t" + delay={200} + > + 添加 SSH 公钥教程,请查看文档 + + + ); +}; diff --git a/renderer/src/pages/Git/components/UserGitConfig/index.module.scss b/renderer/src/pages/Git/components/UserGitConfig/index.module.scss new file mode 100644 index 0000000..c0f53e4 --- /dev/null +++ b/renderer/src/pages/Git/components/UserGitConfig/index.module.scss @@ -0,0 +1,21 @@ +.userGitConfig { + padding: 20px; +} + +.label { + font-size: 14px; +} + +.row { + margin-bottom: 20px; +} + +.input { + min-width: 100%; + + .copyIcon { + cursor: pointer; + margin-right: 10px; + font-size: 16px; + } +} diff --git a/renderer/src/pages/Git/components/UserGitConfig/index.tsx b/renderer/src/pages/Git/components/UserGitConfig/index.tsx new file mode 100644 index 0000000..9d0ceeb --- /dev/null +++ b/renderer/src/pages/Git/components/UserGitConfig/index.tsx @@ -0,0 +1,94 @@ +import { FC, useEffect } from 'react'; +import debounce from 'lodash.debounce'; +import { CopyToClipboard } from 'react-copy-to-clipboard'; +import { Field, Message, Grid, Input } from '@alifd/next'; +import removeObjEmptyValue from '@/utils/removeObjEmptyValue'; +import Icon from '@/components/Icon'; +import store from '../../store'; +import SSHKeyFormItemLabel from '../SSHKeyFormItemLabel'; +import GitDirsForm from '../GitDirsForm'; +import styles from './index.module.scss'; + +const { Row, Col } = Grid; + +export interface UserGitConfigProps { + gitDirs: Array<{value: string; id: number}>; + configName: string; + SSHPublicKey?: string; + [k: string]: any; + refresh: () => Promise; +} + +const UserGitConfig: FC = ({ configName, gitDirs, SSHPublicKey, refresh, ...props }) => { + const [, dispatcher] = store.useModel('git'); + const effectsState = store.useModelEffectsState('git'); + + const initValues = { ...props }; + + const field = Field.useField({ + parseName: true, + onChange: debounce(async () => { + const values: any = field.getValues(); + await dispatcher.updateUserGitConfig({ + configName, + gitConfig: removeObjEmptyValue(values), + }); + Message.success(`更新 ${configName} Git 配置成功`); + dispatcher.getUserGitConfigs(); + }, 1000), + values: initValues, + autoUnmount: false, + }); + + useEffect(() => { + if (effectsState.updateUserGitConfig.error) { + Message.error(effectsState.updateUserGitConfig.error.message); + } + }, [effectsState.updateUserGitConfig.error]); + + return ( +
+ + Git 服务器域名 + + + + + + 用户名 + + + + + + 邮箱 + + + + + + + + + + Message.success('复制成功')}> + + + } + /> + + + +
+ ); +}; + +export default UserGitConfig; diff --git a/renderer/src/pages/Git/components/UserGitConfigDialogForm/index.module.scss b/renderer/src/pages/Git/components/UserGitConfigDialogForm/index.module.scss new file mode 100644 index 0000000..001c771 --- /dev/null +++ b/renderer/src/pages/Git/components/UserGitConfigDialogForm/index.module.scss @@ -0,0 +1,18 @@ +.dialogFooter { + display: flex; + justify-content: space-between; + align-items: center; + + .tip { + font-size: 12px; + color: #999; + } + + .promptIcon { + color: #f9ca24; + } + + .button { + margin-left: 10px; + } +} \ No newline at end of file diff --git a/renderer/src/pages/Git/components/UserGitConfigDialogForm/index.tsx b/renderer/src/pages/Git/components/UserGitConfigDialogForm/index.tsx new file mode 100644 index 0000000..aa10b41 --- /dev/null +++ b/renderer/src/pages/Git/components/UserGitConfigDialogForm/index.tsx @@ -0,0 +1,129 @@ +import { FC, useEffect } from 'react'; +import { Dialog, Form, Field, Input, Message, Icon, Button } from '@alifd/next'; +import store from '../../store'; +import styles from './index.module.scss'; + +interface UserGitConfigDialogFormProps { + refresh: () => Promise; +} + +const UserGitConfigDialogForm: FC = ({ refresh }) => { + const [state, dispatcher] = store.useModel('git'); + const effectsState = store.useModelEffectsState('git'); + + const { + userGitConfigFormVisible, + // existedUserGitConfigNames + } = state; + + const field = Field.useField({ parseName: true }); + + const formItemLayout = { + labelCol: { span: 6 }, + wrapperCol: { span: 18 }, + }; + + const submit = async () => { + const { errors } = await field.validatePromise(); + if (errors) { + return; + } + + const values = field.getValues() as any; + const { user: { email: userEmail }, configName } = values; + const pubKey = await dispatcher.generateSSHKey({ configName, userEmail }); + if (!pubKey) { + return; + } + Message.success(`生成 ${configName} SSH 公钥成功`); + const res = await dispatcher.addUserGitConfig(values); + if (res) { + Message.success(`新增 ${values.configName} 配置成功`); + await refresh(); + close(); + } + }; + + const close = () => { + dispatcher.setUserGitConfigFormVisible(false); + }; + + useEffect(() => { + if (effectsState.addUserGitConfig.error) { + Message.error(effectsState.addUserGitConfig.error.message); + } + }, [effectsState.addUserGitConfig.error]); + + useEffect(() => { + dispatcher.getExistedUserGitConfigs(); + }, []); + + // const validateGitConfigName = (rule: any, setValue: string, callback: (error?: string) => void) => { + // if (existedUserGitConfigNames.includes(setValue)) { + // return callback('配置名已存在,请重新输入'); + // } + // return callback(); + // }; + const dialogFooter = ( +
+
+ + 点击『确定』按钮将默认生成 SSH 公钥 +
+
+ + +
+
+ ); + return ( + +
+ + + + + + + + + + + + +
+
+ ); +}; + +export default UserGitConfigDialogForm; diff --git a/renderer/src/pages/Git/components/UserGitConfigList/index.module.scss b/renderer/src/pages/Git/components/UserGitConfigList/index.module.scss new file mode 100644 index 0000000..655a646 --- /dev/null +++ b/renderer/src/pages/Git/components/UserGitConfigList/index.module.scss @@ -0,0 +1,25 @@ +.header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20px 0; + border-top: 1px solid #e6e6e6; + + .title { + font-size: 20px; + font-weight: 500; + + } +} + +.panelHeader { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 10px; + + .removeIcon { + font-size: 22px; + cursor: pointer; + } +} \ No newline at end of file diff --git a/renderer/src/pages/Git/components/UserGitConfigList/index.tsx b/renderer/src/pages/Git/components/UserGitConfigList/index.tsx new file mode 100644 index 0000000..e877a11 --- /dev/null +++ b/renderer/src/pages/Git/components/UserGitConfigList/index.tsx @@ -0,0 +1,80 @@ +import { useEffect, FC } from 'react'; +import { Message, Collapse, Button, Dialog } from '@alifd/next'; +import Icon from '@/components/Icon'; +import store from '../../store'; +import UserGitConfig from '../UserGitConfig'; +import UserGitConfigDialogForm from '../UserGitConfigDialogForm'; +import styles from './index.module.scss'; + +const { Panel } = Collapse; + +const UserGitConfigList: FC<{}> = () => { + const [state, dispatcher] = store.useModel('git'); + const effectsState = store.useModelEffectsState('git'); + const { userGitConfigs } = state; + + const refresh = async () => { + await dispatcher.getUserGitConfigs(); + await dispatcher.getExistedUserGitConfigs(); + }; + + const onRemoveUserGitConfig = (configName: string, gitDirs: string[]) => { + Dialog.confirm({ + title: '提示', + content: `是否删除 ${configName} 配置?`, + onOk: async () => { + const res = await dispatcher.removeUserGitConfig({ configName, gitDirs }); + if (res) { + Message.success(`删除 ${configName} Git 配置成功`); + await refresh(); + } + }, + }); + }; + useEffect(() => { + if (effectsState.getUserGitConfigs.error) { + Message.error(effectsState.getUserGitConfigs.error.message); + } + }, [effectsState.getUserGitConfigs.error]); + + useEffect(() => { + dispatcher.getUserGitConfigs(); + }, []); + return ( + <> +
+
用户配置
+ +
+ { + !!userGitConfigs.length && ( + String(index))}> + {userGitConfigs.map((userGitConfig, index) => { + const { configName, gitDirs } = userGitConfig; + const title = ( +
+
配置 - {configName}
+ onRemoveUserGitConfig(configName, gitDirs)} /> +
+ ); + return ( + + + + ); + })} +
+ )} + + + ); +}; + +export default UserGitConfigList; diff --git a/renderer/src/pages/Git/index.module.scss b/renderer/src/pages/Git/index.module.scss new file mode 100644 index 0000000..c4ba6dc --- /dev/null +++ b/renderer/src/pages/Git/index.module.scss @@ -0,0 +1,7 @@ +.container { + margin: 0 38px; + + .content { + padding: 30px 0; + } +} diff --git a/renderer/src/pages/Git/index.tsx b/renderer/src/pages/Git/index.tsx new file mode 100644 index 0000000..84ca8b0 --- /dev/null +++ b/renderer/src/pages/Git/index.tsx @@ -0,0 +1,23 @@ +import PageHeader from '@/components/PageHeader'; +import styles from './index.module.scss'; +import GlobalGitConfig from './components/GlobalGitConfig'; +import UserGitConfigList from './components/UserGitConfigList'; + +function Git() { + return ( +
+ +
+ + +
+ {/* */} +
+ ); +} + +export default Git; diff --git a/renderer/src/pages/Git/models/git.ts b/renderer/src/pages/Git/models/git.ts new file mode 100644 index 0000000..29480f6 --- /dev/null +++ b/renderer/src/pages/Git/models/git.ts @@ -0,0 +1,85 @@ +import { ipcRenderer } from 'electron'; + +export default { + state: { + globalGitConfig: {}, + userGitConfigs: [], + userGitConfigFormVisible: false, + existedUserGitConfigNames: [], + }, + reducers: { + setUserGitConfigFormVisible(prevState, visible: boolean) { + prevState.userGitConfigFormVisible = visible; + }, + }, + effects: () => ({ + async getGlobalGitConfig() { + const globalGitConfig = await ipcRenderer.invoke('get-global-git-config'); + this.setState({ globalGitConfig }); + }, + + async updateGlobalGitConfig(gitConfig: any) { + await ipcRenderer.invoke('update-global-git-config', gitConfig); + }, + + async getUserGitConfigs() { + const userGitConfigs = await ipcRenderer.invoke('get-user-git-configs'); + this.setState({ userGitConfigs }); + }, + + async addUserGitConfig(gitConfig: any) { + await ipcRenderer.invoke('add-user-git-config', gitConfig); + return true; + }, + + async updateUserGitConfig( + { + gitConfig, + configName, + }: { + configName: string; + gitConfig: any; + }, + ) { + await ipcRenderer.invoke('update-user-git-config', gitConfig, configName); + return true; + }, + + async updateUserGitDir({ originGitDir, currentGitDir, configName }) { + await ipcRenderer.invoke('update-user-git-dir', originGitDir, currentGitDir, configName); + return true; + }, + + async removeUserGitDir({ gitDir, configName }) { + await ipcRenderer.invoke('remove-user-git-dir', gitDir, configName); + return true; + }, + + async removeUserGitConfig( + { configName, gitDirs }: { configName: string; gitDirs: string[] }, + ) { + await ipcRenderer.invoke('remove-user-git-config', configName, gitDirs); + return true; + }, + + async getExistedUserGitConfigs() { + const existedUserGitConfigNames = await ipcRenderer.invoke('get-existed-user-git-config-names'); + this.setState({ existedUserGitConfigNames }); + }, + + async getFolderPath() { + return await ipcRenderer.invoke('get-folder-path'); + }, + + async generateSSHKey({ + userEmail, + configName, + }: { + userEmail: string; + configName: string; + }) { + const { pubKey } = await ipcRenderer.invoke('generate-ssh-key', configName, userEmail); + return pubKey; + }, + }), +}; diff --git a/renderer/src/pages/Git/store.ts b/renderer/src/pages/Git/store.ts new file mode 100644 index 0000000..6ea57ac --- /dev/null +++ b/renderer/src/pages/Git/store.ts @@ -0,0 +1,12 @@ +import { createStore, IStoreModels } from 'ice'; +import gitModel from './models/git'; + +interface StoreModels extends IStoreModels { + git: typeof gitModel; +} + +const models: StoreModels = { + git: gitModel, +}; + +export default createStore(models); diff --git a/renderer/src/routes.ts b/renderer/src/routes.ts index dce568e..692e4e0 100644 --- a/renderer/src/routes.ts +++ b/renderer/src/routes.ts @@ -1,6 +1,7 @@ import BasicLayout from '@/layouts/BasicLayout'; import Dashboard from '@/pages/Dashboard'; import Node from '@/pages/Node'; +import Git from '@/pages/Git'; const routerConfig = [ { @@ -12,6 +13,11 @@ const routerConfig = [ exact: true, component: Node, }, + { + path: '/git', + exact: true, + component: Git, + }, { path: '/', exact: true, diff --git a/renderer/src/utils/removeObjEmptyValue.ts b/renderer/src/utils/removeObjEmptyValue.ts new file mode 100644 index 0000000..efd42e1 --- /dev/null +++ b/renderer/src/utils/removeObjEmptyValue.ts @@ -0,0 +1,13 @@ +function removeObjEmptyValue(obj: T) { + const keys = Object.keys(obj); + for (const key of keys) { + if (obj[key] instanceof Object) { + removeObjEmptyValue(obj[key]); + } else if (obj[key] === undefined || obj[key] === null) { + delete obj[key]; + } + } + return obj; +} + +export default removeObjEmptyValue; From 6aed7a286211f4227a20bea3439239895bddca7f Mon Sep 17 00:00:00 2001 From: Hengchang Lu <44047106+luhc228@users.noreply.github.com> Date: Thu, 22 Jul 2021 15:57:17 +0800 Subject: [PATCH 5/5] placeholder and tips (#49) --- .../components/GitDirFormItemLabel/index.tsx | 2 +- .../Git/components/GlobalGitConfig/index.tsx | 4 +++ .../HostNameFormItemLabel/index.tsx | 18 +++++++++++++ .../components/SSHKeyFormItemLabel/index.tsx | 2 +- .../Git/components/UserGitConfig/index.tsx | 27 ++++++++++++++++--- .../UserGitConfigDialogForm/index.tsx | 9 ++++--- 6 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 renderer/src/pages/Git/components/HostNameFormItemLabel/index.tsx diff --git a/renderer/src/pages/Git/components/GitDirFormItemLabel/index.tsx b/renderer/src/pages/Git/components/GitDirFormItemLabel/index.tsx index f0f19c4..cb4221d 100644 --- a/renderer/src/pages/Git/components/GitDirFormItemLabel/index.tsx +++ b/renderer/src/pages/Git/components/GitDirFormItemLabel/index.tsx @@ -11,7 +11,7 @@ export default () => { align="t" delay={200} > - 该目录下的 Git 项目都将使用此配置,详细说明查看文档 + 该目录下的 Git 项目都将使用此 Git 配置,详细说明参考文档 ); diff --git a/renderer/src/pages/Git/components/GlobalGitConfig/index.tsx b/renderer/src/pages/Git/components/GlobalGitConfig/index.tsx index 61a8c0c..1a46a6b 100644 --- a/renderer/src/pages/Git/components/GlobalGitConfig/index.tsx +++ b/renderer/src/pages/Git/components/GlobalGitConfig/index.tsx @@ -13,6 +13,10 @@ const GlobalGitConfig: FC<{}> = () => { const { globalGitConfig } = state; const onFieldChange = debounce(async () => { + const { errors } = await field.validatePromise(); + if (errors) { + return; + } const values: any = field.getValues(); await dispatcher.updateGlobalGitConfig(removeObjEmptyValue(values)); Message.success('更新全局 Git 配置成功'); diff --git a/renderer/src/pages/Git/components/HostNameFormItemLabel/index.tsx b/renderer/src/pages/Git/components/HostNameFormItemLabel/index.tsx new file mode 100644 index 0000000..130e777 --- /dev/null +++ b/renderer/src/pages/Git/components/HostNameFormItemLabel/index.tsx @@ -0,0 +1,18 @@ +import { Icon, Balloon } from '@alifd/next'; + +const { Tooltip } = Balloon; + +export default () => { + return ( + + Git 服务器域名 + } + align="t" + delay={200} + > + 如何查看 Git 服务器域名,请参考文档 + + + ); +}; diff --git a/renderer/src/pages/Git/components/SSHKeyFormItemLabel/index.tsx b/renderer/src/pages/Git/components/SSHKeyFormItemLabel/index.tsx index 45c5666..c341f93 100644 --- a/renderer/src/pages/Git/components/SSHKeyFormItemLabel/index.tsx +++ b/renderer/src/pages/Git/components/SSHKeyFormItemLabel/index.tsx @@ -11,7 +11,7 @@ export default () => { align="t" delay={200} > - 添加 SSH 公钥教程,请查看文档 + 添加 SSH 公钥教程,请参考文档 ); diff --git a/renderer/src/pages/Git/components/UserGitConfig/index.tsx b/renderer/src/pages/Git/components/UserGitConfig/index.tsx index 9d0ceeb..4173313 100644 --- a/renderer/src/pages/Git/components/UserGitConfig/index.tsx +++ b/renderer/src/pages/Git/components/UserGitConfig/index.tsx @@ -7,6 +7,7 @@ import Icon from '@/components/Icon'; import store from '../../store'; import SSHKeyFormItemLabel from '../SSHKeyFormItemLabel'; import GitDirsForm from '../GitDirsForm'; +import HostNameFormItemLabel from '../HostNameFormItemLabel'; import styles from './index.module.scss'; const { Row, Col } = Grid; @@ -28,6 +29,10 @@ const UserGitConfig: FC = ({ configName, gitDirs, SSHPublicK const field = Field.useField({ parseName: true, onChange: debounce(async () => { + const { errors } = await field.validatePromise(); + if (errors) { + return; + } const values: any = field.getValues(); await dispatcher.updateUserGitConfig({ configName, @@ -49,13 +54,29 @@ const UserGitConfig: FC = ({ configName, gitDirs, SSHPublicK return (
- Git 服务器域名 + + {field.getError('user.hostName') ? ( +
+ {field.getError('user.hostName').join(',')} +
+ ) : ( + '' + )}
diff --git a/renderer/src/pages/Git/components/UserGitConfigDialogForm/index.tsx b/renderer/src/pages/Git/components/UserGitConfigDialogForm/index.tsx index aa10b41..3a488a7 100644 --- a/renderer/src/pages/Git/components/UserGitConfigDialogForm/index.tsx +++ b/renderer/src/pages/Git/components/UserGitConfigDialogForm/index.tsx @@ -1,6 +1,7 @@ import { FC, useEffect } from 'react'; import { Dialog, Form, Field, Input, Message, Icon, Button } from '@alifd/next'; import store from '../../store'; +import HostNameFormItemLabel from '../HostNameFormItemLabel'; import styles from './index.module.scss'; interface UserGitConfigDialogFormProps { @@ -80,7 +81,7 @@ const UserGitConfigDialogForm: FC = ({ refresh }) = ({ refresh }) } required requiredMessage="请输入 Git 服务器域名,如 github.com" + pattern={/^(?!http:\/\/|https:\/\/).*/i} + patternMessage="Git 服务器域名不需要带 http(s)://,如 github.com" > - +