From 3361b1fa9a4fd6e15a02f35a077d740a27f688f5 Mon Sep 17 00:00:00 2001 From: wangxiao Date: Wed, 1 Dec 2021 11:50:15 +0800 Subject: [PATCH] chore: init commit --- .codecov.yml | 9 + .editorconfig | 14 + .eslintignore | 15 + .eslintrc | 52 + .github/CONTRIBUTING.md | 46 + .github/FUNDING.yml | 12 + .github/ISSUE_TEMPLATE/config.yml | 11 + .github/PULL_REQUEST_TEMPLATE.md | 14 + .github/workflows/check-pr-title.yml | 18 + .github/workflows/ci.yml | 47 + .github/workflows/commitlint.yml | 29 + .github/workflows/issue-open-check.yml | 25 + .github/workflows/package-size.yml | 13 + .github/workflows/pr-welcome.yml | 13 + .github/workflows/release.yml | 41 + .gitignore | 29 + .prettierrc.js | 5 + .vscode/cspell.json | 27 + .yarnrc | 1 + LICENSE.md | 20 + README.md | 58 + README.zh-CN.md | 58 + commitlint.config.js | 1 + .../.vuepress/components/createCodeSandBox.js | 114 + docs/.vuepress/components/dumi-previewer.vue | 259 + docs/.vuepress/components/highlight.js | 53 + docs/.vuepress/config.js | 94 + docs/.vuepress/enhanceApp.js | 10 + docs/.vuepress/styles/index.styl | 98 + docs/.vuepress/util.js | 7 + docs/README.md | 28 + .../guide/array-cards/effects-json-schema.vue | 125 + .../array-cards/effects-markup-schema.vue | 113 + docs/demos/guide/array-cards/json-schema.vue | 146 + .../demos/guide/array-cards/markup-schema.vue | 101 + .../array-collapse/effects-json-schema.vue | 129 + .../array-collapse/effects-markup-schema.vue | 122 + .../guide/array-collapse/json-schema.vue | 196 + .../guide/array-collapse/markup-schema.vue | 171 + docs/demos/guide/array-items/json-schema.vue | 219 + .../demos/guide/array-items/markup-schema.vue | 187 + .../guide/array-table/effects-json-schema.vue | 170 + .../array-table/effects-markup-schema.vue | 136 + docs/demos/guide/array-table/json-schema.vue | 140 + .../demos/guide/array-table/markup-schema.vue | 126 + docs/demos/guide/array-tabs/json-schema.vue | 99 + docs/demos/guide/array-tabs/markup-schema.vue | 94 + docs/demos/guide/cascader/json-schema.vue | 100 + docs/demos/guide/cascader/markup-schema.vue | 91 + docs/demos/guide/cascader/template.vue | 86 + docs/demos/guide/checkbox/json-schema.vue | 64 + docs/demos/guide/checkbox/markup-schema.vue | 52 + docs/demos/guide/checkbox/template.vue | 49 + docs/demos/guide/date-picker/json-schema.vue | 120 + .../demos/guide/date-picker/markup-schema.vue | 114 + docs/demos/guide/date-picker/template.vue | 124 + docs/demos/guide/editable/json-schema.vue | 115 + docs/demos/guide/editable/markup-schema.vue | 115 + docs/demos/guide/editable/template.vue | 109 + docs/demos/guide/form-button-group.vue | 62 + .../demos/guide/form-collapse/json-schema.vue | 148 + .../guide/form-collapse/markup-schema.vue | 126 + docs/demos/guide/form-dialog/json-schema.vue | 103 + .../demos/guide/form-dialog/markup-schema.vue | 106 + docs/demos/guide/form-dialog/template.vue | 79 + docs/demos/guide/form-drawer/json-schema.vue | 90 + .../demos/guide/form-drawer/markup-schema.vue | 92 + docs/demos/guide/form-drawer/template.vue | 66 + docs/demos/guide/form-grid/form.vue | 223 + docs/demos/guide/form-grid/json-schema.vue | 94 + docs/demos/guide/form-grid/markup-schema.vue | 87 + docs/demos/guide/form-grid/native.vue | 170 + docs/demos/guide/form-item/bordered-none.vue | 108 + docs/demos/guide/form-item/common.vue | 449 + docs/demos/guide/form-item/feedback.vue | 258 + docs/demos/guide/form-item/inset.vue | 108 + docs/demos/guide/form-item/json-schema.vue | 47 + docs/demos/guide/form-item/markup-schema.vue | 42 + docs/demos/guide/form-item/size.vue | 160 + docs/demos/guide/form-item/template.vue | 36 + docs/demos/guide/form-layout/json-schema.vue | 70 + .../demos/guide/form-layout/markup-schema.vue | 51 + docs/demos/guide/form-layout/template.vue | 51 + docs/demos/guide/form-step/json-schema.vue | 144 + docs/demos/guide/form-step/markup-schema.vue | 120 + docs/demos/guide/form-tab/json-schema.vue | 140 + docs/demos/guide/form-tab/markup-schema.vue | 123 + docs/demos/guide/form.vue | 70 + docs/demos/guide/input-number/json-schema.vue | 52 + .../guide/input-number/markup-schema.vue | 46 + docs/demos/guide/input-number/template.vue | 42 + docs/demos/guide/input/json-schema.vue | 53 + docs/demos/guide/input/markup-schema.vue | 47 + docs/demos/guide/input/template.vue | 41 + docs/demos/guide/password/json-schema.vue | 47 + docs/demos/guide/password/markup-schema.vue | 41 + docs/demos/guide/password/template.vue | 35 + docs/demos/guide/preview-text/base.vue | 84 + docs/demos/guide/preview-text/extend.vue | 107 + docs/demos/guide/radio/json-schema.vue | 61 + docs/demos/guide/radio/markup-schema.vue | 51 + docs/demos/guide/radio/template.vue | 45 + docs/demos/guide/reset/base.vue | 59 + docs/demos/guide/reset/force.vue | 59 + docs/demos/guide/reset/validate.vue | 59 + docs/demos/guide/select/json-schema-async.vue | 115 + docs/demos/guide/select/json-schema-sync.vue | 60 + .../select/markup-schema-async-search.vue | 108 + .../guide/select/markup-schema-async.vue | 108 + .../demos/guide/select/markup-schema-sync.vue | 56 + docs/demos/guide/select/template-async.vue | 107 + docs/demos/guide/select/template-sync.vue | 52 + docs/demos/guide/space/json-schema.vue | 137 + docs/demos/guide/space/markup-schema.vue | 124 + docs/demos/guide/space/template.vue | 135 + docs/demos/guide/submit/base.vue | 58 + docs/demos/guide/submit/loading.vue | 63 + docs/demos/guide/switch/json-schema.vue | 47 + docs/demos/guide/switch/markup-schema.vue | 41 + docs/demos/guide/switch/template.vue | 35 + docs/demos/guide/time-picker/json-schema.vue | 65 + .../demos/guide/time-picker/markup-schema.vue | 59 + docs/demos/guide/time-picker/template.vue | 57 + docs/demos/guide/transfer/json-schema.vue | 51 + docs/demos/guide/transfer/markup-schema.vue | 51 + docs/demos/guide/transfer/template.vue | 45 + docs/demos/guide/upload/json-schema.vue | 102 + docs/demos/guide/upload/markup-schema.vue | 97 + docs/demos/guide/upload/template.vue | 98 + docs/demos/index.vue | 63 + docs/guide/array-cards.md | 95 + docs/guide/array-collapse.md | 97 + docs/guide/array-items.md | 97 + docs/guide/array-table.md | 108 + docs/guide/array-tabs.md | 19 + docs/guide/cascader.md | 19 + docs/guide/checkbox.md | 26 + docs/guide/date-picker.md | 19 + docs/guide/editable.md | 31 + docs/guide/form-button-group.md | 15 + docs/guide/form-collapse.md | 53 + docs/guide/form-dialog.md | 77 + docs/guide/form-drawer.md | 62 + docs/guide/form-grid.md | 74 + docs/guide/form-item.md | 80 + docs/guide/form-layout.md | 44 + docs/guide/form-step.md | 52 + docs/guide/form-tab.md | 44 + docs/guide/form.md | 21 + docs/guide/index.md | 126 + docs/guide/input-number.md | 19 + docs/guide/input.md | 19 + docs/guide/password.md | 19 + docs/guide/preview-text.md | 53 + docs/guide/radio.md | 26 + docs/guide/reset.md | 29 + docs/guide/select.md | 41 + docs/guide/space.md | 19 + docs/guide/submit.md | 22 + docs/guide/switch.md | 19 + docs/guide/time-picker.md | 19 + docs/guide/transfer.md | 19 + docs/guide/upload.md | 21 + global.config.d.ts | 1 + global.config.js | 31 + global.config.js.map | 1 + global.config.ts | 26 + jest.config.js | 32 + lerna.json | 13 + package.json | 103 + packages/.eslintrc | 72 + packages/components/.npmignore | 11 + packages/components/README.md | 9 + packages/components/README.zh-CN.md | 9 + packages/components/builder.config.ts | 7 + packages/components/package.json | 61 + .../src/__builtins__/configs/index.ts | 1 + packages/components/src/__builtins__/index.ts | 2 + .../src/__builtins__/shared/create-context.ts | 57 + .../src/__builtins__/shared/index.ts | 7 + .../src/__builtins__/shared/loading.ts | 20 + .../src/__builtins__/shared/portal.ts | 43 + .../__builtins__/shared/resolve-component.ts | 23 + .../shared/transform-component.ts | 65 + .../src/__builtins__/shared/types.ts | 8 + .../src/__builtins__/shared/utils.ts | 35 + .../src/__builtins__/styles/common.scss | 15 + packages/components/src/array-base/index.ts | 432 + packages/components/src/array-base/style.scss | 32 + packages/components/src/array-base/style.ts | 2 + packages/components/src/array-cards/index.ts | 248 + .../components/src/array-cards/style.scss | 33 + packages/components/src/array-cards/style.ts | 7 + .../components/src/array-collapse/index.ts | 388 + .../components/src/array-collapse/style.scss | 38 + .../components/src/array-collapse/style.ts | 10 + packages/components/src/array-items/index.ts | 182 + .../components/src/array-items/style.scss | 75 + packages/components/src/array-items/style.ts | 4 + packages/components/src/array-table/index.ts | 570 + .../components/src/array-table/style.scss | 90 + packages/components/src/array-table/style.ts | 11 + packages/components/src/array-tabs/index.ts | 150 + packages/components/src/array-tabs/style.scss | 16 + packages/components/src/array-tabs/style.ts | 5 + packages/components/src/cascader/index.ts | 15 + packages/components/src/cascader/style.ts | 4 + packages/components/src/checkbox/index.ts | 171 + packages/components/src/checkbox/style.ts | 5 + packages/components/src/date-picker/index.ts | 45 + packages/components/src/date-picker/style.ts | 4 + packages/components/src/editable/index.ts | 274 + packages/components/src/editable/style.scss | 53 + packages/components/src/editable/style.ts | 5 + packages/components/src/el-form-item/index.ts | 20 + packages/components/src/el-form-item/style.ts | 1 + packages/components/src/el-form/index.ts | 47 + packages/components/src/el-form/style.ts | 1 + .../components/src/form-button-group/index.ts | 79 + .../src/form-button-group/style.scss | 0 .../components/src/form-button-group/style.ts | 5 + .../components/src/form-collapse/index.ts | 208 + .../components/src/form-collapse/style.scss | 6 + .../components/src/form-collapse/style.ts | 4 + packages/components/src/form-dialog/index.ts | 410 + packages/components/src/form-dialog/style.ts | 3 + packages/components/src/form-drawer/index.ts | 415 + .../components/src/form-drawer/style.scss | 21 + packages/components/src/form-drawer/style.ts | 4 + packages/components/src/form-grid/index.ts | 188 + packages/components/src/form-grid/style.scss | 5 + packages/components/src/form-grid/style.ts | 1 + .../components/src/form-item/animation.scss | 72 + packages/components/src/form-item/grid.scss | 171 + packages/components/src/form-item/index.ts | 562 + packages/components/src/form-item/style.scss | 518 + packages/components/src/form-item/style.ts | 2 + packages/components/src/form-item/var.scss | 17 + packages/components/src/form-layout/index.ts | 158 + .../components/src/form-layout/style.scss | 6 + packages/components/src/form-layout/style.ts | 1 + .../form-layout/useResponsiveFormLayout.ts | 115 + packages/components/src/form-step/index.ts | 203 + packages/components/src/form-step/style.ts | 2 + packages/components/src/form-tab/index.ts | 164 + packages/components/src/form-tab/style.scss | 6 + packages/components/src/form-tab/style.ts | 4 + packages/components/src/form/index.ts | 98 + packages/components/src/form/style.scss | 0 packages/components/src/form/style.ts | 3 + packages/components/src/index.ts | 37 + packages/components/src/input-number/index.ts | 31 + packages/components/src/input-number/style.ts | 4 + packages/components/src/input/index.ts | 34 + packages/components/src/input/style.ts | 4 + packages/components/src/password/index.ts | 19 + packages/components/src/password/style.ts | 4 + packages/components/src/preview-text/index.ts | 308 + packages/components/src/preview-text/style.ts | 9 + packages/components/src/radio/index.ts | 115 + packages/components/src/radio/style.ts | 3 + packages/components/src/reset/index.ts | 56 + packages/components/src/reset/style.ts | 1 + packages/components/src/select/index.ts | 77 + packages/components/src/select/style.ts | 4 + packages/components/src/space/index.ts | 96 + packages/components/src/space/style.scss | 23 + packages/components/src/space/style.ts | 1 + packages/components/src/style.ts | 17 + packages/components/src/submit/index.ts | 64 + packages/components/src/submit/style.ts | 1 + packages/components/src/switch/index.ts | 10 + packages/components/src/switch/style.ts | 1 + packages/components/src/time-picker/index.ts | 22 + packages/components/src/time-picker/style.ts | 4 + packages/components/src/transfer/index.ts | 10 + packages/components/src/transfer/style.ts | 1 + packages/components/src/upload/index.ts | 128 + packages/components/src/upload/style.ts | 2 + packages/components/tsconfig.build.json | 10 + packages/components/tsconfig.json | 5 + packages/prototypes/.npmignore | 11 + packages/prototypes/README.md | 9 + packages/prototypes/README.zh-CN.md | 9 + packages/prototypes/builder.config.ts | 7 + packages/prototypes/package.json | 49 + packages/prototypes/src/index.ts | 0 packages/prototypes/tsconfig.build.json | 10 + packages/prototypes/tsconfig.json | 5 + packages/renderer/.npmignore | 11 + packages/renderer/README.md | 9 + packages/renderer/README.zh-CN.md | 9 + packages/renderer/builder.config.ts | 7 + packages/renderer/package.json | 49 + packages/renderer/src/index.ts | 0 packages/renderer/tsconfig.build.json | 10 + packages/renderer/tsconfig.json | 5 + packages/setters/.npmignore | 11 + packages/setters/README.md | 9 + packages/setters/README.zh-CN.md | 9 + packages/setters/builder.config.ts | 7 + packages/setters/package.json | 49 + packages/setters/src/index.ts | 0 packages/setters/tsconfig.build.json | 10 + packages/setters/tsconfig.json | 5 + packages/settings-form/.npmignore | 11 + packages/settings-form/README.md | 9 + packages/settings-form/README.zh-CN.md | 9 + packages/settings-form/builder.config.ts | 7 + packages/settings-form/package.json | 49 + packages/settings-form/src/index.ts | 0 packages/settings-form/tsconfig.build.json | 10 + packages/settings-form/tsconfig.json | 5 + tsconfig.build.json | 9 + tsconfig.jest.json | 15 + tsconfig.json | 22 + yarn.lock | 15214 ++++++++++++++++ 317 files changed, 36206 insertions(+) create mode 100644 .codecov.yml create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/FUNDING.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/check-pr-title.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/commitlint.yml create mode 100644 .github/workflows/issue-open-check.yml create mode 100644 .github/workflows/package-size.yml create mode 100644 .github/workflows/pr-welcome.yml create mode 100644 .github/workflows/release.yml create mode 100644 .gitignore create mode 100644 .prettierrc.js create mode 100644 .vscode/cspell.json create mode 100644 .yarnrc create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 README.zh-CN.md create mode 100644 commitlint.config.js create mode 100644 docs/.vuepress/components/createCodeSandBox.js create mode 100644 docs/.vuepress/components/dumi-previewer.vue create mode 100644 docs/.vuepress/components/highlight.js create mode 100644 docs/.vuepress/config.js create mode 100644 docs/.vuepress/enhanceApp.js create mode 100644 docs/.vuepress/styles/index.styl create mode 100644 docs/.vuepress/util.js create mode 100644 docs/README.md create mode 100644 docs/demos/guide/array-cards/effects-json-schema.vue create mode 100644 docs/demos/guide/array-cards/effects-markup-schema.vue create mode 100644 docs/demos/guide/array-cards/json-schema.vue create mode 100644 docs/demos/guide/array-cards/markup-schema.vue create mode 100644 docs/demos/guide/array-collapse/effects-json-schema.vue create mode 100644 docs/demos/guide/array-collapse/effects-markup-schema.vue create mode 100644 docs/demos/guide/array-collapse/json-schema.vue create mode 100644 docs/demos/guide/array-collapse/markup-schema.vue create mode 100644 docs/demos/guide/array-items/json-schema.vue create mode 100644 docs/demos/guide/array-items/markup-schema.vue create mode 100644 docs/demos/guide/array-table/effects-json-schema.vue create mode 100644 docs/demos/guide/array-table/effects-markup-schema.vue create mode 100644 docs/demos/guide/array-table/json-schema.vue create mode 100644 docs/demos/guide/array-table/markup-schema.vue create mode 100644 docs/demos/guide/array-tabs/json-schema.vue create mode 100644 docs/demos/guide/array-tabs/markup-schema.vue create mode 100644 docs/demos/guide/cascader/json-schema.vue create mode 100644 docs/demos/guide/cascader/markup-schema.vue create mode 100644 docs/demos/guide/cascader/template.vue create mode 100644 docs/demos/guide/checkbox/json-schema.vue create mode 100644 docs/demos/guide/checkbox/markup-schema.vue create mode 100644 docs/demos/guide/checkbox/template.vue create mode 100644 docs/demos/guide/date-picker/json-schema.vue create mode 100644 docs/demos/guide/date-picker/markup-schema.vue create mode 100644 docs/demos/guide/date-picker/template.vue create mode 100644 docs/demos/guide/editable/json-schema.vue create mode 100644 docs/demos/guide/editable/markup-schema.vue create mode 100644 docs/demos/guide/editable/template.vue create mode 100644 docs/demos/guide/form-button-group.vue create mode 100644 docs/demos/guide/form-collapse/json-schema.vue create mode 100644 docs/demos/guide/form-collapse/markup-schema.vue create mode 100644 docs/demos/guide/form-dialog/json-schema.vue create mode 100644 docs/demos/guide/form-dialog/markup-schema.vue create mode 100644 docs/demos/guide/form-dialog/template.vue create mode 100644 docs/demos/guide/form-drawer/json-schema.vue create mode 100644 docs/demos/guide/form-drawer/markup-schema.vue create mode 100644 docs/demos/guide/form-drawer/template.vue create mode 100644 docs/demos/guide/form-grid/form.vue create mode 100644 docs/demos/guide/form-grid/json-schema.vue create mode 100644 docs/demos/guide/form-grid/markup-schema.vue create mode 100644 docs/demos/guide/form-grid/native.vue create mode 100644 docs/demos/guide/form-item/bordered-none.vue create mode 100644 docs/demos/guide/form-item/common.vue create mode 100644 docs/demos/guide/form-item/feedback.vue create mode 100644 docs/demos/guide/form-item/inset.vue create mode 100644 docs/demos/guide/form-item/json-schema.vue create mode 100644 docs/demos/guide/form-item/markup-schema.vue create mode 100644 docs/demos/guide/form-item/size.vue create mode 100644 docs/demos/guide/form-item/template.vue create mode 100644 docs/demos/guide/form-layout/json-schema.vue create mode 100644 docs/demos/guide/form-layout/markup-schema.vue create mode 100644 docs/demos/guide/form-layout/template.vue create mode 100644 docs/demos/guide/form-step/json-schema.vue create mode 100644 docs/demos/guide/form-step/markup-schema.vue create mode 100644 docs/demos/guide/form-tab/json-schema.vue create mode 100644 docs/demos/guide/form-tab/markup-schema.vue create mode 100644 docs/demos/guide/form.vue create mode 100644 docs/demos/guide/input-number/json-schema.vue create mode 100644 docs/demos/guide/input-number/markup-schema.vue create mode 100644 docs/demos/guide/input-number/template.vue create mode 100644 docs/demos/guide/input/json-schema.vue create mode 100644 docs/demos/guide/input/markup-schema.vue create mode 100644 docs/demos/guide/input/template.vue create mode 100644 docs/demos/guide/password/json-schema.vue create mode 100644 docs/demos/guide/password/markup-schema.vue create mode 100644 docs/demos/guide/password/template.vue create mode 100644 docs/demos/guide/preview-text/base.vue create mode 100644 docs/demos/guide/preview-text/extend.vue create mode 100644 docs/demos/guide/radio/json-schema.vue create mode 100644 docs/demos/guide/radio/markup-schema.vue create mode 100644 docs/demos/guide/radio/template.vue create mode 100644 docs/demos/guide/reset/base.vue create mode 100644 docs/demos/guide/reset/force.vue create mode 100644 docs/demos/guide/reset/validate.vue create mode 100644 docs/demos/guide/select/json-schema-async.vue create mode 100644 docs/demos/guide/select/json-schema-sync.vue create mode 100644 docs/demos/guide/select/markup-schema-async-search.vue create mode 100644 docs/demos/guide/select/markup-schema-async.vue create mode 100644 docs/demos/guide/select/markup-schema-sync.vue create mode 100644 docs/demos/guide/select/template-async.vue create mode 100644 docs/demos/guide/select/template-sync.vue create mode 100644 docs/demos/guide/space/json-schema.vue create mode 100644 docs/demos/guide/space/markup-schema.vue create mode 100644 docs/demos/guide/space/template.vue create mode 100644 docs/demos/guide/submit/base.vue create mode 100644 docs/demos/guide/submit/loading.vue create mode 100644 docs/demos/guide/switch/json-schema.vue create mode 100644 docs/demos/guide/switch/markup-schema.vue create mode 100644 docs/demos/guide/switch/template.vue create mode 100644 docs/demos/guide/time-picker/json-schema.vue create mode 100644 docs/demos/guide/time-picker/markup-schema.vue create mode 100644 docs/demos/guide/time-picker/template.vue create mode 100644 docs/demos/guide/transfer/json-schema.vue create mode 100644 docs/demos/guide/transfer/markup-schema.vue create mode 100644 docs/demos/guide/transfer/template.vue create mode 100644 docs/demos/guide/upload/json-schema.vue create mode 100644 docs/demos/guide/upload/markup-schema.vue create mode 100644 docs/demos/guide/upload/template.vue create mode 100644 docs/demos/index.vue create mode 100644 docs/guide/array-cards.md create mode 100644 docs/guide/array-collapse.md create mode 100644 docs/guide/array-items.md create mode 100644 docs/guide/array-table.md create mode 100644 docs/guide/array-tabs.md create mode 100644 docs/guide/cascader.md create mode 100644 docs/guide/checkbox.md create mode 100644 docs/guide/date-picker.md create mode 100644 docs/guide/editable.md create mode 100644 docs/guide/form-button-group.md create mode 100644 docs/guide/form-collapse.md create mode 100644 docs/guide/form-dialog.md create mode 100644 docs/guide/form-drawer.md create mode 100644 docs/guide/form-grid.md create mode 100644 docs/guide/form-item.md create mode 100644 docs/guide/form-layout.md create mode 100644 docs/guide/form-step.md create mode 100644 docs/guide/form-tab.md create mode 100644 docs/guide/form.md create mode 100644 docs/guide/index.md create mode 100644 docs/guide/input-number.md create mode 100644 docs/guide/input.md create mode 100644 docs/guide/password.md create mode 100644 docs/guide/preview-text.md create mode 100644 docs/guide/radio.md create mode 100644 docs/guide/reset.md create mode 100644 docs/guide/select.md create mode 100644 docs/guide/space.md create mode 100644 docs/guide/submit.md create mode 100644 docs/guide/switch.md create mode 100644 docs/guide/time-picker.md create mode 100644 docs/guide/transfer.md create mode 100644 docs/guide/upload.md create mode 100644 global.config.d.ts create mode 100644 global.config.js create mode 100644 global.config.js.map create mode 100644 global.config.ts create mode 100644 jest.config.js create mode 100644 lerna.json create mode 100644 package.json create mode 100644 packages/.eslintrc create mode 100644 packages/components/.npmignore create mode 100644 packages/components/README.md create mode 100644 packages/components/README.zh-CN.md create mode 100644 packages/components/builder.config.ts create mode 100644 packages/components/package.json create mode 100644 packages/components/src/__builtins__/configs/index.ts create mode 100644 packages/components/src/__builtins__/index.ts create mode 100644 packages/components/src/__builtins__/shared/create-context.ts create mode 100644 packages/components/src/__builtins__/shared/index.ts create mode 100644 packages/components/src/__builtins__/shared/loading.ts create mode 100644 packages/components/src/__builtins__/shared/portal.ts create mode 100644 packages/components/src/__builtins__/shared/resolve-component.ts create mode 100644 packages/components/src/__builtins__/shared/transform-component.ts create mode 100644 packages/components/src/__builtins__/shared/types.ts create mode 100644 packages/components/src/__builtins__/shared/utils.ts create mode 100644 packages/components/src/__builtins__/styles/common.scss create mode 100644 packages/components/src/array-base/index.ts create mode 100644 packages/components/src/array-base/style.scss create mode 100644 packages/components/src/array-base/style.ts create mode 100644 packages/components/src/array-cards/index.ts create mode 100644 packages/components/src/array-cards/style.scss create mode 100644 packages/components/src/array-cards/style.ts create mode 100644 packages/components/src/array-collapse/index.ts create mode 100644 packages/components/src/array-collapse/style.scss create mode 100644 packages/components/src/array-collapse/style.ts create mode 100644 packages/components/src/array-items/index.ts create mode 100644 packages/components/src/array-items/style.scss create mode 100644 packages/components/src/array-items/style.ts create mode 100644 packages/components/src/array-table/index.ts create mode 100644 packages/components/src/array-table/style.scss create mode 100644 packages/components/src/array-table/style.ts create mode 100644 packages/components/src/array-tabs/index.ts create mode 100644 packages/components/src/array-tabs/style.scss create mode 100644 packages/components/src/array-tabs/style.ts create mode 100644 packages/components/src/cascader/index.ts create mode 100644 packages/components/src/cascader/style.ts create mode 100644 packages/components/src/checkbox/index.ts create mode 100644 packages/components/src/checkbox/style.ts create mode 100644 packages/components/src/date-picker/index.ts create mode 100644 packages/components/src/date-picker/style.ts create mode 100644 packages/components/src/editable/index.ts create mode 100644 packages/components/src/editable/style.scss create mode 100644 packages/components/src/editable/style.ts create mode 100644 packages/components/src/el-form-item/index.ts create mode 100644 packages/components/src/el-form-item/style.ts create mode 100644 packages/components/src/el-form/index.ts create mode 100644 packages/components/src/el-form/style.ts create mode 100644 packages/components/src/form-button-group/index.ts create mode 100644 packages/components/src/form-button-group/style.scss create mode 100644 packages/components/src/form-button-group/style.ts create mode 100644 packages/components/src/form-collapse/index.ts create mode 100644 packages/components/src/form-collapse/style.scss create mode 100644 packages/components/src/form-collapse/style.ts create mode 100644 packages/components/src/form-dialog/index.ts create mode 100644 packages/components/src/form-dialog/style.ts create mode 100644 packages/components/src/form-drawer/index.ts create mode 100644 packages/components/src/form-drawer/style.scss create mode 100644 packages/components/src/form-drawer/style.ts create mode 100644 packages/components/src/form-grid/index.ts create mode 100644 packages/components/src/form-grid/style.scss create mode 100644 packages/components/src/form-grid/style.ts create mode 100644 packages/components/src/form-item/animation.scss create mode 100644 packages/components/src/form-item/grid.scss create mode 100644 packages/components/src/form-item/index.ts create mode 100644 packages/components/src/form-item/style.scss create mode 100644 packages/components/src/form-item/style.ts create mode 100644 packages/components/src/form-item/var.scss create mode 100644 packages/components/src/form-layout/index.ts create mode 100644 packages/components/src/form-layout/style.scss create mode 100644 packages/components/src/form-layout/style.ts create mode 100644 packages/components/src/form-layout/useResponsiveFormLayout.ts create mode 100644 packages/components/src/form-step/index.ts create mode 100644 packages/components/src/form-step/style.ts create mode 100644 packages/components/src/form-tab/index.ts create mode 100644 packages/components/src/form-tab/style.scss create mode 100644 packages/components/src/form-tab/style.ts create mode 100644 packages/components/src/form/index.ts create mode 100644 packages/components/src/form/style.scss create mode 100644 packages/components/src/form/style.ts create mode 100644 packages/components/src/index.ts create mode 100644 packages/components/src/input-number/index.ts create mode 100644 packages/components/src/input-number/style.ts create mode 100644 packages/components/src/input/index.ts create mode 100644 packages/components/src/input/style.ts create mode 100644 packages/components/src/password/index.ts create mode 100644 packages/components/src/password/style.ts create mode 100644 packages/components/src/preview-text/index.ts create mode 100644 packages/components/src/preview-text/style.ts create mode 100644 packages/components/src/radio/index.ts create mode 100644 packages/components/src/radio/style.ts create mode 100644 packages/components/src/reset/index.ts create mode 100644 packages/components/src/reset/style.ts create mode 100644 packages/components/src/select/index.ts create mode 100644 packages/components/src/select/style.ts create mode 100644 packages/components/src/space/index.ts create mode 100644 packages/components/src/space/style.scss create mode 100644 packages/components/src/space/style.ts create mode 100644 packages/components/src/style.ts create mode 100644 packages/components/src/submit/index.ts create mode 100644 packages/components/src/submit/style.ts create mode 100644 packages/components/src/switch/index.ts create mode 100644 packages/components/src/switch/style.ts create mode 100644 packages/components/src/time-picker/index.ts create mode 100644 packages/components/src/time-picker/style.ts create mode 100644 packages/components/src/transfer/index.ts create mode 100644 packages/components/src/transfer/style.ts create mode 100644 packages/components/src/upload/index.ts create mode 100644 packages/components/src/upload/style.ts create mode 100644 packages/components/tsconfig.build.json create mode 100644 packages/components/tsconfig.json create mode 100644 packages/prototypes/.npmignore create mode 100644 packages/prototypes/README.md create mode 100644 packages/prototypes/README.zh-CN.md create mode 100644 packages/prototypes/builder.config.ts create mode 100644 packages/prototypes/package.json create mode 100644 packages/prototypes/src/index.ts create mode 100644 packages/prototypes/tsconfig.build.json create mode 100644 packages/prototypes/tsconfig.json create mode 100644 packages/renderer/.npmignore create mode 100644 packages/renderer/README.md create mode 100644 packages/renderer/README.zh-CN.md create mode 100644 packages/renderer/builder.config.ts create mode 100644 packages/renderer/package.json create mode 100644 packages/renderer/src/index.ts create mode 100644 packages/renderer/tsconfig.build.json create mode 100644 packages/renderer/tsconfig.json create mode 100644 packages/setters/.npmignore create mode 100644 packages/setters/README.md create mode 100644 packages/setters/README.zh-CN.md create mode 100644 packages/setters/builder.config.ts create mode 100644 packages/setters/package.json create mode 100644 packages/setters/src/index.ts create mode 100644 packages/setters/tsconfig.build.json create mode 100644 packages/setters/tsconfig.json create mode 100644 packages/settings-form/.npmignore create mode 100644 packages/settings-form/README.md create mode 100644 packages/settings-form/README.zh-CN.md create mode 100644 packages/settings-form/builder.config.ts create mode 100644 packages/settings-form/package.json create mode 100644 packages/settings-form/src/index.ts create mode 100644 packages/settings-form/tsconfig.build.json create mode 100644 packages/settings-form/tsconfig.json create mode 100644 tsconfig.build.json create mode 100644 tsconfig.jest.json create mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/.codecov.yml b/.codecov.yml new file mode 100644 index 0000000..b30565c --- /dev/null +++ b/.codecov.yml @@ -0,0 +1,9 @@ +coverage: + status: + project: + default: + threshold: 0.1% + patch: + default: + threshold: 0.1% + target: 95% diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..5ec77a4 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +# EditorConfig is awesome: http://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 + +[*.gradle] +indent_size = 4 \ No newline at end of file diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..ceabaaa --- /dev/null +++ b/.eslintignore @@ -0,0 +1,15 @@ +node_modules +lib +dist +build +coverage +expected +website +gh-pages +weex +build.ts +esm +doc-site +public +package +jest.config.js diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..938ddfb --- /dev/null +++ b/.eslintrc @@ -0,0 +1,52 @@ +{ + "env": { + "node": true + }, + "extends": [ + "plugin:vue/vue3-essential", + "plugin:@typescript-eslint/recommended", + "prettier/@typescript-eslint" + ], + "globals": { + "sleep": true, + "prettyFormat": true + }, + "parserOptions": { + "ecmaVersion": 10, + "sourceType": "module", + "ecmaFeatures": { + "jsx": true + } + }, + "parser": "@typescript-eslint/parser", + "plugins": ["@typescript-eslint", "prettier", "markdown"], + "rules": { + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-var-requires": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-unused-vars": "error", + "@typescript-eslint/ban-ts-comment": "off" + }, + "overrides": [ + { + "files": ["**/*.md"], + "processor": "markdown/markdown" + }, + { + "files": ["**/*.md/*.{jsx,tsx}"], + "rules": { + "@typescript-eslint/no-unused-vars": "error", + "no-unused-vars": "error", + "no-console": "off" + } + }, + { + "files": ["**/*.md/*.{js,ts}"], + "rules": { + "@typescript-eslint/no-unused-vars": "off", + "no-unused-vars": "off", + "no-console": "off" + } + } + ] +} diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..bb9c570 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,46 @@ +# Contributing Guide + +Hi! I’m really excited that you are interested in contributing to Formily. Before submitting your contribution though, please make sure to take a moment and read through the following guidelines. + +- [Issue Reporting Guidelines](#issue-reporting-guidelines) +- [Pull Request Guidelines](#pull-request-guidelines) +- [Git Commit Specific](./GIT_COMMIT_SPECIFIC.md) + +## Issue Reporting Guidelines + +- The issue list of this repo is **exclusively** for bug reports and feature requests. Non-conforming issues will be closed immediately. + + - For simple beginner questions, you can get quick answers from + + - For more complicated questions, you can use Google or StackOverflow. Make sure to provide enough information when asking your questions - this makes it easier for others to help you! + +- Try to search for your issue, it may have already been answered or even fixed in the development branch. + +- Check if the issue is reproducible with the latest stable version of Formily. If you are using a pre-release, please indicate the specific version you are using. + +- It is **required** that you clearly describe the steps necessary to reproduce the issue you are running into. Issues with no clear repro steps will not be triaged. If an issue labeled "need repro" receives no further input from the issue author for more than 5 days, it will be closed. + +- For bugs that involves build setups, you can create a reproduction repository with steps in the README. + +- If your issue is resolved but still open, don’t hesitate to close it. In case you found a solution by yourself, it could be helpful to explain how you fixed it. + +## Pull Request Guidelines + +- Only code that's ready for release should be committed to the master branch. All development should be done in dedicated branches. +- Checkout a **new** topic branch from master branch, and merge back against master branch. +- Work in the `src` folder and **DO NOT** checkin `dist` in the commits. +- Make sure `npm test` passes. +- If adding new feature: + - Add accompanying test case. + - Provide convincing reason to add this feature. Ideally you should open a suggestion issue first and have it greenlighted before working on it. +- If fixing a bug: + - If you are resolving a special issue, add `(fix #xxxx[,#xxx])` (#xxxx is the issue id) in your PR title for a better release log, e.g. `update entities encoding/decoding (fix #3899)`. + - Provide detailed description of the bug in the PR. Live demo preferred. + - Add appropriate test coverage if applicable. + +## Git Commit Specific + +- Your commits message must follow our [git commit specific](./GIT_COMMIT_SPECIFIC.md). +- We will check your commit message, if it does not conform to the specification, the commit will be automatically refused, make sure you have read the specification above. +- You could use `git cz` with a CLI interface to replace `git commit` command, it will help you to build a proper commit-message, see [commitizen](https://github.com/commitizen/cz-cli). +- It's OK to have multiple small commits as you work on your branch - we will let GitHub automatically squash it before merging. diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..efdf0be --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: formily # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..c5bf596 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: true +contact_links: + - name: Create new issue + url: https://formilyjs.org/guide/issue-helper + about: The issue which is not created via https://formilyjs.org/guide/issue-helper will be closed immediately. + - name: ✨ Question Answer / Idea + url: https://github.com/alibaba/formily/discussions/new + about: All questions can be solved here. At the same time you can provide all your ideas here. + - name: 📖 View documentation + url: https://formilyjs.org + about: Official Formily documentation diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..e2c6f8b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,14 @@ +_Before_ submitting a pull request, please make sure the following is done... + +- [ ] Ensure the pull request title and commit message follow the [Commit Specific](https://github.com/alibaba/formily/blob/formily_next/.github/GIT_COMMIT_SPECIFIC.md) in **English**. +- [ ] Fork the repo and create your branch from `master` or `formily_next`. +- [ ] If you've added code that should be tested, add tests! +- [ ] If you've changed APIs, update the documentation. +- [ ] Ensure the test suite passes (`npm test`). +- [ ] Make sure your code lints (`npm run lint`) - we've done our best to make sure these rules match our internal linting guidelines. + +**Please do not delete the above content** + +--- + +## What have you changed? diff --git a/.github/workflows/check-pr-title.yml b/.github/workflows/check-pr-title.yml new file mode 100644 index 0000000..ed36fef --- /dev/null +++ b/.github/workflows/check-pr-title.yml @@ -0,0 +1,18 @@ +name: Check PR title +on: + pull_request_target: + types: + - opened + - reopened + - edited + - synchronize + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: aslafy-z/conventional-pr-title-action@master + with: + preset: conventional-changelog-angular@^5.0.6 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..8ae4ead --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,47 @@ +name: Node CI + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + build: + runs-on: ${{ matrix.os }} + if: contains(github.event.head_commit.message, 'chore(versions)') == false + strategy: + matrix: + node_version: [10.x, 11.x] + os: [ubuntu-latest] + steps: + - uses: actions/checkout@v1 + - name: Use Node.js ${{ matrix.node_version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node_version }} + + - run: yarn -v + - run: yarn --ignore-engines + - name: ESlint + uses: reviewdog/action-eslint@v1 + with: + reporter: github-check + eslint_flags: '.' + - run: yarn build + - run: yarn test:prod + env: + CI: true + HEADLESS: false + PROGRESS: none + NODE_ENV: test + NODE_OPTIONS: --max_old_space_size=4096 + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: true + verbose: true diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml new file mode 100644 index 0000000..be68c23 --- /dev/null +++ b/.github/workflows/commitlint.yml @@ -0,0 +1,29 @@ +# This is a basic workflow to help you get started with Actions + +name: Check Commit spec + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the formily_next branch + push: + branches: [master] + pull_request: + branches: [master] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + commitlint: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + with: + fetch-depth: 0= + - uses: wagoid/commitlint-github-action@v3 diff --git a/.github/workflows/issue-open-check.yml b/.github/workflows/issue-open-check.yml new file mode 100644 index 0000000..09f45be --- /dev/null +++ b/.github/workflows/issue-open-check.yml @@ -0,0 +1,25 @@ +name: Issue Open Check + +on: + issues: + types: [opened] + +jobs: + check-issue: + runs-on: ubuntu-latest + steps: + - uses: actions-cool/check-user-permission@v1.0.0 + id: checkUser + with: + require: 'write' + + - name: check invalid + if: (contains(github.event.issue.body, 'formily-issue-helper') == false) && (steps.checkUser.outputs.result == 'false') + uses: actions-cool/issues-helper@v1.2 + with: + actions: 'create-comment,add-labels,close-issue' + issue-number: ${{ github.event.issue.number }} + labels: 'Invalid' + body: | + Hello @${{ github.event.issue.user.login }}, your issue has been closed because it does not conform to our issue requirements. Please use the [Issue Helper](https://formilyjs.org/guide/issue-helper) to create an issue, thank you! + 你好 @${{ github.event.issue.user.login }},为了能够进行高效沟通,我们对 issue 有一定的格式要求,你的 issue 因为不符合要求而被自动关闭。你可以通过 [issue 助手](https://formilyjs.org/guide/issue-helper) 来创建 issue 以方便我们定位错误。谢谢配合! diff --git a/.github/workflows/package-size.yml b/.github/workflows/package-size.yml new file mode 100644 index 0000000..a2624b7 --- /dev/null +++ b/.github/workflows/package-size.yml @@ -0,0 +1,13 @@ +name: Compressed Size + +on: [pull_request] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: preactjs/compressed-size-action@v2 + with: + repo-token: '${{ secrets.GITHUB_TOKEN }}' diff --git a/.github/workflows/pr-welcome.yml b/.github/workflows/pr-welcome.yml new file mode 100644 index 0000000..acf1904 --- /dev/null +++ b/.github/workflows/pr-welcome.yml @@ -0,0 +1,13 @@ +name: PR Welcome + +on: + pull_request_target: + types: [opened] + +jobs: + welcome: + runs-on: ubuntu-latest + steps: + - uses: actions-cool/pr-welcome@v1.1.2 + with: + pr-emoji: '+1, heart' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..53296bf --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,41 @@ +name: Release + +on: + push: + branches: + - formily_next +jobs: + release: + runs-on: ubuntu-latest + if: contains(github.event.head_commit.message, 'chore(release)') + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: 0 + - uses: actions/setup-node@v1 + with: + node-version: 12 + registry-url: https://registry.npmjs.org/ + - run: | + yarn -v + yarn --ignore-engines + yarn build + yarn test:prod + env: + NODE_OPTIONS: --max_old_space_size=4096 + REGISTRY: https://registry.npmjs.org + - uses: janrywang/github-tag-release@main + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + - run: yarn run release + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ACCESS_KEY_ID: ${{ secrets.ACCESS_KEY_ID }} + ACCESS_KEY_SECRET: ${{ secrets.ACCESS_KEY_SECRET }} + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: true + verbose: true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..713019f --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ +*~ +*.swp +.DS_Store +.changelog +.tea +npm-debug.log +lerna-debug.log +npm-debug.log* +package-lock.json +lib/ +esm/ +temp_esm/ +dist/ +build/ +coverage/ +node_modules/ +examples/test +.idea/ +TODO.md +tsconfig.tsbuildinfo +package/ +package.zip +.umi +.umi-production +.cjsescache +doc-site +.lerna-changelog +.history +.lint-report.log \ No newline at end of file diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..eccc3c2 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,5 @@ +module.exports = { + semi: false, + tabWidth: 2, + singleQuote: true, +} diff --git a/.vscode/cspell.json b/.vscode/cspell.json new file mode 100644 index 0000000..77b49fd --- /dev/null +++ b/.vscode/cspell.json @@ -0,0 +1,27 @@ +{ + "version": "0.1", + "language": "en", + "ignoreWords": [ + "autorun", + "mutators", + "Formily", + "formily", + "untrack", + "untracker", + "untracked", + "Untracking", + "Unmount", + "octokit", + "repos", + "alibaba", + "Lifecycles", + "element-ui", + "Element", + "alifd", + "Mixins", + "builtins", + "cascader", + "Cascader", + "middlewares" + ] +} diff --git a/.yarnrc b/.yarnrc new file mode 100644 index 0000000..6c8b0a1 --- /dev/null +++ b/.yarnrc @@ -0,0 +1 @@ +registry "https://registry.yarnpkg.com" \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..9b141a5 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2015-present, muuyao Holding Limited. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..5589d19 --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +English | [简体中文](./README.zh-cn.md) + +

+ + + + + + + +PRs Welcome + + + +

+ +--- + +## Overview + +The Awesome Components Library with Formily & Element UI. + +## Features + +- 🖼 Designable, You can quickly develop forms at low cost through [Form Builder](https://designable-antd.formilyjs.org/). +- 🚀 High performance, fields managed independently, rather rerender the whole tree. +- 💡 Integrated Alibaba Fusion and Ant Design components are guaranteed to work out of the box. +- 🎨 JSON Schema applied for BackEnd. JSchema applied for FrontEnd. Two paradigms can be converted to each other. +- 🏅 Side effects are managed independently, making form data linkages easier than ever before. +- 🌯 Override most complicated form layout use cases. + +## Form Builder + +![https://designable-antd.formilyjs.org/](https://img.alicdn.com/imgextra/i3/O1CN01xAJj1y1wcGzXYc1Uq_!!6000000006328-2-tps-2980-1740.png) + +## WebSite + +https://element.formilyjs.org + +## Community + +- [formily](https://github.com/alibaba/formily) +- [formilyjs](https://github.com/formilyjs) +- [designable](https://github.com/alibaba/designable) + +## How to contribute? + +- [Contribute document](https://formilyjs.org/zh-CN/guide/contribution) + +## Contributors + +This project exists thanks to all the people who contribute. + + +## LICENSE + +Formily is open source software licensed as +[MIT](./LICENSE.md). diff --git a/README.zh-CN.md b/README.zh-CN.md new file mode 100644 index 0000000..44ea601 --- /dev/null +++ b/README.zh-CN.md @@ -0,0 +1,58 @@ +[English](./README.md) | 简体中文 + +

+ + + + + + + +PRs Welcome + + + +

+ +--- + +## 概要 + +这是一个结合了 Formily & Element UI 的超酷组件库. + +## 特性 + +- 🖼 可设计,借助 Form Builder 可以快速搭建表单 +- 🚀 高性能,字段分布式渲染,大大减轻 React 渲染压力 +- 💡 支持 Ant Design/Fusion Next 组件体系 +- 🎨 JSX 标签化写法/JSON Schema 数据驱动方案无缝迁移过渡 +- 🏅 副作用逻辑独立管理,涵盖各种复杂联动校验逻辑 +- 🌯 支持各种表单复杂布局方案 + +## 表单设计器 + +![https://designable-antd.formilyjs.org/](https://img.alicdn.com/imgextra/i3/O1CN01xAJj1y1wcGzXYc1Uq_!!6000000006328-2-tps-2980-1740.png) + +## 官网 + +https://element.formilyjs.org + +## 生态产品 + +- [formily](https://github.com/alibaba/formily) +- [formilyjs](https://github.com/formilyjs) +- [designable](https://github.com/alibaba/designable) + +## 如何贡献? + +- [Contribute document](https://formilyjs.org/zh-CN/guide/contribution) + +## 贡献者 + +This project exists thanks to all the people who contribute. + + +## LICENSE + +Formily is open source software licensed as +[MIT](./LICENSE.md). diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 0000000..4fedde6 --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1 @@ +module.exports = { extends: ['@commitlint/config-conventional'] } diff --git a/docs/.vuepress/components/createCodeSandBox.js b/docs/.vuepress/components/createCodeSandBox.js new file mode 100644 index 0000000..d6ca26e --- /dev/null +++ b/docs/.vuepress/components/createCodeSandBox.js @@ -0,0 +1,114 @@ +import { getParameters } from 'codesandbox/lib/api/define' + +const CodeSandBoxHTML = '
' +const CodeSandBoxJS = ` +import Vue from 'vue' +import App from './App.vue' +import Element from 'element-ui'; +import 'element-ui/lib/theme-chalk/index.css'; + +Vue.config.productionTip = false +Vue.use(Element, { size: 'small' }); + +new Vue({ + render: h => h(App), +}).$mount('#app')` + +const createForm = ({ method, action, data }) => { + const form = document.createElement('form') // 构造 form + form.style.display = 'none' // 设置为不显示 + form.target = '_blank' // 指向 iframe + + // 构造 formdata + Object.keys(data).forEach((key) => { + const input = document.createElement('input') // 创建 input + + input.name = key // 设置 name + input.value = data[key] // 设置 value + + form.appendChild(input) + }) + + form.method = method // 设置方法 + form.action = action // 设置地址 + + document.body.appendChild(form) + + // 对该 form 执行提交 + form.submit() + + document.body.removeChild(form) +} + +export function createCodeSandBox(codeStr) { + const parameters = getParameters({ + files: { + 'sandbox.config.json': { + content: { + template: 'node', + infiniteLoopProtection: true, + hardReloadOnChange: false, + view: 'browser', + container: { + port: 8080, + node: '14', + }, + }, + }, + 'package.json': { + content: { + scripts: { + serve: 'vue-cli-service serve', + build: 'vue-cli-service build', + lint: 'vue-cli-service lint', + }, + dependencies: { + '@formily/core': 'latest', + '@formily/vue': 'latest', + '@formily/element': 'latest', + axios: '^0.21.1', + 'core-js': '^3.6.5', + 'element-ui': 'latest', + 'vue-demi': 'latest', + vue: '^2.6.11', + }, + devDependencies: { + '@vue/cli-plugin-babel': '~4.5.0', + '@vue/cli-service': '~4.5.0', + '@vue/composition-api': 'latest', + 'vue-template-compiler': '^2.6.11', + sass: '^1.34.1', + 'sass-loader': '^8.0.2', + }, + babel: { + presets: ['@vue/cli-plugin-babel/preset'], + }, + vue: { + devServer: { + host: '0.0.0.0', + disableHostCheck: true, // 必须 + }, + }, + }, + }, + 'src/App.vue': { + content: codeStr, + }, + 'src/main.js': { + content: CodeSandBoxJS, + }, + 'public/index.html': { + content: CodeSandBoxHTML, + }, + }, + }) + + createForm({ + method: 'post', + action: 'https://codesandbox.io/api/v1/sandboxes/define', + data: { + parameters, + query: 'file=/src/App.vue', + }, + }) +} diff --git a/docs/.vuepress/components/dumi-previewer.vue b/docs/.vuepress/components/dumi-previewer.vue new file mode 100644 index 0000000..43462eb --- /dev/null +++ b/docs/.vuepress/components/dumi-previewer.vue @@ -0,0 +1,259 @@ + + + + + diff --git a/docs/.vuepress/components/highlight.js b/docs/.vuepress/components/highlight.js new file mode 100644 index 0000000..d68dfa6 --- /dev/null +++ b/docs/.vuepress/components/highlight.js @@ -0,0 +1,53 @@ +const prism = require('prismjs') +const escapeHtml = require('escape-html') +const loadLanguages = require('prismjs/components/index') + +function wrap(code, lang) { + if (lang === 'text') { + code = escapeHtml(code) + } + return `
${code}
` +} + +function getLangCodeFromExtension(extension) { + const extensionMap = { + vue: 'markup', + html: 'markup', + md: 'markdown', + rb: 'ruby', + ts: 'typescript', + py: 'python', + sh: 'bash', + yml: 'yaml', + styl: 'stylus', + kt: 'kotlin', + rs: 'rust', + } + + return extensionMap[extension] || extension +} + +module.exports = (str, lang) => { + if (!lang) { + return wrap(str, 'text') + } + lang = lang.toLowerCase() + const rawLang = lang + + lang = getLangCodeFromExtension(lang) + + if (!prism.languages[lang]) { + try { + loadLanguages([lang]) + } catch (e) { + console.warn( + `[vuepress] Syntax highlight for language "${lang}" is not supported.` + ) + } + } + if (prism.languages[lang]) { + const code = prism.highlight(str, prism.languages[lang], lang) + return wrap(code, rawLang) + } + return wrap(str, 'text') +} diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js new file mode 100644 index 0000000..7dff9e5 --- /dev/null +++ b/docs/.vuepress/config.js @@ -0,0 +1,94 @@ +const path = require('path') +const utils = require('./util') + +const componentFiles = utils + .getFiles(path.resolve(__dirname, '../guide')) + .map((item) => item.replace(/(\.md)/g, '')) + .filter((item) => !['el-form', 'el-form-item', 'index'].includes(item)) + +module.exports = { + title: 'Formily Element', + dest: './doc-site', + theme: '@vuepress-dumi/dumi', + head: [ + [ + 'link', + { + rel: 'icon', + href: '//img.alicdn.com/imgextra/i3/O1CN01XtT3Tv1Wd1b5hNVKy_!!6000000002810-55-tps-360-360.svg', + }, + ], + [ + 'link', + { + rel: 'stylesheet', + href: 'https://unpkg.com/element-ui/lib/theme-chalk/index.css', + }, + ], + ], + themeConfig: { + logo: '//img.alicdn.com/imgextra/i2/O1CN01Kq3OHU1fph6LGqjIz_!!6000000004056-55-tps-1141-150.svg', + nav: [ + { + text: '指南', + link: '/guide/', + }, + { + text: '主站', + link: 'https://formilyjs.org', + }, + { + text: 'GITHUB', + link: 'https://github.com/alibaba/formily', + }, + ], + sidebar: { + '/guide/': ['', ...componentFiles], + }, + lastUpdated: 'Last Updated', + smoothScroll: true, + }, + plugins: [ + 'vuepress-plugin-typescript', + '@vuepress/back-to-top', + '@vuepress/last-updated', + '@vuepress-dumi/dumi-previewer', + [ + '@vuepress/medium-zoom', + { + selector: '.content__default :not(a) > img', + }, + ], + ], + configureWebpack: (config, isServer) => { + return { + resolve: { + alias: { + '@formily/element': path.resolve( + __dirname, + '../../packages/components/src' + ), + }, + }, + } + }, + chainWebpack: (config, isServer) => { + config.module + .rule('js') // Find the rule. + .use('babel-loader') // Find the loader + .tap((options) => + Object.assign(options, { + // Modifying options + presets: [ + [ + '@vue/babel-preset-jsx', + { + vModel: false, + compositionAPI: true, + }, + ], + ], + }) + ) + }, +} diff --git a/docs/.vuepress/enhanceApp.js b/docs/.vuepress/enhanceApp.js new file mode 100644 index 0000000..f12a17a --- /dev/null +++ b/docs/.vuepress/enhanceApp.js @@ -0,0 +1,10 @@ +import pageComponents from '@internal/page-components' +import Element from 'element-ui' +import '@formily/element/style.ts' + +export default ({ Vue }) => { + for (const [name, component] of Object.entries(pageComponents)) { + Vue.component(name, component) + } + Vue.use(Element, { size: 'small' }) +} diff --git a/docs/.vuepress/styles/index.styl b/docs/.vuepress/styles/index.styl new file mode 100644 index 0000000..be1b5c0 --- /dev/null +++ b/docs/.vuepress/styles/index.styl @@ -0,0 +1,98 @@ +.navbar { + padding: 0 28px !important; +} + +.navbar .logo { + height: auto !important; + width: 150px !important; +} + +.navbar .site-name { + display: none; +} + +.navbar .sidebar-button { + padding: 0; +} + +.home .feature { + margin-bottom: 40px; + text-align: center; +} + +.theme-dumi-content:not(.custom) { + max-width: 100%; +} + +.page .page-nav { + max-width: 100%; +} + +.dumi-previewer .dumi-previewer-actions .dumi-previewer-actions__icon { + padding: 0 !important; +} + +.page .page-edit { + max-width 100% +} + +.sidebar-group .sidebar-heading { + color: #454d64; + font-size: 16px; +} + +.sidebar-group a.sidebar-link { + font-size: 0.9em; +} + +.theme-dumi-content .custom-block.warning { + padding: 10px 20px; + border-color: #FFC11F; + box-shadow: 0 6px 16px -2px rgba(0,0,0,.06); + background: rgba(255,229,100,0.1); +} +.theme-dumi-content .custom-block.danger { + padding: 10px 20px; + p { + margin: 0; + } +} + +.theme-dumi-content:not(.custom) > h1, .theme-dumi-content:not(.custom) > h2, .theme-dumi-content:not(.custom) > h3, .theme-dumi-content:not(.custom) > h4, .theme-dumi-content:not(.custom) > h5, .theme-dumi-content:not(.custom) > h6 { + margin-bottom: 18px; +} + +.theme-dumi-content p { + margin: 1em 0; +} + +.custom-block.warning p { + margin: 0; +} + +// .theme-dumi-content div[class*="language-"] { +// background-color: #f9fafb; +// } + +// .theme-dumi-content pre[class*="language-"] code { +// color: #000; +// } + +.dumi-previewer .dumi-previewer-source, +.dumi-previewer .dumi-previewer-demo { + overflow: auto; +} + +@media (max-width: 719px) { + .sidebar-button + .home-link { + margin-left: 20px; + } +} + +@media (max-width: 419px) { + .theme-dumi-content div[class*="language-"] { + margin: 0; + border-radius: 0; + } +} + diff --git a/docs/.vuepress/util.js b/docs/.vuepress/util.js new file mode 100644 index 0000000..f5a7a35 --- /dev/null +++ b/docs/.vuepress/util.js @@ -0,0 +1,7 @@ +const fs = require('fs') + +module.exports = { + getFiles(dir) { + return fs.readdirSync(dir) + }, +} diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..77e414e --- /dev/null +++ b/docs/README.md @@ -0,0 +1,28 @@ +--- +home: true +heroText: Formily Element +tagline: 基于 Element UI 封装的Formily2.x组件体系 +actionText: 开发指南 +actionLink: /guide/ +features: + - title: 更易用 + details: 开箱即用,案例丰富 + - title: 更高效 + details: 傻瓜写法,超高性能 + - title: 更专业 + details: 完备,灵活,优雅 +footer: Open-source MIT Licensed | Copyright © 2019-present +--- + +## 安装 + +vue2: + +```bash +$ npm install --save element-ui +$ npm install --save @formily/core @formily/vue @vue/composition-api @formily/element +``` + +## 快速开始 + + diff --git a/docs/demos/guide/array-cards/effects-json-schema.vue b/docs/demos/guide/array-cards/effects-json-schema.vue new file mode 100644 index 0000000..c0b9309 --- /dev/null +++ b/docs/demos/guide/array-cards/effects-json-schema.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/docs/demos/guide/array-cards/effects-markup-schema.vue b/docs/demos/guide/array-cards/effects-markup-schema.vue new file mode 100644 index 0000000..937d9e3 --- /dev/null +++ b/docs/demos/guide/array-cards/effects-markup-schema.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/docs/demos/guide/array-cards/json-schema.vue b/docs/demos/guide/array-cards/json-schema.vue new file mode 100644 index 0000000..884442f --- /dev/null +++ b/docs/demos/guide/array-cards/json-schema.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/docs/demos/guide/array-cards/markup-schema.vue b/docs/demos/guide/array-cards/markup-schema.vue new file mode 100644 index 0000000..faaa65e --- /dev/null +++ b/docs/demos/guide/array-cards/markup-schema.vue @@ -0,0 +1,101 @@ + + + + + diff --git a/docs/demos/guide/array-collapse/effects-json-schema.vue b/docs/demos/guide/array-collapse/effects-json-schema.vue new file mode 100644 index 0000000..25b1974 --- /dev/null +++ b/docs/demos/guide/array-collapse/effects-json-schema.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/docs/demos/guide/array-collapse/effects-markup-schema.vue b/docs/demos/guide/array-collapse/effects-markup-schema.vue new file mode 100644 index 0000000..ad07d38 --- /dev/null +++ b/docs/demos/guide/array-collapse/effects-markup-schema.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/docs/demos/guide/array-collapse/json-schema.vue b/docs/demos/guide/array-collapse/json-schema.vue new file mode 100644 index 0000000..d08ab3c --- /dev/null +++ b/docs/demos/guide/array-collapse/json-schema.vue @@ -0,0 +1,196 @@ + + + + + diff --git a/docs/demos/guide/array-collapse/markup-schema.vue b/docs/demos/guide/array-collapse/markup-schema.vue new file mode 100644 index 0000000..bf35d8a --- /dev/null +++ b/docs/demos/guide/array-collapse/markup-schema.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/docs/demos/guide/array-items/json-schema.vue b/docs/demos/guide/array-items/json-schema.vue new file mode 100644 index 0000000..bb62c6a --- /dev/null +++ b/docs/demos/guide/array-items/json-schema.vue @@ -0,0 +1,219 @@ + + + + + diff --git a/docs/demos/guide/array-items/markup-schema.vue b/docs/demos/guide/array-items/markup-schema.vue new file mode 100644 index 0000000..ad69508 --- /dev/null +++ b/docs/demos/guide/array-items/markup-schema.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/docs/demos/guide/array-table/effects-json-schema.vue b/docs/demos/guide/array-table/effects-json-schema.vue new file mode 100644 index 0000000..16a2625 --- /dev/null +++ b/docs/demos/guide/array-table/effects-json-schema.vue @@ -0,0 +1,170 @@ + + + diff --git a/docs/demos/guide/array-table/effects-markup-schema.vue b/docs/demos/guide/array-table/effects-markup-schema.vue new file mode 100644 index 0000000..72a9b64 --- /dev/null +++ b/docs/demos/guide/array-table/effects-markup-schema.vue @@ -0,0 +1,136 @@ + + + diff --git a/docs/demos/guide/array-table/json-schema.vue b/docs/demos/guide/array-table/json-schema.vue new file mode 100644 index 0000000..cfdb6f5 --- /dev/null +++ b/docs/demos/guide/array-table/json-schema.vue @@ -0,0 +1,140 @@ + + + diff --git a/docs/demos/guide/array-table/markup-schema.vue b/docs/demos/guide/array-table/markup-schema.vue new file mode 100644 index 0000000..9585fd6 --- /dev/null +++ b/docs/demos/guide/array-table/markup-schema.vue @@ -0,0 +1,126 @@ + + + diff --git a/docs/demos/guide/array-tabs/json-schema.vue b/docs/demos/guide/array-tabs/json-schema.vue new file mode 100644 index 0000000..f9d23e4 --- /dev/null +++ b/docs/demos/guide/array-tabs/json-schema.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/docs/demos/guide/array-tabs/markup-schema.vue b/docs/demos/guide/array-tabs/markup-schema.vue new file mode 100644 index 0000000..6924fd1 --- /dev/null +++ b/docs/demos/guide/array-tabs/markup-schema.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/docs/demos/guide/cascader/json-schema.vue b/docs/demos/guide/cascader/json-schema.vue new file mode 100644 index 0000000..18ec71a --- /dev/null +++ b/docs/demos/guide/cascader/json-schema.vue @@ -0,0 +1,100 @@ + + + +l diff --git a/docs/demos/guide/cascader/markup-schema.vue b/docs/demos/guide/cascader/markup-schema.vue new file mode 100644 index 0000000..bcaa223 --- /dev/null +++ b/docs/demos/guide/cascader/markup-schema.vue @@ -0,0 +1,91 @@ + + + +l diff --git a/docs/demos/guide/cascader/template.vue b/docs/demos/guide/cascader/template.vue new file mode 100644 index 0000000..4ac53d0 --- /dev/null +++ b/docs/demos/guide/cascader/template.vue @@ -0,0 +1,86 @@ + + + diff --git a/docs/demos/guide/checkbox/json-schema.vue b/docs/demos/guide/checkbox/json-schema.vue new file mode 100644 index 0000000..c36bdb8 --- /dev/null +++ b/docs/demos/guide/checkbox/json-schema.vue @@ -0,0 +1,64 @@ + + + +l diff --git a/docs/demos/guide/checkbox/markup-schema.vue b/docs/demos/guide/checkbox/markup-schema.vue new file mode 100644 index 0000000..7eb3e9a --- /dev/null +++ b/docs/demos/guide/checkbox/markup-schema.vue @@ -0,0 +1,52 @@ + + + +l diff --git a/docs/demos/guide/checkbox/template.vue b/docs/demos/guide/checkbox/template.vue new file mode 100644 index 0000000..ac657da --- /dev/null +++ b/docs/demos/guide/checkbox/template.vue @@ -0,0 +1,49 @@ + + + diff --git a/docs/demos/guide/date-picker/json-schema.vue b/docs/demos/guide/date-picker/json-schema.vue new file mode 100644 index 0000000..129bbfd --- /dev/null +++ b/docs/demos/guide/date-picker/json-schema.vue @@ -0,0 +1,120 @@ + + + +l diff --git a/docs/demos/guide/date-picker/markup-schema.vue b/docs/demos/guide/date-picker/markup-schema.vue new file mode 100644 index 0000000..3df0aa6 --- /dev/null +++ b/docs/demos/guide/date-picker/markup-schema.vue @@ -0,0 +1,114 @@ + + + +l diff --git a/docs/demos/guide/date-picker/template.vue b/docs/demos/guide/date-picker/template.vue new file mode 100644 index 0000000..fd8ea73 --- /dev/null +++ b/docs/demos/guide/date-picker/template.vue @@ -0,0 +1,124 @@ + + + +l diff --git a/docs/demos/guide/editable/json-schema.vue b/docs/demos/guide/editable/json-schema.vue new file mode 100644 index 0000000..a4ce79d --- /dev/null +++ b/docs/demos/guide/editable/json-schema.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/docs/demos/guide/editable/markup-schema.vue b/docs/demos/guide/editable/markup-schema.vue new file mode 100644 index 0000000..ccb01d4 --- /dev/null +++ b/docs/demos/guide/editable/markup-schema.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/docs/demos/guide/editable/template.vue b/docs/demos/guide/editable/template.vue new file mode 100644 index 0000000..78a4d21 --- /dev/null +++ b/docs/demos/guide/editable/template.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/docs/demos/guide/form-button-group.vue b/docs/demos/guide/form-button-group.vue new file mode 100644 index 0000000..5878c76 --- /dev/null +++ b/docs/demos/guide/form-button-group.vue @@ -0,0 +1,62 @@ + + + diff --git a/docs/demos/guide/form-collapse/json-schema.vue b/docs/demos/guide/form-collapse/json-schema.vue new file mode 100644 index 0000000..c49463c --- /dev/null +++ b/docs/demos/guide/form-collapse/json-schema.vue @@ -0,0 +1,148 @@ + + + + + diff --git a/docs/demos/guide/form-collapse/markup-schema.vue b/docs/demos/guide/form-collapse/markup-schema.vue new file mode 100644 index 0000000..5454a3b --- /dev/null +++ b/docs/demos/guide/form-collapse/markup-schema.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/docs/demos/guide/form-dialog/json-schema.vue b/docs/demos/guide/form-dialog/json-schema.vue new file mode 100644 index 0000000..202fa5d --- /dev/null +++ b/docs/demos/guide/form-dialog/json-schema.vue @@ -0,0 +1,103 @@ + + + diff --git a/docs/demos/guide/form-dialog/markup-schema.vue b/docs/demos/guide/form-dialog/markup-schema.vue new file mode 100644 index 0000000..a06c39e --- /dev/null +++ b/docs/demos/guide/form-dialog/markup-schema.vue @@ -0,0 +1,106 @@ + + + diff --git a/docs/demos/guide/form-dialog/template.vue b/docs/demos/guide/form-dialog/template.vue new file mode 100644 index 0000000..ae35866 --- /dev/null +++ b/docs/demos/guide/form-dialog/template.vue @@ -0,0 +1,79 @@ + + + diff --git a/docs/demos/guide/form-drawer/json-schema.vue b/docs/demos/guide/form-drawer/json-schema.vue new file mode 100644 index 0000000..1bee087 --- /dev/null +++ b/docs/demos/guide/form-drawer/json-schema.vue @@ -0,0 +1,90 @@ + + + diff --git a/docs/demos/guide/form-drawer/markup-schema.vue b/docs/demos/guide/form-drawer/markup-schema.vue new file mode 100644 index 0000000..69e271d --- /dev/null +++ b/docs/demos/guide/form-drawer/markup-schema.vue @@ -0,0 +1,92 @@ + + + diff --git a/docs/demos/guide/form-drawer/template.vue b/docs/demos/guide/form-drawer/template.vue new file mode 100644 index 0000000..85bc219 --- /dev/null +++ b/docs/demos/guide/form-drawer/template.vue @@ -0,0 +1,66 @@ + + + diff --git a/docs/demos/guide/form-grid/form.vue b/docs/demos/guide/form-grid/form.vue new file mode 100644 index 0000000..298a820 --- /dev/null +++ b/docs/demos/guide/form-grid/form.vue @@ -0,0 +1,223 @@ + + + diff --git a/docs/demos/guide/form-grid/json-schema.vue b/docs/demos/guide/form-grid/json-schema.vue new file mode 100644 index 0000000..463a77a --- /dev/null +++ b/docs/demos/guide/form-grid/json-schema.vue @@ -0,0 +1,94 @@ + + + +l diff --git a/docs/demos/guide/form-grid/markup-schema.vue b/docs/demos/guide/form-grid/markup-schema.vue new file mode 100644 index 0000000..47d8e4c --- /dev/null +++ b/docs/demos/guide/form-grid/markup-schema.vue @@ -0,0 +1,87 @@ + + + diff --git a/docs/demos/guide/form-grid/native.vue b/docs/demos/guide/form-grid/native.vue new file mode 100644 index 0000000..6f74717 --- /dev/null +++ b/docs/demos/guide/form-grid/native.vue @@ -0,0 +1,170 @@ + + + diff --git a/docs/demos/guide/form-item/bordered-none.vue b/docs/demos/guide/form-item/bordered-none.vue new file mode 100644 index 0000000..344f9c1 --- /dev/null +++ b/docs/demos/guide/form-item/bordered-none.vue @@ -0,0 +1,108 @@ + + + diff --git a/docs/demos/guide/form-item/common.vue b/docs/demos/guide/form-item/common.vue new file mode 100644 index 0000000..b857e7a --- /dev/null +++ b/docs/demos/guide/form-item/common.vue @@ -0,0 +1,449 @@ + + + diff --git a/docs/demos/guide/form-item/feedback.vue b/docs/demos/guide/form-item/feedback.vue new file mode 100644 index 0000000..653a6fb --- /dev/null +++ b/docs/demos/guide/form-item/feedback.vue @@ -0,0 +1,258 @@ + + + diff --git a/docs/demos/guide/form-item/inset.vue b/docs/demos/guide/form-item/inset.vue new file mode 100644 index 0000000..ec4024a --- /dev/null +++ b/docs/demos/guide/form-item/inset.vue @@ -0,0 +1,108 @@ + + + diff --git a/docs/demos/guide/form-item/json-schema.vue b/docs/demos/guide/form-item/json-schema.vue new file mode 100644 index 0000000..c68efcd --- /dev/null +++ b/docs/demos/guide/form-item/json-schema.vue @@ -0,0 +1,47 @@ + + + diff --git a/docs/demos/guide/form-item/markup-schema.vue b/docs/demos/guide/form-item/markup-schema.vue new file mode 100644 index 0000000..c3c03b3 --- /dev/null +++ b/docs/demos/guide/form-item/markup-schema.vue @@ -0,0 +1,42 @@ + + + diff --git a/docs/demos/guide/form-item/size.vue b/docs/demos/guide/form-item/size.vue new file mode 100644 index 0000000..485ec8b --- /dev/null +++ b/docs/demos/guide/form-item/size.vue @@ -0,0 +1,160 @@ + + + diff --git a/docs/demos/guide/form-item/template.vue b/docs/demos/guide/form-item/template.vue new file mode 100644 index 0000000..30fdfc2 --- /dev/null +++ b/docs/demos/guide/form-item/template.vue @@ -0,0 +1,36 @@ + + + diff --git a/docs/demos/guide/form-layout/json-schema.vue b/docs/demos/guide/form-layout/json-schema.vue new file mode 100644 index 0000000..ecf1f4b --- /dev/null +++ b/docs/demos/guide/form-layout/json-schema.vue @@ -0,0 +1,70 @@ + + + diff --git a/docs/demos/guide/form-layout/markup-schema.vue b/docs/demos/guide/form-layout/markup-schema.vue new file mode 100644 index 0000000..2acce23 --- /dev/null +++ b/docs/demos/guide/form-layout/markup-schema.vue @@ -0,0 +1,51 @@ + + + diff --git a/docs/demos/guide/form-layout/template.vue b/docs/demos/guide/form-layout/template.vue new file mode 100644 index 0000000..8996fc7 --- /dev/null +++ b/docs/demos/guide/form-layout/template.vue @@ -0,0 +1,51 @@ + + + diff --git a/docs/demos/guide/form-step/json-schema.vue b/docs/demos/guide/form-step/json-schema.vue new file mode 100644 index 0000000..8d4710d --- /dev/null +++ b/docs/demos/guide/form-step/json-schema.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/docs/demos/guide/form-step/markup-schema.vue b/docs/demos/guide/form-step/markup-schema.vue new file mode 100644 index 0000000..04fa7af --- /dev/null +++ b/docs/demos/guide/form-step/markup-schema.vue @@ -0,0 +1,120 @@ + + + + + diff --git a/docs/demos/guide/form-tab/json-schema.vue b/docs/demos/guide/form-tab/json-schema.vue new file mode 100644 index 0000000..b152644 --- /dev/null +++ b/docs/demos/guide/form-tab/json-schema.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/docs/demos/guide/form-tab/markup-schema.vue b/docs/demos/guide/form-tab/markup-schema.vue new file mode 100644 index 0000000..f299723 --- /dev/null +++ b/docs/demos/guide/form-tab/markup-schema.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/docs/demos/guide/form.vue b/docs/demos/guide/form.vue new file mode 100644 index 0000000..65c48aa --- /dev/null +++ b/docs/demos/guide/form.vue @@ -0,0 +1,70 @@ + + + diff --git a/docs/demos/guide/input-number/json-schema.vue b/docs/demos/guide/input-number/json-schema.vue new file mode 100644 index 0000000..3e6ebd2 --- /dev/null +++ b/docs/demos/guide/input-number/json-schema.vue @@ -0,0 +1,52 @@ + + + diff --git a/docs/demos/guide/input-number/markup-schema.vue b/docs/demos/guide/input-number/markup-schema.vue new file mode 100644 index 0000000..1bcb513 --- /dev/null +++ b/docs/demos/guide/input-number/markup-schema.vue @@ -0,0 +1,46 @@ + + + diff --git a/docs/demos/guide/input-number/template.vue b/docs/demos/guide/input-number/template.vue new file mode 100644 index 0000000..5601f26 --- /dev/null +++ b/docs/demos/guide/input-number/template.vue @@ -0,0 +1,42 @@ + + + diff --git a/docs/demos/guide/input/json-schema.vue b/docs/demos/guide/input/json-schema.vue new file mode 100644 index 0000000..04fceab --- /dev/null +++ b/docs/demos/guide/input/json-schema.vue @@ -0,0 +1,53 @@ + + + diff --git a/docs/demos/guide/input/markup-schema.vue b/docs/demos/guide/input/markup-schema.vue new file mode 100644 index 0000000..d418237 --- /dev/null +++ b/docs/demos/guide/input/markup-schema.vue @@ -0,0 +1,47 @@ + + + diff --git a/docs/demos/guide/input/template.vue b/docs/demos/guide/input/template.vue new file mode 100644 index 0000000..e7f88aa --- /dev/null +++ b/docs/demos/guide/input/template.vue @@ -0,0 +1,41 @@ + + + diff --git a/docs/demos/guide/password/json-schema.vue b/docs/demos/guide/password/json-schema.vue new file mode 100644 index 0000000..41c8ed8 --- /dev/null +++ b/docs/demos/guide/password/json-schema.vue @@ -0,0 +1,47 @@ + + + diff --git a/docs/demos/guide/password/markup-schema.vue b/docs/demos/guide/password/markup-schema.vue new file mode 100644 index 0000000..d2f3706 --- /dev/null +++ b/docs/demos/guide/password/markup-schema.vue @@ -0,0 +1,41 @@ + + + diff --git a/docs/demos/guide/password/template.vue b/docs/demos/guide/password/template.vue new file mode 100644 index 0000000..64a163f --- /dev/null +++ b/docs/demos/guide/password/template.vue @@ -0,0 +1,35 @@ + + + diff --git a/docs/demos/guide/preview-text/base.vue b/docs/demos/guide/preview-text/base.vue new file mode 100644 index 0000000..9db1365 --- /dev/null +++ b/docs/demos/guide/preview-text/base.vue @@ -0,0 +1,84 @@ + + + diff --git a/docs/demos/guide/preview-text/extend.vue b/docs/demos/guide/preview-text/extend.vue new file mode 100644 index 0000000..0aaee9a --- /dev/null +++ b/docs/demos/guide/preview-text/extend.vue @@ -0,0 +1,107 @@ + + + diff --git a/docs/demos/guide/radio/json-schema.vue b/docs/demos/guide/radio/json-schema.vue new file mode 100644 index 0000000..107f21c --- /dev/null +++ b/docs/demos/guide/radio/json-schema.vue @@ -0,0 +1,61 @@ + + + diff --git a/docs/demos/guide/radio/markup-schema.vue b/docs/demos/guide/radio/markup-schema.vue new file mode 100644 index 0000000..55f1aee --- /dev/null +++ b/docs/demos/guide/radio/markup-schema.vue @@ -0,0 +1,51 @@ + + + diff --git a/docs/demos/guide/radio/template.vue b/docs/demos/guide/radio/template.vue new file mode 100644 index 0000000..ad4aaf8 --- /dev/null +++ b/docs/demos/guide/radio/template.vue @@ -0,0 +1,45 @@ + + + diff --git a/docs/demos/guide/reset/base.vue b/docs/demos/guide/reset/base.vue new file mode 100644 index 0000000..c6042ad --- /dev/null +++ b/docs/demos/guide/reset/base.vue @@ -0,0 +1,59 @@ + + + diff --git a/docs/demos/guide/reset/force.vue b/docs/demos/guide/reset/force.vue new file mode 100644 index 0000000..ccdf63f --- /dev/null +++ b/docs/demos/guide/reset/force.vue @@ -0,0 +1,59 @@ + + + diff --git a/docs/demos/guide/reset/validate.vue b/docs/demos/guide/reset/validate.vue new file mode 100644 index 0000000..39e9ce0 --- /dev/null +++ b/docs/demos/guide/reset/validate.vue @@ -0,0 +1,59 @@ + + + diff --git a/docs/demos/guide/select/json-schema-async.vue b/docs/demos/guide/select/json-schema-async.vue new file mode 100644 index 0000000..34f6aab --- /dev/null +++ b/docs/demos/guide/select/json-schema-async.vue @@ -0,0 +1,115 @@ + + + diff --git a/docs/demos/guide/select/json-schema-sync.vue b/docs/demos/guide/select/json-schema-sync.vue new file mode 100644 index 0000000..bdfd5a7 --- /dev/null +++ b/docs/demos/guide/select/json-schema-sync.vue @@ -0,0 +1,60 @@ + + + diff --git a/docs/demos/guide/select/markup-schema-async-search.vue b/docs/demos/guide/select/markup-schema-async-search.vue new file mode 100644 index 0000000..97fbb11 --- /dev/null +++ b/docs/demos/guide/select/markup-schema-async-search.vue @@ -0,0 +1,108 @@ + + + diff --git a/docs/demos/guide/select/markup-schema-async.vue b/docs/demos/guide/select/markup-schema-async.vue new file mode 100644 index 0000000..77dd68c --- /dev/null +++ b/docs/demos/guide/select/markup-schema-async.vue @@ -0,0 +1,108 @@ + + + diff --git a/docs/demos/guide/select/markup-schema-sync.vue b/docs/demos/guide/select/markup-schema-sync.vue new file mode 100644 index 0000000..0a09193 --- /dev/null +++ b/docs/demos/guide/select/markup-schema-sync.vue @@ -0,0 +1,56 @@ + + + diff --git a/docs/demos/guide/select/template-async.vue b/docs/demos/guide/select/template-async.vue new file mode 100644 index 0000000..102afb5 --- /dev/null +++ b/docs/demos/guide/select/template-async.vue @@ -0,0 +1,107 @@ + + + diff --git a/docs/demos/guide/select/template-sync.vue b/docs/demos/guide/select/template-sync.vue new file mode 100644 index 0000000..8c99bbc --- /dev/null +++ b/docs/demos/guide/select/template-sync.vue @@ -0,0 +1,52 @@ + + + diff --git a/docs/demos/guide/space/json-schema.vue b/docs/demos/guide/space/json-schema.vue new file mode 100644 index 0000000..d1dba31 --- /dev/null +++ b/docs/demos/guide/space/json-schema.vue @@ -0,0 +1,137 @@ + + + diff --git a/docs/demos/guide/space/markup-schema.vue b/docs/demos/guide/space/markup-schema.vue new file mode 100644 index 0000000..3de83cb --- /dev/null +++ b/docs/demos/guide/space/markup-schema.vue @@ -0,0 +1,124 @@ + + + diff --git a/docs/demos/guide/space/template.vue b/docs/demos/guide/space/template.vue new file mode 100644 index 0000000..9b12581 --- /dev/null +++ b/docs/demos/guide/space/template.vue @@ -0,0 +1,135 @@ + + + diff --git a/docs/demos/guide/submit/base.vue b/docs/demos/guide/submit/base.vue new file mode 100644 index 0000000..f91bbd8 --- /dev/null +++ b/docs/demos/guide/submit/base.vue @@ -0,0 +1,58 @@ + + + diff --git a/docs/demos/guide/submit/loading.vue b/docs/demos/guide/submit/loading.vue new file mode 100644 index 0000000..2d5fb2c --- /dev/null +++ b/docs/demos/guide/submit/loading.vue @@ -0,0 +1,63 @@ + + + diff --git a/docs/demos/guide/switch/json-schema.vue b/docs/demos/guide/switch/json-schema.vue new file mode 100644 index 0000000..608e3c4 --- /dev/null +++ b/docs/demos/guide/switch/json-schema.vue @@ -0,0 +1,47 @@ + + + diff --git a/docs/demos/guide/switch/markup-schema.vue b/docs/demos/guide/switch/markup-schema.vue new file mode 100644 index 0000000..02f533a --- /dev/null +++ b/docs/demos/guide/switch/markup-schema.vue @@ -0,0 +1,41 @@ + + + diff --git a/docs/demos/guide/switch/template.vue b/docs/demos/guide/switch/template.vue new file mode 100644 index 0000000..f8786c5 --- /dev/null +++ b/docs/demos/guide/switch/template.vue @@ -0,0 +1,35 @@ + + + diff --git a/docs/demos/guide/time-picker/json-schema.vue b/docs/demos/guide/time-picker/json-schema.vue new file mode 100644 index 0000000..48435e5 --- /dev/null +++ b/docs/demos/guide/time-picker/json-schema.vue @@ -0,0 +1,65 @@ + + + +l diff --git a/docs/demos/guide/time-picker/markup-schema.vue b/docs/demos/guide/time-picker/markup-schema.vue new file mode 100644 index 0000000..433a0de --- /dev/null +++ b/docs/demos/guide/time-picker/markup-schema.vue @@ -0,0 +1,59 @@ + + + diff --git a/docs/demos/guide/time-picker/template.vue b/docs/demos/guide/time-picker/template.vue new file mode 100644 index 0000000..723b5eb --- /dev/null +++ b/docs/demos/guide/time-picker/template.vue @@ -0,0 +1,57 @@ + + + diff --git a/docs/demos/guide/transfer/json-schema.vue b/docs/demos/guide/transfer/json-schema.vue new file mode 100644 index 0000000..b9a0de3 --- /dev/null +++ b/docs/demos/guide/transfer/json-schema.vue @@ -0,0 +1,51 @@ + + + diff --git a/docs/demos/guide/transfer/markup-schema.vue b/docs/demos/guide/transfer/markup-schema.vue new file mode 100644 index 0000000..9530770 --- /dev/null +++ b/docs/demos/guide/transfer/markup-schema.vue @@ -0,0 +1,51 @@ + + + diff --git a/docs/demos/guide/transfer/template.vue b/docs/demos/guide/transfer/template.vue new file mode 100644 index 0000000..1b63e44 --- /dev/null +++ b/docs/demos/guide/transfer/template.vue @@ -0,0 +1,45 @@ + + + diff --git a/docs/demos/guide/upload/json-schema.vue b/docs/demos/guide/upload/json-schema.vue new file mode 100644 index 0000000..52ea574 --- /dev/null +++ b/docs/demos/guide/upload/json-schema.vue @@ -0,0 +1,102 @@ + + + diff --git a/docs/demos/guide/upload/markup-schema.vue b/docs/demos/guide/upload/markup-schema.vue new file mode 100644 index 0000000..1c108dd --- /dev/null +++ b/docs/demos/guide/upload/markup-schema.vue @@ -0,0 +1,97 @@ + + + diff --git a/docs/demos/guide/upload/template.vue b/docs/demos/guide/upload/template.vue new file mode 100644 index 0000000..b8b6b02 --- /dev/null +++ b/docs/demos/guide/upload/template.vue @@ -0,0 +1,98 @@ + + + diff --git a/docs/demos/index.vue b/docs/demos/index.vue new file mode 100644 index 0000000..5dd067d --- /dev/null +++ b/docs/demos/index.vue @@ -0,0 +1,63 @@ + + + diff --git a/docs/guide/array-cards.md b/docs/guide/array-cards.md new file mode 100644 index 0000000..fde314b --- /dev/null +++ b/docs/guide/array-cards.md @@ -0,0 +1,95 @@ +# ArrayCards + +> 卡片列表,对于每行字段数量较多,联动较多的场景比较适合使用 ArrayCards +> +> 注意:该组件只适用于 Schema 场景 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Effects 联动案例 + + + +## JSON Schema 联动案例 + + + +## API + +### ArrayCards + +> 表格组件 + +参考 [https://element.eleme.io/#/zh-CN/component/card](https://element.eleme.io/#/zh-CN/component/card) + +### ArrayCards.Addition + +> 添加按钮 + +扩展属性 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------------ | ------- | ---------- | -------- | -------- | +| title | string | 文案 | | +| method | `'push' | 'unshift'` | 添加方式 | `'push'` | +| defaultValue | any | 默认值 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayCards.Remove + +> 删除按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayCards.MoveDown + +> 下移按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayCards.MoveUp + +> 上移按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayCards.Index + +> 索引渲染器 + +无属性 + +### ArrayCards.useIndex + +> 读取当前渲染行索引的 Hook + +### ArrayCards.useRecord + +> 读取当前渲染记录的 Hook diff --git a/docs/guide/array-collapse.md b/docs/guide/array-collapse.md new file mode 100644 index 0000000..63e48bb --- /dev/null +++ b/docs/guide/array-collapse.md @@ -0,0 +1,97 @@ +# ArrayCollapse + +> 折叠面板,对于每行字段数量较多,联动较多的场景比较适合使用 ArrayCollapse +> +> 注意:该组件只适用于 Schema 场景 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Effects 联动案例 + + + +## JSON Schema 联动案例 + + + +## API + +### ArrayCollapse + +参考 [https://element.eleme.io/#/zh-CN/component/collapse](https://element.eleme.io/#/zh-CN/component/collapse) + +### ArrayCollapse.Item + +参考 [https://element.eleme.io/#/zh-CN/component/collapse](https://element.eleme.io/#/zh-CN/component/collapse) + +### ArrayCollapse.Addition + +> 添加按钮 + +扩展属性 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------------ | ------- | ---------- | -------- | -------- | +| title | string | 文案 | | +| method | `'push' | 'unshift'` | 添加方式 | `'push'` | +| defaultValue | any | 默认值 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayCollapse.Remove + +> 删除按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayCollapse.MoveDown + +> 下移按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayCollapse.MoveUp + +> 上移按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayCollapse.Index + +> 索引渲染器 + +无属性 + +### ArrayCollapse.useIndex + +> 读取当前渲染行索引的 Hook + +### ArrayCollapse.useRecord + +> 读取当前渲染记录的 Hook diff --git a/docs/guide/array-items.md b/docs/guide/array-items.md new file mode 100644 index 0000000..76ff46c --- /dev/null +++ b/docs/guide/array-items.md @@ -0,0 +1,97 @@ +# ArrayItems + +> 自增列表,对于简单的自增编辑场景比较适合,或者对于空间要求高的场景比较适合 +> +> 注意:该组件只适用于 Schema 场景 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## API + +### ArrayItems + +继承 HTMLDivElement Props + +### ArrayItems.Item + +> 列表区块 + +继承 HTMLDivElement Props + +### ArrayItems.SortHandle + +> 拖拽手柄 + +参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +### ArrayItems.Addition + +> 添加按钮 + +扩展属性 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------------ | ------- | ---------- | -------- | -------- | +| title | string | 文案 | | +| method | `'push' | 'unshift'` | 添加方式 | `'push'` | +| defaultValue | any | 默认值 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayItems.Remove + +> 删除按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayItems.MoveDown + +> 下移按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayItems.MoveUp + +> 上移按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayItems.Index + +> 索引渲染器 + +无属性 + +### ArrayItems.useIndex + +> 读取当前渲染行索引的 Hook + +### ArrayItems.useRecord + +> 读取当前渲染记录的 Hook diff --git a/docs/guide/array-table.md b/docs/guide/array-table.md new file mode 100644 index 0000000..ab137ab --- /dev/null +++ b/docs/guide/array-table.md @@ -0,0 +1,108 @@ +# ArrayTable + +> 自增表格,对于数据量超大的场景比较适合使用该组件,虽然数据量大到一定程度会有些许卡顿,但是不会影响基本操作 +> +> 注意:该组件只适用于 Schema 场景,且只能是对象数组 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Effects 联动案例 + + + +## JSON Schema 联动案例 + + + +## API + +### ArrayTable + +> 表格组件 + +参考 [https://element.eleme.io/#/zh-CN/component/table](https://element.eleme.io/#/zh-CN/component/table) + +### ArrayTable.Column + +> 表格列 + +参考 [https://element.eleme.io/#/zh-CN/component/table](https://element.eleme.io/#/zh-CN/component/table) + +扩展属性 + +| 属性名 | 类型 | 描述 | 默认值 | +| -------- | ------- | -------- | ------ | +| asterisk | boolean | 星号显示 | true | + +> ArrayTableColumn 会自动检查内部的 FormItem 是否必填,并自动在表头加上红色星号。如果不希望显示,可通过 `asterisk` 属性进行覆盖。 + +### ArrayTable.Addition + +> 添加按钮 + +扩展属性 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------- | ---------- | -------- | -------- | +| title | string | 文案 | | +| method | `'push' | 'unshift'` | 添加方式 | `'push'` | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayTable.Remove + +> 删除按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayTable.MoveDown + +> 下移按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayTable.MoveUp + +> 上移按钮 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---- | ------ | +| title | string | 文案 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) + +注意:title 属性可以接收 Field 模型中的 title 映射,也就是在 Field 上传 title 也是生效的 + +### ArrayTable.Index + +> 索引渲染器 + +无属性 + +### ArrayTable.useIndex + +> 读取当前渲染行索引的 Hook + +### ArrayTable.useRecord + +> 读取当前渲染记录的 Hook diff --git a/docs/guide/array-tabs.md b/docs/guide/array-tabs.md new file mode 100644 index 0000000..383c84e --- /dev/null +++ b/docs/guide/array-tabs.md @@ -0,0 +1,19 @@ +# ArrayTabs + +> 自增选项卡,对于纵向空间要求较高的场景可以考虑使用该组件 +> +> 注意:该组件只适用于 Schema 场景 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## API + +### ArrayTabs + +参考 [https://element.eleme.io/#/zh-CN/component/tab](https://element.eleme.io/#/zh-CN/component/tab) diff --git a/docs/guide/cascader.md b/docs/guide/cascader.md new file mode 100644 index 0000000..b30f515 --- /dev/null +++ b/docs/guide/cascader.md @@ -0,0 +1,19 @@ +# Cascader + +> 级联选择器 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/cascader](https://element.eleme.io/#/zh-CN/component/cascader) diff --git a/docs/guide/checkbox.md b/docs/guide/checkbox.md new file mode 100644 index 0000000..a6a36d5 --- /dev/null +++ b/docs/guide/checkbox.md @@ -0,0 +1,26 @@ +# Checkbox + +> 复选框 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/checkbox](https://element.eleme.io/#/zh-CN/component/checkbox) + +### 扩展属性 + +| 属性名 | 类型 | 描述 | 默认值 | +| ---------- | ------------------------------------------------------------------------------------------ | -------- | ------- | +| options | [CheckboxProps](https://element.eleme.io/#/zh-CN/component/checkbox#checkbox-attributes)[] | 选项 | [] | +| optionType | default/button | 样式类型 | default | diff --git a/docs/guide/date-picker.md b/docs/guide/date-picker.md new file mode 100644 index 0000000..c7ad6bd --- /dev/null +++ b/docs/guide/date-picker.md @@ -0,0 +1,19 @@ +# DatePicker + +> 日期选择器 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/date-picker](https://element.eleme.io/#/zh-CN/component/date-picker) diff --git a/docs/guide/editable.md b/docs/guide/editable.md new file mode 100644 index 0000000..bc2926d --- /dev/null +++ b/docs/guide/editable.md @@ -0,0 +1,31 @@ +# Editable + +> 局部编辑器,对于一些空间要求较高的表单区域可以使用该组件 +> +> Editable 组件相当于是 FormItem 组件的变体,所以通常放在 decorator 中 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +### Editable + +> 内联编辑 + +参考 [https://element.formilyjs.org/guide/form-item.html#api](https://element.formilyjs.org/guide/form-item.html#api) + +### Editable.Popover + +> 浮层编辑 + +参考 [https://element.eleme.io/#/zh-CN/component/popover](https://element.eleme.io/#/zh-CN/component/popover) diff --git a/docs/guide/form-button-group.md b/docs/guide/form-button-group.md new file mode 100644 index 0000000..bd8648c --- /dev/null +++ b/docs/guide/form-button-group.md @@ -0,0 +1,15 @@ +# FormButtonGroup + +> 表单按钮组布局组件 + +## 使用案例 + + + +## API + +| 属性名 | 类型 | 描述 | 默认值 | +| ------------- | ------- | ------------- | -------- | -------- | -------- | +| gutter | number | 间隙大小 | 8px | +| align | `'left' | 'center' | 'right'` | 对齐方式 | `'left'` | +| alignFormItem | boolean | 对齐 FormItem | `false` | diff --git a/docs/guide/form-collapse.md b/docs/guide/form-collapse.md new file mode 100644 index 0000000..e4e837f --- /dev/null +++ b/docs/guide/form-collapse.md @@ -0,0 +1,53 @@ +# FormCollapse + +> 折叠面板,通常用在布局空间要求较高的表单场景 +> +> 注意:只能用在 Schema 场景 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## API + +### FormCollapse + +| 属性名 | 类型 | 描述 | 默认值 | +| ------------ | ------------- | ---------------------------------------------------------- | ------ | +| formCollapse | IFormCollapse | 传入通过 createFormCollapse/useFormCollapse 创建出来的模型 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/collapse](https://element.eleme.io/#/zh-CN/component/collapse) + +### FormCollapse.Item + +参考 [https://element.eleme.io/#/zh-CN/component/collapse](https://element.eleme.io/#/zh-CN/component/collapse) + +### FormCollapse.createFormCollapse + +```ts pure +type ActiveKey = string | number +type ActiveKeys = string | number | Array + +interface createFormCollapse { + (defaultActiveKeys?: ActiveKeys): IFormCollpase +} + +interface IFormCollapse { + //激活主键列表 + activeKeys: ActiveKeys + //是否存在该激活主键 + hasActiveKey(key: ActiveKey): boolean + //设置激活主键列表 + setActiveKeys(keys: ActiveKeys): void + //添加激活主键 + addActiveKey(key: ActiveKey): void + //删除激活主键 + removeActiveKey(key: ActiveKey): void + //开关切换激活主键 + toggleActiveKey(key: ActiveKey): void +} +``` diff --git a/docs/guide/form-dialog.md b/docs/guide/form-dialog.md new file mode 100644 index 0000000..746dfa9 --- /dev/null +++ b/docs/guide/form-dialog.md @@ -0,0 +1,77 @@ +# FormDialog + +> 弹窗表单,主要用在简单的事件打开表单场景 + +## Markup Schema 案例 + +以下例子演示了 FormDialog 的几个能力: + +- 快速打开,关闭能力 +- 中间件能力,自动出现加载态 +- 渲染函数内可以响应式能力 +- 上下文共享能力 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +### FormDialog + +```ts pure +import { IFormProps, Form } from '@formily/core' + +type FormDialogContentProps = { form: Form } + +type FormDialogContent = Component | ((props: FormDialogContentProps) => VNode) + +type DialogTitle = string | number | Component | VNode | (() => VNode) + +type IFormDialogProps = Omit & { + title?: DialogTitle + footer?: null | Component | VNode | (() => VNode) + cancelText?: string | Component | VNode | (() => VNode) + cancelButtonProps?: ButtonProps + okText?: string | Component | VNode | (() => VNode) + okButtonProps?: ButtonProps + onOpen?: () => void + onOpend?: () => void + onClose?: () => void + onClosed?: () => void + onCancel?: () => void + onOK?: () => void + loadingText?: string +} + +interface IFormDialog { + forOpen(middleware: IMiddleware): IFormDialog + forConfirm(middleware: IMiddleware): IFormDialog + forCancel(middleware: IMiddleware): IFormDialog + open(props?: IFormProps): Promise + close(): void +} + +interface FormDialog { + (title: IFormDialogProps, id: string, content: FormDialogContent): IFormDialog + (title: IFormDialogProps, id: FormDialogContent): IFormDialog + (title: DialogTitle, id: string, content: FormDialogContent): IFormDialog + (title: DialogTitle, id: FormDialogContent): IFormDialog +} +``` + +`DialogProps`类型定义参考 [Element-UI Dialog API](https://element.eleme.io/#/zh-CN/component/dialog#attributes) + +### FormDialog.Footer + +无属性,只接收子节点 + +### FormDialog.Portal + +接收可选的 id 属性,默认值为 form-dialog,如果一个应用存在多个 prefixCls,不同区域的弹窗内部 prefixCls 不一样,那推荐指定 id 为区域级 id diff --git a/docs/guide/form-drawer.md b/docs/guide/form-drawer.md new file mode 100644 index 0000000..740b235 --- /dev/null +++ b/docs/guide/form-drawer.md @@ -0,0 +1,62 @@ +# FormDrawer + +> 抽屉表单,主要用在简单的事件打开表单场景 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +### FormDrawer + +```ts pure +import { IFormProps, Form } from '@formily/core' + +type FormDrawerContentProps = { form: Form } + +type FormDrawerContent = Component | ((props: FormDrawerContentProps) => VNode) + +type DrawerTitle = string | number | Component | VNode | (() => VNode) + +type IFormDrawerProps = Omit & { + title?: DrawerTitle + footer?: null | Component | VNode | (() => VNode) + cancelText?: string | Component | VNode | (() => VNode) + cancelButtonProps?: ButtonProps + okText?: string | Component | VNode | (() => VNode) + okButtonProps?: ButtonProps + onOpen?: () => void + onOpend?: () => void + onClose?: () => void + onClosed?: () => void + onCancel?: () => void + onOK?: () => void + loadingText?: string +} + +interface FormDrawer { + (title: IFormDrawerProps, id: string, content: FormDrawerContent): IFormDrawer + (title: IFormDrawerProps, id: FormDrawerContent): IFormDrawer + (title: DrawerTitle, id: string, content: FormDrawerContent): IFormDrawer + (title: DrawerTitle, id: FormDrawerContent): IFormDrawer +} +``` + +`DrawerProps`类型定义参考 [Element-UI Drawer API](https://element.eleme.io/#/zh-CN/component/drawer#attributes) + +### FormDrawer.Footer + +无属性,只接收子节点 + +### FormDrawer.Portal + +接收可选的 id 属性,默认值为 form-dialog,如果一个应用存在多个 prefixCls,不同区域的弹窗内部 prefixCls 不一样,那推荐指定 id 为区域级 id diff --git a/docs/guide/form-grid.md b/docs/guide/form-grid.md new file mode 100644 index 0000000..3288642 --- /dev/null +++ b/docs/guide/form-grid.md @@ -0,0 +1,74 @@ +# FormGrid + +> FormGrid 组件 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## 原生案例 + + + +## 查询表单实现案例 + + + +## API + +### FormGrid + +| 属性名 | 类型 | 描述 | 默认值 | +| ------------- | ---------------------- | -------------------------------------------------------------- | ----------------- | +| minWidth | `number / number[]` | 元素最小宽度 | 100 | +| maxWidth | `number / number[]` | 元素最大宽度 | - | +| minColumns | `number / number[]` | 最小列数 | 0 | +| maxColumns | `number / number[]` | 最大列数 | - | +| breakpoints | number[] | 容器尺寸断点 | `[720,1280,1920]` | +| columnGap | number | 列间距 | 8 | +| rowGap | number | 行间距 | 4 | +| colWrap | boolean | 自动换行 | true | +| strictAutoFit | boolean | GridItem 宽度是否严格受限于 maxWidth,不受限的话会自动占满容器 | false | +| shouldVisible | `(node,grid)=>boolean` | 是否需要显示当前节点 | `()=>true` | +| grid | `Grid` | 外部传入 Grid 实例,用于实现更复杂的布局逻辑 | - | + +注意: + +- minWidth 生效优先级高于 minColumn +- maxWidth 优先级高于 maxColumn +- minWidth/maxWidth/minColumns/maxColumns 的数组格式代表与断点数组映射 + +### FormGrid.GridColumn + +| 属性名 | 类型 | 描述 | 默认值 | +| -------- | ------ | ---------------------------------------------------- | ------ | +| gridSpan | number | 元素所跨列数,如果为-1,那么会自动反向跨列填补单元格 | 1 | + +### FormGrid.createFormGrid + +从上下文中读取 Grid 实例 + +```ts +interface createFormGrid { + (props: IGridProps): Grid +} +``` + +- IGridProps 参考 FormGrid 属性 +- Grid 实例属性方法参考 https://github.com/alibaba/formily/tree/formily_next/packages/grid + +### FormGrid.useFormGrid + +从上下文中读取 Grid 实例 + +```ts +interface useFormGrid { + (): Grid +} +``` + +- Grid 实例属性方法参考 https://github.com/alibaba/formily/tree/formily_next/packages/grid diff --git a/docs/guide/form-item.md b/docs/guide/form-item.md new file mode 100644 index 0000000..53fbc96 --- /dev/null +++ b/docs/guide/form-item.md @@ -0,0 +1,80 @@ +# FormItem + +> 全新的 FormItem 组件,相比于 Element 的 FormItem,它支持的功能更多,同时它的定位是纯样式组件,不管理表单状态,所以也会更轻量,更方便定制 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## 常用属性案例 + + + +## 无边框案例 + +设置去除组件边框 + + + +## 内嵌模式案例 + +设置表单组件为内嵌模式 + + + +## 反馈信息定制案例 + +可通过 `feedbackIcon` 传入指定反馈的按钮 + + + +## 尺寸控制案例 + + + +## API + +### FormItem + +| 属性名 | 类型 | 描述 | 默认值 | +| -------------- | ------------------------------------------------------ | ------------------------------------------- | ---------- | -------- | +| style | CSSProperties | 样式 | - | +| label | String \| Vue Component | 标签 | - | +| labelStyle | CSSProperties | 标签样式 | - | +| wrapperStyle | CSSProperties | 组件容器样式 | - | +| className | string | 组件样式类名 | - | +| colon | boolean | 冒号 | - | +| tooltip | String \| Vue Component | 问号提示 | - | +| tooltipLayout | `"icon" | "text"` | 问提示布局 | `"icon"` | +| labelAlign | `"left"` \| `"right"` | 标签文本对齐方式 | `"right"` | +| labelWrap | boolean | 标签换⾏,否则出现省略号,hover 有 tooltip | false | +| labelWidth | `number` | 标签固定宽度 | - | +| wrapperWidth | `number` | 内容固定宽度 | - | +| labelCol | number | 标签⽹格所占列数,和内容列数加起来总和为 24 | - | +| wrapperCol | number | 内容⽹格所占列数,和标签列数加起来总和为 24 | - | +| wrapperAlign | `"left"` \| `"right"` | 内容文本对齐方式⻬ | `"left"` | +| wrapperWrap | boolean | 内容换⾏,否则出现省略号,hover 有 tooltip | false | +| fullness | boolean | 内容撑满 | false | +| addonBefore | String \| Vue Component | 前缀内容 | - | +| addonAfter | String \| Vue Component | 后缀内容 | - | +| size | `"small"` \| `"default"` \| `"large"` | 尺⼨ | - | +| extra | ReactNode | 扩展描述⽂案 | - | +| feedbackText | ReactNode | 反馈⽂案 | - | +| feedbackLayout | `"loose"` \| `"terse"` \| `"popover"` \| `"none"` | 反馈布局 | - | +| feedbackStatus | `"error"` \| `"warning"` \| `"success"` \| `"pending"` | 反馈布局 | - | +| feedbackIcon | string | 反馈图标 | - | +| required | boolean | 星号提醒 | - | +| asterisk | boolean | 星号提醒 | - | +| gridSpan | number | ⽹格布局占宽 | - | + +### FormItem.BaseItem + +纯样式组件,属性与 FormItem 一样,与 Formily Core 不做状态桥接,主要用于一些需要依赖 FormItem 的样式布局能力,但不希望接入 Field 状态的场景 diff --git a/docs/guide/form-layout.md b/docs/guide/form-layout.md new file mode 100644 index 0000000..695e5fd --- /dev/null +++ b/docs/guide/form-layout.md @@ -0,0 +1,44 @@ +# FormLayout + +> 区块级布局批量控制组件,借助该组件,我们可以轻松的控制被 FormLayout 圈住的所有 FormItem 组件的布局模式 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +| 属性名 | 类型 | 描述 | 默认值 | +| -------------- | ------------- | ----------------- | ----------------------- | ----------- | ---------------- | ------------ | -------- | ---------- | +| style | CSSProperties | 样式 | - | +| className | string | 类名 | - | +| colon | boolean | 是否有冒号 | true | +| labelAlign | `'right' | 'left' | ('right' | 'left')[]` | 标签内容对齐 | - | +| wrapperAlign | `'right' | 'left' | ('right' | 'left')[]` | 组件容器内容对齐 | - | +| labelWrap | boolean | 标签内容换行 | false | +| labelWidth | number | 标签宽度(px) | - | +| wrapperWidth | number | 组件容器宽度(px) | - | +| wrapperWrap | boolean | 组件容器换行 | false | +| labelCol | `number | number[]` | 标签宽度(24 column) | - | +| wrapperCol | `number | number[]` | 组件容器宽度(24 column) | - | +| fullness | boolean | 组件容器宽度 100% | false | +| size | `'small' | 'default' | 'large'` | 组件尺寸 | default | +| layout | `'vertical' | 'horizontal' | 'inline' | ('vertical' | 'horizontal' | 'inline')[]` | 布局模式 | horizontal | +| direction | `'rtl' | 'ltr'` | 方向(暂不支持) | ltr | +| inset | boolean | 内联布局 | false | +| shallow | boolean | 上下文浅层传递 | true | +| feedbackLayout | `'loose' | 'terse' | 'popover' | 'none'` | 反馈布局 | true | +| tooltipLayout | `'icon'` | `'text'` | 问提示布局 | `"icon"` | +| bordered | boolean | 是否有边框 | true | +| breakpoints | number[] | 容器尺寸断点 | - | +| gridColumnGap | number | 网格布局列间距 | 8 | +| gridRowGap | number | 网格布局行间距 | 4 | +| spaceGap | number | 弹性间距 | 8 | diff --git a/docs/guide/form-step.md b/docs/guide/form-step.md new file mode 100644 index 0000000..256f49a --- /dev/null +++ b/docs/guide/form-step.md @@ -0,0 +1,52 @@ +# FormStep + +> 分步表单组件 +> +> 注意:该组件只能用在 Schema 场景 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## API + +### FormStep + +| 属性名 | 类型 | 描述 | 默认值 | +| -------- | --------- | -------------------------------------- | ------ | +| formStep | IFormStep | 传入通过 createFormStep 创建出来的模型 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/steps](https://element.eleme.io/#/zh-CN/component/steps) + +### FormStep.StepPane + +参考 [https://element.eleme.io/#/zh-CN/component/steps](https://element.eleme.io/#/zh-CN/component/steps) + +### FormStep.createFormStep + +```ts pure +interface createFormStep { + (current?: number): IFormStep +} + +interface IFormStep { + //当前索引 + current: number + //是否允许向后 + allowNext: boolean + //是否允许向前 + allowBack: boolean + //设置当前索引 + setCurrent(key: number): void + //提交表单 + submit: Formily.Core.Models.Form['submit'] + //向后 + next(): void + //向前 + back(): void +} +``` diff --git a/docs/guide/form-tab.md b/docs/guide/form-tab.md new file mode 100644 index 0000000..e418720 --- /dev/null +++ b/docs/guide/form-tab.md @@ -0,0 +1,44 @@ +# FormTab + +> 选项卡表单 +> +> 注意:该组件只适用于 Schema 场景 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## API + +### FormTab + +| 属性名 | 类型 | 描述 | 默认值 | +| ------- | -------- | ------------------------------------- | ------ | +| formTab | IFormTab | 传入通过 createFormTab 创建出来的模型 | | + +其余参考 [https://element.eleme.io/#/zh-CN/component/tabs](https://element.eleme.io/#/zh-CN/component/tabs) + +### FormTab.TabPane + +参考 [https://element.eleme.io/#/zh-CN/component/tabs](https://element.eleme.io/#/zh-CN/component/tabs) + +### FormTab.createFormTab + +```ts pure +type ActiveKey = string | number + +interface createFormTab { + (defaultActiveKey?: ActiveKey): IFormTab +} + +interface IFormTab { + //激活主键 + activeKey: ActiveKey + //设置激活主键 + setActiveKey(key: ActiveKey): void +} +``` diff --git a/docs/guide/form.md b/docs/guide/form.md new file mode 100644 index 0000000..0079c13 --- /dev/null +++ b/docs/guide/form.md @@ -0,0 +1,21 @@ +# Form + +> FormProvider + FormLayout + form 标签的组合组件,可以帮助我们快速实现带回车提交的且能批量布局的表单 + +## 使用案例 + + + +> 注意:想要实现回车提交,我们在使用 Submit 组件的时候不能给其传 submit 事件,否则回车提交会失效,这样做的目的是为了防止用户同时在多处写 submit 事件监听器,处理逻辑不一致的话,提交时很难定位问题。 + +## API + +布局相关的 API 属性,我们参考 [FormLayout](./form-layout) 即可,剩下是 Form 组件独有的 API 属性 + +| 属性名 | 类型 | 描述 | 默认值 | +| ---------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------- | ------ | +| form | [Form](https://core.formilyjs.org/api/models/form) | Form 实例 | - | +| component | string | 渲染组件,可以指定为自定义组件渲染 | `form` | +| previewTextPlaceholder | string \| Vue Component | 预览态占位符 | `N/A` | +| onAutoSubmit | `(values:any)=>any` | 回车提交事件回调 | - | +| onAutoSubmitFailed | (feedbacks: [IFormFeedback](https://core.formilyjs.org/api/models/form#iformfeedback)[]) => void | 回车提交校验失败事件回调 | - | diff --git a/docs/guide/index.md b/docs/guide/index.md new file mode 100644 index 0000000..4e97b10 --- /dev/null +++ b/docs/guide/index.md @@ -0,0 +1,126 @@ +# Element-UI + +## 介绍 + +@formily/element 是基于 Element UI 封装的针对表单场景专业级(Professional)组件库,它主要有以下几个特点: + +- 更丰富的组件体系 + + - 布局组件 + + - FormLayout + - FormItem + - FormGrid + - FormButtonGroup + - Space + - Submit + - Reset + + - 输入控件 + - Input + - Password + - Select + - DatePicker + - TimePicker + - InputNumber + - Transfer + - Cascader + - Radio + - Checkbox + - Upload + - Switch + - 场景组件 + - ArrayCards + - ArrayItems + - ArrayTable + - ArrayTabs + - FormCollapse + - FormStep + - FormTab + - FormDialog + - FormDrawer + - Editable + - 阅读态组件 + - PreviewText + +- 主题定制能力 + - follow 组件库的样式体系,更方便定制主题 +- 支持二次封装 + - 所有组件都能二次封装 +- 支持阅读态 + - 提供了 PreviewText 组件,用户可以基于它自己做阅读态封装,灵活性更强 +- 类型更加友好 + - 每个组件都有着极其完整的类型定义,用户在实际开发过程中,可以感受到前所未有的智能提示体验 +- 更完备的布局控制能力 + - 基于 FormLayout、FormItem、FormGrid 组件,提供更智能的布局能力。 +- 更优雅易用的 API + - FormStep,用户只需要关注 FormStep Reactive Model 即可,通过 createFormStep 就可以创建出 Reactive Model,传给 FormStep 组件即可快速通讯。同理,FormTab/FormCollapse 也是一样的通讯模式 + - 弹窗表单,抽屉表单,想必过去,用户几乎每次都得在这两个场景上写大量的代码,这次直接提供了极其简易的 API 让用户使用,最大化提升开发效率 + +## 注意 + +因为 Element UI 是基于 Sass 构建的,如果你用 Webpack 配置请使用以下两个 Sass 工具 + +``` +"sass": "^1.32.11", +"sass-loader": "^8.0.2" +``` + +## 安装 + +```bash +$ npm install --save element-ui +$ npm install --save @formily/core @formily/vue @vue/composition-api @formily/element +``` + +## 按需打包 + +`Element-UI` 按需引入参见 [https://element.eleme.io/#/zh-CN/component/quickstart#an-xu-yin-ru](https://element.eleme.io/#/zh-CN/component/quickstart#an-xu-yin-ru) + +`@formily/element`按需引入需借助 `babel-plugin-import` + +#### 安装 `babel-plugin-import` + +```shell +npm install babel-plugin-import --save-dev +``` + +或者 + +```shell +yarn add babel-plugin-import --dev +``` + +修改 `.babelrc` + +```json +{ + "plugins": [ + [ + "component", + { + "libraryName": "element-ui", + "styleLibraryName": "theme-chalk" + } + ], + [ + "import", + { + "libraryName": "@formily/element", + "libraryDirectory": "esm", + "style": true + } + ] + ] +} +``` + +## Q/A + +问:我想自己封装一套组件库,该怎么做? + +答:如果是开源组件库,可以直接参与项目共建,提供 PR,如果是企业内私有组件库,参考源码即可,源码并没有太多复杂逻辑。 + +问:为什么 ArrayCards/ArrayTable/FormStep 这类组件只支持 Schema 模式,不支持纯 Template 模式? + +答:这就是 Schema 模式的核心优势,借助协议,我们可以做场景化抽象,相反,纯 Template 模式,受限于 Template 的不可解析性,我们很难做到 UI 级别的场景化抽象,更多的只是抽象 Hook。 diff --git a/docs/guide/input-number.md b/docs/guide/input-number.md new file mode 100644 index 0000000..9c17ea3 --- /dev/null +++ b/docs/guide/input-number.md @@ -0,0 +1,19 @@ +# InputNumber + +> 数字输入框 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/input-number](https://element.eleme.io/#/zh-CN/component/input-number) diff --git a/docs/guide/input.md b/docs/guide/input.md new file mode 100644 index 0000000..846471f --- /dev/null +++ b/docs/guide/input.md @@ -0,0 +1,19 @@ +# Input + +> 文本输入框 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/input](https://element.eleme.io/#/zh-CN/component/input) diff --git a/docs/guide/password.md b/docs/guide/password.md new file mode 100644 index 0000000..5eb79c5 --- /dev/null +++ b/docs/guide/password.md @@ -0,0 +1,19 @@ +# Password + +> 密码输入框 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/input](https://element.eleme.io/#/zh-CN/component/input) diff --git a/docs/guide/preview-text.md b/docs/guide/preview-text.md new file mode 100644 index 0000000..4898c92 --- /dev/null +++ b/docs/guide/preview-text.md @@ -0,0 +1,53 @@ +# PreviewText + +> 阅读态组件,主要用来实现类 Input,类 DatePicker 这些组件的阅读态 + +## 简单案例 + + + +## 扩展案例 + + + +## API + +### PreviewText.Input + +参考 [https://element.eleme.io/#/zh-CN/component/input](https://element.eleme.io/#/zh-CN/component/input) + +### PreviewText.Select + +参考 [https://element.eleme.io/#/zh-CN/component/select](https://element.eleme.io/#/zh-CN/component/select) + +### PreviewText.Cascader + +参考 [https://element.eleme.io/#/zh-CN/component/cascader](https://element.eleme.io/#/zh-CN/component/cascader) + +### PreviewText.DatePicker + +参考 [https://element.eleme.io/#/zh-CN/component/date-picker](https://element.eleme.io/#/zh-CN/component/date-picker) + +### PreviewText.TimePicker + +参考 [https://element.eleme.io/#/zh-CN/component/time-picker](https://element.eleme.io/#/zh-CN/component/time-picker) + +### PreviewText + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---------- | ------ | +| value | stirng | 缺省占位符 | N/A | + +### PreviewText.Placeholder + +| 属性名 | 类型 | 描述 | 默认值 | +| ------ | ------ | ---------- | ------ | +| value | stirng | 缺省占位符 | N/A | + +### PreviewText.usePlaceholder + +```ts pure +interface usePreviewTextPlaceholder { + (): string +} +``` diff --git a/docs/guide/radio.md b/docs/guide/radio.md new file mode 100644 index 0000000..fff7df3 --- /dev/null +++ b/docs/guide/radio.md @@ -0,0 +1,26 @@ +# Radio + +> 单选框 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/radio](https://element.eleme.io/#/zh-CN/component/radio) + +### 扩展属性 + +| 属性名 | 类型 | 描述 | 默认值 | +| ---------- | --------------------------------------------------------------------------------- | -------- | ------- | +| options | [RadioProps](https://element.eleme.io/#/zh-CN/component/radio#radio-attributes)[] | 选项 | [] | +| optionType | default/button | 样式类型 | default | diff --git a/docs/guide/reset.md b/docs/guide/reset.md new file mode 100644 index 0000000..a2b42b0 --- /dev/null +++ b/docs/guide/reset.md @@ -0,0 +1,29 @@ +# Reset + +> 重置按钮 + +## 普通重置 + +> 有默认值的控件无法清空 + + + +## 强制清空重置 + + + +## 强制清空重置并校验 + + + +## API + +按钮相关的 API 属性,我们参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) 即可,剩下是 Reset 组件独有的 API 属性 + +### 事件 + +| 属性名 | 类型 | 描述 | 默认值 | +| ---------------------- | ------------------------------------------------------------------------------------------------ | ---------------- | ------------------------------------- | --- | +| onClick | `(event: MouseEvent) => void | boolean` | 点击事件,如果返回 false 可以阻塞重置 | - | +| onResetValidateSuccess | (payload: any) => void | 重置校验成功事件 | - | +| onResetValidateFailed | (feedbacks: [IFormFeedback](https://core.formilyjs.org/api/models/form#iformfeedback)[]) => void | 重置校验失败事件 | - | diff --git a/docs/guide/select.md b/docs/guide/select.md new file mode 100644 index 0000000..956e154 --- /dev/null +++ b/docs/guide/select.md @@ -0,0 +1,41 @@ +# Select + +> 下拉框组件 + +## Markup Schema 同步数据源案例 + + + +## Markup Schema 异步搜索案例 + + + +## Markup Schema 异步联动数据源案例 + + + +## JSON Schema 同步数据源案例 + + + +## JSON Schema 异步联动数据源案例 + + + +## Template 同步数据源案例 + + + +## Template 异步联动数据源案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/select](https://element.eleme.io/#/zh-CN/component/select) + +### 扩展属性 + +| 属性名 | 类型 | 描述 | 默认值 | +| ------- | ------------------------------------------------------------------------------------------ | ---- | ------ | +| options | [SelectOptionProps](https://element.eleme.io/#/zh-CN/component/select#option-attributes)[] | 选项 | [] | diff --git a/docs/guide/space.md b/docs/guide/space.md new file mode 100644 index 0000000..fd1bb87 --- /dev/null +++ b/docs/guide/space.md @@ -0,0 +1,19 @@ +# Space + +> 超级便捷的 Flex 布局组件,可以帮助用户快速实现任何元素的并排紧挨布局 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://ant.design/components/space-cn/](https://ant.design/components/space-cn/) diff --git a/docs/guide/submit.md b/docs/guide/submit.md new file mode 100644 index 0000000..efdf6a4 --- /dev/null +++ b/docs/guide/submit.md @@ -0,0 +1,22 @@ +# Submit + +> 提交按钮 + +## 普通提交 + + + +## 防重提交 + + + +## API + +按钮相关的 API 属性,我们参考 [https://element.eleme.io/#/zh-CN/component/button](https://element.eleme.io/#/zh-CN/component/button) 即可,剩下是 Submit 组件独有的 API 属性 + +| 属性名 | 类型 | 描述 | 默认值 | +| --------------- | ------------------------------------------------------------------------------------------------ | -------------------- | ------------------------------------- | --- | +| onClick | `(event: MouseEvent) => void | boolean` | 点击事件,如果返回 false 可以阻塞提交 | - | +| onSubmit | `(values: any) => Promise | any` | 提交事件回调 | - | +| onSubmitSuccess | (payload: any) => void | 提交成功响应事件 | - | +| onSubmitFailed | (feedbacks: [IFormFeedback](https://core.formilyjs.org/api/models/form#iformfeedback)[]) => void | 提交校验失败事件回调 | - | diff --git a/docs/guide/switch.md b/docs/guide/switch.md new file mode 100644 index 0000000..5d6cd40 --- /dev/null +++ b/docs/guide/switch.md @@ -0,0 +1,19 @@ +# Switch + +> 开关组件 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/switch](https://element.eleme.io/#/zh-CN/component/switch) diff --git a/docs/guide/time-picker.md b/docs/guide/time-picker.md new file mode 100644 index 0000000..ab0e18d --- /dev/null +++ b/docs/guide/time-picker.md @@ -0,0 +1,19 @@ +# TimePicker + +> 时间选择器 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/time-picker](https://element.eleme.io/#/zh-CN/component/time-picker) diff --git a/docs/guide/transfer.md b/docs/guide/transfer.md new file mode 100644 index 0000000..0af1e7d --- /dev/null +++ b/docs/guide/transfer.md @@ -0,0 +1,19 @@ +# Transfer + +> 穿梭框 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/transfer](https://element.eleme.io/#/zh-CN/component/transfer) diff --git a/docs/guide/upload.md b/docs/guide/upload.md new file mode 100644 index 0000000..cc9a1a5 --- /dev/null +++ b/docs/guide/upload.md @@ -0,0 +1,21 @@ +# Upload + +> 上传组件 +> +> 注意:使用上传组件,推荐用户进行二次封装,用户无需关心上传组件与 Formily 的数据通信,只需要处理样式与基本上传配置即可。 + +## Markup Schema 案例 + + + +## JSON Schema 案例 + + + +## Template 案例 + + + +## API + +参考 [https://element.eleme.io/#/zh-CN/component/upload](https://element.eleme.io/#/zh-CN/component/upload) diff --git a/global.config.d.ts b/global.config.d.ts new file mode 100644 index 0000000..336ce12 --- /dev/null +++ b/global.config.d.ts @@ -0,0 +1 @@ +export {} diff --git a/global.config.js b/global.config.js new file mode 100644 index 0000000..aacca1c --- /dev/null +++ b/global.config.js @@ -0,0 +1,31 @@ +'use strict' +var __importDefault = + (this && this.__importDefault) || + function (mod) { + return mod && mod.__esModule ? mod : { default: mod } + } +Object.defineProperty(exports, '__esModule', { value: true }) +var pretty_format_1 = __importDefault(require('pretty-format')) +global['prettyFormat'] = pretty_format_1.default +global['sleep'] = function (time) { + return new Promise(function (resolve) { + return setTimeout(resolve, time) + }) +} +global['requestAnimationFrame'] = function (fn) { + return setTimeout(fn) +} +global.document.documentElement.style['grid-column-gap'] = true +;(function () { + var spy = jest.spyOn(console, 'error') + beforeAll(function () { + spy.mockImplementation(function (message) { + console.log(message) + throw new Error(message) + }) + }) + afterAll(function () { + spy.mockRestore() + }) +})() +//# sourceMappingURL=global.config.js.map diff --git a/global.config.js.map b/global.config.js.map new file mode 100644 index 0000000..2a6921c --- /dev/null +++ b/global.config.js.map @@ -0,0 +1 @@ +{"version":3,"file":"global.config.js","sourceRoot":"","sources":["global.config.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AAExC,MAAM,CAAC,cAAc,CAAC,GAAG,uBAAY,CAAA;AAErC,MAAM,CAAC,OAAO,CAAC,GAAG,UAAC,IAAI;IACrB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,IAAK,OAAA,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAzB,CAAyB,CAAC,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,CAAC,uBAAuB,CAAC,GAAG,UAAC,EAAE,IAAK,OAAA,UAAU,CAAC,EAAE,CAAC,EAAd,CAAc,CAAA;AAExD,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAG9D;AAAA,CAAC;IACA,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACxC,SAAS,CAAC;QACR,GAAG,CAAC,kBAAkB,CAAC,UAAC,OAAO;YAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACpB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC;QACP,GAAG,CAAC,WAAW,EAAE,CAAA;IACnB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,EAAE,CAAA","sourcesContent":["import prettyFormat from 'pretty-format'\n\nglobal['prettyFormat'] = prettyFormat\n\nglobal['sleep'] = (time) => {\n return new Promise((resolve) => setTimeout(resolve, time))\n}\n\nglobal['requestAnimationFrame'] = (fn) => setTimeout(fn)\n\nglobal.document.documentElement.style['grid-column-gap'] = true\n\n// 把 console.error 转换成 error,方便断言\n;(() => {\n const spy = jest.spyOn(console, 'error')\n beforeAll(() => {\n spy.mockImplementation((message) => {\n console.log(message)\n throw new Error(message)\n })\n })\n\n afterAll(() => {\n spy.mockRestore()\n })\n})()\n"]} \ No newline at end of file diff --git a/global.config.ts b/global.config.ts new file mode 100644 index 0000000..7b968bd --- /dev/null +++ b/global.config.ts @@ -0,0 +1,26 @@ +import prettyFormat from 'pretty-format' + +global['prettyFormat'] = prettyFormat + +global['sleep'] = (time) => { + return new Promise((resolve) => setTimeout(resolve, time)) +} + +global['requestAnimationFrame'] = (fn) => setTimeout(fn) + +global.document.documentElement.style['grid-column-gap'] = true + +// 把 console.error 转换成 error,方便断言 +;(() => { + const spy = jest.spyOn(console, 'error') + beforeAll(() => { + spy.mockImplementation((message) => { + console.log(message) + throw new Error(message) + }) + }) + + afterAll(() => { + spy.mockRestore() + }) +})() diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..f90028c --- /dev/null +++ b/jest.config.js @@ -0,0 +1,32 @@ +const path = require('path') +module.exports = { + collectCoverage: true, + verbose: true, + testEnvironment: 'jsdom', + preset: 'ts-jest', + testMatch: ['**/__tests__/**/*.spec.[jt]s?(x)'], + setupFilesAfterEnv: [ + require.resolve('jest-dom/extend-expect'), + './global.config.ts', + ], + // moduleNameMapper: process.env.TEST_ENV === 'production' ? undefined : alias, + globals: { + 'ts-jest': { + babelConfig: false, + tsconfig: './tsconfig.jest.json', + diagnostics: false, + }, + }, + coveragePathIgnorePatterns: [ + '/node_modules/', + '/__tests__/', + '/esm/', + '/lib/', + 'package.json', + '/demo/', + '/packages/builder/src/__tests__/', + '/packages/builder/src/components/', + '/packages/builder/src/configs/', + 'package-lock.json', + ], +} diff --git a/lerna.json b/lerna.json new file mode 100644 index 0000000..70fa5ef --- /dev/null +++ b/lerna.json @@ -0,0 +1,13 @@ +{ + "version": "1.0.0-alpha.0", + "npmClient": "yarn", + "useWorkspaces": true, + "npmClientArgs": ["--ignore-engines"], + "command": { + "version": { + "forcePublish": true, + "exact": true, + "message": "chore(release): 😊 publish %s" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..40e8764 --- /dev/null +++ b/package.json @@ -0,0 +1,103 @@ +{ + "name": "root", + "private": true, + "devEngines": { + "node": "8.x || 9.x || 10.x || 11.x" + }, + "workspaces": [ + "packages/*" + ], + "scripts": { + "start": "vuepress dev docs", + "build": "formily-tpl build", + "build:docs": "vuepress build docs", + "test": "jest --coverage", + "test:prod": "jest --coverage --silent", + "preversion": "yarn install --ignore-engines && npm run build && npm run lint && npm run test", + "version:alpha": "lerna version prerelease --preid alpha", + "version:beta": "lerna version prerelease --preid beta", + "version:rc": "lerna version prerelease --preid rc", + "version:patch": "lerna version patch", + "version:minor": "lerna version minor", + "version:preminor": "lerna version preminor --preid beta", + "version:major": "lerna version major", + "release": "lerna publish from-package --yes", + "lint": "eslint ." + }, + "devDependencies": { + "@formily/template": "^1.0.0-alpha.0", + "@formily/core": "^2.0.0", + "@formily/vue": "^2.0.0", + "@vue/composition-api": "^1.4.0", + "@testing-library/jest-dom": "^5.0.0", + "@testing-library/vue": "^5.6.2", + "@vue/test-utils": "1.0.0-beta.22", + "@types/jest": "^24.0.18", + "@typescript-eslint/eslint-plugin": "^4.9.1", + "@typescript-eslint/parser": "^4.8.2", + "@vuepress-dumi/vuepress-plugin-dumi-previewer": "0.3.3", + "@vuepress-dumi/vuepress-theme-dumi": "0.3.3", + "@vuepress/plugin-back-to-top": "^1.8.2", + "@vuepress/plugin-medium-zoom": "^1.8.2", + "codesandbox": "^2.2.3", + "core-js": "^2.4.0", + "element-ui": "^2.15.7", + "eslint": "^7.14.0", + "eslint-config-prettier": "^7.0.0", + "eslint-plugin-import": "^2.13.0", + "eslint-plugin-markdown": "^2.0.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^3.1.0", + "eslint-plugin-promise": "^4.0.0", + "eslint-plugin-vue": "^7.0.1", + "ghooks": "^2.0.4", + "lint-staged": "^8.2.1", + "@commitlint/cli": "^14.1.0", + "@commitlint/prompt-cli": "^14.1.0", + "@commitlint/config-conventional": "^14.1.0", + "prettier": "^2.2.1", + "pretty-quick": "^3.1.0", + "ts-import-plugin": "1.6.1", + "ts-jest": "^26.0.0", + "ts-node": "^9.1.1", + "lerna": "^4.0.0", + "typescript": "^4.1.5", + "vue": "^2.6.0", + "vuepress": "^1.8.2", + "vuepress-plugin-typescript": "^0.3.1", + "sass": "^1.34.1", + "sass-loader": "^8.0.2", + "raw-loader": "^4.0.0" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/formilyjs/element.git" + }, + "config": { + "ghooks": { + "pre-commit": "lint-staged", + "commit-msg": "commitlint --edit" + } + }, + "lint-staged": { + "*.{ts,tsx,js}": [ + "eslint --ext .ts,.tsx,.js", + "pretty-quick --staged", + "git add" + ], + "*.md": [ + "pretty-quick --staged", + "git add" + ] + }, + "dependencies": {}, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-beta.1", + "vue": "^2.6.0 || >=3.0.0-rc.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } +} diff --git a/packages/.eslintrc b/packages/.eslintrc new file mode 100644 index 0000000..a1e4a5f --- /dev/null +++ b/packages/.eslintrc @@ -0,0 +1,72 @@ +{ + "parser": "@typescript-eslint/parser", + "extends": [ + "plugin:vue/vue3-essential", + "plugin:@typescript-eslint/recommended", + "prettier/@typescript-eslint" + ], + "env": { + "node": true + }, + "plugins": ["@typescript-eslint", "prettier", "markdown"], + "parserOptions": { + "sourceType": "module", + "ecmaVersion": 10, + "ecmaFeatures": { + "jsx": true + } + }, + "rules": { + "prettier/prettier": 0, + // don't force es6 functions to include space before paren + "space-before-function-paren": 0, + // maybe we should no-public + "@typescript-eslint/explicit-member-accessibility": 0, + "@typescript-eslint/interface-name-prefix": 0, + "@typescript-eslint/no-explicit-any": 0, + "@typescript-eslint/explicit-function-return-type": 0, + "@typescript-eslint/no-parameter-properties": 0, + "@typescript-eslint/array-type": 0, + "@typescript-eslint/no-object-literal-type-assertion": 0, + "@typescript-eslint/no-use-before-define": 0, + "@typescript-eslint/no-unused-vars": 1, + "@typescript-eslint/no-namespace": 0, + "@typescript-eslint/ban-ts-comment": 0, + "@typescript-eslint/ban-types": 0, + "@typescript-eslint/adjacent-overload-signatures": 0, + "@typescript-eslint/explicit-module-boundary-types": 0, + "@typescript-eslint/triple-slash-reference": 0, + "@typescript-eslint/no-empty-function": 0, + "no-console": [ + "error", + { + "allow": ["warn", "error", "info"] + } + ], + "prefer-const": 0, + "no-var": 1, + "prefer-rest-params": 0 + }, + "overrides": [ + { + "files": ["**/*.md.{jsx,tsx}"], + "processor": "markdown/markdown" + }, + { + "files": ["**/*.md/*.{jsx,tsx}"], + "rules": { + "@typescript-eslint/no-unused-vars": "error", + "no-unused-vars": "error", + "no-console": "off" + } + }, + { + "files": ["**/*.md/*.{js,ts}"], + "rules": { + "@typescript-eslint/no-unused-vars": "off", + "no-unused-vars": "off", + "no-console": "off" + } + } + ] +} diff --git a/packages/components/.npmignore b/packages/components/.npmignore new file mode 100644 index 0000000..1ff3374 --- /dev/null +++ b/packages/components/.npmignore @@ -0,0 +1,11 @@ +node_modules +*.log +build +docs +doc-site +__tests__ +.eslintrc +jest.config.js +tsconfig.json +.umi +src \ No newline at end of file diff --git a/packages/components/README.md b/packages/components/README.md new file mode 100644 index 0000000..7727db7 --- /dev/null +++ b/packages/components/README.md @@ -0,0 +1,9 @@ +# @formily/element + +> Formily Component Adaptor + +## Install + +```bash +npm install @formily/element --save +``` diff --git a/packages/components/README.zh-CN.md b/packages/components/README.zh-CN.md new file mode 100644 index 0000000..a0ae0ee --- /dev/null +++ b/packages/components/README.zh-CN.md @@ -0,0 +1,9 @@ +# @formily/element + +> Formily 组件库桥接层 + +## 安装 + +```bash +npm install @formily/element --save +``` diff --git a/packages/components/builder.config.ts b/packages/components/builder.config.ts new file mode 100644 index 0000000..c840ea0 --- /dev/null +++ b/packages/components/builder.config.ts @@ -0,0 +1,7 @@ +import { IBuilderConfig } from '@formily/template' + +export const BuilderConfig: IBuilderConfig = { + targetLibName: 'element-ui', + targetLibCjsDir: 'lib', + targetLibEsDir: 'es', +} diff --git a/packages/components/package.json b/packages/components/package.json new file mode 100644 index 0000000..1b2590b --- /dev/null +++ b/packages/components/package.json @@ -0,0 +1,61 @@ +{ + "name": "@formily/element", + "version": "2.0.2", + "license": "MIT", + "main": "lib", + "types": "lib/index.d.ts", + "engines": { + "npm": ">=3.0.0" + }, + "module": "esm", + "umd:main": "dist/formily.element.umd.production.js", + "unpkg": "dist/formily.element.umd.production.js", + "jsdelivr": "dist/formily.element.umd.production.js", + "jsnext:main": "esm", + "sideEffects": [ + "dist/*", + "esm/*.js", + "lib/*.js", + "src/*.ts", + "*.less", + "*.scss", + "**/*/style.js" + ], + "scripts": { + "build": "formily-tpl build" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/formilyjs/element.git" + }, + "bugs": { + "url": "https://github.com/formilyjs/element/issues" + }, + "homepage": "https://github.com/formilyjs/element#readme", + "publishConfig": { + "access": "public" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-beta.1", + "vue": "^2.6.0 || >=3.0.0-rc.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + }, + "dependencies": { + "@formily/core": "^2.0.2", + "@formily/grid": "^2.0.2", + "@formily/json-schema": "^2.0.2", + "@formily/reactive": "^2.0.2", + "@formily/reactive-vue": "^2.0.2", + "@formily/shared": "^2.0.2", + "@formily/vue": "^2.0.2", + "portal-vue": "^2.1.7", + "vue-slicksort": "^1.2.0" + }, + "devDependencies": { + "vue": "^2.6.0" + } +} diff --git a/packages/components/src/__builtins__/configs/index.ts b/packages/components/src/__builtins__/configs/index.ts new file mode 100644 index 0000000..ac6f4d3 --- /dev/null +++ b/packages/components/src/__builtins__/configs/index.ts @@ -0,0 +1 @@ +export const stylePrefix = 'formily-element' diff --git a/packages/components/src/__builtins__/index.ts b/packages/components/src/__builtins__/index.ts new file mode 100644 index 0000000..8bf1dec --- /dev/null +++ b/packages/components/src/__builtins__/index.ts @@ -0,0 +1,2 @@ +export * from './configs' +export * from './shared' diff --git a/packages/components/src/__builtins__/shared/create-context.ts b/packages/components/src/__builtins__/shared/create-context.ts new file mode 100644 index 0000000..e3b2caf --- /dev/null +++ b/packages/components/src/__builtins__/shared/create-context.ts @@ -0,0 +1,57 @@ +import type { Component } from 'vue' +import { + defineComponent, + provide, + inject, + readonly, + InjectionKey, + ref, + Ref, + toRef, +} from '@vue/composition-api' + +export type CreateContext = { + Provider: Component + Consumer: Component + injectKey: InjectionKey> +} + +export const createContext = (defaultValue?: T): CreateContext => { + const injectKey: InjectionKey> = Symbol() + + return { + Provider: defineComponent({ + name: 'ContextProvider', + props: { + value: { + type: null, + default() { + return defaultValue ?? null + }, + }, + }, + setup(props, { slots }) { + const value = toRef(props, 'value') + provide(injectKey, readonly(value)) + + return () => slots?.default?.() + }, + }), + + Consumer: defineComponent({ + name: 'ContextConsumer', + setup(_props, { slots }) { + const value = inject(injectKey) + + return () => slots?.default?.(value) + }, + }), + injectKey, + } +} + +export const useContext = (context: CreateContext) => { + const key = context.injectKey + + return inject(key, ref(null)) +} diff --git a/packages/components/src/__builtins__/shared/index.ts b/packages/components/src/__builtins__/shared/index.ts new file mode 100644 index 0000000..25aee28 --- /dev/null +++ b/packages/components/src/__builtins__/shared/index.ts @@ -0,0 +1,7 @@ +export * from './transform-component' +export * from './resolve-component' +export * from './create-context' +export * from './utils' +export * from './portal' +export * from './loading' +export * from './types' diff --git a/packages/components/src/__builtins__/shared/loading.ts b/packages/components/src/__builtins__/shared/loading.ts new file mode 100644 index 0000000..af33cf2 --- /dev/null +++ b/packages/components/src/__builtins__/shared/loading.ts @@ -0,0 +1,20 @@ +import { Loading } from 'element-ui' + +export const loading = async ( + loadingText = 'Loading...', + processor: () => Promise +) => { + let loadingInstance = null + let loading = setTimeout(() => { + loadingInstance = Loading.service({ + text: loadingText, + background: 'transparent', + }) + }, 100) + try { + return await processor() + } finally { + loadingInstance?.close() + clearTimeout(loading) + } +} diff --git a/packages/components/src/__builtins__/shared/portal.ts b/packages/components/src/__builtins__/shared/portal.ts new file mode 100644 index 0000000..7ec1698 --- /dev/null +++ b/packages/components/src/__builtins__/shared/portal.ts @@ -0,0 +1,43 @@ +import { defineComponent, onBeforeUnmount } from '@vue/composition-api' +import { h, Fragment } from '@formily/vue' +export interface IPortalProps { + id?: string | symbol +} + +const PortalMap = new Map() + +export const createPortalProvider = (id: string | symbol) => { + const Portal = defineComponent({ + name: 'ProtalProvider', + props: { + id: { + type: [String, Symbol], + default: id, + }, + }, + + setup(props) { + onBeforeUnmount(() => { + const { id } = props + if (id && PortalMap.has(id)) { + PortalMap.delete(id) + } + }) + }, + + render() { + const { id } = this + if (id && !PortalMap.has(id)) { + PortalMap.set(id, this) + } + + return h(Fragment, {}, this.$scopedSlots) + }, + }) + + return Portal +} + +export function getProtalContext(id: string | symbol) { + return PortalMap.get(id) +} diff --git a/packages/components/src/__builtins__/shared/resolve-component.ts b/packages/components/src/__builtins__/shared/resolve-component.ts new file mode 100644 index 0000000..b9ff661 --- /dev/null +++ b/packages/components/src/__builtins__/shared/resolve-component.ts @@ -0,0 +1,23 @@ +import { Component } from 'vue' +import { h, toRaw } from '@vue/composition-api' +import { SlotTypes } from '.' +import { isVnode } from './utils' + +export const resolveComponent = ( + child?: SlotTypes, + props?: Record +) => { + if (child) { + if (typeof child === 'string' || typeof child === 'number') { + return child + } else if (typeof child === 'function') { + return (child as Function)(props) + } else if (isVnode(child)) { + return child + } else { + return h(toRaw(child as Component), { props }) + } + } + + return null +} diff --git a/packages/components/src/__builtins__/shared/transform-component.ts b/packages/components/src/__builtins__/shared/transform-component.ts new file mode 100644 index 0000000..2aef0ce --- /dev/null +++ b/packages/components/src/__builtins__/shared/transform-component.ts @@ -0,0 +1,65 @@ +import type { Component } from 'vue' +import { merge } from '@formily/shared' +import { h } from '@formily/vue' +import { isVue2, defineComponent } from 'vue-demi' + +type ListenersTransformRules = Record + +export const transformComponent = >( + tag: any, + transformRules?: ListenersTransformRules, + defaultProps?: Partial +): Component | any => { + if (isVue2) { + return defineComponent({ + setup(props, { attrs, slots, listeners }) { + return () => { + const data = { + attrs: { + ...attrs, + }, + on: { + ...listeners, + }, + } + + if (transformRules) { + const transformListeners = transformRules + Object.keys(transformListeners).forEach((extract) => { + if (data.on !== undefined) { + data.on[transformListeners[extract]] = listeners[extract] + } + }) + } + if (defaultProps) { + data.attrs = merge(defaultProps, data.attrs) + } + + return h(tag, data, slots) + } + }, + }) + } else { + return defineComponent({ + setup(props, { attrs, slots }) { + return () => { + let data = { + ...attrs, + } + if (transformRules) { + const listeners = transformRules + Object.keys(listeners).forEach((extract) => { + const event = listeners[extract] + data[`on${event[0].toUpperCase()}${event.slice(1)}`] = + attrs[`on${extract[0].toUpperCase()}${extract.slice(1)}`] + }) + } + if (defaultProps) { + data = merge(defaultProps, data) + } + return h(tag, data, slots) + } + }, + }) + } +} diff --git a/packages/components/src/__builtins__/shared/types.ts b/packages/components/src/__builtins__/shared/types.ts new file mode 100644 index 0000000..2daff05 --- /dev/null +++ b/packages/components/src/__builtins__/shared/types.ts @@ -0,0 +1,8 @@ +import { Component, VNode } from 'vue' + +export type SlotTypes = + | Component + | string + | number + | ((props: Record) => VNode[] | VNode) + | VNode diff --git a/packages/components/src/__builtins__/shared/utils.ts b/packages/components/src/__builtins__/shared/utils.ts new file mode 100644 index 0000000..e987034 --- /dev/null +++ b/packages/components/src/__builtins__/shared/utils.ts @@ -0,0 +1,35 @@ +export function isValidElement(element) { + return ( + isVueOptions(element) || + (element && + typeof element === 'object' && + 'componentOptions' in element && + 'context' in element && + element.tag !== undefined) + ) // remove text node +} + +export function isVnode(element: any): boolean { + return ( + element && + typeof element === 'object' && + 'componentOptions' in element && + 'context' in element && + element.tag !== undefined + ) +} + +export function isVueOptions(options) { + return ( + options && + (typeof options.template === 'string' || + typeof options.render === 'function') + ) +} + +export function composeExport( + s0: T0, + s1: T1 +): T0 & T1 { + return Object.assign(s0, s1) +} diff --git a/packages/components/src/__builtins__/styles/common.scss b/packages/components/src/__builtins__/styles/common.scss new file mode 100644 index 0000000..6db266f --- /dev/null +++ b/packages/components/src/__builtins__/styles/common.scss @@ -0,0 +1,15 @@ +$formily-prefix: 'formily-element'; +$namespace: 'el'; +@import '~element-ui/packages/theme-chalk/src/common/var.scss'; + +@mixin active { + border-color: $--color-primary; + outline: 0; + border-right-width: $--border-width-base !important; +} + +@mixin hover { + border-color: $--border-color-hover; + outline: 0; + border-right-width: $--border-width-base !important; +} diff --git a/packages/components/src/array-base/index.ts b/packages/components/src/array-base/index.ts new file mode 100644 index 0000000..1d9771d --- /dev/null +++ b/packages/components/src/array-base/index.ts @@ -0,0 +1,432 @@ +import { + defineComponent, + provide, + InjectionKey, + Ref, + inject, + toRefs, + ref, + onBeforeUnmount, + PropType, +} from '@vue/composition-api' +import { Fragment, useField, useFieldSchema, h } from '@formily/vue' +import { isValid, uid, clone } from '@formily/shared' +import { ArrayField } from '@formily/core' +import { stylePrefix } from '../__builtins__/configs' + +import type { Button as ButtonProps } from 'element-ui' +import { Button } from 'element-ui' +import type { Schema } from '@formily/json-schema' +import { HandleDirective } from 'vue-slicksort' +import { composeExport } from '../__builtins__/shared' + +export interface IArrayBaseAdditionProps extends ButtonProps { + title?: string + method?: 'push' | 'unshift' + defaultValue?: any +} + +export type ArrayBaseMixins = { + Addition?: typeof ArrayBaseAddition + Remove?: typeof ArrayBaseRemove + MoveUp?: typeof ArrayBaseMoveUp + MoveDown?: typeof ArrayBaseMoveDown + SortHandle?: typeof ArrayBaseSortHandle + Index?: typeof ArrayBaseIndex + useArray?: typeof useArray + useIndex?: typeof useIndex + useRecord?: typeof useRecord +} + +export interface IArrayBaseProps { + disabled?: boolean + keyMap?: WeakMap | String[] | null +} + +export interface IArrayBaseItemProps { + index: number + record: any +} + +export interface IArrayBaseContext { + field: Ref + schema: Ref + props: IArrayBaseProps + listeners: { + [key in string]?: Function + } + keyMap?: WeakMap | String[] | null +} + +const ArrayBaseSymbol: InjectionKey = + Symbol('ArrayBaseContext') +const ItemSymbol: InjectionKey = Symbol('ItemContext') + +const useArray = () => { + return inject(ArrayBaseSymbol, null) +} + +const useIndex = (index?: number) => { + const { index: indexRef } = toRefs(inject(ItemSymbol)) + return indexRef ?? ref(index) +} + +const useRecord = (record?: number) => { + const { record: recordRef } = toRefs(inject(ItemSymbol)) + return recordRef ?? ref(record) +} + +const isObjectValue = (schema: Schema) => { + if (Array.isArray(schema?.items)) return isObjectValue(schema.items[0]) + + if (schema?.items?.type === 'array' || schema?.items?.type === 'object') { + return true + } + return false +} + +const useKey = (schema: Schema) => { + const isObject = isObjectValue(schema) + let keyMap: WeakMap | String[] | null = null + + if (isObject) { + keyMap = new WeakMap() + } else { + keyMap = [] + } + + onBeforeUnmount(() => { + keyMap = null + }) + + return { + keyMap, + getKey: (record: any, index?: number) => { + if (keyMap instanceof WeakMap) { + if (!keyMap.has(record)) { + keyMap.set(record, uid()) + } + return `${keyMap.get(record)}-${index}` + } + + if (!keyMap[index]) { + keyMap[index] = uid() + } + + return `${keyMap[index]}-${index}` + }, + } +} + +const getDefaultValue = (defaultValue: any, schema: Schema): any => { + if (isValid(defaultValue)) return clone(defaultValue) + if (Array.isArray(schema?.items)) + return getDefaultValue(defaultValue, schema.items[0]) + if (schema?.items?.type === 'array') return [] + if (schema?.items?.type === 'boolean') return true + if (schema?.items?.type === 'date') return '' + if (schema?.items?.type === 'datetime') return '' + if (schema?.items?.type === 'number') return 0 + if (schema?.items?.type === 'object') return {} + if (schema?.items?.type === 'string') return '' + return null +} + +const ArrayBaseInner = defineComponent({ + name: 'ArrayBase', + props: { + disabled: { + type: Boolean, + default: false, + }, + keyMap: { + type: [WeakMap, Array] as PropType | String[]>, + }, + }, + setup(props, { slots, listeners }) { + const field = useField() + const schema = useFieldSchema() + + provide(ArrayBaseSymbol, { + field, + schema, + props, + listeners, + keyMap: props.keyMap, + }) + return () => { + return h(Fragment, {}, slots) + } + }, +}) + +const ArrayBaseItem = defineComponent({ + name: 'ArrayBaseItem', + props: ['index', 'record'], + setup(props: IArrayBaseItemProps, { slots }) { + provide(ItemSymbol, props) + return () => { + return h(Fragment, {}, slots) + } + }, +}) + +const ArrayBaseSortHandle = defineComponent({ + name: 'ArrayBaseSortHandle', + props: ['index'], + directives: { + handle: HandleDirective, + }, + setup(props, { attrs }) { + const array = useArray() + const prefixCls = `${stylePrefix}-array-base` + + return () => { + if (!array) return null + if (array.field.value?.pattern !== 'editable') return null + + return h( + Button, + { + directives: [{ name: 'handle' }], + class: [`${prefixCls}-sort-handle`], + attrs: { + size: 'mini', + type: 'text', + icon: 'el-icon-rank', + ...attrs, + }, + }, + {} + ) + } + }, +}) + +const ArrayBaseIndex = defineComponent({ + name: 'ArrayBaseIndex', + setup(props, { attrs }) { + const index = useIndex() + const prefixCls = `${stylePrefix}-array-base` + return () => { + return h( + 'span', + { + class: `${prefixCls}-index`, + attrs, + }, + { + default: () => [`#${index.value + 1}.`], + } + ) + } + }, +}) + +const ArrayBaseAddition = defineComponent({ + name: 'ArrayBaseAddition', + props: ['title', 'method', 'defaultValue'], + setup(props: IArrayBaseAdditionProps, { listeners }) { + const self = useField() + const array = useArray() + const prefixCls = `${stylePrefix}-array-base` + return () => { + if (!array) return null + if (array?.field.value.pattern !== 'editable') return null + return h( + Button, + { + class: `${prefixCls}-addition`, + attrs: { + type: 'ghost', + icon: 'qax-icon-Alone-Plus', + ...props, + }, + on: { + ...listeners, + click: (e) => { + if (array.props?.disabled) return + const defaultValue = getDefaultValue( + props.defaultValue, + array?.schema.value + ) + if (props.method === 'unshift') { + array?.field?.value.unshift(defaultValue) + array.listeners?.add?.(0) + } else { + array?.field?.value.push(defaultValue) + array.listeners?.add?.(array?.field?.value?.value?.length - 1) + } + if (listeners.click) { + listeners.click(e) + } + }, + }, + }, + { + default: () => [self.value.title || props.title], + } + ) + } + }, +}) + +const ArrayBaseRemove = defineComponent< + ButtonProps & { title?: string; index?: number } +>({ + name: 'ArrayBaseRemove', + props: ['title', 'index'], + setup(props, { attrs, listeners }) { + const indexRef = useIndex(props.index) + const base = useArray() + const prefixCls = `${stylePrefix}-array-base` + return () => { + if (base?.field.value.pattern !== 'editable') return null + return h( + Button, + { + class: `${prefixCls}-remove`, + attrs: { + type: 'text', + size: 'mini', + icon: 'el-icon-delete', + ...attrs, + }, + on: { + ...listeners, + click: (e: MouseEvent) => { + e.stopPropagation() + if (Array.isArray(base?.keyMap)) { + base?.keyMap?.splice(indexRef.value, 1) + } + + base?.field.value.remove(indexRef.value as number) + base?.listeners?.remove?.(indexRef.value as number) + + if (listeners.click) { + listeners.click(e) + } + }, + }, + }, + { + default: () => [props.title], + } + ) + } + }, +}) + +const ArrayBaseMoveDown = defineComponent< + ButtonProps & { title?: string; index?: number } +>({ + name: 'ArrayBaseMoveDown', + props: ['title', 'index'], + setup(props, { attrs, listeners }) { + const indexRef = useIndex(props.index) + const base = useArray() + const prefixCls = `${stylePrefix}-array-base` + return () => { + if (base?.field.value.pattern !== 'editable') return null + return h( + Button, + { + class: `${prefixCls}-move-down`, + attrs: { + size: 'mini', + type: 'text', + icon: 'el-icon-arrow-down', + ...attrs, + }, + on: { + ...listeners, + click: (e: MouseEvent) => { + e.stopPropagation() + if (Array.isArray(base?.keyMap)) { + base.keyMap.splice( + indexRef.value + 1, + 0, + base.keyMap.splice(indexRef.value, 1)[0] + ) + } + + base?.field.value.moveDown(indexRef.value as number) + base?.listeners?.moveDown?.(indexRef.value as number) + + if (listeners.click) { + listeners.click(e) + } + }, + }, + }, + { + default: () => [props.title], + } + ) + } + }, +}) + +const ArrayBaseMoveUp = defineComponent< + ButtonProps & { title?: string; index?: number } +>({ + name: 'ArrayBaseMoveUp', + props: ['title', 'index'], + setup(props, { attrs, listeners }) { + const indexRef = useIndex(props.index) + const base = useArray() + const prefixCls = `${stylePrefix}-array-base` + return () => { + if (base?.field.value.pattern !== 'editable') return null + return h( + Button, + { + class: `${prefixCls}-move-up`, + attrs: { + size: 'mini', + type: 'text', + icon: 'el-icon-arrow-up', + ...attrs, + }, + on: { + ...listeners, + click: (e: MouseEvent) => { + e.stopPropagation() + if (Array.isArray(base?.keyMap)) { + base.keyMap.splice( + indexRef.value - 1, + 0, + base.keyMap.splice(indexRef.value, 1)[0] + ) + } + + base?.field.value.moveUp(indexRef.value as number) + base?.listeners?.moveUp?.(indexRef.value as number) + + if (listeners.click) { + listeners.click(e) + } + }, + }, + }, + { + default: () => [props.title], + } + ) + } + }, +}) + +export const ArrayBase = composeExport(ArrayBaseInner, { + Index: ArrayBaseIndex, + Item: ArrayBaseItem, + SortHandle: ArrayBaseSortHandle, + Addition: ArrayBaseAddition, + Remove: ArrayBaseRemove, + MoveDown: ArrayBaseMoveDown, + MoveUp: ArrayBaseMoveUp, + useArray: useArray, + useIndex: useIndex, + useKey: useKey, + useRecord: useRecord, +}) diff --git a/packages/components/src/array-base/style.scss b/packages/components/src/array-base/style.scss new file mode 100644 index 0000000..a630198 --- /dev/null +++ b/packages/components/src/array-base/style.scss @@ -0,0 +1,32 @@ +@import '../__builtins__/styles/common.scss'; + +$array-base-prefix-cls: '#{$formily-prefix}-array-base'; + +.#{$array-base-prefix-cls}-addition { + transition: $--all-transition; +} + +.#{$array-base-prefix-cls}-remove { + i { + font-size: $--font-size-base; + } +} + +.#{$array-base-prefix-cls}-move-down { + i { + font-size: $--font-size-base; + } +} + +.#{$array-base-prefix-cls}-move-up { + i { + font-size: $--font-size-base; + } +} + +.#{$array-base-prefix-cls}-sort-handle { + i { + font-size: $--font-size-base; + cursor: move; + } +} diff --git a/packages/components/src/array-base/style.ts b/packages/components/src/array-base/style.ts new file mode 100644 index 0000000..5760431 --- /dev/null +++ b/packages/components/src/array-base/style.ts @@ -0,0 +1,2 @@ +import 'element-ui/packages/theme-chalk/src/button.scss' +import './style.scss' diff --git a/packages/components/src/array-cards/index.ts b/packages/components/src/array-cards/index.ts new file mode 100644 index 0000000..53bbc6c --- /dev/null +++ b/packages/components/src/array-cards/index.ts @@ -0,0 +1,248 @@ +import { defineComponent } from '@vue/composition-api' +import { Card, Empty, Row } from 'element-ui' +import type { Card as CardProps } from 'element-ui' +import { ArrayField } from '@formily/core' +import { useField, useFieldSchema, RecursionField, h } from '@formily/vue' +import { observer } from '@formily/reactive-vue' +import { ISchema } from '@formily/json-schema' +import { stylePrefix } from '../__builtins__/configs' +import { ArrayBase } from '../array-base' +import { composeExport } from '../__builtins__/shared' + +const isAdditionComponent = (schema: ISchema) => { + return schema['x-component']?.indexOf('Addition') > -1 +} + +const isIndexComponent = (schema: ISchema) => { + return schema['x-component']?.indexOf('Index') > -1 +} + +const isRemoveComponent = (schema: ISchema) => { + return schema['x-component']?.indexOf('Remove') > -1 +} + +const isMoveUpComponent = (schema: ISchema) => { + return schema['x-component']?.indexOf('MoveUp') > -1 +} + +const isMoveDownComponent = (schema: ISchema) => { + return schema['x-component']?.indexOf('MoveDown') > -1 +} + +const isOperationComponent = (schema: ISchema) => { + return ( + isAdditionComponent(schema) || + isRemoveComponent(schema) || + isMoveDownComponent(schema) || + isMoveUpComponent(schema) + ) +} +const ArrayCardsInner = observer( + defineComponent({ + name: 'FArrayCards', + props: [], + setup(props, { attrs }) { + const fieldRef = useField() + const schemaRef = useFieldSchema() + const prefixCls = `${stylePrefix}-array-cards` + const { getKey, keyMap } = ArrayBase.useKey(schemaRef.value) + + return () => { + const field = fieldRef.value + const schema = schemaRef.value + const dataSource = Array.isArray(field.value) ? field.value : [] + if (!schema) throw new Error('can not found schema object') + + const renderItems = () => { + return dataSource?.map((item, index) => { + const items = Array.isArray(schema.items) + ? schema.items[index] || schema.items[0] + : schema.items + + const title = h( + 'span', + {}, + { + default: () => [ + h( + RecursionField, + { + props: { + schema: items, + name: index, + filterProperties: (schema) => { + if (!isIndexComponent(schema)) return false + return true + }, + onlyRenderProperties: true, + }, + }, + {} + ), + attrs.title || field.title, + ], + } + ) + const extra = h( + 'span', + {}, + { + default: () => [ + h( + RecursionField, + { + props: { + schema: items, + name: index, + filterProperties: (schema) => { + if (!isOperationComponent(schema)) return false + return true + }, + onlyRenderProperties: true, + }, + }, + {} + ), + attrs.extra, + ], + } + ) + const content = h( + RecursionField, + { + props: { + schema: items, + name: index, + filterProperties: (schema) => { + if (isIndexComponent(schema)) return false + if (isOperationComponent(schema)) return false + return true + }, + }, + }, + {} + ) + + return h( + ArrayBase.Item, + { + key: getKey(item, index), + props: { + index, + record: item, + }, + }, + { + default: () => + h( + Card, + { + class: [`${prefixCls}-item`], + attrs: { + shadow: 'never', + ...attrs, + }, + }, + { + default: () => [content], + header: () => + h( + Row, + { + props: { + type: 'flex', + justify: 'space-between', + }, + }, + { + default: () => [title, extra], + } + ), + } + ), + } + ) + }) + } + const renderAddition = () => { + return schema.reduceProperties((addition, schema) => { + if (isAdditionComponent(schema)) { + return h( + RecursionField, + { + props: { + schema, + name: 'addition', + }, + }, + {} + ) + } + return addition + }, null) + } + const renderEmpty = () => { + if (dataSource?.length) return + return h( + Card, + { + class: [`${prefixCls}-item`], + attrs: { + shadow: 'never', + ...attrs, + header: attrs.title || field.title, + }, + }, + { + default: () => + h( + Empty, + { props: { description: 'No Data', imageSize: 100 } }, + {} + ), + } + ) + } + + return h( + 'div', + { + class: [prefixCls], + }, + { + default: () => + h( + ArrayBase, + { + props: { + keyMap, + }, + }, + { + default: () => [ + renderEmpty(), + renderItems(), + renderAddition(), + ], + } + ), + } + ) + } + }, + }) +) + +export const ArrayCards = composeExport(ArrayCardsInner, { + Index: ArrayBase.Index, + SortHandle: ArrayBase.SortHandle, + Addition: ArrayBase.Addition, + Remove: ArrayBase.Remove, + MoveDown: ArrayBase.MoveDown, + MoveUp: ArrayBase.MoveUp, + useArray: ArrayBase.useArray, + useIndex: ArrayBase.useIndex, + useRecord: ArrayBase.useRecord, +}) + +export default ArrayCards diff --git a/packages/components/src/array-cards/style.scss b/packages/components/src/array-cards/style.scss new file mode 100644 index 0000000..3eee7f5 --- /dev/null +++ b/packages/components/src/array-cards/style.scss @@ -0,0 +1,33 @@ +@import '../__builtins__/styles/common.scss'; + +$array-table-prefix-cls: '#{$formily-prefix}-array-cards'; + +.#{$array-table-prefix-cls} { + .el-card__header { + padding-top: 12.5px; + padding-bottom: 12.5px; + } + .el-empty { + padding: 0; + } + + .#{$array-table-prefix-cls}-item { + margin-bottom: 10px; + } + + .#{$formily-prefix}-array-base-addition { + width: 100%; + border: $--border-width-base dashed $--border-color-base; + + &:hover { + background-color: $--color-white; + border-color: $--border-color-hover; + } + + &:active, + &:focus { + background-color: $--color-white; + border-color: $--color-primary; + } + } +} diff --git a/packages/components/src/array-cards/style.ts b/packages/components/src/array-cards/style.ts new file mode 100644 index 0000000..1c1cc62 --- /dev/null +++ b/packages/components/src/array-cards/style.ts @@ -0,0 +1,7 @@ +import './style.scss' +import 'element-ui/packages/theme-chalk/src/card.scss' +import 'element-ui/packages/theme-chalk/src/empty.scss' +import 'element-ui/packages/theme-chalk/src/row.scss' + +// 依赖 +import '../array-base/style' diff --git a/packages/components/src/array-collapse/index.ts b/packages/components/src/array-collapse/index.ts new file mode 100644 index 0000000..b4d8bca --- /dev/null +++ b/packages/components/src/array-collapse/index.ts @@ -0,0 +1,388 @@ +import { defineComponent, ref, watchEffect, Ref } from '@vue/composition-api' +import { Card, Collapse, CollapseItem, Empty, Row, Badge } from 'element-ui' +import { ArrayField } from '@formily/core' +import type { + Collapse as CollapseProps, + CollapseItem as CollapseItemProps, +} from 'element-ui' +import { + useField, + useFieldSchema, + RecursionField, + h, + Fragment, +} from '@formily/vue' +import { observer } from '@formily/reactive-vue' +import { ISchema } from '@formily/json-schema' +import { stylePrefix } from '../__builtins__/configs' +import { ArrayBase } from '../array-base' +import { composeExport } from '../__builtins__/shared' + +export interface IArrayCollapseProps extends CollapseProps { + defaultOpenPanelCount?: number +} + +const isAdditionComponent = (schema: ISchema) => { + return schema['x-component']?.indexOf('Addition') > -1 +} + +const isIndexComponent = (schema: ISchema) => { + return schema['x-component']?.indexOf('Index') > -1 +} + +const isRemoveComponent = (schema: ISchema) => { + return schema['x-component']?.indexOf('Remove') > -1 +} + +const isMoveUpComponent = (schema: ISchema) => { + return schema['x-component']?.indexOf('MoveUp') > -1 +} + +const isMoveDownComponent = (schema: ISchema) => { + return schema['x-component']?.indexOf('MoveDown') > -1 +} + +const isOperationComponent = (schema: ISchema) => { + return ( + isAdditionComponent(schema) || + isRemoveComponent(schema) || + isMoveDownComponent(schema) || + isMoveUpComponent(schema) + ) +} + +const range = (count: number) => Array.from({ length: count }).map((_, i) => i) + +const takeDefaultActiveKeys = ( + dataSourceLength: number, + defaultOpenPanelCount: number, + accordion = false +) => { + if (accordion) { + return 0 + } + if (dataSourceLength < defaultOpenPanelCount) return range(dataSourceLength) + + return range(defaultOpenPanelCount) +} + +const insertActiveKeys = ( + activeKeys: number[] | number, + index: number, + accordion = false +) => { + if (accordion) return index + if ((activeKeys as number[]).length <= index) + return (activeKeys as number[]).concat(index) + return (activeKeys as number[]).reduce((buf, key) => { + if (key < index) return buf.concat(key) + if (key === index) return buf.concat([key, key + 1]) + return buf.concat(key + 1) + }, []) +} + +export const ArrayCollapseInner = observer( + defineComponent({ + name: 'FArrayCollapse', + props: { + defaultOpenPanelCount: { + type: Number, + default: 5, + }, + }, + setup(props, { attrs }) { + const fieldRef = useField() + const schemaRef = useFieldSchema() + + const prefixCls = `${stylePrefix}-array-collapse` + const activeKeys: Ref = ref([]) + + watchEffect(() => { + const field = fieldRef.value + const dataSource = Array.isArray(field.value) ? field.value.slice() : [] + if (!field.modified && dataSource.length) { + activeKeys.value = takeDefaultActiveKeys( + dataSource.length, + props.defaultOpenPanelCount, + attrs.accordion as boolean + ) + } + }) + + const { getKey, keyMap } = ArrayBase.useKey(schemaRef.value) + + return () => { + const field = fieldRef.value + const schema = schemaRef.value + const dataSource = Array.isArray(field.value) ? field.value.slice() : [] + if (!schema) throw new Error('can not found schema object') + + const renderItems = () => { + if (!dataSource.length) { + return null + } + + const items = dataSource?.map((item, index) => { + const items = Array.isArray(schema.items) + ? schema.items[index] || schema.items[0] + : schema.items + const key = getKey(item, index) + const panelProps = field + .query(`${field.address}.${index}`) + .get('componentProps') + const props: CollapseItemProps = items['x-component-props'] + const headerTitle = panelProps?.title || props.title || field.title + const path = field.address.concat(index) + const errors = field.form.queryFeedbacks({ + type: 'error', + address: `${path}.**`, + }) + + const title = h( + ArrayBase.Item, + { + props: { + index, + record: item, + }, + }, + { + default: () => [ + h( + RecursionField, + { + props: { + schema: items, + name: index, + filterProperties: (schema) => { + if (!isIndexComponent(schema)) return false + return true + }, + onlyRenderProperties: true, + }, + }, + {} + ), + errors.length + ? h( + Badge, + { + class: [`${prefixCls}-errors-badge`], + props: { + value: errors.length, + }, + }, + { default: () => headerTitle } + ) + : headerTitle, + ], + } + ) + const extra = h( + ArrayBase.Item, + { + props: { + index, + record: item, + }, + }, + { + default: () => [ + h( + RecursionField, + { + props: { + schema: items, + name: index, + filterProperties: (schema) => { + if (!isOperationComponent(schema)) return false + return true + }, + onlyRenderProperties: true, + }, + }, + {} + ), + ], + } + ) + const content = h( + RecursionField, + { + props: { + schema: items, + name: index, + filterProperties: (schema) => { + if (isIndexComponent(schema)) return false + if (isOperationComponent(schema)) return false + return true + }, + }, + }, + {} + ) + + return h( + CollapseItem, + { + attrs: { + ...props, + ...panelProps, + name: index, + }, + key, + }, + { + default: () => [ + h( + ArrayBase.Item, + { + props: { + index, + record: item, + }, + }, + { + default: () => [content], + } + ), + ], + title: () => + h( + Row, + { + style: { flex: 1 }, + props: { + type: 'flex', + justify: 'space-between', + }, + }, + { + default: () => [ + h('span', {}, { default: () => title }), + h('span', {}, { default: () => extra }), + ], + } + ), + } + ) + }) + + return h( + Collapse, + { + class: [`${prefixCls}-item`], + attrs: { + ...attrs, + value: activeKeys.value, + }, + on: { + change: (keys: number[] | number) => { + activeKeys.value = keys + }, + }, + }, + { + default: () => [items], + } + ) + } + const renderAddition = () => { + return schema.reduceProperties((addition, schema) => { + if (isAdditionComponent(schema)) { + return h( + RecursionField, + { + props: { + schema, + name: 'addition', + }, + }, + {} + ) + } + return addition + }, null) + } + const renderEmpty = () => { + if (dataSource?.length) return + return h( + Card, + { + class: [`${prefixCls}-item`], + attrs: { + shadow: 'never', + ...attrs, + header: attrs.title || field.title, + }, + }, + { + default: () => + h( + Empty, + { props: { description: 'No Data', imageSize: 100 } }, + {} + ), + } + ) + } + + return h( + 'div', + { + class: [prefixCls], + }, + { + default: () => + h( + ArrayBase, + { + props: { + keyMap, + }, + on: { + add: (index: number) => { + activeKeys.value = insertActiveKeys( + activeKeys.value, + index, + attrs.accordion as boolean + ) + }, + }, + }, + { + default: () => [ + renderEmpty(), + renderItems(), + renderAddition(), + ], + } + ), + } + ) + } + }, + }) +) + +export const ArrayCollapseItem = defineComponent({ + name: 'FArrayCollapseItem', + setup(_props, { slots }) { + return () => h(Fragment, {}, slots) + }, +}) + +export const ArrayCollapse = composeExport(ArrayCollapseInner, { + Item: ArrayCollapseItem, + Index: ArrayBase.Index, + SortHandle: ArrayBase.SortHandle, + Addition: ArrayBase.Addition, + Remove: ArrayBase.Remove, + MoveDown: ArrayBase.MoveDown, + MoveUp: ArrayBase.MoveUp, + useArray: ArrayBase.useArray, + useIndex: ArrayBase.useIndex, + useRecord: ArrayBase.useRecord, +}) + +export default ArrayCollapse diff --git a/packages/components/src/array-collapse/style.scss b/packages/components/src/array-collapse/style.scss new file mode 100644 index 0000000..6bdd5b3 --- /dev/null +++ b/packages/components/src/array-collapse/style.scss @@ -0,0 +1,38 @@ +@import '../__builtins__/styles/common.scss'; + +$array-table-prefix-cls: '#{$formily-prefix}-array-collapse'; + +.#{$array-table-prefix-cls} { + .el-card__header { + padding-top: 12.5px; + padding-bottom: 12.5px; + } + .el-empty { + padding: 0; + } + + .#{$array-table-prefix-cls}-item { + margin-bottom: 10px; + } + + .#{$array-table-prefix-cls}-errors-badge { + line-height: 1; + vertical-align: initial; + } + + .#{$formily-prefix}-array-base-addition { + width: 100%; + border: $--border-width-base dashed $--border-color-base; + + &:hover { + background-color: $--color-white; + border-color: $--border-color-hover; + } + + &:active, + &:focus { + background-color: $--color-white; + border-color: $--color-primary; + } + } +} diff --git a/packages/components/src/array-collapse/style.ts b/packages/components/src/array-collapse/style.ts new file mode 100644 index 0000000..0e4da93 --- /dev/null +++ b/packages/components/src/array-collapse/style.ts @@ -0,0 +1,10 @@ +import './style.scss' +import 'element-ui/packages/theme-chalk/src/empty.scss' +import 'element-ui/packages/theme-chalk/src/row.scss' +import 'element-ui/packages/theme-chalk/src/collapse.scss' +import 'element-ui/packages/theme-chalk/src/collapse-item.scss' +import 'element-ui/packages/theme-chalk/src/card.scss' +import 'element-ui/packages/theme-chalk/src/badge.scss' + +// 依赖 +import '../array-base/style' diff --git a/packages/components/src/array-items/index.ts b/packages/components/src/array-items/index.ts new file mode 100644 index 0000000..a2f97fb --- /dev/null +++ b/packages/components/src/array-items/index.ts @@ -0,0 +1,182 @@ +import { defineComponent } from '@vue/composition-api' +import { ArrayField } from '@formily/core' +import { useField, useFieldSchema, RecursionField, h } from '@formily/vue' +import { observer } from '@formily/reactive-vue' +import { ISchema } from '@formily/json-schema' +import { stylePrefix } from '../__builtins__/configs' +import { ArrayBase } from '../array-base' +import { SlickList, SlickItem } from 'vue-slicksort' +import { composeExport } from '../__builtins__/shared' + +const isAdditionComponent = (schema: ISchema) => { + return schema['x-component']?.indexOf('Addition') > -1 +} + +export interface IArrayItemsItemProps { + type?: 'card' | 'divide' +} + +const ArrayItemsInner = observer( + defineComponent({ + name: 'FArrayItems', + setup(props, { attrs }) { + const fieldRef = useField() + const schemaRef = useFieldSchema() + + const prefixCls = `${stylePrefix}-array-items` + const { getKey, keyMap } = ArrayBase.useKey(schemaRef.value) + + return () => { + const field = fieldRef.value + const schema = schemaRef.value + const dataSource = Array.isArray(field.value) ? field.value.slice() : [] + + const renderItems = () => { + const items = dataSource?.map((item, index) => { + const items = Array.isArray(schema.items) + ? schema.items[index] || schema.items[0] + : schema.items + const key = getKey(item, index) + return h( + ArrayBase.Item, + { + key, + props: { + index, + record: item, + }, + }, + { + default: () => + h( + SlickItem, + { + class: [`${prefixCls}-item-inner`], + props: { + index, + }, + key, + }, + { + default: () => + h( + RecursionField, + { + props: { + schema: items, + name: index, + }, + }, + {} + ), + } + ), + } + ) + }) + + return h( + SlickList, + { + class: [`${prefixCls}-list`], + props: { + useDragHandle: true, + lockAxis: 'y', + helperClass: `${prefixCls}-sort-helper`, + value: [], + }, + on: { + 'sort-end': ({ oldIndex, newIndex }) => { + if (Array.isArray(keyMap)) { + keyMap.splice(newIndex, 0, keyMap.splice(oldIndex, 1)[0]) + } + field.move(oldIndex, newIndex) + }, + }, + }, + { default: () => items } + ) + } + const renderAddition = () => { + return schema.reduceProperties((addition, schema) => { + if (isAdditionComponent(schema)) { + return h( + RecursionField, + { + props: { + schema, + name: 'addition', + }, + }, + {} + ) + } + return addition + }, null) + } + + return h( + ArrayBase, + { + props: { + keyMap, + }, + }, + { + default: () => + h( + 'div', + { + class: [prefixCls], + on: { + change: () => {}, + }, + }, + { + default: () => [renderItems(), renderAddition()], + } + ), + } + ) + } + }, + }) +) + +const ArrayItemsItem = defineComponent({ + name: 'FArrayItemsItem', + props: ['type'], + setup(props, { attrs, slots }) { + const prefixCls = `${stylePrefix}-array-items` + + return () => + h( + 'div', + { + class: [`${prefixCls}-${props.type || 'card'}`], + attrs: { + ...attrs, + }, + on: { + change: () => {}, + }, + }, + slots + ) + }, +}) + +export const ArrayItems = composeExport(ArrayItemsInner, { + Item: ArrayItemsItem, + Index: ArrayBase.Index, + SortHandle: ArrayBase.SortHandle, + Addition: ArrayBase.Addition, + Remove: ArrayBase.Remove, + MoveDown: ArrayBase.MoveDown, + MoveUp: ArrayBase.MoveUp, + useArray: ArrayBase.useArray, + useIndex: ArrayBase.useIndex, + useRecord: ArrayBase.useRecord, +}) + +export default ArrayItems diff --git a/packages/components/src/array-items/style.scss b/packages/components/src/array-items/style.scss new file mode 100644 index 0000000..cdb22e4 --- /dev/null +++ b/packages/components/src/array-items/style.scss @@ -0,0 +1,75 @@ +@import '../__builtins__/styles/common.scss'; + +$array-items-prefix-cls: '#{$formily-prefix}-array-items'; + +.#{$array-items-prefix-cls}-item-inner { + visibility: visible; +} + +.#{$array-items-prefix-cls} { + .#{$formily-prefix}-array-base-addition { + width: 100%; + border: $--border-width-base dashed $--border-color-base; + + &:hover { + background-color: $--color-white; + border-color: $--border-color-hover; + } + + &:active, + &:focus { + background-color: $--color-white; + border-color: $--color-primary; + } + } +} + +.#{$array-items-prefix-cls}-card { + display: flex; + border: 1px solid $--card-border-color; + margin-bottom: 10px; + padding: 3px 6px; + background: $--color-white; + justify-content: space-between; + + .#{$formily-prefix}-form-item:not(.#{$formily-prefix}-form-item-feedback-layout-popover) { + margin-bottom: 0 !important; + + .#{$formily-prefix}-form-item-help { + position: absolute; + font-size: 12px; + top: 100%; + background: $--color-white; + width: 100%; + margin-top: 3px; + padding: 3px; + z-index: 1; + border-radius: 3px; + box-shadow: 0 0 10px $--border-color-base; + } + } +} + +.#{$array-items-prefix-cls}-divide { + display: flex; + border-bottom: 1px solid $--card-border-color; + padding: 10px 0; + justify-content: space-between; + + .#{$formily-prefix}-form-item:not(.#{$formily-prefix}-form-item-feedback-layout-popover) { + margin-bottom: 0 !important; + + .#{$formily-prefix}-form-item-help { + position: absolute; + font-size: 12px; + top: 100%; + background: $--color-white; + width: 100%; + margin-top: 3px; + padding: 3px; + z-index: 1; + border-radius: 3px; + box-shadow: 0 0 10px $--card-border-color; + } + } +} diff --git a/packages/components/src/array-items/style.ts b/packages/components/src/array-items/style.ts new file mode 100644 index 0000000..21fefe9 --- /dev/null +++ b/packages/components/src/array-items/style.ts @@ -0,0 +1,4 @@ +import './style.scss' + +// 依赖 +import '../array-base/style' diff --git a/packages/components/src/array-table/index.ts b/packages/components/src/array-table/index.ts new file mode 100644 index 0000000..8164c8f --- /dev/null +++ b/packages/components/src/array-table/index.ts @@ -0,0 +1,570 @@ +import { + defineComponent, + onBeforeUnmount, + ref, + Ref, + shallowRef, +} from '@vue/composition-api' +import { observe } from '@formily/reactive' +import { + GeneralField, + IVoidFieldFactoryProps, + FieldDisplayTypes, + ArrayField, +} from '@formily/core' +import { + useField, + useFieldSchema, + RecursionField as _RecursionField, + h, + Fragment, + useForm, +} from '@formily/vue' +import { observer } from '@formily/reactive-vue' +import { FormPath, isArr, isBool } from '@formily/shared' +import { ArrayBase } from '../array-base' +import { stylePrefix } from '../__builtins__/configs' +import { composeExport } from '../__builtins__/shared' +import type { Schema } from '@formily/json-schema' +import type { + Table as TableProps, + TableColumn as ElColumnProps, + Pagination as PaginationProps, +} from 'element-ui' +import type { VNode, Component } from 'vue' +import { + Table as ElTable, + TableColumn as ElTableColumn, + Pagination, + Select, + Option, + Badge, +} from 'element-ui' +import { Space } from '../space' + +const RecursionField = _RecursionField as unknown as Component + +interface IArrayTableProps extends TableProps { + pagination?: PaginationProps | boolean +} +interface IArrayTablePaginationProps extends PaginationProps { + dataSource?: any[] +} + +interface ObservableColumnSource { + field: GeneralField + fieldProps: IVoidFieldFactoryProps + columnProps: ElColumnProps & { title: string; asterisk: boolean } + schema: Schema + display: FieldDisplayTypes + required: boolean + name: string +} + +type ColumnProps = ElColumnProps & { + key: string | number + asterisk: boolean + render?: (props: { + row: Record + column: ElColumnProps + $index: number + }) => VNode +} + +const isColumnComponent = (schema: Schema) => { + return schema['x-component']?.indexOf('Column') > -1 +} + +const isOperationsComponent = (schema: Schema) => { + return schema['x-component']?.indexOf('Operations') > -1 +} + +const isAdditionComponent = (schema: Schema) => { + return schema['x-component']?.indexOf('Addition') > -1 +} + +const getArrayTableSources = ( + arrayFieldRef: Ref, + schemaRef: Ref +) => { + const arrayField = arrayFieldRef.value + const parseSources = (schema: Schema): ObservableColumnSource[] => { + if ( + isColumnComponent(schema) || + isOperationsComponent(schema) || + isAdditionComponent(schema) + ) { + if (!schema['x-component-props']?.['prop'] && !schema['name']) return [] + const name = schema['x-component-props']?.['prop'] || schema['name'] + const field = arrayField.query(arrayField.address.concat(name)).take() + const fieldProps = field?.props || schema.toFieldProps() + const columnProps = + (field?.component as any[])?.[1] || schema['x-component-props'] || {} + const display = field?.display || schema['x-display'] + const required = schema.reduceProperties((required, property) => { + if (required) { + return required + } + return !!property.required + }, false) + + return [ + { + name, + display, + required, + field, + fieldProps, + schema, + columnProps, + }, + ] + } else if (schema.properties) { + return schema.reduceProperties((buf: any[], schema) => { + return buf.concat(parseSources(schema)) + }, []) + } else { + return [] + } + } + + const parseArrayTable = (schema: Schema['items']) => { + if (!schema) return [] + const sources: ObservableColumnSource[] = [] + const items = isArr(schema) ? schema : ([schema] as Schema[]) + return items.reduce((columns, schema) => { + const item = parseSources(schema) + if (item) { + return columns.concat(item) + } + return columns + }, sources) + } + + if (!schemaRef.value) throw new Error('can not found schema object') + + return parseArrayTable(schemaRef.value.items) +} + +const getArrayTableColumns = ( + reactiveDataSource: Ref, + sources: ObservableColumnSource[] +): ColumnProps[] => { + return sources.reduce( + ( + buf: ColumnProps[], + { name, columnProps, schema, display, required }, + key + ) => { + const { title, asterisk, ...props } = columnProps + if (display !== 'visible') return buf + if (!isColumnComponent(schema)) return buf + + const render = + columnProps?.type && columnProps?.type !== 'default' + ? undefined + : (props: { + row: Record + column: ElColumnProps + $index: number + }): VNode => { + // let index = props.$index + const index = reactiveDataSource.value.indexOf(props.row) + + const children = h( + ArrayBase.Item, + { props: { index, record: props.row }, key: `${key}${index}` }, + { + default: () => + h( + RecursionField, + { + props: { + schema, + name: index, + onlyRenderProperties: true, + }, + }, + {} + ), + } + ) + return children + } + return buf.concat({ + label: title, + ...props, + key, + prop: name, + asterisk: asterisk ?? required, + render, + }) + }, + [] + ) +} + +const renderAddition = () => { + const schema = useFieldSchema() + return schema.value.reduceProperties((addition, schema) => { + if (isAdditionComponent(schema)) { + return h( + RecursionField, + { + props: { + schema, + name: 'addition', + }, + }, + {} + ) + } + return addition + }, null) +} + +const StatusSelect = observer( + defineComponent({ + props: { + value: Number, + onChange: Function, + options: Array, + pageSize: Number, + }, + setup(props) { + const formRef = useForm() + const fieldRef = useField() + const prefixCls = `${stylePrefix}-array-table` + const width = String(props.options?.length).length * 15 + + return () => { + const form = formRef.value + const field = fieldRef.value + + const errors = form.queryFeedbacks({ + type: 'error', + address: `${field.address}.*`, + }) + const createIndexPattern = (page: number) => { + const pattern = `${field.address}.*[${(page - 1) * props.pageSize}:${ + page * props.pageSize + }].*` + return FormPath.parse(pattern) + } + + return h( + Select, + { + style: { + width: `${width < 60 ? 60 : width}px`, + }, + class: [ + `${prefixCls}-status-select`, + { + 'has-error': errors?.length, + }, + ], + props: { + value: props.value, + popperClass: `${prefixCls}-status-select-dropdown`, + }, + on: { + input: props.onChange, + }, + }, + { + default: () => { + return props.options?.map(({ label, value }) => { + const hasError = errors.some(({ address }) => { + return createIndexPattern(value).match(address) + }) + + return h( + Option, + { + key: value, + props: { + label, + value, + }, + }, + { + default: () => { + if (hasError) { + return h( + Badge, + { + props: { + isDot: true, + }, + }, + { default: () => label } + ) + } + + return label + }, + } + ) + }) + }, + } + ) + } + }, + }) +) + +const ArrayTablePagination = defineComponent({ + inheritAttrs: false, + props: [], + setup(props, { attrs, slots }) { + const prefixCls = `${stylePrefix}-array-table` + const current = ref(1) + return () => { + const props = attrs as unknown as IArrayTablePaginationProps + const pageSize = props.pageSize || 10 + const dataSource = props.dataSource || [] + const startIndex = (current.value - 1) * pageSize + const endIndex = startIndex + pageSize - 1 + const total = dataSource?.length || 0 + const totalPage = Math.ceil(total / pageSize) + const pages = Array.from(new Array(totalPage)).map((_, index) => { + const page = index + 1 + return { + label: page, + value: page, + } + }) + + const renderPagination = function () { + if (totalPage <= 1) return + return h( + 'div', + { + class: [`${prefixCls}-pagination`], + }, + { + default: () => + h( + Space, + {}, + { + default: () => [ + h( + StatusSelect, + { + props: { + value: current.value, + onChange: (val: number) => { + current.value = val + }, + pageSize, + options: pages, + }, + }, + {} + ), + h( + Pagination, + { + props: { + background: true, + layout: 'prev, pager, next', + ...props, + pageSize, + pageCount: totalPage, + currentPage: current.value, + }, + on: { + 'current-change': (val: number) => { + current.value = val + }, + }, + }, + {} + ), + ], + } + ), + } + ) + } + + return h( + Fragment, + {}, + { + default: () => + slots?.default?.( + dataSource?.slice(startIndex, endIndex + 1), + renderPagination + ), + } + ) + } + }, +}) + +const ArrayTableInner = observer( + defineComponent({ + name: 'FArrayTable', + inheritAttrs: false, + setup(props, { attrs, listeners, slots }) { + const fieldRef = useField() + const schemaRef = useFieldSchema() + const prefixCls = `${stylePrefix}-array-table` + const { getKey, keyMap } = ArrayBase.useKey(schemaRef.value) + + const defaultRowKey = (record: any) => { + return getKey(record) + } + const reactiveDataSource = shallowRef([]) + + const dispose = observe( + fieldRef.value, + () => { + reactiveDataSource.value = fieldRef.value.value + }, + false + ) + + onBeforeUnmount(dispose) + + return () => { + const props = attrs as unknown as IArrayTableProps + const field = fieldRef.value + const dataSource = Array.isArray(field.value) ? field.value.slice() : [] + const pagination = props.pagination + const sources = getArrayTableSources(fieldRef, schemaRef) + const columns = getArrayTableColumns(reactiveDataSource, sources) + + const renderColumns = () => + columns.map(({ key, render, asterisk, ...props }) => { + const children = {} as Record + if (render) { + children.default = render + } + if (asterisk) { + children.header = ({ column }: { column: ElColumnProps }) => + h( + 'span', + {}, + { + default: () => [ + h( + 'span', + { class: `${prefixCls}-asterisk` }, + { default: () => ['*'] } + ), + column.label, + ], + } + ) + } + return h( + ElTableColumn, + { + key, + props, + }, + children + ) + }) + const renderStateManager = () => + sources.map((column, key) => { + //专门用来承接对Column的状态管理 + if (!isColumnComponent(column.schema)) return + return h( + RecursionField, + { + props: { + name: column.name, + schema: column.schema, + onlyRenderSelf: true, + }, + key, + }, + {} + ) + }) + + const renderTable = (dataSource?: any[], pager?: () => VNode) => { + return h( + 'div', + { class: prefixCls }, + { + default: () => + h( + ArrayBase, + { + props: { + keyMap, + }, + }, + { + default: () => [ + h( + ElTable, + { + props: { + rowKey: defaultRowKey, + ...attrs, + data: dataSource, + }, + on: listeners, + }, + { + ...slots, + default: renderColumns, + } + ), + pager?.(), + renderStateManager(), + renderAddition(), + ], + } + ), + } + ) + } + + if (!pagination) { + return renderTable(dataSource, null) + } + return h( + ArrayTablePagination, + { + attrs: { + ...(isBool(pagination) ? {} : pagination), + dataSource, + }, + }, + { default: renderTable } + ) + } + }, + }) +) + +const ArrayTableColumn: Component = { + name: 'FArrayTableColumn', + render(h) { + return h() + }, +} + +export const ArrayTable = composeExport(ArrayTableInner, { + Column: ArrayTableColumn, + Index: ArrayBase.Index, + SortHandle: ArrayBase.SortHandle, + Addition: ArrayBase.Addition, + Remove: ArrayBase.Remove, + MoveDown: ArrayBase.MoveDown, + MoveUp: ArrayBase.MoveUp, + useArray: ArrayBase.useArray, + useIndex: ArrayBase.useIndex, + useRecord: ArrayBase.useRecord, +}) + +export default ArrayTable diff --git a/packages/components/src/array-table/style.scss b/packages/components/src/array-table/style.scss new file mode 100644 index 0000000..c7d7c45 --- /dev/null +++ b/packages/components/src/array-table/style.scss @@ -0,0 +1,90 @@ +@import '../__builtins__/styles/common.scss'; + +$array-table-prefix-cls: '#{$formily-prefix}-array-table'; + +.#{$array-table-prefix-cls} { + .#{$formily-prefix}-form-item:not(.#{$formily-prefix}-form-item-feedback-layout-popover) { + margin-bottom: 0 !important; + } + + &-status-select-dropdown { + .#{$namespace}-badge { + line-height: 1; + } + } + + &-pagination { + display: flex; + justify-content: center; + margin-top: 8px; + + .#{$array-table-prefix-cls}-status-select.has-error { + .#{$namespace}-input__inner { + border-color: $--color-danger !important; + } + } + } + + .#{$namespace}-table { + overflow: visible; + + &__body-wrapper { + overflow: visible; + } + + .cell { + overflow: visible; + } + + .cell.el-tooltip { + overflow: hidden; + } + + &__fixed { + box-shadow: 10px 0 10px -10px rgb(0 0 0 / 12%); + } + + &__fixed-right { + box-shadow: -10px 0 10px -10px rgb(0 0 0 / 12%); + } + } + + .#{$formily-prefix}-form-item-help { + position: absolute; + font-size: 12px; + top: 100%; + background: #fff; + width: 100%; + margin-top: 3px; + padding: 3px; + z-index: 2; + border-radius: 3px; + box-shadow: 0 0 10px #eee; + } + + .#{$formily-prefix}-array-base-addition { + margin-top: 8px; + width: 100%; + border: $--border-width-base dashed $--border-color-base; + + &:hover { + background-color: $--color-white; + border-color: $--border-color-hover; + } + + &:active, + &:focus { + background-color: $--color-white; + border-color: $--color-primary; + } + } + + .#{$formily-prefix}-form-item-feedback-layout-popover { + margin-bottom: 0; + } + + &-inner-asterisk { + color: $--color-danger; + font-weight: $--font-weight-primary; + } +} diff --git a/packages/components/src/array-table/style.ts b/packages/components/src/array-table/style.ts new file mode 100644 index 0000000..f003c7f --- /dev/null +++ b/packages/components/src/array-table/style.ts @@ -0,0 +1,11 @@ +import './style.scss' + +import 'element-ui/packages/theme-chalk/src/table.scss' +import 'element-ui/packages/theme-chalk/src/table-column.scss' +import 'element-ui/packages/theme-chalk/src/button.scss' +import 'element-ui/packages/theme-chalk/src/select.scss' +import 'element-ui/packages/theme-chalk/src/badge.scss' + +// 依赖 +import '../array-base/style' +import '../space/style' diff --git a/packages/components/src/array-tabs/index.ts b/packages/components/src/array-tabs/index.ts new file mode 100644 index 0000000..089b9c2 --- /dev/null +++ b/packages/components/src/array-tabs/index.ts @@ -0,0 +1,150 @@ +import { defineComponent, ref } from '@vue/composition-api' +import { observer } from '@formily/reactive-vue' +import { ArrayField } from '@formily/core' +import { h, useField, useFieldSchema, RecursionField } from '@formily/vue' +import { Tabs, TabPane, Badge } from 'element-ui' +import { stylePrefix } from '../__builtins__/configs' + +import type { Tabs as TabsProps } from 'element-ui' + +export const ArrayTabs = observer( + defineComponent({ + name: 'ArrayTabs', + props: [], + setup(props, { attrs, listeners }) { + const fieldRef = useField() + const schemaRef = useFieldSchema() + + const prefixCls = `${stylePrefix}-array-tabs` + const activeKey = ref('tab-0') + + return () => { + const field = fieldRef.value + const schema = schemaRef.value + const value = Array.isArray(field.value) ? field.value : [] + const dataSource = value?.length ? value : [{}] + + const onEdit = (targetKey: any, type: 'add' | 'remove') => { + if (type == 'add') { + const id = dataSource.length + if (field?.value?.length) { + field.push(null) + } else { + field.push(null, null) + } + activeKey.value = `tab-${id}` + } else if (type == 'remove') { + const index = targetKey.match(/-(\d+)/)?.[1] + field.remove(Number(index)) + if (activeKey.value === targetKey) { + activeKey.value = `tab-${index - 1}` + } + } + } + + const badgedTab = (index: number) => { + const tab = `${field.title || 'Untitled'} ${index + 1}` + const path = field.address.concat(index) + const errors = field.form.queryFeedbacks({ + type: 'error', + address: `${path}.**`, + }) + if (errors.length) { + return h( + 'span', + {}, + { + default: () => [ + h( + Badge, + { + class: [`${prefixCls}-errors-badge`], + props: { + value: errors.length, + }, + }, + { + default: () => [tab], + } + ), + ], + } + ) + } + return h( + 'span', + {}, + { + default: () => [tab], + } + ) + } + + const renderItems = () => + dataSource?.map((item, index) => { + const items = Array.isArray(schema.items) + ? schema.items[index] + : schema.items + const key = `tab-${index}` + + return h( + TabPane, + { + key, + attrs: { + closable: index !== 0, + name: key, + }, + }, + { + default: () => + h( + RecursionField, + { + props: { + schema: items, + name: index, + }, + }, + {} + ), + + label: () => [badgedTab(index)], + } + ) + }) + return h( + Tabs, + { + class: [prefixCls], + attrs: { + ...attrs, + type: 'card', + value: activeKey.value, + addable: true, + }, + on: { + ...listeners, + input: (key) => { + activeKey.value = key + }, + 'tab-remove': (target) => { + onEdit(target, 'remove') + listeners?.['tab-remove']?.(target) + }, + 'tab-add': () => { + onEdit(null, 'add') + listeners?.['tab-add']?.() + }, + }, + }, + { + default: () => [renderItems()], + } + ) + } + }, + }) +) + +export default ArrayTabs diff --git a/packages/components/src/array-tabs/style.scss b/packages/components/src/array-tabs/style.scss new file mode 100644 index 0000000..41162cc --- /dev/null +++ b/packages/components/src/array-tabs/style.scss @@ -0,0 +1,16 @@ +@import '../__builtins__/styles/common.scss'; + +$array-table-prefix-cls: '#{$formily-prefix}-array-tabs'; + +.#{$array-table-prefix-cls} { + .#{$formily-prefix}-array-tabs-addition { + position: absolute; + right: -56px; + top: -1px; + } + + .#{$array-table-prefix-cls}-errors-badge { + line-height: 1; + vertical-align: initial; + } +} diff --git a/packages/components/src/array-tabs/style.ts b/packages/components/src/array-tabs/style.ts new file mode 100644 index 0000000..e25a729 --- /dev/null +++ b/packages/components/src/array-tabs/style.ts @@ -0,0 +1,5 @@ +import './style.scss' +import 'element-ui/packages/theme-chalk/src/tabs.scss' +import 'element-ui/packages/theme-chalk/src/tab-pane.scss' +import 'element-ui/packages/theme-chalk/src/badge.scss' +import 'element-ui/packages/theme-chalk/src/button.scss' diff --git a/packages/components/src/cascader/index.ts b/packages/components/src/cascader/index.ts new file mode 100644 index 0000000..0612430 --- /dev/null +++ b/packages/components/src/cascader/index.ts @@ -0,0 +1,15 @@ +import { connect, mapProps, mapReadPretty } from '@formily/vue' +import { Cascader as ELCascader } from 'element-ui' + +import type { Cascader as ElCascaderProps } from 'element-ui' +import { PreviewText } from '../preview-text' + +export type CascaderProps = ElCascaderProps + +export const Cascader = connect( + ELCascader, + mapProps({ dataSource: 'options' }), + mapReadPretty(PreviewText.Cascader) +) + +export default Cascader diff --git a/packages/components/src/cascader/style.ts b/packages/components/src/cascader/style.ts new file mode 100644 index 0000000..1912c32 --- /dev/null +++ b/packages/components/src/cascader/style.ts @@ -0,0 +1,4 @@ +import 'element-ui/packages/theme-chalk/src/cascader.scss' + +// 依赖 +import '../preview-text/style' diff --git a/packages/components/src/checkbox/index.ts b/packages/components/src/checkbox/index.ts new file mode 100644 index 0000000..d014470 --- /dev/null +++ b/packages/components/src/checkbox/index.ts @@ -0,0 +1,171 @@ +import { connect, mapProps, h, mapReadPretty } from '@formily/vue' +import { defineComponent, PropType } from '@vue/composition-api' +import { + composeExport, + transformComponent, + resolveComponent, + SlotTypes, +} from '../__builtins__/shared' +import type { + Checkbox as _ElCheckboxProps, + CheckboxGroup as ElCheckboxGroupProps, +} from 'element-ui' +import { + Checkbox as ElCheckbox, + CheckboxGroup as ElCheckboxGroup, + CheckboxButton as ElCheckboxButton, +} from 'element-ui' +import { PreviewText } from '../preview-text' + +type ElCheckboxProps = Omit<_ElCheckboxProps, 'value'> & { + value: ElCheckboxProps['label'] +} + +export interface CheckboxProps extends ElCheckboxProps { + option: Omit<_ElCheckboxProps, 'value'> & { + value: ElCheckboxProps['label'] + label: SlotTypes + } +} + +const CheckboxOption = defineComponent({ + name: 'Checkbox', + inheritAttrs: false, + props: { + option: { + type: Object, + default: null, + }, + }, + setup(curtomProps, { attrs, slots, listeners }) { + return () => { + const props = attrs as unknown as CheckboxProps + const option = curtomProps?.option + if (option) { + const children = { + default: () => [ + resolveComponent(slots.default ?? option.label, { option }), + ], + } + const newProps = {} as Partial + Object.assign(newProps, option) + newProps.label = option.value + delete newProps.value + + return h( + attrs.optionType === 'button' ? ElCheckboxButton : ElCheckbox, + { + attrs: { + ...newProps, + }, + }, + children + ) + } + + return h( + ElCheckbox, + { + attrs: { + ...props, + }, + on: listeners, + }, + slots + ) + } + }, +}) + +export type CheckboxGroupProps = ElCheckboxGroupProps & { + value: any[] + options?: Array + optionType: 'default' | 'button' +} + +const TransformElCheckboxGroup = transformComponent(ElCheckboxGroup, { + change: 'input', +}) + +const CheckboxGroupOption = defineComponent({ + name: 'CheckboxGroup', + props: { + options: { + type: Array, + default: () => [], + }, + optionType: { + type: String as PropType, + default: 'default', + }, + }, + setup(customProps, { attrs, slots, listeners }) { + return () => { + const options = customProps.options || [] + const children = + options.length !== 0 + ? { + default: () => + options.map((option) => { + if (typeof option === 'string') { + return h( + Checkbox, + { + props: { + option: { + label: option, + value: option, + }, + }, + attrs: { + optionType: customProps.optionType, + }, + }, + slots?.option + ? { default: () => slots.option({ option }) } + : {} + ) + } else { + return h( + Checkbox, + { + props: { + option, + }, + attrs: { + optionType: customProps.optionType, + }, + }, + slots?.option + ? { default: () => slots.option({ option }) } + : {} + ) + } + }), + } + : slots + return h( + TransformElCheckboxGroup, + { + attrs: { + ...attrs, + }, + on: listeners, + }, + children + ) + } + }, +}) + +const CheckboxGroup = connect( + CheckboxGroupOption, + mapProps({ dataSource: 'options' }), + mapReadPretty(PreviewText.Select, { + multiple: true, + }) +) + +export const Checkbox = composeExport(connect(CheckboxOption), { + Group: CheckboxGroup, +}) diff --git a/packages/components/src/checkbox/style.ts b/packages/components/src/checkbox/style.ts new file mode 100644 index 0000000..7683643 --- /dev/null +++ b/packages/components/src/checkbox/style.ts @@ -0,0 +1,5 @@ +import 'element-ui/packages/theme-chalk/src/checkbox.scss' +import 'element-ui/packages/theme-chalk/src/checkbox-group.scss' +import 'element-ui/packages/theme-chalk/src/checkbox-button.scss' +// 依赖 +import '../preview-text/style' diff --git a/packages/components/src/date-picker/index.ts b/packages/components/src/date-picker/index.ts new file mode 100644 index 0000000..eaab986 --- /dev/null +++ b/packages/components/src/date-picker/index.ts @@ -0,0 +1,45 @@ +import { transformComponent } from '../__builtins__/shared' +import { connect, mapProps, mapReadPretty } from '@formily/vue' + +import type { DatePicker as ElDatePickerProps } from 'element-ui' +import { DatePicker as ElDatePicker } from 'element-ui' +import { PreviewText } from '../preview-text' + +export type DatePickerProps = ElDatePickerProps + +const TransformElDatePicker = transformComponent( + ElDatePicker, + { + change: 'input', + } +) + +const getDefaultFormat = (props, formatType = 'format') => { + const type = props.type + + if (type === 'week' && formatType === 'format') { + return 'yyyy-WW' + } else if (type === 'month') { + return 'yyyy-MM' + } else if (type === 'year') { + return 'yyyy' + } else if (type === 'datetime' || type === 'datetimerange') { + return 'yyyy-MM-dd HH:mm:ss' + } + + return 'yyyy-MM-dd' +} + +export const DatePicker = connect( + TransformElDatePicker, + mapProps({ readOnly: 'readonly' }, (props) => { + return { + ...props, + format: props.format || getDefaultFormat(props), + valueFormat: props.valueFormat || getDefaultFormat(props, 'valueFormat'), + } + }), + mapReadPretty(PreviewText.DatePicker) +) + +export default DatePicker diff --git a/packages/components/src/date-picker/style.ts b/packages/components/src/date-picker/style.ts new file mode 100644 index 0000000..3442141 --- /dev/null +++ b/packages/components/src/date-picker/style.ts @@ -0,0 +1,4 @@ +import 'element-ui/packages/theme-chalk/src/date-picker.scss' + +// 依赖 +import '../preview-text/style' diff --git a/packages/components/src/editable/index.ts b/packages/components/src/editable/index.ts new file mode 100644 index 0000000..e0de10f --- /dev/null +++ b/packages/components/src/editable/index.ts @@ -0,0 +1,274 @@ +import { defineComponent, ref, onBeforeUnmount } from '@vue/composition-api' +import { observer } from '@formily/reactive-vue' +import { reaction } from '@formily/reactive' +import { isVoidField, Field } from '@formily/core' +import { h, useField } from '@formily/vue' +import { Popover } from 'element-ui' +import { stylePrefix } from '../__builtins__/configs' + +import type { Popover as PopoverProps } from 'element-ui' +import { FormBaseItem, FormItemProps } from '../form-item' +import { composeExport } from '../__builtins__/shared' + +export type EditableProps = FormItemProps +export type EditablePopoverProps = PopoverProps + +const getParentPattern = (fieldRef) => { + const field = fieldRef.value + return field?.parent?.pattern || field?.form?.pattern +} + +const getFormItemProps = (fieldRef): FormItemProps => { + const field = fieldRef.value + + if (isVoidField(field)) return {} + if (!field) return {} + const takeMessage = () => { + if (field.selfErrors.length) return field.selfErrors[0] + if (field.selfWarnings.length) return field.selfWarnings[0] + if (field.selfSuccesses.length) return field.selfSuccesses[0] + } + + return { + feedbackStatus: + field.validateStatus === 'validating' ? 'pending' : field.validateStatus, + feedbackText: takeMessage(), + extra: field.description, + } +} + +const EditableInner = observer( + defineComponent({ + name: 'FEditable', + setup(props, { attrs, slots, refs }) { + const fieldRef = useField() + + const prefixCls = `${stylePrefix}-editable` + const setEditable = (payload: boolean) => { + const pattern = getParentPattern(fieldRef) + + if (pattern !== 'editable') return + fieldRef.value.setPattern(payload ? 'editable' : 'readPretty') + } + + const dispose = reaction( + () => { + const pattern = getParentPattern(fieldRef) + + return pattern + }, + (pattern) => { + if (pattern === 'editable') { + fieldRef.value.setPattern('readPretty') + } + }, + { + fireImmediately: true, + } + ) + + onBeforeUnmount(dispose) + + return () => { + const field = fieldRef.value + const editable = field.pattern === 'editable' + const pattern = getParentPattern(fieldRef) + const itemProps = getFormItemProps(fieldRef) + + const recover = () => { + if (editable && !fieldRef.value?.errors?.length) { + setEditable(false) + } + } + + const onClick = (e: MouseEvent) => { + const innerRef = refs.innerRef as HTMLElement + const target = e.target as HTMLElement + const close = innerRef.querySelector(`.${prefixCls}-close-btn`) + + if (target?.contains(close) || close?.contains(target)) { + recover() + } else if (!editable) { + setTimeout(() => { + setEditable(true) + setTimeout(() => { + innerRef.querySelector('input')?.focus() + }) + }) + } + } + + const renderEditHelper = () => { + if (editable) return null + + return h( + FormBaseItem, + { + attrs: { + ...attrs, + ...itemProps, + }, + }, + { + default: () => { + return h( + 'i', + { + class: [ + `${prefixCls}-edit-btn`, + pattern === 'editable' + ? 'el-icon-edit' + : 'el-icon-chat-dot-round', + ], + }, + {} + ) + }, + } + ) + } + + const renderCloseHelper = () => { + if (!editable) return null + return h( + FormBaseItem, + { + attrs: { + ...attrs, + }, + }, + { + default: () => { + return h( + 'i', + { + class: [`${prefixCls}-close-btn`, 'el-icon-close'], + }, + {} + ) + }, + } + ) + } + + return h( + 'div', + { + class: prefixCls, + ref: 'innerRef', + on: { + click: onClick, + }, + }, + { + default: () => + h( + 'div', + { + class: `${prefixCls}-content`, + }, + { + default: () => [ + h( + FormBaseItem, + { + attrs: { + ...attrs, + ...itemProps, + }, + }, + slots + ), + renderEditHelper(), + renderCloseHelper(), + ], + } + ), + } + ) + } + }, + }) +) + +const EditablePopover = observer( + defineComponent({ + name: 'FEditablePopover', + setup(props, { attrs, slots }) { + const fieldRef = useField() + + const prefixCls = `${stylePrefix}-editable` + const visible = ref(false) + + return () => { + const field = fieldRef.value + const pattern = getParentPattern(fieldRef) + return h( + Popover, + { + class: [prefixCls], + attrs: { + ...attrs, + title: attrs.title || field.title, + value: visible.value, + trigger: 'click', + }, + on: { + input: (value) => { + visible.value = value + }, + }, + }, + { + default: () => [slots.default()], + reference: () => + h( + FormBaseItem, + { class: [`${prefixCls}-trigger`] }, + { + default: () => + h( + 'div', + { + class: [`${prefixCls}-content`], + }, + { + default: () => [ + h( + 'span', + { + class: [`${prefixCls}-preview`], + }, + { + default: () => [attrs.title || field.title], + } + ), + h( + 'i', + { + class: [ + `${prefixCls}-edit-btn`, + pattern === 'editable' + ? 'el-icon-edit' + : 'el-icon-chat-dot-round', + ], + }, + {} + ), + ], + } + ), + } + ), + } + ) + } + }, + }) +) + +export const Editable = composeExport(EditableInner, { + Popover: EditablePopover, +}) + +export default Editable diff --git a/packages/components/src/editable/style.scss b/packages/components/src/editable/style.scss new file mode 100644 index 0000000..57870c8 --- /dev/null +++ b/packages/components/src/editable/style.scss @@ -0,0 +1,53 @@ +@import '../__builtins__/styles/common.scss'; + +$editable-prefix-cls: '#{$formily-prefix}-editable'; + +.#{$editable-prefix-cls} { + cursor: pointer; + display: inline-block !important; + + .#{$formily-prefix}-form-text { + .#{$formily-prefix}-tag { + transition: none !important; + } + + .#{$formily-prefix}-tag:last-child { + margin-right: 0 !important; + } + } + + &-content { + display: flex; + align-items: center; + + > * { + margin-right: 3px; + &:last-child { + margin-right: 0; + } + } + } + + .#{$editable-prefix-cls}-edit-btn, + .#{$editable-prefix-cls}-close-btn { + transition: all 0.25s ease-in-out; + + &:hover { + color: $--color-primary; + } + } + + .#{$formily-prefix}-form-text { + display: flex; + align-items: center; + } + + .#{$editable-prefix-cls}-preview { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + word-break: break-all; + max-width: 100px; + display: block; + } +} diff --git a/packages/components/src/editable/style.ts b/packages/components/src/editable/style.ts new file mode 100644 index 0000000..a4cf6b2 --- /dev/null +++ b/packages/components/src/editable/style.ts @@ -0,0 +1,5 @@ +import './style.scss' +import 'element-ui/packages/theme-chalk/src/popover.scss' + +// 依赖 +import '../form-item/style' diff --git a/packages/components/src/el-form-item/index.ts b/packages/components/src/el-form-item/index.ts new file mode 100644 index 0000000..01b56ab --- /dev/null +++ b/packages/components/src/el-form-item/index.ts @@ -0,0 +1,20 @@ +import { isVoidField } from '@formily/core' +import { connect, mapProps } from '@formily/vue' + +import type { FormItem as _ElFormItemProps } from 'element-ui' +import { FormItem as ElFormItemComponent } from 'element-ui' + +export type ElFormItemProps = _ElFormItemProps & { title: string } + +export const ElFormItem = connect( + ElFormItemComponent, + mapProps({ title: 'label', required: true }, (props, field) => ({ + error: !isVoidField(field) + ? field.errors.length + ? field.errors.join(',') + : undefined + : undefined, + })) +) + +export default ElFormItem diff --git a/packages/components/src/el-form-item/style.ts b/packages/components/src/el-form-item/style.ts new file mode 100644 index 0000000..612a4a5 --- /dev/null +++ b/packages/components/src/el-form-item/style.ts @@ -0,0 +1 @@ +import 'element-ui/packages/theme-chalk/src/form-item.scss' diff --git a/packages/components/src/el-form/index.ts b/packages/components/src/el-form/index.ts new file mode 100644 index 0000000..4da80ac --- /dev/null +++ b/packages/components/src/el-form/index.ts @@ -0,0 +1,47 @@ +import { Form } from '@formily/core' +import { FormProvider as _FormProvider, createForm } from '@formily/vue' +import type { Form as _ElFormProps } from 'element-ui' +import type { FunctionalComponentOptions, Component } from 'vue' +import { Form as ElFormComponent } from 'element-ui' + +const FormProvider = _FormProvider as unknown as Component + +export type ElFormProps = _ElFormProps & { + form?: Form + component: Component + onAutoSubmit?: (values: any) => any +} + +export const ElForm: FunctionalComponentOptions = { + functional: true, + render(h, context) { + const { + form = createForm({}), + component = ElFormComponent, + onAutoSubmit = context.listeners?.autoSubmit, + ...props + } = context.props + const submitHandler = ( + Array.isArray(onAutoSubmit) ? onAutoSubmit[0] : onAutoSubmit + ) as (values: any) => any + return h(FormProvider, { props: { form } }, [ + h( + component, + { + ...context.data, + props, + nativeOn: { + submit: (e: Event) => { + e?.stopPropagation?.() + e?.preventDefault?.() + form.submit(submitHandler) + }, + }, + }, + context.children + ), + ]) + }, +} + +export default ElForm diff --git a/packages/components/src/el-form/style.ts b/packages/components/src/el-form/style.ts new file mode 100644 index 0000000..023e8d5 --- /dev/null +++ b/packages/components/src/el-form/style.ts @@ -0,0 +1 @@ +import 'element-ui/packages/theme-chalk/src/form.scss' diff --git a/packages/components/src/form-button-group/index.ts b/packages/components/src/form-button-group/index.ts new file mode 100644 index 0000000..34cd55b --- /dev/null +++ b/packages/components/src/form-button-group/index.ts @@ -0,0 +1,79 @@ +import { h } from '@formily/vue' +import { defineComponent } from '@vue/composition-api' +import { Space, SpaceProps } from '../space' +import { FormBaseItem } from '../form-item' +import { stylePrefix } from '../__builtins__/configs' + +export type FormButtonGroupProps = Omit & { + align?: 'left' | 'right' | 'center' + gutter?: number + className?: string + alignFormItem: boolean +} + +export const FormButtonGroup = defineComponent({ + name: 'FFormButtonGroup', + props: { + align: { + type: String, + default: 'left', + }, + gutter: { + type: Number, + default: 8, + }, + alignFormItem: { + type: Boolean, + default: false, + }, + }, + setup(props, { slots, attrs }) { + const prefixCls = `${stylePrefix}-form-button-group` + return () => { + if (props.alignFormItem) { + return h( + FormBaseItem, + { + style: { + margin: 0, + padding: 0, + width: '100%', + }, + attrs: { + colon: false, + label: ' ', + ...attrs, + }, + }, + { + default: () => h(Space, { props: { size: props.gutter } }, slots), + } + ) + } else { + return h( + Space, + { + class: [prefixCls], + style: { + justifyContent: + props.align === 'left' + ? 'flex-start' + : props.align === 'right' + ? 'flex-end' + : 'center', + display: 'flex', + }, + props: { + ...attrs, + size: props.gutter, + }, + attrs, + }, + slots + ) + } + } + }, +}) + +export default FormButtonGroup diff --git a/packages/components/src/form-button-group/style.scss b/packages/components/src/form-button-group/style.scss new file mode 100644 index 0000000..e69de29 diff --git a/packages/components/src/form-button-group/style.ts b/packages/components/src/form-button-group/style.ts new file mode 100644 index 0000000..0ddedd8 --- /dev/null +++ b/packages/components/src/form-button-group/style.ts @@ -0,0 +1,5 @@ +import './style.scss' + +// 依赖 +import '../form-item/style' +import '../space/style' diff --git a/packages/components/src/form-collapse/index.ts b/packages/components/src/form-collapse/index.ts new file mode 100644 index 0000000..bbccd6e --- /dev/null +++ b/packages/components/src/form-collapse/index.ts @@ -0,0 +1,208 @@ +import { Collapse, CollapseItem, Badge } from 'element-ui' +import { model } from '@formily/reactive' +import type { + Collapse as CollapseProps, + CollapseItem as CollapseItemProps, +} from 'element-ui' +import { + useField, + useFieldSchema, + RecursionField, + h, + Fragment, +} from '@formily/vue' +import { observer } from '@formily/reactive-vue' +import { Schema, SchemaKey } from '@formily/json-schema' +import { composeExport, stylePrefix } from '../__builtins__' +import { toArr } from '@formily/shared' +import { computed, defineComponent, PropType } from 'vue-demi' +import { GeneralField } from '@formily/core' + +type ActiveKeys = string | number | Array + +type ActiveKey = string | number + +type Panels = { name: SchemaKey; props: any; schema: Schema }[] + +export interface IFormCollapse { + activeKeys: ActiveKeys + hasActiveKey(key: ActiveKey): boolean + setActiveKeys(key: ActiveKeys): void + addActiveKey(key: ActiveKey): void + removeActiveKey(key: ActiveKey): void + toggleActiveKey(key: ActiveKey): void +} + +export interface IFormCollapseProps extends CollapseProps { + formCollapse?: IFormCollapse + activeKey?: ActiveKey +} + +const usePanels = (collapseField: GeneralField, schema: Schema) => { + const panels: Panels = [] + schema.mapProperties((schema, name) => { + const field = collapseField.query(collapseField.address.concat(name)).take() + if (field?.display === 'none' || field?.display === 'hidden') return + if (schema['x-component']?.indexOf('FormCollapse.Item') > -1) { + panels.push({ + name, + props: { + ...schema?.['x-component-props'], + key: schema?.['x-component-props']?.key || name, + }, + schema, + }) + } + }) + return panels +} + +const createFormCollapse = (defaultActiveKeys?: ActiveKeys) => { + const formCollapse = model({ + activeKeys: defaultActiveKeys, + setActiveKeys(keys: ActiveKeys) { + formCollapse.activeKeys = keys + }, + hasActiveKey(key: ActiveKey) { + if (Array.isArray(formCollapse.activeKeys)) { + if (formCollapse.activeKeys.includes(key)) { + return true + } + } else if (formCollapse.activeKeys == key) { + return true + } + return false + }, + addActiveKey(key: ActiveKey) { + if (formCollapse.hasActiveKey(key)) return + formCollapse.activeKeys = toArr(formCollapse.activeKeys).concat(key) + }, + removeActiveKey(key: ActiveKey) { + if (Array.isArray(formCollapse.activeKeys)) { + formCollapse.activeKeys = formCollapse.activeKeys.filter( + (item) => item != key + ) + } else { + formCollapse.activeKeys = '' + } + }, + toggleActiveKey(key: ActiveKey) { + if (formCollapse.hasActiveKey(key)) { + formCollapse.removeActiveKey(key) + } else { + formCollapse.addActiveKey(key) + } + }, + }) + return formCollapse +} + +const FormCollapse = observer( + defineComponent({ + inheritAttrs: false, + props: { + formCollapse: { type: Object as PropType }, + activeKey: { + type: [String, Number], + }, + }, + setup(props, { attrs, emit }) { + const field = useField() + const schema = useFieldSchema() + const prefixCls = `${stylePrefix}-form-collapse` + const _formCollapse = computed( + () => props.formCollapse ?? createFormCollapse() + ) + + const takeActiveKeys = (panels: Panels) => { + if (props.activeKey) return props.activeKey + if (_formCollapse.value?.activeKeys) + return _formCollapse.value?.activeKeys + if (attrs.accordion) return panels[0]?.name + return panels.map((item) => item.name) + } + + const badgedHeader = (key: SchemaKey, props: any) => { + const errors = field.value.form.queryFeedbacks({ + type: 'error', + address: `${field.value.address.concat(key)}.*`, + }) + if (errors.length) { + return h( + Badge, + { + class: [`${prefixCls}-errors-badge`], + props: { + value: errors.length, + }, + }, + { default: () => props.title } + ) + } + return props.title + } + + return () => { + const panels = usePanels(field.value, schema.value) + const activeKey = takeActiveKeys(panels) + return h( + Collapse, + { + class: prefixCls, + props: { + value: activeKey, + }, + on: { + change: (key: string | string[]) => { + emit('input', key) + _formCollapse.value.setActiveKeys(key) + }, + }, + }, + { + default: () => { + return panels.map(({ props, schema, name }, index) => { + return h( + CollapseItem, + { + key: index, + props: { + ...props, + name, + }, + }, + { + default: () => [ + h(RecursionField, { props: { schema, name } }, {}), + ], + title: () => + h( + 'span', + {}, + { default: () => badgedHeader(name, props) } + ), + } + ) + }) + }, + } + ) + } + }, + }) +) + +export const FormCollapseItem = defineComponent({ + name: 'FFormCollapseItem', + setup(_props, { slots }) { + return () => h(Fragment, {}, slots) + }, +}) + +const composeFormCollapse = composeExport(FormCollapse, { + Item: FormCollapseItem, + createFormCollapse, +}) + +export { composeFormCollapse as FormCollapse } +export default composeFormCollapse diff --git a/packages/components/src/form-collapse/style.scss b/packages/components/src/form-collapse/style.scss new file mode 100644 index 0000000..e9368b7 --- /dev/null +++ b/packages/components/src/form-collapse/style.scss @@ -0,0 +1,6 @@ +@import '../__builtins__/styles/common.scss'; + +.#{$formily-prefix}-form-collapse-errors-badge { + line-height: 1; + vertical-align: initial; +} diff --git a/packages/components/src/form-collapse/style.ts b/packages/components/src/form-collapse/style.ts new file mode 100644 index 0000000..cf0af47 --- /dev/null +++ b/packages/components/src/form-collapse/style.ts @@ -0,0 +1,4 @@ +import './style.scss' +import 'element-ui/packages/theme-chalk/src/collapse.scss' +import 'element-ui/packages/theme-chalk/src/collapse-item.scss' +import 'element-ui/packages/theme-chalk/src/badge.scss' diff --git a/packages/components/src/form-dialog/index.ts b/packages/components/src/form-dialog/index.ts new file mode 100644 index 0000000..f69e8ac --- /dev/null +++ b/packages/components/src/form-dialog/index.ts @@ -0,0 +1,410 @@ +import { h, FormProvider, Fragment } from '@formily/vue' +import { toJS } from '@formily/reactive' +import { observer } from '@formily/reactive-vue' +import { createForm, Form, IFormProps } from '@formily/core' +import { + isNum, + isStr, + isBool, + isFn, + IMiddleware, + applyMiddleware, +} from '@formily/shared' +import { Dialog, Button } from 'element-ui' +import type { Dialog as DialogProps, Button as ButtonProps } from 'element-ui' +import { t } from 'element-ui/src/locale' +import Vue, { Component, VNode } from 'vue' +import { + isValidElement, + resolveComponent, + createPortalProvider, + getProtalContext, + loading, +} from '../__builtins__/shared' +import { stylePrefix } from '../__builtins__/configs' +import { defineComponent } from '@vue/composition-api' +import { Portal, PortalTarget } from 'portal-vue' + +type FormDialogContentProps = { form: Form } + +type FormDialogContent = Component | ((props: FormDialogContentProps) => VNode) + +type DialogTitle = string | number | Component | VNode | (() => VNode) + +type IFormDialogProps = Omit & { + title?: DialogTitle + footer?: null | Component | VNode | (() => VNode) + cancelText?: string | Component | VNode | (() => VNode) + cancelButtonProps?: ButtonProps + okText?: string | Component | VNode | (() => VNode) + okButtonProps?: ButtonProps + onOpen?: () => void + onOpend?: () => void + onClose?: () => void + onClosed?: () => void + onCancel?: () => void + onOK?: () => void + loadingText?: string +} + +const PORTAL_TARGET_NAME = 'FormDialogFooter' + +const isDialogTitle = (props: any): props is DialogTitle => { + return isNum(props) || isStr(props) || isBool(props) || isValidElement(props) +} + +const getDialogProps = (props: any): IFormDialogProps => { + if (isDialogTitle(props)) { + return { + title: props, + } as IFormDialogProps + } else { + return props + } +} + +export interface IFormDialog { + forOpen(middleware: IMiddleware): IFormDialog + forConfirm(middleware: IMiddleware): IFormDialog + forCancel(middleware: IMiddleware): IFormDialog + open(props?: IFormProps): Promise + close(): void +} + +export interface IFormDialogComponentProps { + content: FormDialogContent + resolve: () => any + reject: () => any +} + +export function FormDialog( + title: IFormDialogProps | DialogTitle, + content: FormDialogContent +): IFormDialog + +export function FormDialog( + title: IFormDialogProps | DialogTitle, + id: string | symbol, + content: FormDialogContent +): IFormDialog + +export function FormDialog( + title: DialogTitle, + id: string, + content: FormDialogContent +): IFormDialog + +export function FormDialog( + title: IFormDialogProps | DialogTitle, + id: string | symbol | FormDialogContent, + content?: FormDialogContent +): IFormDialog { + if (isFn(id) || isValidElement(id)) { + content = id as FormDialogContent + id = 'form-dialog' + } + + const prefixCls = `${stylePrefix}-form-dialog` + const env = { + root: document.createElement('div'), + form: null, + promise: null, + instance: null, + openMiddlewares: [], + confirmMiddlewares: [], + cancelMiddlewares: [], + } + + document.body.appendChild(env.root) + + const props = getDialogProps(title) + const dialogProps = { + ...props, + onClosed: () => { + props.onClosed?.() + env.instance.$destroy() + env.instance = null + env.root?.parentNode?.removeChild(env.root) + env.root = undefined + }, + } + + const component = observer( + defineComponent({ + setup() { + return () => + h( + Fragment, + {}, + { + default: () => + resolveComponent(content, { + form: env.form, + }), + } + ) + }, + }) + ) + + const render = (visible = true, resolve?: () => any, reject?: () => any) => { + if (!env.instance) { + const ComponentConstructor = observer( + Vue.extend({ + props: ['dialogProps'], + data() { + return { + visible: false, + } + }, + render() { + const { + onClose, + onClosed, + onOpen, + onOpend, + onOK, + onCancel, + title, + footer, + okText, + cancelText, + okButtonProps, + cancelButtonProps, + ...dialogProps + } = this.dialogProps + + return h( + FormProvider, + { + props: { + form: env.form, + }, + }, + { + default: () => + h( + Dialog, + { + class: [`${prefixCls}`], + attrs: { + visible: this.visible, + ...dialogProps, + }, + on: { + 'update:visible': (val) => { + this.visible = val + }, + close: () => { + onClose?.() + }, + + closed: () => { + onClosed?.() + }, + open: () => { + onOpen?.() + }, + opend: () => { + onOpend?.() + }, + }, + }, + { + default: () => [h(component, {}, {})], + title: () => + h( + 'div', + {}, + { default: () => resolveComponent(title) } + ), + footer: () => + h( + 'div', + {}, + { + default: () => { + const FooterProtalTarget = h( + PortalTarget, + { + props: { + name: PORTAL_TARGET_NAME, + slim: true, + }, + }, + {} + ) + if (footer === null) { + return [null, FooterProtalTarget] + } else if (footer) { + return [ + resolveComponent(footer), + FooterProtalTarget, + ] + } + + return [ + h( + Button, + { + attrs: cancelButtonProps, + on: { + click: (e) => { + onCancel?.(e) + reject() + }, + }, + }, + { + default: () => + resolveComponent( + cancelText || + t('el.popconfirm.cancelButtonText') + ), + } + ), + + h( + Button, + { + attrs: { + type: 'primary', + ...okButtonProps, + loading: env.form.submitting, + }, + on: { + click: (e) => { + onOK?.(e) + resolve() + }, + }, + }, + { + default: () => + resolveComponent( + okText || + t('el.popconfirm.confirmButtonText') + ), + } + ), + FooterProtalTarget, + ] + }, + } + ), + } + ), + } + ) + }, + }) + ) + env.instance = new ComponentConstructor({ + propsData: { + dialogProps, + }, + parent: getProtalContext(id as string | symbol), + }) + env.instance.$mount(env.root) + } + + env.instance.visible = visible + } + + const formDialog = { + forOpen: (middleware: IMiddleware) => { + if (isFn(middleware)) { + env.openMiddlewares.push(middleware) + } + return formDialog + }, + forConfirm: (middleware: IMiddleware
) => { + if (isFn(middleware)) { + env.confirmMiddlewares.push(middleware) + } + return formDialog + }, + forCancel: (middleware: IMiddleware) => { + if (isFn(middleware)) { + env.cancelMiddlewares.push(middleware) + } + return formDialog + }, + open: (props: IFormProps) => { + if (env.promise) return env.promise + + env.promise = new Promise(async (resolve, reject) => { + try { + props = await loading(dialogProps.loadingText, () => + applyMiddleware(props, env.openMiddlewares) + ) + env.form = env.form || createForm(props) + } catch (e) { + reject(e) + } + + render( + true, + () => { + env.form + .submit(async () => { + await applyMiddleware(env.form, env.confirmMiddlewares) + resolve(toJS(env.form.values)) + if (dialogProps.beforeClose) { + setTimeout(() => { + dialogProps.beforeClose(() => { + formDialog.close() + }) + }) + } else { + formDialog.close() + } + }) + .catch(reject) + }, + async () => { + await loading(dialogProps.loadingText, () => + applyMiddleware(env.form, env.cancelMiddlewares) + ) + + if (dialogProps.beforeClose) { + dialogProps.beforeClose(() => { + formDialog.close() + }) + } else { + formDialog.close() + } + } + ) + }) + return env.promise + }, + close: () => { + if (!env.root) return + render(false) + }, + } + return formDialog +} + +const FormDialogFooter = defineComponent({ + name: 'FFormDialogFooter', + setup(props, { slots }) { + return () => { + return h( + Portal, + { + props: { + to: PORTAL_TARGET_NAME, + }, + }, + slots + ) + } + }, +}) + +FormDialog.Footer = FormDialogFooter +FormDialog.Portal = createPortalProvider('form-dialog') + +export default FormDialog diff --git a/packages/components/src/form-dialog/style.ts b/packages/components/src/form-dialog/style.ts new file mode 100644 index 0000000..4e3fc20 --- /dev/null +++ b/packages/components/src/form-dialog/style.ts @@ -0,0 +1,3 @@ +import 'element-ui/packages/theme-chalk/src/dialog.scss' +import 'element-ui/packages/theme-chalk/src/button.scss' +import 'element-ui/packages/theme-chalk/src/loading.scss' diff --git a/packages/components/src/form-drawer/index.ts b/packages/components/src/form-drawer/index.ts new file mode 100644 index 0000000..fa810dd --- /dev/null +++ b/packages/components/src/form-drawer/index.ts @@ -0,0 +1,415 @@ +import { h, FormProvider, Fragment } from '@formily/vue' +import { toJS } from '@formily/reactive' +import { observer } from '@formily/reactive-vue' +import { createForm, Form, IFormProps } from '@formily/core' +import { + isNum, + isStr, + isBool, + isFn, + IMiddleware, + applyMiddleware, +} from '@formily/shared' +import { Drawer, Button } from 'element-ui' +import type { Drawer as DrawerProps, Button as ButtonProps } from 'element-ui' +import { t } from 'element-ui/src/locale' +import Vue, { Component, VNode } from 'vue' +import { + isValidElement, + resolveComponent, + createPortalProvider, + getProtalContext, + loading, +} from '../__builtins__/shared' +import { stylePrefix } from '../__builtins__/configs' +import { defineComponent } from '@vue/composition-api' +import { Portal, PortalTarget } from 'portal-vue' + +type FormDrawerContentProps = { form: Form } + +type FormDrawerContent = Component | ((props: FormDrawerContentProps) => VNode) + +type DrawerTitle = string | number | Component | VNode | (() => VNode) + +type IFormDrawerProps = Omit & { + title?: DrawerTitle + footer?: null | Component | VNode | (() => VNode) + cancelText?: string | Component | VNode | (() => VNode) + cancelButtonProps?: ButtonProps + okText?: string | Component | VNode | (() => VNode) + okButtonProps?: ButtonProps + onOpen?: () => void + onOpend?: () => void + onClose?: () => void + onClosed?: () => void + onCancel?: () => void + onOK?: () => void + loadingText?: string +} + +const PORTAL_TARGET_NAME = 'FormDrawerFooter' + +const isDrawerTitle = (props: any): props is DrawerTitle => { + return isNum(props) || isStr(props) || isBool(props) || isValidElement(props) +} + +const getDrawerProps = (props: any): IFormDrawerProps => { + if (isDrawerTitle(props)) { + return { + title: props, + } as IFormDrawerProps + } else { + return props + } +} + +export interface IFormDrawer { + forOpen(middleware: IMiddleware): IFormDrawer + forConfirm(middleware: IMiddleware): IFormDrawer + forCancel(middleware: IMiddleware): IFormDrawer + open(props?: IFormProps): Promise + close(): void +} + +export interface IFormDrawerComponentProps { + content: FormDrawerContent + resolve: () => any + reject: () => any +} + +export function FormDrawer( + title: IFormDrawerProps | DrawerTitle, + content: FormDrawerContent +): IFormDrawer + +export function FormDrawer( + title: IFormDrawerProps | DrawerTitle, + id: string | symbol, + content: FormDrawerContent +): IFormDrawer + +export function FormDrawer( + title: DrawerTitle, + id: string, + content: FormDrawerContent +): IFormDrawer + +export function FormDrawer( + title: IFormDrawerProps | DrawerTitle, + id: string | symbol | FormDrawerContent, + content?: FormDrawerContent +): IFormDrawer { + if (isFn(id) || isValidElement(id)) { + content = id as FormDrawerContent + id = 'form-drawer' + } + + const prefixCls = `${stylePrefix}-form-drawer` + const env = { + root: document.createElement('div'), + form: null, + promise: null, + instance: null, + openMiddlewares: [], + confirmMiddlewares: [], + cancelMiddlewares: [], + } + + document.body.appendChild(env.root) + + const props = getDrawerProps(title) + const drawerProps = { + ...props, + onClosed: () => { + props.onClosed?.() + env.instance.$destroy() + env.instance = null + env.root?.parentNode?.removeChild(env.root) + env.root = undefined + }, + } + + const component = observer( + defineComponent({ + setup() { + return () => + h( + Fragment, + {}, + { + default: () => + resolveComponent(content, { + form: env.form, + }), + } + ) + }, + }) + ) + + const render = (visible = true, resolve?: () => any, reject?: () => any) => { + if (!env.instance) { + const ComponentConstructor = Vue.extend({ + props: ['drawerProps'], + data() { + return { + visible: false, + } + }, + render() { + const { + onClose, + onClosed, + onOpen, + onOpend, + onOK, + onCancel, + title, + footer, + okText, + cancelText, + okButtonProps, + cancelButtonProps, + ...drawerProps + } = this.drawerProps + + return h( + FormProvider, + { + props: { + form: env.form, + }, + }, + { + default: () => + h( + Drawer, + { + class: [`${prefixCls}`], + attrs: { + visible: this.visible, + ...drawerProps, + }, + on: { + 'update:visible': (val) => { + this.visible = val + }, + close: () => { + onClose?.() + }, + + closed: () => { + onClosed?.() + }, + open: () => { + onOpen?.() + }, + opend: () => { + onOpend?.() + }, + }, + }, + { + default: () => [ + h( + 'div', + { + class: [`${prefixCls}-body`], + }, + { + default: () => h(component, {}, {}), + } + ), + h( + 'div', + { + class: [`${prefixCls}-footer`], + }, + { + default: () => { + const FooterProtalTarget = h( + PortalTarget, + { + props: { + name: PORTAL_TARGET_NAME, + slim: true, + }, + }, + {} + ) + + if (footer === null) { + return [null, FooterProtalTarget] + } else if (footer) { + return [ + resolveComponent(footer), + FooterProtalTarget, + ] + } + + return [ + h( + Button, + { + attrs: cancelButtonProps, + on: { + click: (e) => { + onCancel?.(e) + reject() + }, + }, + }, + { + default: () => + resolveComponent( + cancelText || + t('el.popconfirm.cancelButtonText') + ), + } + ), + + h( + Button, + { + attrs: { + type: 'primary', + ...okButtonProps, + }, + on: { + click: (e) => { + onOK?.(e) + resolve() + }, + }, + }, + { + default: () => + resolveComponent( + okText || + t('el.popconfirm.confirmButtonText') + ), + } + ), + FooterProtalTarget, + ] + }, + } + ), + ], + title: () => + h('div', {}, { default: () => resolveComponent(title) }), + } + ), + } + ) + }, + }) + env.instance = new ComponentConstructor({ + propsData: { + drawerProps, + }, + parent: getProtalContext(id as string | symbol), + }) + env.instance.$mount(env.root) + } + + env.instance.visible = visible + } + + const formDrawer = { + forOpen: (middleware: IMiddleware) => { + if (isFn(middleware)) { + env.openMiddlewares.push(middleware) + } + return formDrawer + }, + forConfirm: (middleware: IMiddleware) => { + if (isFn(middleware)) { + env.confirmMiddlewares.push(middleware) + } + return formDrawer + }, + forCancel: (middleware: IMiddleware) => { + if (isFn(middleware)) { + env.cancelMiddlewares.push(middleware) + } + return formDrawer + }, + open: (props: IFormProps) => { + if (env.promise) return env.promise + + env.promise = new Promise(async (resolve, reject) => { + try { + props = await loading(drawerProps.loadingText, () => + applyMiddleware(props, env.openMiddlewares) + ) + env.form = env.form || createForm(props) + } catch (e) { + reject(e) + } + + render( + true, + () => { + env.form + .submit(async () => { + await applyMiddleware(env.form, env.confirmMiddlewares) + resolve(toJS(env.form.values)) + if (drawerProps.beforeClose) { + setTimeout(() => { + drawerProps.beforeClose(() => { + formDrawer.close() + }) + }) + } else { + formDrawer.close() + } + }) + .catch(reject) + }, + async () => { + await loading(drawerProps.loadingText, () => + applyMiddleware(env.form, env.cancelMiddlewares) + ) + + if (drawerProps.beforeClose) { + drawerProps.beforeClose(() => { + formDrawer.close() + }) + } else { + formDrawer.close() + } + } + ) + }) + return env.promise + }, + close: () => { + if (!env.root) return + render(false) + }, + } + return formDrawer +} + +const FormDrawerFooter = defineComponent({ + name: 'FFormDrawerFooter', + setup(props, { slots }) { + return () => { + return h( + Portal, + { + props: { + to: PORTAL_TARGET_NAME, + }, + }, + slots + ) + } + }, +}) + +FormDrawer.Footer = FormDrawerFooter +FormDrawer.Protal = createPortalProvider('form-drawer') + +export default FormDrawer diff --git a/packages/components/src/form-drawer/style.scss b/packages/components/src/form-drawer/style.scss new file mode 100644 index 0000000..ef57df0 --- /dev/null +++ b/packages/components/src/form-drawer/style.scss @@ -0,0 +1,21 @@ +@import '../__builtins__/styles/common.scss'; + +.#{$formily-prefix}-form-drawer { + .el-drawer__body { + display: flex; + flex-direction: column; + } + + &-body { + flex: 1; + overflow: auto; + padding: $--dialog-padding-primary; + } + + &-footer { + padding: $--dialog-padding-primary; + display: flex; + justify-content: flex-end; + align-items: center; + } +} diff --git a/packages/components/src/form-drawer/style.ts b/packages/components/src/form-drawer/style.ts new file mode 100644 index 0000000..7ec216a --- /dev/null +++ b/packages/components/src/form-drawer/style.ts @@ -0,0 +1,4 @@ +import './style.scss' +import 'element-ui/packages/theme-chalk/src/drawer.scss' +import 'element-ui/packages/theme-chalk/src/button.scss' +import 'element-ui/packages/theme-chalk/src/loading.scss' diff --git a/packages/components/src/form-grid/index.ts b/packages/components/src/form-grid/index.ts new file mode 100644 index 0000000..9daf45e --- /dev/null +++ b/packages/components/src/form-grid/index.ts @@ -0,0 +1,188 @@ +import { + defineComponent, + provide, + ref, + onMounted, + InjectionKey, + Ref, + computed, + watchEffect, +} from '@vue/composition-api' +import { h } from '@formily/vue' +import { observer } from '@formily/reactive-vue' +import { markRaw } from '@formily/reactive' +import { Grid, IGridOptions } from '@formily/grid' +import { stylePrefix } from '../__builtins__/configs' +import { composeExport } from '../__builtins__/shared' +import { useFormLayout } from '../form-layout' +import { inject } from '@vue/composition-api' +import { PropType } from '@vue/composition-api' + +export interface IFormGridProps extends IGridOptions { + grid?: Grid + prefixCls?: string + className?: string +} + +const FormGridSymbol: InjectionKey>> = + Symbol('FormGridContext') + +interface GridColumnProps { + gridSpan: number +} + +export const createFormGrid = (props: IFormGridProps): Grid => { + return markRaw(new Grid(props)) +} + +export const useFormGrid = (): Ref> => inject(FormGridSymbol) + +/** + * @deprecated + */ +const useGridSpan = (gridSpan: number) => { + return gridSpan +} + +/** + * @deprecated + */ +export const useGridColumn = (gridSpan = 1) => { + return gridSpan +} + +const FormGridInner = observer( + defineComponent({ + name: 'FFormGrid', + props: { + columnGap: { + type: Number, + }, + rowGap: { + type: Number, + }, + minColumns: { + type: [Number, Array], + }, + minWidth: { + type: [Number, Array], + }, + maxColumns: { + type: [Number, Array], + }, + maxWidth: { + type: [Number, Array], + }, + breakpoints: { + type: Array, + }, + colWrap: { + type: Boolean, + default: true, + }, + strictAutoFit: { + type: Boolean, + default: false, + }, + shouldVisible: { + type: Function as PropType, + default() { + return () => true + }, + }, + grid: { + type: Object as PropType>, + }, + }, + setup(props: IFormGridProps) { + const layout = useFormLayout() + + const gridInstance = computed(() => { + const newProps: IFormGridProps = {} + Object.keys(props).forEach((key) => { + if (typeof props[key] !== 'undefined') { + newProps[key] = props[key] + } + }) + const options = { + columnGap: layout.value?.gridColumnGap ?? 8, + rowGap: layout.value?.gridRowGap ?? 4, + ...newProps, + } + return markRaw(options?.grid ? options.grid : new Grid(options)) + }) + const prefixCls = `${stylePrefix}-form-grid` + const root = ref(null) + + provide(FormGridSymbol, gridInstance) + + onMounted(() => { + watchEffect((onInvalidate) => { + const dispose = gridInstance.value.connect(root.value) + onInvalidate(() => { + dispose() + }) + }) + }) + + return { + prefixCls, + root, + gridInstance, + } + }, + render() { + const { prefixCls, gridInstance } = this + return h( + 'div', + { + attrs: { + class: `${prefixCls}`, + }, + style: { + gridTemplateColumns: gridInstance.templateColumns, + gap: gridInstance.gap, + }, + ref: 'root', + }, + { + default: () => this.$slots.default, + } + ) + }, + }) +) as any + +const FormGridColumn = observer( + defineComponent({ + name: 'FFormGridColumn', + props: { + gridSpan: { + type: Number, + default: 1, + }, + }, + setup(props: GridColumnProps, { slots }) { + return () => { + return h( + 'div', + { + attrs: { + 'data-grid-span': props.gridSpan, + }, + }, + slots + ) + } + }, + }) +) + +export const FormGrid = composeExport(FormGridInner, { + GridColumn: FormGridColumn, + useGridSpan, + useFormGrid, + createFormGrid, +}) + +export default FormGrid diff --git a/packages/components/src/form-grid/style.scss b/packages/components/src/form-grid/style.scss new file mode 100644 index 0000000..5dee5af --- /dev/null +++ b/packages/components/src/form-grid/style.scss @@ -0,0 +1,5 @@ +@import '../__builtins__/styles/common.scss'; + +.#{$formily-prefix}-form-grid { + display: grid; +} diff --git a/packages/components/src/form-grid/style.ts b/packages/components/src/form-grid/style.ts new file mode 100644 index 0000000..72dcf9c --- /dev/null +++ b/packages/components/src/form-grid/style.ts @@ -0,0 +1 @@ +import './style.scss' diff --git a/packages/components/src/form-item/animation.scss b/packages/components/src/form-item/animation.scss new file mode 100644 index 0000000..5dbc2c3 --- /dev/null +++ b/packages/components/src/form-item/animation.scss @@ -0,0 +1,72 @@ +@-webkit-keyframes antShowHelpIn { + 0% { + -webkit-transform: translateY(-5px); + transform: translateY(-5px); + opacity: 0; + } + + to { + -webkit-transform: translateY(0); + transform: translateY(0); + opacity: 1; + } +} + +.#{$form-item-prefix}-help-appear, +.#{$form-item-prefix}-help-enter { + -webkit-animation-duration: 0.3s; + animation-duration: 0.3s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + -webkit-animation-play-state: paused; + animation-play-state: paused; +} + +.#{$form-item-prefix}-help-appear.#{$form-item-prefix}-help-appear-active, +.#{$form-item-prefix}-help-enter.#{$form-item-prefix}-help-enter-active { + -webkit-animation-name: antShowHelpIn; + animation-name: antShowHelpIn; + -webkit-animation-play-state: running; + animation-play-state: running; +} + +.#{$form-item-prefix}-help-appear, +.#{$form-item-prefix}-help-enter { + opacity: 0; +} + +.#{$form-item-prefix}-help-appear, +.#{$form-item-prefix}-help-enter { + -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); + animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); +} + +@keyframes antShowHelpIn { + 0% { + -webkit-transform: translateY(-5px); + transform: translateY(-5px); + opacity: 0; + } + + to { + -webkit-transform: translateY(0); + transform: translateY(0); + opacity: 1; + } +} + +@-webkit-keyframes antShowHelpOut { + to { + -webkit-transform: translateY(-5px); + transform: translateY(-5px); + opacity: 0; + } +} + +@keyframes antShowHelpOut { + to { + -webkit-transform: translateY(-5px); + transform: translateY(-5px); + opacity: 0; + } +} diff --git a/packages/components/src/form-item/grid.scss b/packages/components/src/form-item/grid.scss new file mode 100644 index 0000000..d9aaad8 --- /dev/null +++ b/packages/components/src/form-item/grid.scss @@ -0,0 +1,171 @@ +.#{$form-item-prefix}-item-col-24 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.#{$form-item-prefix}-item-col-23 { + -webkit-box-flex: 0; + -ms-flex: 0 0 95.83333333%; + flex: 0 0 95.83333333%; + max-width: 95.83333333%; +} + +.#{$form-item-prefix}-item-col-22 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.66666667%; + flex: 0 0 91.66666667%; + max-width: 91.66666667%; +} + +.#{$form-item-prefix}-item-col-21 { + -webkit-box-flex: 0; + -ms-flex: 0 0 87.5%; + flex: 0 0 87.5%; + max-width: 87.5%; +} + +.#{$form-item-prefix}-item-col-20 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.33333333%; + flex: 0 0 83.33333333%; + max-width: 83.33333333%; +} + +.#{$form-item-prefix}-item-col-19 { + -webkit-box-flex: 0; + -ms-flex: 0 0 79.16666667%; + flex: 0 0 79.16666667%; + max-width: 79.16666667%; +} + +.#{$form-item-prefix}-item-col-18 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.#{$form-item-prefix}-item-col-17 { + -webkit-box-flex: 0; + -ms-flex: 0 0 70.83333333%; + flex: 0 0 70.83333333%; + max-width: 70.83333333%; +} + +.#{$form-item-prefix}-item-col-16 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.66666667%; + flex: 0 0 66.66666667%; + max-width: 66.66666667%; +} + +.#{$form-item-prefix}-item-col-15 { + -webkit-box-flex: 0; + -ms-flex: 0 0 62.5%; + flex: 0 0 62.5%; + max-width: 62.5%; +} + +.#{$form-item-prefix}-item-col-14 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.33333333%; + flex: 0 0 58.33333333%; + max-width: 58.33333333%; +} + +.#{$form-item-prefix}-item-col-13 { + -webkit-box-flex: 0; + -ms-flex: 0 0 54.16666667%; + flex: 0 0 54.16666667%; + max-width: 54.16666667%; +} + +.#{$form-item-prefix}-item-col-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.#{$form-item-prefix}-item-col-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 45.83333333%; + flex: 0 0 45.83333333%; + max-width: 45.83333333%; +} + +.#{$form-item-prefix}-item-col-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.66666667%; + flex: 0 0 41.66666667%; + max-width: 41.66666667%; +} + +.#{$form-item-prefix}-item-col-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 37.5%; + flex: 0 0 37.5%; + max-width: 37.5%; +} + +.#{$form-item-prefix}-item-col-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.33333333%; + flex: 0 0 33.33333333%; + max-width: 33.33333333%; +} + +.#{$form-item-prefix}-item-col-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 29.16666667%; + flex: 0 0 29.16666667%; + max-width: 29.16666667%; +} + +.#{$form-item-prefix}-item-col-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.#{$form-item-prefix}-item-col-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 20.83333333%; + flex: 0 0 20.83333333%; + max-width: 20.83333333%; +} + +.#{$form-item-prefix}-item-col-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.66666667%; + flex: 0 0 16.66666667%; + max-width: 16.66666667%; +} + +.#{$form-item-prefix}-item-col-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 12.5%; + flex: 0 0 12.5%; + max-width: 12.5%; +} + +.#{$form-item-prefix}-item-col-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.33333333%; + flex: 0 0 8.33333333%; + max-width: 8.33333333%; +} + +.#{$form-item-prefix}-item-col-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 4.16666667%; + flex: 0 0 4.16666667%; + max-width: 4.16666667%; +} + +.#{$form-item-prefix}-item-col-0 { + display: none; +} diff --git a/packages/components/src/form-item/index.ts b/packages/components/src/form-item/index.ts new file mode 100644 index 0000000..827ed09 --- /dev/null +++ b/packages/components/src/form-item/index.ts @@ -0,0 +1,562 @@ +import { + ref, + defineComponent, + onMounted, + Ref, + onBeforeUnmount, + watch, + provide, +} from '@vue/composition-api' +import { isVoidField } from '@formily/core' +import { connect, mapProps, h } from '@formily/vue' +import { useFormLayout, FormLayoutShallowContext } from '../form-layout' +import { composeExport, resolveComponent } from '../__builtins__/shared' +import { stylePrefix } from '../__builtins__/configs' +import { Component } from 'vue' +import { Tooltip } from 'element-ui' +import ResizeObserver from 'resize-observer-polyfill' + +export type FormItemProps = { + className?: string + required?: boolean + label?: string | Component + colon?: boolean + tooltip?: string | Component + layout?: 'vertical' | 'horizontal' | 'inline' + labelStyle?: Record + labelAlign?: 'left' | 'right' + labelWrap?: boolean + labelWidth?: number + wrapperWidth?: number + labelCol?: number + wrapperCol?: number + wrapperAlign?: 'left' | 'right' + wrapperWrap?: boolean + wrapperStyle?: Record + fullness?: boolean + addonBefore?: string | Component + addonAfter?: string | Component + size?: 'small' | 'default' | 'large' + extra?: string + feedbackText?: string | Component + feedbackLayout?: 'loose' | 'terse' | 'popover' | 'none' | (string & {}) + feedbackStatus?: 'error' | 'warning' | 'success' | 'pending' | (string & {}) + tooltipLayout?: 'icon' | 'text' + feedbackIcon?: string | Component + asterisk?: boolean + gridSpan?: number + bordered?: boolean + inset?: boolean +} + +const useOverflow = (containerRef: Ref) => { + const overflow = ref(false) + let resizeObserver: ResizeObserver | undefined + + const cleanup = () => { + if (resizeObserver) { + resizeObserver.unobserve(containerRef.value) + resizeObserver = null + } + } + + const observer = () => { + const container = containerRef.value + const content = container.querySelector('label') + const containerWidth = container.getBoundingClientRect().width + const contentWidth = content?.getBoundingClientRect().width + + if (containerWidth !== 0) { + if (contentWidth > containerWidth) { + overflow.value = true + } else { + overflow.value = false + } + } + } + + const stopWatch = watch( + () => containerRef.value, + (el) => { + cleanup() + + if (el) { + resizeObserver = new ResizeObserver(observer) + resizeObserver.observe(el) + } + }, + { immediate: true, flush: 'post' } + ) + + onBeforeUnmount(() => { + cleanup() + stopWatch() + }) + + return overflow +} + +const ICON_MAP = { + error: () => h('i', { class: 'el-icon-circle-close' }, {}), + success: () => h('i', { class: 'el-icon-circle-check' }, {}), + warning: () => h('i', { class: 'el-icon-warning-outline' }, {}), +} + +export const FormBaseItem = defineComponent({ + name: 'FormItem', + props: { + className: {}, + required: {}, + label: {}, + colon: {}, + layout: {}, + tooltip: {}, + labelStyle: {}, + labelAlign: {}, + labelWrap: {}, + labelWidth: {}, + wrapperWidth: {}, + labelCol: {}, + wrapperCol: {}, + wrapperAlign: {}, + wrapperWrap: {}, + wrapperStyle: {}, + fullness: {}, + addonBefore: {}, + addonAfter: {}, + size: {}, + extra: {}, + feedbackText: {}, + feedbackLayout: {}, + tooltipLayout: {}, + feedbackStatus: {}, + feedbackIcon: {}, + asterisk: {}, + gridSpan: {}, + bordered: { default: true }, + inset: { default: false }, + }, + setup(props, { slots, attrs, refs }) { + const active = ref(false) + const deepLayoutRef = useFormLayout() + + const prefixCls = `${stylePrefix}-form-item` + + const containerRef = ref(null) + const overflow = useOverflow(containerRef) + + onMounted(() => { + containerRef.value = refs.labelContainer + }) + + provide(FormLayoutShallowContext, ref(null)) + + return () => { + const gridStyles: Record = {} + + const deepLayout = deepLayoutRef.value + const { + label, + colon = deepLayout.colon ?? true, + layout = deepLayout.layout ?? 'horizontal', + tooltip, + labelStyle = {}, + labelWrap = deepLayout.labelWrap ?? false, + labelWidth = deepLayout.labelWidth, + wrapperWidth = deepLayout.wrapperWidth, + labelCol = deepLayout.labelCol, + wrapperCol = deepLayout.wrapperCol, + wrapperAlign = deepLayout.wrapperAlign ?? 'left', + wrapperWrap = deepLayout.wrapperWrap, + wrapperStyle = {}, + fullness = deepLayout.fullness, + addonBefore, + addonAfter, + size = deepLayout.size, + extra, + feedbackText, + feedbackLayout = deepLayout.feedbackLayout ?? 'loose', + tooltipLayout = deepLayout.tooltipLayout ?? 'icon', + feedbackStatus, + feedbackIcon, + asterisk, + bordered = deepLayout.bordered, + inset = deepLayout.inset, + } = props + const labelAlign = + deepLayout.layout === 'vertical' + ? props.labelAlign ?? deepLayout.labelAlign ?? 'left' + : props.labelAlign ?? deepLayout.labelAlign ?? 'right' + + // 固定宽度 + let enableCol = false + if (labelWidth || wrapperWidth) { + if (labelWidth) { + labelStyle.width = `${labelWidth}px` + labelStyle.maxWidth = `${labelWidth}px` + } + if (wrapperWidth) { + wrapperStyle.width = `${wrapperWidth}px` + wrapperStyle.maxWidth = `${wrapperWidth}px` + } + // 栅格模式 + } else if (labelCol || wrapperCol) { + enableCol = true + } + + const formatChildren = + feedbackLayout === 'popover' + ? h( + 'el-popover', + { + props: { + disabled: !feedbackText, + placement: 'top', + }, + }, + { + reference: () => + h('div', {}, { default: () => slots.default?.() }), + default: () => [ + h( + 'div', + { + class: { + [`${prefixCls}-${feedbackStatus}-help`]: + !!feedbackStatus, + [`${prefixCls}-help`]: true, + }, + }, + { + default: () => [ + feedbackStatus && + ['error', 'success', 'warning'].includes(feedbackStatus) + ? ICON_MAP[ + feedbackStatus as 'error' | 'success' | 'warning' + ]() + : '', + resolveComponent(feedbackText), + ], + } + ), + ], + } + ) + : slots.default?.() + + const renderLabelText = () => { + const labelChildren = h( + 'div', + { + class: `${prefixCls}-label-content`, + ref: 'labelContainer', + }, + { + default: () => [ + asterisk && + h( + 'span', + { class: `${prefixCls}-asterisk` }, + { default: () => ['*'] } + ), + h('label', {}, { default: () => [resolveComponent(label)] }), + ], + } + ) + const isTextTooltip = tooltip && tooltipLayout === 'text' + if (isTextTooltip || overflow.value) { + return h( + Tooltip, + { + props: { + placement: 'top', + }, + }, + { + default: () => [labelChildren], + content: () => + h( + 'div', + {}, + { + default: () => [ + overflow.value && resolveComponent(label), + isTextTooltip && resolveComponent(tooltip), + ], + } + ), + } + ) + } else { + return labelChildren + } + } + const renderTooltipIcon = () => { + if (tooltip && tooltipLayout === 'icon') { + return h( + 'span', + { + class: `${prefixCls}-label-tooltip`, + }, + { + default: () => [ + h( + Tooltip, + { + props: { + placement: 'top', + }, + }, + { + default: () => [h('i', { class: 'el-icon-info' }, {})], + content: () => + h( + 'div', + { + class: `${prefixCls}-label-tooltip-content`, + }, + { + default: () => [resolveComponent(tooltip)], + } + ), + } + ), + ], + } + ) + } + } + const renderLabel = + label && + h( + 'div', + { + class: { + [`${prefixCls}-label`]: true, + [`${prefixCls}-label-tooltip`]: + (tooltip && tooltipLayout === 'text') || overflow.value, + [`${prefixCls}-item-col-${labelCol}`]: enableCol && !!labelCol, + }, + style: labelStyle, + }, + { + default: () => [ + // label content + renderLabelText(), + // label tooltip + renderTooltipIcon(), + // label colon + label && + h( + 'span', + { + class: `${prefixCls}-colon`, + }, + { default: () => [colon ? ':' : ''] } + ), + ], + } + ) + + const renderFeedback = + !!feedbackText && + feedbackLayout !== 'popover' && + feedbackLayout !== 'none' && + h( + 'div', + { + class: { + [`${prefixCls}-${feedbackStatus}-help`]: !!feedbackStatus, + [`${prefixCls}-help`]: true, + [`${prefixCls}-help-enter`]: true, + [`${prefixCls}-help-enter-active`]: true, + }, + }, + { default: () => [resolveComponent(feedbackText)] } + ) + + const renderExtra = + extra && + h('div', { class: `${prefixCls}-extra` }, { default: () => [extra] }) + const renderContent = h( + 'div', + { + class: { + [`${prefixCls}-control`]: true, + [`${prefixCls}-item-col-${wrapperCol}`]: enableCol && !!wrapperCol, + }, + }, + { + default: () => [ + h( + 'div', + { class: `${prefixCls}-control-content` }, + { + default: () => [ + addonBefore && + h( + 'div', + { class: `${prefixCls}-addon-before` }, + { + default: () => [resolveComponent(addonBefore)], + } + ), + h( + 'div', + { + class: { + [`${prefixCls}-control-content-component`]: true, + [`${prefixCls}-control-content-component-has-feedback-icon`]: + !!feedbackIcon, + }, + style: wrapperStyle, + }, + { + default: () => [ + formatChildren, + feedbackIcon && + h( + 'div', + { class: `${prefixCls}-feedback-icon` }, + { + default: () => [ + typeof feedbackIcon === 'string' + ? h('i', { class: feedbackIcon }, {}) + : resolveComponent(feedbackIcon), + ], + } + ), + ], + } + ), + addonAfter && + h( + 'div', + { class: `${prefixCls}-addon-after` }, + { + default: () => [resolveComponent(addonAfter)], + } + ), + ], + } + ), + renderFeedback, + renderExtra, + ], + } + ) + return h( + 'div', + { + style: { + ...gridStyles, + }, + attrs: { + 'data-grid-span': props.gridSpan, + }, + class: { + [`${prefixCls}`]: true, + [`${prefixCls}-layout-${layout}`]: true, + [`${prefixCls}-${feedbackStatus}`]: !!feedbackStatus, + [`${prefixCls}-feedback-has-text`]: !!feedbackText, + [`${prefixCls}-size-${size}`]: !!size, + [`${prefixCls}-feedback-layout-${feedbackLayout}`]: + !!feedbackLayout, + [`${prefixCls}-fullness`]: !!fullness || !!inset || !!feedbackIcon, + [`${prefixCls}-inset`]: !!inset, + [`${prefixCls}-active`]: active.value, + [`${prefixCls}-inset-active`]: !!inset && active.value, + [`${prefixCls}-label-align-${labelAlign}`]: true, + [`${prefixCls}-control-align-${wrapperAlign}`]: true, + [`${prefixCls}-label-wrap`]: !!labelWrap, + [`${prefixCls}-control-wrap`]: !!wrapperWrap, + [`${prefixCls}-bordered-none`]: + bordered === false || !!inset || !!feedbackIcon, + [`${props.className}`]: !!props.className, + }, + on: { + '!focus': () => { + if (feedbackIcon || inset) { + active.value = true + } + }, + '!blur': () => { + if (feedbackIcon || inset) { + active.value = false + } + }, + }, + }, + { + default: () => [renderLabel, renderContent], + } + ) + } + }, +}) + +const Item = connect( + FormBaseItem, + mapProps( + { validateStatus: true, title: 'label', required: true }, + (props, field) => { + if (isVoidField(field)) return props + if (!field) return props + const takeMessage = () => { + const split = (messages: any[]) => { + return messages.reduce((buf, text, index) => { + if (!text) return buf + return index < messages.length - 1 + ? buf.concat([text, ', ']) + : buf.concat([text]) + }, []) + } + if (field.validating) return + if (props.feedbackText) return props.feedbackText + if (field.selfErrors.length) return split(field.selfErrors) + if (field.selfWarnings.length) return split(field.selfWarnings) + if (field.selfSuccesses.length) return split(field.selfSuccesses) + } + const errorMessages = takeMessage() + return { + feedbackText: Array.isArray(errorMessages) + ? errorMessages.join(', ') + : errorMessages, + extra: props.extra || field.description, + } + }, + (props, field) => { + if (isVoidField(field)) return props + if (!field) return props + return { + feedbackStatus: + field.validateStatus === 'validating' + ? 'pending' + : (Array.isArray(field.decorator) && + field.decorator[1]?.feedbackStatus) || + field.validateStatus, + } + }, + (props, field) => { + if (isVoidField(field)) return props + + if (!field) return props + let asterisk = false + if (field.required && field.pattern !== 'readPretty') { + asterisk = true + } + if ('asterisk' in props) { + asterisk = props.asterisk + } + return { + asterisk, + } + } + ) +) + +export const FormItem = composeExport(Item, { + BaseItem: FormBaseItem, +}) + +export default FormItem diff --git a/packages/components/src/form-item/style.scss b/packages/components/src/form-item/style.scss new file mode 100644 index 0000000..ce215b3 --- /dev/null +++ b/packages/components/src/form-item/style.scss @@ -0,0 +1,518 @@ +@use 'sass:math'; +@import '../__builtins__/styles/common.scss'; +@import './var.scss'; +@import './grid.scss'; +@import './animation.scss'; + +.#{$form-item-prefix} { + display: flex; + margin-bottom: $--form-item-margin-bottom; + position: relative; + line-height: $--form-item-medium-line-height; + font-size: $--form-font-size; + + &-label * { + line-height: $--form-item-medium-line-height; + } + + &-label-content { + min-height: $--form-item-medium-line-height; + } + + &-content-component { + line-height: $--form-item-medium-line-height; + } + + .#{$namespace}-input, + .#{$namespace}-input-number, + .#{$namespace}-input-number.is-controls-right, + .#{$namespace}-select, + .#{$namespace}-cascader, + .#{$namespace}-date-editor--daterange, + .#{$namespace}-date-editor--timerange, + .#{$namespace}-date-editor--datetimerange, + .#{$namespace}-date-editor.#{$namespace}-input, + .#{$namespace}-date-editor.#{$namespace}-input__inner, + .#{$namespace}-tree-select { + width: 100%; + } + + .#{$namespace}-input-group { + vertical-align: top; + } +} + +.#{$form-item-prefix}-label { + position: relative; + display: flex; + + &-content { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + &-tooltip { + cursor: help; + + * { + cursor: help; + } + + label { + border-bottom: 1px dashed currentColor; + } + } +} + +.#{$form-item-prefix}-label label { + color: $--color-text-regular; +} + +.#{$form-item-prefix}-label-align-left { + > .#{$form-item-prefix}-label { + justify-content: flex-start; + } +} + +.#{$form-item-prefix}-label-align-right { + > .#{$form-item-prefix}-label { + justify-content: flex-end; + } +} + +.#{$form-item-prefix}-label-wrap { + .#{$form-item-prefix}-label { + label { + white-space: pre-line; + } + } +} + +.#{$form-item-prefix}-feedback-layout-terse { + margin-bottom: 8px; + + &.#{$form-item-prefix}-feedback-has-text:not(.#{$form-item-prefix}-inset) { + margin-bottom: 0; + } +} + +.#{$form-item-prefix}-feedback-layout-loose { + margin-bottom: $--form-error-line-height; + + &.#{$form-item-prefix}-feedback-has-text:not(.#{$form-item-prefix}-inset) { + margin-bottom: 0; + } +} + +.#{$form-item-prefix}-feedback-layout-none { + margin-bottom: 0; + + &.#{$form-item-prefix}-feedback-has-text:not(.#{$form-item-prefix}-inset) { + margin-bottom: 0; + } +} + +.#{$form-item-prefix}-control { + width: 100%; + flex: 1; + + .#{$form-item-prefix}-control-content { + display: flex; + + .#{$form-item-prefix}-control-content-component { + width: 100%; + min-height: $--form-item-medium-line-height; + line-height: $--form-item-medium-line-height; + + &-has-feedback-icon { + flex: 1; + position: relative; + display: flex; + align-items: center; + } + } + + .#{$form-item-prefix}-addon-before { + margin-right: 8px; + display: inline-flex; + align-items: center; + min-height: $--form-item-medium-line-height; + flex-shrink: 0; + } + + .#{$form-item-prefix}-addon-after { + margin-left: 8px; + display: inline-flex; + align-items: center; + min-height: $--form-item-medium-line-height; + flex-shrink: 0; + } + } +} + +.#{$form-item-prefix}-size-small { + font-size: $--font-size-extra-small; + + .#{$form-item-prefix}-label * { + line-height: $--form-item-small-line-height; + } + + .#{$form-item-prefix}-label-content { + min-height: $--form-item-small-line-height; + } + + .#{$form-item-prefix}-control-content { + .#{$form-item-prefix}-control-content-component { + line-height: $--form-item-small-line-height; + min-height: $--form-item-small-line-height; + } + } + + .#{$form-item-prefix}-help, + .#{$form-item-prefix}-extra { + min-height: $--form-error-line-height; + } + + .#{$form-item-prefix}-control-content { + min-height: $--form-item-small-line-height; + } + + .#{$form-item-prefix}-label > label { + height: $--form-item-small-line-height; + } + + .#{$namespace}-input { + input { + height: $--form-item-small-line-height; + line-height: $--form-item-small-line-height; + } + } + + .#{$namespace}-input-number { + line-height: $--form-item-small-line-height; + &.is-controls-right { + .#{$namespace}-input-number__increase, + .#{$namespace}-input-number__decrease { + line-height: math.div($--form-item-small-line-height, 2); + height: math.div($--form-item-small-line-height, 2); + font-size: $--font-size-extra-small; + box-sizing: border-box; + } + } + } +} + +.#{$form-item-prefix}-size-large { + font-size: $--font-size-medium; + + .#{$form-item-prefix}-label * { + line-height: $--form-item-large-line-height; + } + + .#{$form-item-prefix}-label-content { + min-height: $--form-item-large-line-height; + } + + .#{$form-item-prefix}-control-content { + .#{$form-item-prefix}-control-content-component { + line-height: $--form-item-large-line-height; + min-height: $--form-item-large-line-height; + } + } + + .#{$form-item-prefix}-help, + .#{$form-item-prefix}-extra { + min-height: $--form-error-line-height; + } + + .#{$form-item-prefix}-control-content { + min-height: $--form-item-large-line-height; + } + + .#{$namespace}-input { + input { + height: $--form-item-large-line-height; + line-height: $--form-item-large-line-height; + } + } + + .#{$namespace}-select { + input { + height: $--form-item-large-line-height !important; + line-height: $--form-item-large-line-height; + } + } + + .#{$namespace}-select__tags .el-tag { + height: $--form-item-large-line-height - 12px; + line-height: $--form-item-large-line-height - 12px; + } + + .#{$namespace}-input-number { + line-height: $--form-item-large-line-height; + &.is-controls-right { + .#{$namespace}-input-number__increase, + .#{$namespace}-input-number__decrease { + line-height: math.div($--form-item-large-line-height, 2) - 1; + font-size: $--font-size-medium; + } + } + } +} + +.#{$form-item-prefix} { + &-layout-vertical { + display: block; + + .#{$form-item-prefix}-label * { + line-height: $--form-item-label-top-line-height; + } + + .#{$form-item-prefix}-label-content { + min-height: $--form-item-label-top-line-height; + } + } +} + +.#{$form-item-prefix}-feedback-layout-popover { + margin-bottom: 8px; +} + +.#{$form-item-prefix}-label-tooltip { + margin-left: 4px; + color: $--color-text-secondary; + display: flex; + align-items: center; + height: $--form-item-medium-line-height; + cursor: pointer; + i { + line-height: 1; + } +} + +.#{$form-item-prefix}-control-align-left { + .#{$form-item-prefix}-control-content { + justify-content: flex-start; + } +} + +.#{$form-item-prefix}-control-align-right { + .#{$form-item-prefix}-control-content { + justify-content: flex-end; + } +} + +.#{$form-item-prefix}-control-wrap { + .#{$form-item-prefix}-control { + white-space: pre-line; + } +} + +.#{$form-item-prefix}-asterisk { + color: $--color-danger; + margin-right: 4px; + display: inline-block; + font-family: SimSun, sans-serif; +} + +.#{$form-item-prefix}-colon { + margin-left: 2px; + margin-right: 8px; +} + +.#{$form-item-prefix}-help, +.#{$form-item-prefix}-extra { + clear: both; + min-height: $--form-error-line-height; + line-height: $--form-error-line-height; + color: $--color-text-secondary; + transition: $--color-transition-base; + padding-top: 0; +} + +.#{$form-item-prefix}-fullness { + > .#{$form-item-prefix}-control { + > .#{$form-item-prefix}-control-content { + > .#{$form-item-prefix}-control-content-component { + > *:first-child { + width: 100%; + } + } + } + } +} + +.#{$form-item-prefix}-control-content-component-has-feedback-icon { + border-radius: $--border-radius-base; + border: $--border-base; + padding-right: 8px; + transition: $--all-transition; + touch-action: manipulation; + outline: none; + + .#{$namespace}-input-number, + .#{$namespace}-date-editor .#{$namespace}-input__inner, + .#{$namespace}-select .#{$namespace}-input__inner, + .#{$namespace}-input .#{$namespace}-input__inner { + border: none !important; + box-shadow: none !important; + } + .#{$namespace}-input-number.is-controls-right .#{$namespace}-input__inner { + padding-right: 40px; + } + .#{$namespace}-input-number.is-controls-right + .#{$namespace}-input-number__increase { + top: 0; + right: 8px; + border-right: $--border-base; + } + .#{$namespace}-input-number.is-controls-right + .#{$namespace}-input-number__decrease { + bottom: 0; + right: 8px; + border-right: $--border-base; + } +} + +.#{$form-item-prefix} { + &:hover { + .#{$form-item-prefix}-control-content-component-has-feedback-icon { + @include hover; + } + } +} + +.#{$form-item-prefix}-active { + .#{$form-item-prefix}-control-content-component-has-feedback-icon { + @include active; + } +} + +.#{$form-item-prefix}-error { + & .#{$namespace}-input__inner, + & .#{$namespace}-textarea__inner { + &, + &.hover { + border-color: $--color-danger; + } + } + + & .#{$namespace}-input__inner, + & .#{$namespace}-textarea__inner { + &:focus { + border-color: $--color-danger; + } + } + + & .#{$namespace}-input-group__append, + & .#{$namespace}-input-group__prepend { + & .#{$namespace}-input__inner { + border-color: transparent; + } + } + .#{$namespace}-input__validateIcon { + color: $--color-danger !important; + } +} + +.#{$form-item-prefix}-error-help, +.#{$form-item-prefix}-warning-help, +.#{$form-item-prefix}-success-help { + i { + margin-right: 8px; + } +} + +.#{$form-item-prefix}-error-help { + color: $--color-danger; +} + +.#{$form-item-prefix}-warning-help { + color: $--color-warning; +} + +.#{$form-item-prefix}-success-help { + color: $--color-success; +} + +.#{$form-item-prefix}-warning { + & .#{$namespace}-input__inner, + & .#{$namespace}-textarea__inner { + &, + &.hover { + border-color: $--color-warning; + } + } + + & .#{$namespace}-input__inner, + & .#{$namespace}-textarea__inner { + &:focus { + border-color: $--color-warning; + } + } + + & .#{$namespace}-input-group__append, + & .#{$namespace}-input-group__prepend { + & .#{$namespace}-input__inner { + border-color: transparent; + } + } + .#{$namespace}-input__validateIcon { + color: $--color-warning !important; + } +} + +.#{$form-item-prefix}-success { + & .#{$namespace}-input__inner, + & .#{$namespace}-textarea__inner { + &, + &.hover { + border-color: $--color-success; + } + } + + & .#{$namespace}-input__inner, + & .#{$namespace}-textarea__inner { + &:focus { + border-color: $--color-success; + } + } + + & .#{$namespace}-input-group__append, + & .#{$namespace}-input-group__prepend { + & .#{$namespace}-input__inner { + border-color: transparent; + } + } + .#{$namespace}-input__validateIcon { + color: $--color-success !important; + } +} + +.#{$form-item-prefix}-bordered-none { + .#{$namespace}-input__inner { + border: none !important; + } + + .#{$namespace}-input-number__decrease, + .#{$namespace}-input-number__increase { + border: none !important; + background: transparent !important; + } +} + +.#{$form-item-prefix}-inset { + border-radius: $--border-radius-base; + border: $--border-base; + padding-left: 12px; + transition: 0.3s all; + + &:hover { + @include hover; + } +} + +.#{$form-item-prefix}-inset-active { + @include active; +} diff --git a/packages/components/src/form-item/style.ts b/packages/components/src/form-item/style.ts new file mode 100644 index 0000000..fc8da18 --- /dev/null +++ b/packages/components/src/form-item/style.ts @@ -0,0 +1,2 @@ +import 'element-ui/packages/theme-chalk/src/tooltip.scss' +import './style.scss' diff --git a/packages/components/src/form-item/var.scss b/packages/components/src/form-item/var.scss new file mode 100644 index 0000000..3f3077d --- /dev/null +++ b/packages/components/src/form-item/var.scss @@ -0,0 +1,17 @@ +$form-item-prefix: '#{$formily-prefix}-form-item'; + +$--form-font-size: $--font-size-base !default; + +$--form-label-font-size: $--form-font-size !default; + +$--form-item-large-line-height: 40px; + +$--form-item-medium-line-height: 32px; + +$--form-item-small-line-height: 24px; + +$--form-item-label-top-line-height: 40px; + +$--form-error-line-height: 22px !default; + +$--form-item-margin-bottom: $--form-error-line-height !default; diff --git a/packages/components/src/form-layout/index.ts b/packages/components/src/form-layout/index.ts new file mode 100644 index 0000000..309a7bf --- /dev/null +++ b/packages/components/src/form-layout/index.ts @@ -0,0 +1,158 @@ +import { + provide, + inject, + InjectionKey, + defineComponent, + Ref, + ref, + watch, +} from '@vue/composition-api' +import { h } from '@formily/vue' +import { stylePrefix } from '../__builtins__/configs' +import { useResponsiveFormLayout } from './useResponsiveFormLayout' + +export type FormLayoutProps = { + className?: string + colon?: boolean + labelAlign?: 'right' | 'left' | ('right' | 'left')[] + wrapperAlign?: 'right' | 'left' | ('right' | 'left')[] + labelWrap?: boolean + labelWidth?: number + wrapperWidth?: number + wrapperWrap?: boolean + labelCol?: number | number[] + wrapperCol?: number | number[] + fullness?: boolean + size?: 'small' | 'default' | 'large' + layout?: + | 'vertical' + | 'horizontal' + | 'inline' + | ('vertical' | 'horizontal' | 'inline')[] + direction?: 'rtl' | 'ltr' + shallow?: boolean + feedbackLayout?: 'loose' | 'terse' | 'popover' + tooltipLayout?: 'icon' | 'text' + bordered?: boolean + breakpoints?: number[] + inset?: boolean + spaceGap?: number + gridColumnGap?: number + gridRowGap?: number +} + +export const FormLayoutDeepContext: InjectionKey> = Symbol( + 'FormLayoutDeepContext' +) + +export const FormLayoutShallowContext: InjectionKey> = + Symbol('FormLayoutShallowContext') + +export const useFormDeepLayout = (): Ref => + inject(FormLayoutDeepContext, ref({})) + +export const useFormShallowLayout = (): Ref => + inject(FormLayoutShallowContext, ref({})) + +export const useFormLayout = (): Ref => { + const shallowLayout = useFormShallowLayout() + const deepLayout = useFormDeepLayout() + const formLayout = ref({ + ...deepLayout.value, + ...shallowLayout.value, + }) + + watch( + [shallowLayout, deepLayout], + () => { + formLayout.value = { + ...deepLayout.value, + ...shallowLayout.value, + } + }, + { + deep: true, + } + ) + return formLayout +} + +export const FormLayout = defineComponent({ + name: 'FFormLayout', + props: { + className: {}, + colon: { default: true }, + labelAlign: {}, + wrapperAlign: {}, + labelWrap: { default: false }, + labelWidth: {}, + wrapperWidth: {}, + wrapperWrap: { default: false }, + labelCol: {}, + wrapperCol: {}, + fullness: { default: false }, + size: { default: 'default' }, + layout: { default: 'horizontal' }, + direction: { default: 'ltr' }, + shallow: { default: true }, + feedbackLayout: {}, + tooltipLayout: {}, + bordered: { default: true }, + inset: { default: false }, + breakpoints: {}, + spaceGap: {}, + gridColumnGap: {}, + gridRowGap: {}, + }, + setup(customProps, { slots, refs }) { + const { props } = useResponsiveFormLayout(customProps, refs) + + const deepLayout = useFormDeepLayout() + const newDeepLayout = ref({ + ...deepLayout, + }) + const shallowProps = ref({}) + + watch( + [props, deepLayout], + () => { + shallowProps.value = props.value.shallow ? props.value : undefined + if (!props.value.shallow) { + Object.assign(newDeepLayout.value, props.value) + } else { + if (props.value.size) { + newDeepLayout.value.size = props.value.size + } + if (props.value.colon) { + newDeepLayout.value.colon = props.value.colon + } + } + }, + { deep: true, immediate: true } + ) + + provide(FormLayoutDeepContext, newDeepLayout) + provide(FormLayoutShallowContext, shallowProps) + + const formPrefixCls = `${stylePrefix}-form` + return () => { + const classNames = { + [`${formPrefixCls}-${props.value.layout}`]: true, + [`${formPrefixCls}-rtl`]: props.value.direction === 'rtl', + [`${formPrefixCls}-${props.value.size}`]: + props.value.size !== undefined, + [`${props.value.className}`]: props.value.className !== undefined, + } + return h( + 'div', + { + ref: 'root', + class: classNames, + }, + slots + ) + } + }, +}) + +export default FormLayout diff --git a/packages/components/src/form-layout/style.scss b/packages/components/src/form-layout/style.scss new file mode 100644 index 0000000..c77f85a --- /dev/null +++ b/packages/components/src/form-layout/style.scss @@ -0,0 +1,6 @@ +@import '../__builtins__/styles/common.scss'; + +.#{$formily-prefix}-form-inline { + display: flex; + flex-wrap: wrap; +} diff --git a/packages/components/src/form-layout/style.ts b/packages/components/src/form-layout/style.ts new file mode 100644 index 0000000..72dcf9c --- /dev/null +++ b/packages/components/src/form-layout/style.ts @@ -0,0 +1 @@ +import './style.scss' diff --git a/packages/components/src/form-layout/useResponsiveFormLayout.ts b/packages/components/src/form-layout/useResponsiveFormLayout.ts new file mode 100644 index 0000000..c1e3ff1 --- /dev/null +++ b/packages/components/src/form-layout/useResponsiveFormLayout.ts @@ -0,0 +1,115 @@ +import { isArr, isValid } from '@formily/shared' +import { onMounted, Ref, ref } from 'vue-demi' + +interface IProps { + breakpoints?: number[] + layout?: + | 'vertical' + | 'horizontal' + | 'inline' + | ('vertical' | 'horizontal' | 'inline')[] + labelCol?: number | number[] + wrapperCol?: number | number[] + labelAlign?: 'right' | 'left' | ('right' | 'left')[] + wrapperAlign?: 'right' | 'left' | ('right' | 'left')[] + [props: string]: any +} + +interface ICalcBreakpointIndex { + (originalBreakpoints: number[], width: number): number +} + +interface ICalculateProps { + (target: Element, props: IProps): IProps +} + +interface IUseResponsiveFormLayout { + ( + props: IProps, + refs: { + [key: string]: Vue | Element | Vue[] | Element[] + } + ): { + props: Ref + } +} + +const calcBreakpointIndex: ICalcBreakpointIndex = (breakpoints, width) => { + for (let i = 0; i < breakpoints.length; i++) { + if (width <= breakpoints[i]) { + return i + } + } +} + +const calcFactor = (value: T | T[], breakpointIndex: number): T => { + if (Array.isArray(value)) { + if (breakpointIndex === -1) return value[0] + return value[breakpointIndex] ?? value[value.length - 1] + } else { + return value + } +} + +const factor = (value: T | T[], breakpointIndex: number): T => + isValid(value) ? calcFactor(value as any, breakpointIndex) : value + +const calculateProps: ICalculateProps = (target, props) => { + const { clientWidth } = target + const { + breakpoints, + layout, + labelAlign, + wrapperAlign, + labelCol, + wrapperCol, + ...otherProps + } = props + const breakpointIndex = calcBreakpointIndex(breakpoints, clientWidth) + + return { + layout: factor(layout, breakpointIndex), + labelAlign: factor(labelAlign, breakpointIndex), + wrapperAlign: factor(wrapperAlign, breakpointIndex), + labelCol: factor(labelCol, breakpointIndex), + wrapperCol: factor(wrapperCol, breakpointIndex), + ...otherProps, + } +} + +export const useResponsiveFormLayout: IUseResponsiveFormLayout = ( + props, + refs +) => { + const root = ref(null) + const { breakpoints } = props + if (!isArr(breakpoints)) { + return { props: ref(props) } + } + const layoutProps = ref({}) + + const updateUI = () => { + layoutProps.value = calculateProps(root.value, props) + } + + onMounted(() => { + root.value = refs.root as Element + const observer = () => { + updateUI() + } + const resizeObserver = new ResizeObserver(observer) + if (root.value) { + resizeObserver.observe(root.value) + } + + updateUI() + + return () => { + resizeObserver.disconnect() + } + }) + + return { + props: layoutProps, + } +} diff --git a/packages/components/src/form-step/index.ts b/packages/components/src/form-step/index.ts new file mode 100644 index 0000000..60d7641 --- /dev/null +++ b/packages/components/src/form-step/index.ts @@ -0,0 +1,203 @@ +import { defineComponent, PropType } from '@vue/composition-api' +import { action, model, observable } from '@formily/reactive' +import { VoidField, Form } from '@formily/core' +import { observer } from '@formily/reactive-vue' +import { + h, + useField, + useFieldSchema, + RecursionField, + Fragment, +} from '@formily/vue' +import { Schema, SchemaKey } from '@formily/json-schema' +import { Steps, Step } from 'element-ui' +import { stylePrefix } from '../__builtins__/configs' + +import type { Steps as StepsProps, Step as StepProps } from 'element-ui' +import { composeExport } from '../__builtins__/shared' + +export interface IFormStep { + connect: (steps: SchemaStep[], field: VoidField) => void + current: number + allowNext: boolean + allowBack: boolean + setCurrent(key: number): void + submit: Form['submit'] + next(): void + back(): void +} + +export interface IFormStepProps extends StepsProps { + formStep?: IFormStep +} + +type SchemaStep = { + name: SchemaKey + props: any + schema: Schema +} + +type FormStepEnv = { + form: Form + field: VoidField + steps: SchemaStep[] +} + +const parseSteps = (schema: Schema) => { + const steps: SchemaStep[] = [] + schema.mapProperties((schema, name) => { + if (schema['x-component']?.indexOf('StepPane') > -1) { + steps.push({ + name, + props: schema['x-component-props'], + schema, + }) + } + }) + return steps +} + +const createFormStep = (defaultCurrent = 0): IFormStep => { + const env: FormStepEnv = observable({ + form: null, + field: null, + steps: [], + }) + + const setDisplay = action.bound((target: number) => { + const currentStep = env.steps[target] + env.steps.forEach(({ name }) => { + env.form.query(`${env.field.address}.${name}`).take((field) => { + if (name === currentStep.name) { + field.setDisplay('visible') + } else { + field.setDisplay('hidden') + } + }) + }) + }) + + const next = action.bound(() => { + if (formStep.allowNext) { + setDisplay(formStep.current + 1) + formStep.setCurrent(formStep.current + 1) + } + }) + + const back = action.bound(() => { + if (formStep.allowBack) { + setDisplay(formStep.current - 1) + formStep.setCurrent(formStep.current - 1) + } + }) + + const formStep: IFormStep = model({ + connect(steps, field) { + env.steps = steps + env.form = field?.form + env.field = field + }, + current: defaultCurrent, + setCurrent(key: number) { + formStep.current = key + }, + get allowNext() { + return formStep.current < env.steps.length - 1 + }, + get allowBack() { + return formStep.current > 0 + }, + async next() { + try { + await env.form.validate() + next() + } catch {} + }, + async back() { + back() + }, + async submit(onSubmit) { + return env.form?.submit?.(onSubmit) + }, + }) + return formStep +} + +const FormStepInner = observer( + defineComponent({ + name: 'FFormStep', + props: { + formStep: { + type: Object as PropType, + default() { + return { + current: 0, + } + }, + }, + }, + setup(props, { attrs }) { + const field = useField().value + const prefixCls = `${stylePrefix}-form-step` + const fieldSchemaRef = useFieldSchema() + + const steps = parseSteps(fieldSchemaRef.value) + + props.formStep.connect?.(steps, field) + + return () => { + const current = props.active || props.formStep?.current || 0 + + const renderSteps = (steps: SchemaStep[], callback) => { + return steps.map(callback) + } + + return h( + 'div', + { + class: [prefixCls], + }, + { + default: () => [ + h( + Steps, + { + props: { + active: current, + }, + style: [{ marginBottom: '10px' }, attrs.style], + attrs, + }, + { + default: () => + renderSteps(steps, ({ props }, key) => { + return h(Step, { props, key }, {}) + }), + } + ), + + renderSteps(steps, ({ name, schema }, key) => { + if (key !== current) return + return h(RecursionField, { props: { name, schema }, key }, {}) + }), + ], + } + ) + } + }, + }) +) + +const StepPane = defineComponent({ + name: 'FFormStepPane', + setup(_props, { slots }) { + return () => h(Fragment, {}, slots) + }, +}) + +export const FormStep = composeExport(FormStepInner, { + StepPane, + createFormStep, +}) + +export default FormStep diff --git a/packages/components/src/form-step/style.ts b/packages/components/src/form-step/style.ts new file mode 100644 index 0000000..f05fb11 --- /dev/null +++ b/packages/components/src/form-step/style.ts @@ -0,0 +1,2 @@ +import 'element-ui/packages/theme-chalk/src/steps.scss' +import 'element-ui/packages/theme-chalk/src/step.scss' diff --git a/packages/components/src/form-tab/index.ts b/packages/components/src/form-tab/index.ts new file mode 100644 index 0000000..cf21aaf --- /dev/null +++ b/packages/components/src/form-tab/index.ts @@ -0,0 +1,164 @@ +import { defineComponent, reactive, computed } from '@vue/composition-api' +import { observer } from '@formily/reactive-vue' +import { model } from '@formily/reactive' +import { + h, + useField, + useFieldSchema, + RecursionField, + Fragment, +} from '@formily/vue' +import { Schema, SchemaKey } from '@formily/json-schema' +import { Tabs, TabPane, Badge } from 'element-ui' +import { stylePrefix } from '../__builtins__/configs' + +import type { TabPane as TabPaneProps, Tabs as TabsProps } from 'element-ui' +import { composeExport } from '../__builtins__/shared' + +export interface IFormTab { + activeKey: string + setActiveKey(key: string): void +} + +export interface IFormTabProps extends TabsProps { + formTab?: IFormTab +} + +export interface IFormTabPaneProps extends TabPaneProps { + key: string | number +} + +const useTabs = () => { + const tabsField = useField().value + const schema = useFieldSchema().value + const tabs: { name: SchemaKey; props: any; schema: Schema }[] = reactive([]) + schema.mapProperties((schema, name) => { + const field = tabsField.query(tabsField.address.concat(name)).take() + if (field?.display === 'none' || field?.display === 'hidden') return + if (schema['x-component']?.indexOf('TabPane') > -1) { + tabs.push({ + name, + props: { + name: schema?.['x-component-props']?.name || name, + ...schema?.['x-component-props'], + }, + schema, + }) + } + }) + return tabs +} + +const createFormTab = (defaultActiveKey?: string) => { + const formTab = model({ + activeKey: defaultActiveKey, + setActiveKey(key: string) { + formTab.activeKey = key + }, + }) + return formTab +} + +const FormTabInner = observer( + defineComponent({ + name: 'FFormTab', + props: ['formTab'], + setup(props, { attrs, listeners }) { + const field = useField().value + const formTabRef = computed(() => props.formTab ?? createFormTab()) + + const prefixCls = `${stylePrefix}-form-tab` + + return () => { + const formTab = formTabRef.value + const tabs = useTabs() + const activeKey = props.value || formTab?.activeKey || tabs?.[0]?.name + const badgedTab = (key: SchemaKey, props: any) => { + const errors = field.form.queryFeedbacks({ + type: 'error', + address: `${field.address.concat(key)}.*`, + }) + if (errors.length) { + return () => + h( + Badge, + { + class: [`${prefixCls}-errors-badge`], + props: { + value: errors.length, + }, + }, + { default: () => props.label } + ) + } + return () => props.label + } + + const getTabs = (tabs) => { + return tabs.map(({ props, schema, name }, key) => { + return h( + TabPane, + { + key, + props, + }, + { + default: () => [ + h( + RecursionField, + { + props: { + schema, + name, + }, + }, + {} + ), + ], + label: () => [ + h('div', {}, { default: badgedTab(name, props) }), + ], + } + ) + }) + } + + return h( + Tabs, + { + class: [prefixCls], + style: attrs.style, + props: { + ...attrs, + value: activeKey, + }, + on: { + ...listeners, + input: (key) => { + listeners.input?.(key) + formTab.setActiveKey?.(key) + }, + }, + }, + { + default: () => getTabs(tabs), + } + ) + } + }, + }) +) + +const FormTabPane = defineComponent({ + name: 'FFormTabPane', + setup(_props, { slots }) { + return () => h(Fragment, {}, slots) + }, +}) + +export const FormTab = composeExport(FormTabInner, { + TabPane: FormTabPane, + createFormTab, +}) + +export default FormTab diff --git a/packages/components/src/form-tab/style.scss b/packages/components/src/form-tab/style.scss new file mode 100644 index 0000000..c3c93cf --- /dev/null +++ b/packages/components/src/form-tab/style.scss @@ -0,0 +1,6 @@ +@import '../__builtins__/styles/common.scss'; + +.#{$formily-prefix}-form-tab-errors-badge { + line-height: 1; + vertical-align: initial; +} diff --git a/packages/components/src/form-tab/style.ts b/packages/components/src/form-tab/style.ts new file mode 100644 index 0000000..eece768 --- /dev/null +++ b/packages/components/src/form-tab/style.ts @@ -0,0 +1,4 @@ +import './style.scss' +import 'element-ui/packages/theme-chalk/src/tabs.scss' +import 'element-ui/packages/theme-chalk/src/tab-pane.scss' +import 'element-ui/packages/theme-chalk/src/badge.scss' diff --git a/packages/components/src/form/index.ts b/packages/components/src/form/index.ts new file mode 100644 index 0000000..e9ac5c7 --- /dev/null +++ b/packages/components/src/form/index.ts @@ -0,0 +1,98 @@ +import { Form as FormType, IFormFeedback } from '@formily/core' +import { FormProvider as _FormProvider, h, useForm } from '@formily/vue' +import { defineComponent } from '@vue/composition-api' +import { FormLayout, FormLayoutProps } from '../form-layout' +import { PreviewText } from '../preview-text' +import { Component, VNode } from 'vue' + +const FormProvider = _FormProvider as unknown as Component + +export interface FormProps extends FormLayoutProps { + form?: FormType + component?: Component + previewTextPlaceholder: string | (() => VNode) + onAutoSubmit?: (values: any) => any + onAutoSubmitFailed?: (feedbacks: IFormFeedback[]) => void +} + +export const Form = defineComponent({ + name: 'FForm', + props: [ + 'form', + 'component', + 'previewTextPlaceholder', + 'onAutoSubmit', + 'onAutoSubmitFailed', + ], + setup(props, { attrs, slots, listeners }) { + const top = useForm() + + return () => { + const { + form, + component = 'form', + onAutoSubmit = listeners?.autoSubmit, + onAutoSubmitFailed = listeners?.autoSubmitFailed, + previewTextPlaceholder = slots?.previewTextPlaceholder, + } = props + + const renderContent = (form: FormType) => { + return h( + PreviewText.Placeholder, + { + props: { + value: previewTextPlaceholder, + }, + }, + { + default: () => [ + h( + FormLayout, + { + attrs: { + ...attrs, + }, + }, + { + default: () => [ + h( + component, + { + on: { + submit: (e: Event) => { + e?.stopPropagation?.() + e?.preventDefault?.() + form + .submit(onAutoSubmit as (e: any) => void) + .catch(onAutoSubmitFailed as (e: any) => void) + }, + }, + }, + slots + ), + ], + } + ), + ], + } + ) + } + + if (form) { + return h( + FormProvider, + { props: { form } }, + { + default: () => renderContent(form), + } + ) + } + + if (!top.value) throw new Error('must pass form instance by createForm') + + return renderContent(top.value) + } + }, +}) + +export default Form diff --git a/packages/components/src/form/style.scss b/packages/components/src/form/style.scss new file mode 100644 index 0000000..e69de29 diff --git a/packages/components/src/form/style.ts b/packages/components/src/form/style.ts new file mode 100644 index 0000000..3cc5550 --- /dev/null +++ b/packages/components/src/form/style.ts @@ -0,0 +1,3 @@ +// 依赖 +import '../preview-text/style' +import '../form-layout/style' diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts new file mode 100644 index 0000000..46d20ac --- /dev/null +++ b/packages/components/src/index.ts @@ -0,0 +1,37 @@ +import './style' + +export * from './array-base' +export * from './array-table' +export * from './cascader' +export * from './checkbox' +export * from './date-picker' +export * from './el-form' +export * from './el-form-item' +export * from './form' +export * from './form-button-group' +export * from './form-grid' +export * from './form-item' +export * from './form-layout' +export * from './input' +export * from './input-number' +export * from './password' +export * from './radio' +export * from './reset' +export * from './select' +export * from './space' +export * from './submit' +export * from './switch' +export * from './time-picker' +export * from './transfer' +export * from './upload' +export * from './preview-text' +export * from './form-collapse' +export * from './form-tab' +export * from './form-step' +export * from './array-cards' +export * from './array-collapse' +export * from './array-items' +export * from './array-tabs' +export * from './editable' +export * from './form-dialog' +export * from './form-drawer' diff --git a/packages/components/src/input-number/index.ts b/packages/components/src/input-number/index.ts new file mode 100644 index 0000000..fb4c325 --- /dev/null +++ b/packages/components/src/input-number/index.ts @@ -0,0 +1,31 @@ +import { transformComponent } from '../__builtins__/shared' +import { connect, mapProps, mapReadPretty } from '@formily/vue' + +import type { InputNumber as _ElInputNumberProps } from 'element-ui' +import { InputNumber as ElInputNumber } from 'element-ui' +import { PreviewText } from '../preview-text' + +export type InputNumberProps = _ElInputNumberProps + +const TransformElInputNumber = transformComponent( + ElInputNumber, + { + change: 'input', + } +) + +export const InputNumber = connect( + TransformElInputNumber, + mapProps({ readOnly: 'readonly' }, (props) => { + let controlsPosition = 'right' + if (props.controlsPosition) { + controlsPosition = props.controlsPosition + } + return { + controlsPosition, + } + }), + mapReadPretty(PreviewText.Input) +) + +export default InputNumber diff --git a/packages/components/src/input-number/style.ts b/packages/components/src/input-number/style.ts new file mode 100644 index 0000000..745f8bb --- /dev/null +++ b/packages/components/src/input-number/style.ts @@ -0,0 +1,4 @@ +import 'element-ui/packages/theme-chalk/src/input-number.scss' + +// 依赖 +import '../preview-text/style' diff --git a/packages/components/src/input/index.ts b/packages/components/src/input/index.ts new file mode 100644 index 0000000..2c5c07b --- /dev/null +++ b/packages/components/src/input/index.ts @@ -0,0 +1,34 @@ +import { composeExport, transformComponent } from '../__builtins__/shared' +import { connect, mapProps, mapReadPretty } from '@formily/vue' +import { PreviewText } from '../preview-text' +import type { Input as ElInputProps } from 'element-ui' +import { Input as ElInput } from 'element-ui' + +export type InputProps = ElInputProps + +const TransformElInput = transformComponent(ElInput, { + change: 'input', +}) + +const InnerInput = connect( + TransformElInput, + mapProps({ readOnly: 'readonly' }), + mapReadPretty(PreviewText.Input) +) + +const TextArea = connect( + InnerInput, + mapProps((props) => { + return { + ...props, + type: 'textarea', + } + }), + mapReadPretty(PreviewText.Input) +) + +export const Input = composeExport(InnerInput, { + TextArea, +}) + +export default Input diff --git a/packages/components/src/input/style.ts b/packages/components/src/input/style.ts new file mode 100644 index 0000000..88b923b --- /dev/null +++ b/packages/components/src/input/style.ts @@ -0,0 +1,4 @@ +import 'element-ui/packages/theme-chalk/src/input.scss' + +// 依赖 +import '../preview-text/style' diff --git a/packages/components/src/password/index.ts b/packages/components/src/password/index.ts new file mode 100644 index 0000000..47752c7 --- /dev/null +++ b/packages/components/src/password/index.ts @@ -0,0 +1,19 @@ +import { Input } from '../input' +import { connect, mapProps, mapReadPretty } from '@formily/vue' +import { PreviewText } from '../preview-text' +import type { Input as ElInputProps } from 'element-ui' + +export type PasswordProps = ElInputProps + +export const Password = connect( + Input, + mapProps((props) => { + return { + ...props, + showPassword: true, + } + }), + mapReadPretty(PreviewText.Input) +) + +export default Password diff --git a/packages/components/src/password/style.ts b/packages/components/src/password/style.ts new file mode 100644 index 0000000..88b923b --- /dev/null +++ b/packages/components/src/password/style.ts @@ -0,0 +1,4 @@ +import 'element-ui/packages/theme-chalk/src/input.scss' + +// 依赖 +import '../preview-text/style' diff --git a/packages/components/src/preview-text/index.ts b/packages/components/src/preview-text/index.ts new file mode 100644 index 0000000..e6e13b5 --- /dev/null +++ b/packages/components/src/preview-text/index.ts @@ -0,0 +1,308 @@ +import { defineComponent, computed } from '@vue/composition-api' +import { + createContext, + resolveComponent, + useContext, + composeExport, +} from '../__builtins__/shared' +import { Field } from '@formily/core' +import { observer } from '@formily/reactive-vue' +import { h, useField } from '@formily/vue' +import { isArr, isValid } from '@formily/shared' +import { stylePrefix } from '../__builtins__/configs' +import { InputProps } from '../input' +import type { SelectProps } from '../select' +import type { CascaderProps } from '../cascader' +import type { DatePickerProps } from '../date-picker' +import type { TimePickerProps } from '../time-picker' +import { Space } from '../space' +import { Tag } from 'element-ui' +import { formatDate } from 'element-ui/src/utils/date-util' + +const prefixCls = `${stylePrefix}-preview-text` +const PlaceholderContext = createContext('N/A') + +export const usePlaceholder = (value?: any) => { + const placeholderCtx = useContext(PlaceholderContext) + const placeholder = computed(() => { + return isValid(value) && value !== '' + ? value + : resolveComponent(placeholderCtx.value) || 'N/A' + }) + + return placeholder +} + +const Input = defineComponent({ + name: 'FPreviewTextInput', + props: [], + setup(_props, { attrs, slots }) { + const placeholder = usePlaceholder(attrs.value) + return () => { + return h( + Space, + { + class: [prefixCls], + style: attrs.style, + }, + { + default: () => [ + slots?.prepend?.(), + slots?.prefix?.(), + placeholder.value, + slots?.suffix?.(), + slots?.append?.(), + ], + } + ) + } + }, +}) + +const Select = observer( + defineComponent({ + name: 'FPreviewTextSelect', + props: [], + setup(_props, { attrs }) { + const fieldRef = useField() + const field = fieldRef.value + const props = attrs as unknown as SelectProps + const dataSource: any[] = field?.dataSource?.length + ? field.dataSource + : props?.options?.length + ? props.options + : [] + const placeholder = usePlaceholder() + const getSelected = () => { + const value = props.value + if (props.multiple) { + return isArr(value) + ? value.map((val) => ({ label: val, value: val })) + : [] + } else { + return isValid(value) ? [{ label: value, value }] : [] + } + } + + const getLabels = () => { + const selected = getSelected() + if (!selected.length) { + return h( + Tag, + {}, + { + default: () => placeholder.value, + } + ) + } + return selected.map(({ value, label }, key) => { + const text = + dataSource?.find((item) => item.value == value)?.label || label + return h( + Tag, + { + key, + props: { + type: 'info', + effect: 'light', + }, + }, + { + default: () => text || placeholder.value, + } + ) + }) + } + + return () => { + return h( + Space, + { + class: [prefixCls], + style: attrs.style, + }, + { + default: () => getLabels(), + } + ) + } + }, + }) +) + +const Cascader = observer( + defineComponent({ + name: 'FPreviewTextCascader', + props: [], + setup(_props, { attrs }) { + const fieldRef = useField() + const field = fieldRef.value + const props = attrs as unknown as CascaderProps + const dataSource: any[] = field?.dataSource?.length + ? field.dataSource + : props?.options?.length + ? props.options + : [] + const placeholder = usePlaceholder() + const valueKey = props.props?.value || 'value' + const labelKey = props.props?.label || 'label' + const getSelected = () => { + return isArr(props.value) ? props.value : [] + } + + const findLabel = (value: any, dataSource: any[]) => { + for (let i = 0; i < dataSource?.length; i++) { + const item = dataSource[i] + if (item?.[valueKey] === value) { + return item?.[labelKey] + } else { + const childLabel = findLabel(value, item?.children) + if (childLabel) return childLabel + } + } + } + + const getLabels = () => { + const selected = getSelected() + if (!selected?.length) { + return h( + Tag, + {}, + { + default: () => placeholder.value, + } + ) + } + return selected.map((value, key) => { + const text = findLabel(value, dataSource) + return h( + Tag, + { + key, + props: { + type: 'info', + effect: 'light', + }, + }, + { + default: () => text || placeholder.value, + } + ) + }) + } + + return () => { + return h( + Space, + { + class: [prefixCls], + style: attrs.style, + }, + { + default: () => getLabels(), + } + ) + } + }, + }) +) + +const DatePicker = defineComponent({ + name: 'FPreviewTextDatePicker', + props: [], + setup(_props, { attrs }) { + const props = attrs as unknown as DatePickerProps + const placeholder = usePlaceholder() + const getLabels = () => { + if (isArr(props.value)) { + const labels = (props.value as any[]).map( + (value: String | Date) => + formatDate(value, props.format) || placeholder.value + ) + + return labels.join('~') + } else { + return formatDate(props.value, props.format) || placeholder.value + } + } + + return () => { + return h( + 'div', + { + class: [prefixCls], + style: attrs.style, + }, + { + default: () => getLabels(), + } + ) + } + }, +}) + +const TimePicker = defineComponent({ + name: 'FPreviewTextTimePicker', + props: [], + setup(_props, { attrs }) { + const props = attrs as unknown as TimePickerProps + const format = props.pickerOptions?.format || 'HH:mm:ss' + const placeholder = usePlaceholder() + const getLabels = () => { + if (isArr(props.value)) { + const labels = props.value.map( + (value) => formatDate(value, format) || placeholder.value + ) + + return labels.join('~') + } else { + return formatDate(props.value, format) || placeholder.value + } + } + + return () => { + return h( + 'div', + { + class: [prefixCls], + style: attrs.style, + }, + { + default: () => getLabels(), + } + ) + } + }, +}) + +const Text = defineComponent({ + name: 'FPreviewText', + setup(_props, { attrs }) { + const placeholder = usePlaceholder() + + return () => { + return h( + 'div', + { + class: [prefixCls], + style: attrs.style, + }, + { + default: () => placeholder.value, + } + ) + } + }, +}) + +export const PreviewText = composeExport(Text, { + Input, + Select, + Cascader, + DatePicker, + TimePicker, + Placeholder: PlaceholderContext.Provider, + usePlaceholder, +}) + +export default PreviewText diff --git a/packages/components/src/preview-text/style.ts b/packages/components/src/preview-text/style.ts new file mode 100644 index 0000000..c0e99d8 --- /dev/null +++ b/packages/components/src/preview-text/style.ts @@ -0,0 +1,9 @@ +import 'element-ui/packages/theme-chalk/src/tag.scss' + +// 依赖 +import '../input/style' +import '../select/style' +import '../cascader/style' +import '../time-picker/style' +import '../date-picker/style' +import '../space/style' diff --git a/packages/components/src/radio/index.ts b/packages/components/src/radio/index.ts new file mode 100644 index 0000000..384ffbf --- /dev/null +++ b/packages/components/src/radio/index.ts @@ -0,0 +1,115 @@ +import { connect, mapProps, h, mapReadPretty } from '@formily/vue' +import { defineComponent, PropType } from '@vue/composition-api' +import { + composeExport, + transformComponent, + resolveComponent, + SlotTypes, +} from '../__builtins__/shared' +import { PreviewText } from '../preview-text' +import type { + Radio as ElRadioProps, + RadioGroup as ElRadioGroupProps, +} from 'element-ui' +import { + Radio as ElRadio, + RadioGroup as ElRadioGroup, + RadioButton, +} from 'element-ui' + +export type RadioGroupProps = ElRadioGroupProps & { + value: any + options?: ( + | (Omit & { + value: ElRadioProps['label'] + label: SlotTypes + }) + | string + )[] + optionType: 'defalt' | 'button' +} + +export type RadioProps = ElRadioProps + +const TransformElRadioGroup = transformComponent(ElRadioGroup, { + change: 'input', +}) + +const RadioGroupOption = defineComponent({ + name: 'FRadioGroup', + props: { + options: { + type: Array as PropType, + default: () => [], + }, + optionType: { + type: String as PropType, + default: 'default', + }, + }, + setup(customProps, { attrs, slots, listeners }) { + return () => { + const options = customProps.options || [] + const OptionType = + customProps.optionType === 'button' ? RadioButton : ElRadio + const children = + options.length !== 0 + ? { + default: () => + options.map((option) => { + if (typeof option === 'string') { + return h( + OptionType, + { props: { label: option } }, + { + default: () => [ + resolveComponent(slots?.option ?? option, { option }), + ], + } + ) + } else { + return h( + OptionType, + { + props: { + ...option, + value: undefined, + label: option.value, + }, + }, + { + default: () => [ + resolveComponent(slots?.option ?? option.label, { + option, + }), + ], + } + ) + } + }), + } + : slots + return h( + TransformElRadioGroup, + { + attrs: { + ...attrs, + }, + on: listeners, + }, + children + ) + } + }, +}) + +const RadioGroup = connect( + RadioGroupOption, + mapProps({ dataSource: 'options' }), + mapReadPretty(PreviewText.Select) +) +export const Radio = composeExport(ElRadio, { + Group: RadioGroup, +}) + +export default Radio diff --git a/packages/components/src/radio/style.ts b/packages/components/src/radio/style.ts new file mode 100644 index 0000000..2707a3c --- /dev/null +++ b/packages/components/src/radio/style.ts @@ -0,0 +1,3 @@ +import 'element-ui/packages/theme-chalk/src/radio.scss' +import 'element-ui/packages/theme-chalk/src/radio-group.scss' +import 'element-ui/packages/theme-chalk/src/radio-button.scss' diff --git a/packages/components/src/reset/index.ts b/packages/components/src/reset/index.ts new file mode 100644 index 0000000..2ef222b --- /dev/null +++ b/packages/components/src/reset/index.ts @@ -0,0 +1,56 @@ +import { IFieldResetOptions } from '@formily/core' +import { h, useParentForm } from '@formily/vue' +import { observer } from '@formily/reactive-vue' +import { defineComponent } from '@vue/composition-api' + +import type { Button as IElButton } from 'element-ui' +import { Button as ElButton } from 'element-ui' + +export type ResetProps = IFieldResetOptions & IElButton + +export const Reset = observer( + defineComponent({ + name: 'FReset', + props: { + forceClear: { + type: Boolean, + default: false, + }, + validate: { + type: Boolean, + default: false, + }, + }, + setup(props, context) { + const formRef = useParentForm() + const { listeners, slots } = context + return () => { + const form = formRef?.value + return h( + ElButton, + { + attrs: context.attrs, + on: { + ...listeners, + click: (e: any) => { + if (listeners?.click) { + if (listeners.click(e) === false) return + } + form + ?.reset('*', { + forceClear: props.forceClear, + validate: props.validate, + }) + .then(listeners.resetValidateSuccess as (e: any) => void) + .catch(listeners.resetValidateFailed as (e: any) => void) + }, + }, + }, + slots + ) + } + }, + }) +) + +export default Reset diff --git a/packages/components/src/reset/style.ts b/packages/components/src/reset/style.ts new file mode 100644 index 0000000..eaedc1c --- /dev/null +++ b/packages/components/src/reset/style.ts @@ -0,0 +1 @@ +import 'element-ui/packages/theme-chalk/src/button.scss' diff --git a/packages/components/src/select/index.ts b/packages/components/src/select/index.ts new file mode 100644 index 0000000..d7d0a1e --- /dev/null +++ b/packages/components/src/select/index.ts @@ -0,0 +1,77 @@ +import { connect, mapProps, h, mapReadPretty } from '@formily/vue' +import { defineComponent } from '@vue/composition-api' +import { PreviewText } from '../preview-text' + +import type { + Select as ElSelectProps, + Option as ElOptionProps, +} from 'element-ui' +import { Select as ElSelect, Option as ElOption } from 'element-ui' +import { resolveComponent } from '../__builtins__' + +export type SelectProps = ElSelectProps & { + options?: Array +} + +const SelectOption = defineComponent({ + name: 'FSelect', + props: ['options'], + setup(customProps, { attrs, slots, listeners }) { + return () => { + const options = customProps.options || [] + const children = + options.length !== 0 + ? { + default: () => + options.map((option) => { + if (typeof option === 'string') { + return h( + ElOption, + { props: { value: option, label: option } }, + { + default: () => [ + resolveComponent(slots?.option, { option }), + ], + } + ) + } else { + return h( + ElOption, + { + props: { + ...option, + }, + }, + { + default: () => [ + resolveComponent(slots?.option, { + option, + }), + ], + } + ) + } + }), + } + : slots + return h( + ElSelect, + { + attrs: { + ...attrs, + }, + on: listeners, + }, + children + ) + } + }, +}) + +export const Select = connect( + SelectOption, + mapProps({ dataSource: 'options', loading: true }), + mapReadPretty(PreviewText.Select) +) + +export default Select diff --git a/packages/components/src/select/style.ts b/packages/components/src/select/style.ts new file mode 100644 index 0000000..df03447 --- /dev/null +++ b/packages/components/src/select/style.ts @@ -0,0 +1,4 @@ +import 'element-ui/packages/theme-chalk/src/select.scss' + +// 依赖 +import '../preview-text/style' diff --git a/packages/components/src/space/index.ts b/packages/components/src/space/index.ts new file mode 100644 index 0000000..6cb8af0 --- /dev/null +++ b/packages/components/src/space/index.ts @@ -0,0 +1,96 @@ +// https://github.com/vueComponent/ant-design-vue/blob/next/components/space/index.tsx + +import { defineComponent } from '@vue/composition-api' +import { h } from '@formily/vue' +import { stylePrefix } from '../__builtins__/configs' + +import type { VNode } from 'vue' +import { useFormLayout } from '../form-layout' + +export type SpaceProps = { + size: 'small' | 'middle' | 'large' | number + direction: 'horizontal' | 'vertical' + align: 'start' | 'end' | 'center' | 'baseline' +} + +const spaceSize = { + small: 8, + middle: 16, + large: 24, +} + +export const Space = defineComponent({ + name: 'FSpace', + props: ['size', 'direction', 'align'], + setup(props, { slots }) { + const layout = useFormLayout() + + return () => { + const { + align, + size = layout.value?.spaceGap ?? 'small', + direction = 'horizontal', + } = props + + const prefixCls = `${stylePrefix}-space` + const children = slots.default?.() + let items: VNode[] = [] + if (Array.isArray(children)) { + if (children.length === 1) { + if ((children[0]['tag'] as string)?.endsWith('Fragment')) { + // Fragment hack + items = (children[0]['componentOptions'] as { children: VNode[] }) + ?.children + } else { + items = children + } + } else { + items = children + } + } + const len = items.length + + if (len === 0) { + return null + } + + const mergedAlign = + align === undefined && direction === 'horizontal' ? 'center' : align + + const someSpaceClass = { + [prefixCls]: true, + [`${prefixCls}-${direction}`]: true, + [`${prefixCls}-align-${mergedAlign}`]: mergedAlign, + } + + const itemClassName = `${prefixCls}-item` + const marginDirection = 'marginRight' // directionConfig === 'rtl' ? 'marginLeft' : 'marginRight'; + + const renderItems = items.map((child, i) => + h( + 'div', + { + class: itemClassName, + key: `${itemClassName}-${i}`, + style: + i === len - 1 + ? {} + : { + [direction === 'vertical' + ? 'marginBottom' + : marginDirection]: + typeof size === 'string' + ? `${spaceSize[size]}px` + : `${size}px`, + }, + }, + { default: () => [child] } + ) + ) + + return h('div', { class: someSpaceClass }, { default: () => renderItems }) + } + }, +}) + +export default Space diff --git a/packages/components/src/space/style.scss b/packages/components/src/space/style.scss new file mode 100644 index 0000000..2a6b5ed --- /dev/null +++ b/packages/components/src/space/style.scss @@ -0,0 +1,23 @@ +@import '../__builtins__/styles/common.scss'; + +.#{$formily-prefix}-space { + display: inline-flex; + &-vertical { + flex-direction: column; + } + + &-align { + &-center { + align-items: center; + } + &-start { + align-items: flex-start; + } + &-end { + align-items: flex-end; + } + &-baseline { + align-items: baseline; + } + } +} diff --git a/packages/components/src/space/style.ts b/packages/components/src/space/style.ts new file mode 100644 index 0000000..72dcf9c --- /dev/null +++ b/packages/components/src/space/style.ts @@ -0,0 +1 @@ +import './style.scss' diff --git a/packages/components/src/style.ts b/packages/components/src/style.ts new file mode 100644 index 0000000..1f1693e --- /dev/null +++ b/packages/components/src/style.ts @@ -0,0 +1,17 @@ +// auto generated code +import './array-base/style.scss' +import './array-cards/style.scss' +import './array-collapse/style.scss' +import './array-items/style.scss' +import './array-table/style.scss' +import './array-tabs/style.scss' +import './editable/style.scss' +import './form-button-group/style.scss' +import './form-collapse/style.scss' +import './form-drawer/style.scss' +import './form-grid/style.scss' +import './form-item/style.scss' +import './form-layout/style.scss' +import './form-tab/style.scss' +import './form/style.scss' +import './space/style.scss' diff --git a/packages/components/src/submit/index.ts b/packages/components/src/submit/index.ts new file mode 100644 index 0000000..769733f --- /dev/null +++ b/packages/components/src/submit/index.ts @@ -0,0 +1,64 @@ +import { h, useParentForm } from '@formily/vue' +import { IFormFeedback } from '@formily/core' +import { observer } from '@formily/reactive-vue' +import { defineComponent } from '@vue/composition-api' + +import type { Button as ElButtonProps } from 'element-ui' +import { Button as ElButton } from 'element-ui' + +export interface ISubmitProps extends ElButtonProps { + onClick?: (e: MouseEvent) => any + onSubmit?: (values: any) => any + onSubmitSuccess?: (payload: any) => void + onSubmitFailed?: (feedbacks: IFormFeedback[]) => void +} + +export const Submit = observer( + defineComponent({ + name: 'FSubmit', + props: ['onClick', 'onSubmit', 'onSubmitSuccess', 'onSubmitFailed'], + setup(props, { attrs, slots, listeners }) { + const formRef = useParentForm() + + return () => { + const { + onClick = listeners?.click, + onSubmit = listeners?.submit, + onSubmitSuccess = listeners?.submitSuccess, + onSubmitFailed = listeners?.submitFailed, + } = props + + const form = formRef?.value + return h( + ElButton, + { + attrs: { + nativeType: listeners?.submit ? 'button' : 'submit', + type: 'primary', + ...attrs, + loading: + attrs.loading !== undefined ? attrs.loading : form?.submitting, + }, + on: { + ...listeners, + click: (e: any) => { + if (onClick) { + if (onClick(e) === false) return + } + if (onSubmit) { + form + ?.submit(onSubmit as (e: any) => void) + .then(onSubmitSuccess as (e: any) => void) + .catch(onSubmitFailed as (e: any) => void) + } + }, + }, + }, + slots + ) + } + }, + }) +) + +export default Submit diff --git a/packages/components/src/submit/style.ts b/packages/components/src/submit/style.ts new file mode 100644 index 0000000..eaedc1c --- /dev/null +++ b/packages/components/src/submit/style.ts @@ -0,0 +1 @@ +import 'element-ui/packages/theme-chalk/src/button.scss' diff --git a/packages/components/src/switch/index.ts b/packages/components/src/switch/index.ts new file mode 100644 index 0000000..f12a28e --- /dev/null +++ b/packages/components/src/switch/index.ts @@ -0,0 +1,10 @@ +import { connect, mapProps } from '@formily/vue' + +import type { Switch as ElSwitchProps } from 'element-ui' +import { Switch as ElSwitch } from 'element-ui' + +export type SwitchProps = ElSwitchProps + +export const Switch = connect(ElSwitch, mapProps({ readOnly: 'readonly' })) + +export default Switch diff --git a/packages/components/src/switch/style.ts b/packages/components/src/switch/style.ts new file mode 100644 index 0000000..94971b1 --- /dev/null +++ b/packages/components/src/switch/style.ts @@ -0,0 +1 @@ +import 'element-ui/packages/theme-chalk/src/switch.scss' diff --git a/packages/components/src/time-picker/index.ts b/packages/components/src/time-picker/index.ts new file mode 100644 index 0000000..cc40bdc --- /dev/null +++ b/packages/components/src/time-picker/index.ts @@ -0,0 +1,22 @@ +import { transformComponent } from '../__builtins__/shared' +import { connect, mapProps, mapReadPretty } from '@formily/vue' +import { PreviewText } from '../preview-text' +import type { TimePicker as ElTimePickerProps } from 'element-ui' +import { TimePicker as ElTimePicker } from 'element-ui' + +export type TimePickerProps = ElTimePickerProps + +const TransformElTimePicker = transformComponent( + ElTimePicker, + { + change: 'input', + } +) + +export const TimePicker = connect( + TransformElTimePicker, + mapProps({ readOnly: 'readonly' }), + mapReadPretty(PreviewText.TimePicker) +) + +export default TimePicker diff --git a/packages/components/src/time-picker/style.ts b/packages/components/src/time-picker/style.ts new file mode 100644 index 0000000..701fbc8 --- /dev/null +++ b/packages/components/src/time-picker/style.ts @@ -0,0 +1,4 @@ +import 'element-ui/packages/theme-chalk/src/time-picker.scss' + +// 依赖 +import '../preview-text/style' diff --git a/packages/components/src/transfer/index.ts b/packages/components/src/transfer/index.ts new file mode 100644 index 0000000..8507b61 --- /dev/null +++ b/packages/components/src/transfer/index.ts @@ -0,0 +1,10 @@ +import { connect, mapProps } from '@formily/vue' + +import type { Transfer as ElTransferProps } from 'element-ui' +import { Transfer as ElTransfer } from 'element-ui' + +export type TransferProps = ElTransferProps + +export const Transfer = connect(ElTransfer, mapProps({ dataSource: 'data' })) + +export default Transfer diff --git a/packages/components/src/transfer/style.ts b/packages/components/src/transfer/style.ts new file mode 100644 index 0000000..4ad3ea7 --- /dev/null +++ b/packages/components/src/transfer/style.ts @@ -0,0 +1 @@ +import 'element-ui/packages/theme-chalk/src/transfer.scss' diff --git a/packages/components/src/upload/index.ts b/packages/components/src/upload/index.ts new file mode 100644 index 0000000..d88012a --- /dev/null +++ b/packages/components/src/upload/index.ts @@ -0,0 +1,128 @@ +import { Field } from '@formily/core' +import { defineComponent } from '@vue/composition-api' +import { connect, mapProps, h, useField, Fragment } from '@formily/vue' + +import type { + ElUpload as ElUploadProps, + ElUploadInternalFileDetail, +} from 'element-ui/types/upload' + +import { Upload as ElUpload, Button as ElButton } from 'element-ui' + +export type UploadProps = ElUploadProps & { + textContent?: String + errorAdaptor?: (error?: ErrorEvent) => String +} + +const UploadWrapper = defineComponent({ + name: 'FUpload', + props: { + textContent: { + type: String, + default: '', + }, + errorAdaptor: { + type: Function, + default(error?: ErrorEvent) { + return error?.message || '' + }, + }, + }, + setup(curProps: UploadProps, { slots, attrs, listeners, emit }) { + return () => { + const fieldRef = useField() + const setFeedBack = (error?: ErrorEvent) => { + const message = curProps.errorAdaptor(error) + + fieldRef.value.setFeedback({ + type: 'error', + code: 'UploadError', + messages: message ? [message] : [], + }) + } + + const props = { + ...attrs, + onChange( + file: ElUploadInternalFileDetail, + fileList: ElUploadInternalFileDetail[] + ) { + ;(attrs.onChange as Function)?.(file, fileList) + setFeedBack() + emit('change', fileList) + }, + + onRemove( + file: ElUploadInternalFileDetail, + fileList: ElUploadInternalFileDetail[] + ) { + ;(attrs.onRemove as Function)?.(file, fileList) + setFeedBack() + emit('change', fileList) + }, + + onError( + error: ErrorEvent, + file: ElUploadInternalFileDetail, + fileList: ElUploadInternalFileDetail[] + ) { + ;(attrs.onError as Function)?.(error, file, fileList) + + setTimeout(() => { + setFeedBack(error) + }, 0) + }, + } + const children = { + ...slots, + } + if (!slots.default) { + children.default = () => { + const listType = attrs.listType + const drag = attrs.drag + + if (drag) { + return h( + Fragment, + {}, + { + default: () => [ + h('i', { staticClass: 'el-icon-upload' }, {}), + h( + 'div', + { staticClass: 'el-upload__text' }, + { default: () => [curProps.textContent] } + ), + ], + } + ) + } + + if (listType === 'picture-card') { + return h( + 'i', + { + staticClass: 'el-icon-plus', + }, + {} + ) + } + + return h( + ElButton, + { props: { icon: 'el-icon-upload2' } }, + { default: () => [curProps.textContent] } + ) + } + } + return h(ElUpload, { attrs: props, on: listeners }, children) + } + }, +}) + +export const Upload = connect( + UploadWrapper, + mapProps({ readOnly: 'readonly', value: 'fileList' }) +) + +export default Upload diff --git a/packages/components/src/upload/style.ts b/packages/components/src/upload/style.ts new file mode 100644 index 0000000..d632a8c --- /dev/null +++ b/packages/components/src/upload/style.ts @@ -0,0 +1,2 @@ +import 'element-ui/packages/theme-chalk/src/upload.scss' +import 'element-ui/packages/theme-chalk/src/button.scss' diff --git a/packages/components/tsconfig.build.json b/packages/components/tsconfig.build.json new file mode 100644 index 0000000..cb94a64 --- /dev/null +++ b/packages/components/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./lib", + "paths": { + "@formily/*": ["packages/*"] + }, + "declaration": true + } +} diff --git a/packages/components/tsconfig.json b/packages/components/tsconfig.json new file mode 100644 index 0000000..07cae36 --- /dev/null +++ b/packages/components/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../../tsconfig.json", + "include": ["./src/**/*.js", "./src/**/*.ts", "./src/**/*.tsx"], + "exclude": ["./src/__tests__/*"] +} diff --git a/packages/prototypes/.npmignore b/packages/prototypes/.npmignore new file mode 100644 index 0000000..1ff3374 --- /dev/null +++ b/packages/prototypes/.npmignore @@ -0,0 +1,11 @@ +node_modules +*.log +build +docs +doc-site +__tests__ +.eslintrc +jest.config.js +tsconfig.json +.umi +src \ No newline at end of file diff --git a/packages/prototypes/README.md b/packages/prototypes/README.md new file mode 100644 index 0000000..f770158 --- /dev/null +++ b/packages/prototypes/README.md @@ -0,0 +1,9 @@ +# @formily/element-prototypes + +> Formily Designable Component Adaptor + +## Install + +```bash +npm install @formily/element-prototypes --save +``` diff --git a/packages/prototypes/README.zh-CN.md b/packages/prototypes/README.zh-CN.md new file mode 100644 index 0000000..70243d0 --- /dev/null +++ b/packages/prototypes/README.zh-CN.md @@ -0,0 +1,9 @@ +# @formily/element-prototypes + +> Formily Designable 画布组件库 + +## 安装 + +```bash +npm install @formily/element-prototypes --save +``` diff --git a/packages/prototypes/builder.config.ts b/packages/prototypes/builder.config.ts new file mode 100644 index 0000000..c840ea0 --- /dev/null +++ b/packages/prototypes/builder.config.ts @@ -0,0 +1,7 @@ +import { IBuilderConfig } from '@formily/template' + +export const BuilderConfig: IBuilderConfig = { + targetLibName: 'element-ui', + targetLibCjsDir: 'lib', + targetLibEsDir: 'es', +} diff --git a/packages/prototypes/package.json b/packages/prototypes/package.json new file mode 100644 index 0000000..17cf681 --- /dev/null +++ b/packages/prototypes/package.json @@ -0,0 +1,49 @@ +{ + "name": "@formily/element-prototypes", + "version": "1.0.0-alpha.0", + "license": "MIT", + "main": "lib", + "types": "lib/index.d.ts", + "engines": { + "npm": ">=3.0.0" + }, + "module": "esm", + "umd:main": "dist/formily.element-prototypes.umd.production.js", + "unpkg": "dist/formily.element-prototypes.umd.production.js", + "jsdelivr": "dist/formily.element-prototypes.umd.production.js", + "jsnext:main": "esm", + "sideEffects": [ + "dist/*", + "esm/*.js", + "lib/*.js", + "src/*.ts", + "*.less", + "*.scss", + "**/*/style.js" + ], + "scripts": { + "build": "formily-tpl build" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/formilyjs/element.git" + }, + "bugs": { + "url": "https://github.com/formilyjs/element/issues" + }, + "homepage": "https://github.com/formilyjs/element#readme", + "publishConfig": { + "access": "public" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-beta.1", + "vue": "^2.6.0 || >=3.0.0-rc.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + }, + "dependencies": {}, + "devDependencies": {} +} diff --git a/packages/prototypes/src/index.ts b/packages/prototypes/src/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/prototypes/tsconfig.build.json b/packages/prototypes/tsconfig.build.json new file mode 100644 index 0000000..cb94a64 --- /dev/null +++ b/packages/prototypes/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./lib", + "paths": { + "@formily/*": ["packages/*"] + }, + "declaration": true + } +} diff --git a/packages/prototypes/tsconfig.json b/packages/prototypes/tsconfig.json new file mode 100644 index 0000000..07cae36 --- /dev/null +++ b/packages/prototypes/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../../tsconfig.json", + "include": ["./src/**/*.js", "./src/**/*.ts", "./src/**/*.tsx"], + "exclude": ["./src/__tests__/*"] +} diff --git a/packages/renderer/.npmignore b/packages/renderer/.npmignore new file mode 100644 index 0000000..1ff3374 --- /dev/null +++ b/packages/renderer/.npmignore @@ -0,0 +1,11 @@ +node_modules +*.log +build +docs +doc-site +__tests__ +.eslintrc +jest.config.js +tsconfig.json +.umi +src \ No newline at end of file diff --git a/packages/renderer/README.md b/packages/renderer/README.md new file mode 100644 index 0000000..b81073f --- /dev/null +++ b/packages/renderer/README.md @@ -0,0 +1,9 @@ +# @formily/element-renderer + +> Formily Designable Settings Form + +## Install + +```bash +npm install @formily/element-renderer --save +``` diff --git a/packages/renderer/README.zh-CN.md b/packages/renderer/README.zh-CN.md new file mode 100644 index 0000000..9eb76de --- /dev/null +++ b/packages/renderer/README.zh-CN.md @@ -0,0 +1,9 @@ +# @formily/element-renderer + +> Formily Designable Settings Form + +## 安装 + +```bash +npm install @formily/element-renderer --save +``` diff --git a/packages/renderer/builder.config.ts b/packages/renderer/builder.config.ts new file mode 100644 index 0000000..c840ea0 --- /dev/null +++ b/packages/renderer/builder.config.ts @@ -0,0 +1,7 @@ +import { IBuilderConfig } from '@formily/template' + +export const BuilderConfig: IBuilderConfig = { + targetLibName: 'element-ui', + targetLibCjsDir: 'lib', + targetLibEsDir: 'es', +} diff --git a/packages/renderer/package.json b/packages/renderer/package.json new file mode 100644 index 0000000..78059ac --- /dev/null +++ b/packages/renderer/package.json @@ -0,0 +1,49 @@ +{ + "name": "@formily/element-renderer", + "version": "1.0.0-alpha.0", + "license": "MIT", + "main": "lib", + "types": "lib/index.d.ts", + "engines": { + "npm": ">=3.0.0" + }, + "module": "esm", + "umd:main": "dist/formily.element-renderer.umd.production.js", + "unpkg": "dist/formily.element-renderer.umd.production.js", + "jsdelivr": "dist/formily.element-renderer.umd.production.js", + "jsnext:main": "esm", + "sideEffects": [ + "dist/*", + "esm/*.js", + "lib/*.js", + "src/*.ts", + "*.less", + "*.scss", + "**/*/style.js" + ], + "scripts": { + "build": "formily-tpl build" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/formilyjs/element.git" + }, + "bugs": { + "url": "https://github.com/formilyjs/element/issues" + }, + "homepage": "https://github.com/formilyjs/element#readme", + "publishConfig": { + "access": "public" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-beta.1", + "vue": "^2.6.0 || >=3.0.0-rc.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + }, + "dependencies": {}, + "devDependencies": {} +} diff --git a/packages/renderer/src/index.ts b/packages/renderer/src/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/renderer/tsconfig.build.json b/packages/renderer/tsconfig.build.json new file mode 100644 index 0000000..cb94a64 --- /dev/null +++ b/packages/renderer/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./lib", + "paths": { + "@formily/*": ["packages/*"] + }, + "declaration": true + } +} diff --git a/packages/renderer/tsconfig.json b/packages/renderer/tsconfig.json new file mode 100644 index 0000000..07cae36 --- /dev/null +++ b/packages/renderer/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../../tsconfig.json", + "include": ["./src/**/*.js", "./src/**/*.ts", "./src/**/*.tsx"], + "exclude": ["./src/__tests__/*"] +} diff --git a/packages/setters/.npmignore b/packages/setters/.npmignore new file mode 100644 index 0000000..1ff3374 --- /dev/null +++ b/packages/setters/.npmignore @@ -0,0 +1,11 @@ +node_modules +*.log +build +docs +doc-site +__tests__ +.eslintrc +jest.config.js +tsconfig.json +.umi +src \ No newline at end of file diff --git a/packages/setters/README.md b/packages/setters/README.md new file mode 100644 index 0000000..9f3c290 --- /dev/null +++ b/packages/setters/README.md @@ -0,0 +1,9 @@ +# @formily/element-setters + +> Formily Designable Component Adaptor + +## Install + +```bash +npm install @formily/element-setters --save +``` diff --git a/packages/setters/README.zh-CN.md b/packages/setters/README.zh-CN.md new file mode 100644 index 0000000..41ad564 --- /dev/null +++ b/packages/setters/README.zh-CN.md @@ -0,0 +1,9 @@ +# @formily/element-setters + +> Formily Designable 设置器 + +## 安装 + +```bash +npm install @formily/element-setters --save +``` diff --git a/packages/setters/builder.config.ts b/packages/setters/builder.config.ts new file mode 100644 index 0000000..c840ea0 --- /dev/null +++ b/packages/setters/builder.config.ts @@ -0,0 +1,7 @@ +import { IBuilderConfig } from '@formily/template' + +export const BuilderConfig: IBuilderConfig = { + targetLibName: 'element-ui', + targetLibCjsDir: 'lib', + targetLibEsDir: 'es', +} diff --git a/packages/setters/package.json b/packages/setters/package.json new file mode 100644 index 0000000..de9ef59 --- /dev/null +++ b/packages/setters/package.json @@ -0,0 +1,49 @@ +{ + "name": "@formily/element-setters", + "version": "1.0.0-alpha.0", + "license": "MIT", + "main": "lib", + "types": "lib/index.d.ts", + "engines": { + "npm": ">=3.0.0" + }, + "module": "esm", + "umd:main": "dist/formily.element-setters.umd.production.js", + "unpkg": "dist/formily.element-setters.umd.production.js", + "jsdelivr": "dist/formily.element-setters.umd.production.js", + "jsnext:main": "esm", + "sideEffects": [ + "dist/*", + "esm/*.js", + "lib/*.js", + "src/*.ts", + "*.less", + "*.scss", + "**/*/style.js" + ], + "scripts": { + "build": "formily-tpl build" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/formilyjs/element.git" + }, + "bugs": { + "url": "https://github.com/formilyjs/element/issues" + }, + "homepage": "https://github.com/formilyjs/element#readme", + "publishConfig": { + "access": "public" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-beta.1", + "vue": "^2.6.0 || >=3.0.0-rc.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + }, + "dependencies": {}, + "devDependencies": {} +} diff --git a/packages/setters/src/index.ts b/packages/setters/src/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/setters/tsconfig.build.json b/packages/setters/tsconfig.build.json new file mode 100644 index 0000000..cb94a64 --- /dev/null +++ b/packages/setters/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./lib", + "paths": { + "@formily/*": ["packages/*"] + }, + "declaration": true + } +} diff --git a/packages/setters/tsconfig.json b/packages/setters/tsconfig.json new file mode 100644 index 0000000..07cae36 --- /dev/null +++ b/packages/setters/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../../tsconfig.json", + "include": ["./src/**/*.js", "./src/**/*.ts", "./src/**/*.tsx"], + "exclude": ["./src/__tests__/*"] +} diff --git a/packages/settings-form/.npmignore b/packages/settings-form/.npmignore new file mode 100644 index 0000000..1ff3374 --- /dev/null +++ b/packages/settings-form/.npmignore @@ -0,0 +1,11 @@ +node_modules +*.log +build +docs +doc-site +__tests__ +.eslintrc +jest.config.js +tsconfig.json +.umi +src \ No newline at end of file diff --git a/packages/settings-form/README.md b/packages/settings-form/README.md new file mode 100644 index 0000000..ffe7f51 --- /dev/null +++ b/packages/settings-form/README.md @@ -0,0 +1,9 @@ +# @formily/element-settings-form + +> Formily Designable Settings Form + +## Install + +```bash +npm install @formily/element-settings-form --save +``` diff --git a/packages/settings-form/README.zh-CN.md b/packages/settings-form/README.zh-CN.md new file mode 100644 index 0000000..26d49ff --- /dev/null +++ b/packages/settings-form/README.zh-CN.md @@ -0,0 +1,9 @@ +# @formily/element-settings-form + +> Formily Designable Settings Form + +## 安装 + +```bash +npm install @formily/element-settings-form --save +``` diff --git a/packages/settings-form/builder.config.ts b/packages/settings-form/builder.config.ts new file mode 100644 index 0000000..c840ea0 --- /dev/null +++ b/packages/settings-form/builder.config.ts @@ -0,0 +1,7 @@ +import { IBuilderConfig } from '@formily/template' + +export const BuilderConfig: IBuilderConfig = { + targetLibName: 'element-ui', + targetLibCjsDir: 'lib', + targetLibEsDir: 'es', +} diff --git a/packages/settings-form/package.json b/packages/settings-form/package.json new file mode 100644 index 0000000..20081fc --- /dev/null +++ b/packages/settings-form/package.json @@ -0,0 +1,49 @@ +{ + "name": "@formily/element-settings-form", + "version": "1.0.0-alpha.0", + "license": "MIT", + "main": "lib", + "types": "lib/index.d.ts", + "engines": { + "npm": ">=3.0.0" + }, + "module": "esm", + "umd:main": "dist/formily.element-settings-form.umd.production.js", + "unpkg": "dist/formily.element-settings-form.umd.production.js", + "jsdelivr": "dist/formily.element-settings-form.umd.production.js", + "jsnext:main": "esm", + "sideEffects": [ + "dist/*", + "esm/*.js", + "lib/*.js", + "src/*.ts", + "*.less", + "*.scss", + "**/*/style.js" + ], + "scripts": { + "build": "formily-tpl build" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/formilyjs/element.git" + }, + "bugs": { + "url": "https://github.com/formilyjs/element/issues" + }, + "homepage": "https://github.com/formilyjs/element#readme", + "publishConfig": { + "access": "public" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-beta.1", + "vue": "^2.6.0 || >=3.0.0-rc.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + }, + "dependencies": {}, + "devDependencies": {} +} diff --git a/packages/settings-form/src/index.ts b/packages/settings-form/src/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/settings-form/tsconfig.build.json b/packages/settings-form/tsconfig.build.json new file mode 100644 index 0000000..cb94a64 --- /dev/null +++ b/packages/settings-form/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./lib", + "paths": { + "@formily/*": ["packages/*"] + }, + "declaration": true + } +} diff --git a/packages/settings-form/tsconfig.json b/packages/settings-form/tsconfig.json new file mode 100644 index 0000000..07cae36 --- /dev/null +++ b/packages/settings-form/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../../tsconfig.json", + "include": ["./src/**/*.js", "./src/**/*.ts", "./src/**/*.tsx"], + "exclude": ["./src/__tests__/*"] +} diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 0000000..2fc895e --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "esModuleInterop": true, + "moduleResolution": "node", + "allowJs": true, + "module": "commonjs", + "target": "es5" + } +} diff --git a/tsconfig.jest.json b/tsconfig.jest.json new file mode 100644 index 0000000..330c126 --- /dev/null +++ b/tsconfig.jest.json @@ -0,0 +1,15 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "jsx": "preserve", + "esModuleInterop": true, + "moduleResolution": "node", + "allowJs": true, + "module": "commonjs", + "target": "es5", + "paths": { + "@formily/*": ["./packages/*/src"] + } + }, + "exclude": ["./packages/*/esm", "./packages/*/lib"] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..af0951e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "esModuleInterop": true, + "moduleResolution": "node", + "jsx": "preserve", + "module": "commonjs", + "target": "es5", + "allowJs": false, + "noUnusedLocals": false, + "preserveConstEnums": true, + "skipLibCheck": true, + "sourceMap": true, + "inlineSources": true, + "declaration": true, + "experimentalDecorators": true, + "downlevelIteration": true, + "baseUrl": ".", + "paths": { + "@formily/*": ["packages/*/src"] + } + } +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..e051865 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,15214 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz?cache=0&sync_timestamp=1635561060995&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8= + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.0.tgz?cache=0&sync_timestamp=1635561060995&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" + integrity sha1-DfyAMJvuyEEeZecGRhxAiwu5tDE= + dependencies: + "@babel/highlight" "^7.16.0" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4": + version "7.16.4" + resolved "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" + integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== + +"@babel/core@^7.11.0", "@babel/core@^7.8.4": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.16.0.tgz?cache=0&sync_timestamp=1635561061221&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" + integrity sha1-xP9EBG9f4xBSXMnrTvUUfwxTdNQ= + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helpers" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + 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" + +"@babel/generator@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.0.tgz?cache=0&sync_timestamp=1635561061162&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" + integrity sha1-1A89HVB15i01ALzLZ/PaqKlSZbI= + dependencies: + "@babel/types" "^7.16.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz?cache=0&sync_timestamp=1635561062003&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" + integrity sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0= + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882" + integrity sha1-8aaGuS2nlAIMJlguuFLprM0NeII= + dependencies: + "@babel/helper-explode-assignable-expression" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3", "@babel/helper-compilation-targets@^7.9.6": + version "7.16.3" + resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" + integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== + dependencies: + "@babel/compat-data" "^7.16.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.17.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.16.0.tgz?cache=0&sync_timestamp=1635561064519&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b" + integrity sha1-CQ1NFms0KgOp/sN+9P1a65x8aks= + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + +"@babel/helper-create-regexp-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff" + integrity sha1-BrI0jON/zMT14Y3NjXUFPyp8RP8= + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + regexpu-core "^4.7.1" + +"@babel/helper-define-polyfill-provider@^0.3.0": + version "0.3.0" + resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.3.0.tgz?cache=0&sync_timestamp=1636799792651&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-define-polyfill-provider%2Fdownload%2F%40babel%2Fhelper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" + integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-explode-assignable-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" + integrity sha1-dTAXM3oV9G+cCfZ0z/EM7pudd3g= + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.0.tgz?cache=0&sync_timestamp=1635561061544&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" + integrity sha1-t90Hl9ALv+5PB+nE6lsOMMi7FIE= + dependencies: + "@babel/helper-get-function-arity" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-get-function-arity@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.0.tgz?cache=0&sync_timestamp=1635561061657&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" + integrity sha1-AIjHSGspqctdlIsaHeRttm4InPo= + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-hoist-variables@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.0.tgz?cache=0&sync_timestamp=1635561066173&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" + integrity sha1-TJAjwvHe9+KP9G/B2802o5vqqBo= + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-member-expression-to-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.16.0.tgz?cache=0&sync_timestamp=1635561061860&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" + integrity sha1-KShwQO/Rl8d2Nu91GI6B2ovM1aQ= + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.8.3": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.0.tgz?cache=0&sync_timestamp=1635561065123&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" + integrity sha1-kFOOYLZy7PG0SPX09UM9N+eaPsM= + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-transforms@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.16.0.tgz?cache=0&sync_timestamp=1635561061227&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" + integrity sha1-HIKo3UyzRXdQLr0pCWmbGUw+m7U= + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-optimise-call-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.16.0.tgz?cache=0&sync_timestamp=1635561061553&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" + integrity sha1-zs2xRdcMVAlrFWT46fEM19GTszg= + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha1-WsgizpfuxGdBq3ClF5ceRDpwxak= + +"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": + version "7.16.4" + resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" + integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-wrap-function" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-replace-supers@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.16.0.tgz?cache=0&sync_timestamp=1635561061108&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" + integrity sha1-cwVejTz5vLqN21XK2T/tyGD2jxc= + dependencies: + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-simple-access@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.16.0.tgz?cache=0&sync_timestamp=1635561065596&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" + integrity sha1-IdaidiDjg+N1NM9sELugGab5BRc= + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" + integrity sha1-DuM4gHAUfDrgUeSH7KPrsOLouwk= + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-split-export-declaration@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.0.tgz?cache=0&sync_timestamp=1635561061572&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" + integrity sha1-KWcvQ2Y+k23zcKrrIr7ds7rsdDg= + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k= + +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha1-bnKh//GNXfy4eOHmLxoCHEty1aM= + +"@babel/helper-wrap-function@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c" + integrity sha1-s88xivzndN/nW4Z2fNbWjzSC5Xw= + dependencies: + "@babel/helper-function-name" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helpers@^7.16.0": + version "7.16.3" + resolved "https://registry.npmmirror.com/@babel/helpers/download/@babel/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" + integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== + dependencies: + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.3" + "@babel/types" "^7.16.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.0.tgz?cache=0&sync_timestamp=1635561064946&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" + integrity sha1-bOsysspLj182H7f9gh4/3fShclo= + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.15.0", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": + version "7.16.4" + resolved "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" + integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2": + version "7.16.2" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/download/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz?cache=0&sync_timestamp=1635838545974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fplugin-bugfix-safari-id-destructuring-collision-in-function-expression%2Fdownload%2F%40babel%2Fplugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183" + integrity sha1-KXf8qbIS2xU8GVZ05Xz6uAdzMYM= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2" + integrity sha1-NYly6qsAb16wgmGDsMk8vK8T4eI= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + +"@babel/plugin-proposal-async-generator-functions@^7.16.4": + version "7.16.4" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" + integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.4" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.8.3": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" + integrity sha1-wClhgmfd68coD6KG4PjKKieKLRo= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-class-static-block@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7" + integrity sha1-UpaULFZNgUTIPuo0fQqooLiRcOc= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-decorators@^7.8.3": + version "7.16.4" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.16.4.tgz#9b35ce0716425a93b978e79099e5f7ba217c1364" + integrity sha512-RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-decorators" "^7.16.0" + +"@babel/plugin-proposal-dynamic-import@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" + integrity sha1-eD7KYdUFJiAvmylglUU5d+iGWfE= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" + integrity sha1-nAHe5Auda4R7ZWqvSjl2pxdA8iI= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" + integrity sha1-yuNale0dKn+inE3EFUC4SnLpqyU= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" + integrity sha1-pxG4zrP/3dPviNOknobb08x9s/0= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" + integrity sha1-ROHM4I/iQnSCz0RqkbtFFSjtBZY= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" + integrity sha1-XUGOT7v4ubfQMSXTpScwQzo3NzQ= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" + integrity sha1-X7MvbZJNbmcSgQNipg4SomCYcuY= + dependencies: + "@babel/compat-data" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.16.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" + integrity sha1-WRAIWBGrTCiwDW6/+kqwJ00eXxY= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" + integrity sha1-VtvDlwglaDYI6e+1XqgsKi1sjcA= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" + integrity sha1-tNr7nHF+QwHFd2sw0IDWODyJr/Y= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-private-property-in-object@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f" + integrity sha1-aek1ssXHnSSIES2IbwxOJ5D+528= + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" + integrity sha1-iQSC38XqN45C4Zpx5wlyjKvxhhI= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha1-GV34mxRrS3izv4l/16JXyEZZ1AY= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.16.0.tgz#eb8d811cdd1060f6ac3c00956bf3f6335505a32f" + integrity sha1-642BHN0QYPasPACVa/P2M1UFoy8= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz?cache=0&sync_timestamp=1632763277409&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fplugin-syntax-dynamic-import%2Fdownload%2F%40babel%2Fplugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha1-AolkqbqA28CUyRXEh618TnpmRlo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.16.0.tgz?cache=0&sync_timestamp=1635578642050&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-syntax-jsx-7.16.0.tgz#f9624394317365a9a88c82358d3f8471154698f1" + integrity sha1-+WJDlDFzZamojII1jT+EcRVGmPE= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha1-ypHvRjA1MESLkGZSusLp/plB9pk= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/download/@babel/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha1-DcZnHsDqIrbpShEU+FeXDNOd4a0= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha1-wc/a3DWmRiQAAfBhOCR7dBw02Uw= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-arrow-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" + integrity sha1-lRcG+LRJyDTtB71HTAkkyUS5Wo4= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-async-to-generator@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" + integrity sha1-3xJjf5Yw3foO+dehG8QU1inThgQ= + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.0" + +"@babel/plugin-transform-block-scoped-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" + integrity sha1-xhh2MjOtAoR4BavKxMNFzp3nFF0= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-block-scoping@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" + integrity sha1-vPQz+0gv6MPTtOimaxxKjnfTfBY= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-classes@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" + integrity sha1-VM9f8LIkLGVz11PNS/xwd6iygvU= + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" + integrity sha1-4MOFUH0h4bCwdtZr7W1SMbhRELc= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-destructuring@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" + integrity sha1-rT1+dFhK1epOrbHmZCFGxZDe4zw= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" + integrity sha1-ULqwDBCEthYtClioGAMc9XeY4G8= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-duplicate-keys@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" + integrity sha1-i8LiGBPj6J5eW/O2CqX8RYV1oXY= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-exponentiation-operator@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" + integrity sha1-oYDNKIHjUzzvnTkB5I2tD77/S+Q= + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-for-of@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" + integrity sha1-96us7RVSYOJGE1m7x8ckispea9I= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" + integrity sha1-AuNpnChMYmIjZZn3UQZcXV8fQA4= + dependencies: + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" + integrity sha1-eXEeZw/86zG9KYIp1Q82IfeYDKw= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-member-expression-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" + integrity sha1-UlG0zOAer4MUQD0hrtsmnXn15ks= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-modules-amd@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" + integrity sha1-CavUHhjc9P1HnFmMHO97056xM34= + dependencies: + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" + integrity sha1-rdWOY4yN3Eh1vZqey1xZRhP2ySI= + dependencies: + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.16.0" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" + integrity sha1-qSzyQK/rYF9MoWZwRTAkQl5CHqQ= + dependencies: + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-identifier" "^7.15.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" + integrity sha1-GV8mwq1tajkbcIgO/84YzmJeBqc= + dependencies: + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" + integrity sha1-09thzF1bl5hlWZZ81eqD5cMglso= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + +"@babel/plugin-transform-new-target@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" + integrity sha1-r4I6tXb3UiFaSZN3eaQcplglqzU= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-object-super@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" + integrity sha1-+yDVgG3GSRoGKWrBTqjo1v7dpys= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" + +"@babel/plugin-transform-parameters@^7.16.0", "@babel/plugin-transform-parameters@^7.16.3": + version "7.16.3" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" + integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" + integrity sha1-qVxVIYmpagAFn2d23E4A42kMeNE= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-regenerator@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" + integrity sha1-6u5CLISwIy0Drqfbmcl97q9hJaQ= + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" + integrity sha1-//S53LGeEmGTlL2hctFPLQTAN5w= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-runtime@^7.11.0": + version "7.16.4" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.16.4.tgz#f9ba3c7034d429c581e1bd41b4952f3db3c2c7e8" + integrity sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-regenerator "^0.3.0" + semver "^6.3.0" + +"@babel/plugin-transform-shorthand-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" + integrity sha1-CQNy4xQffMMk7XCz2vU3nfL6OE0= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-spread@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" + integrity sha1-0hygmbvVOrMHqGIeAZp70PQM3Ps= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + +"@babel/plugin-transform-sticky-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" + integrity sha1-w16jGgLYa+SF9qpRAYS2d6kXOP0= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-template-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" + integrity sha1-qOztOo57ji1A7E7EVIpFkSYw0wI= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-typeof-symbol@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" + integrity sha1-ixmiRMb4ydZo3Kam91Stbq0RKPI= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-escapes@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" + integrity sha1-GjVAZLTEVmOjIzT0b6DPYQC1sfM= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" + integrity sha1-KTuAlQF3yMha7eh87ygCWfuZVAI= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/preset-env@^7.11.0": + version "7.16.4" + resolved "https://registry.npmmirror.com/@babel/preset-env/download/@babel/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" + integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA== + dependencies: + "@babel/compat-data" "^7.16.4" + "@babel/helper-compilation-targets" "^7.16.3" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-async-generator-functions" "^7.16.4" + "@babel/plugin-proposal-class-properties" "^7.16.0" + "@babel/plugin-proposal-class-static-block" "^7.16.0" + "@babel/plugin-proposal-dynamic-import" "^7.16.0" + "@babel/plugin-proposal-export-namespace-from" "^7.16.0" + "@babel/plugin-proposal-json-strings" "^7.16.0" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" + "@babel/plugin-proposal-numeric-separator" "^7.16.0" + "@babel/plugin-proposal-object-rest-spread" "^7.16.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-private-methods" "^7.16.0" + "@babel/plugin-proposal-private-property-in-object" "^7.16.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.0" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.16.0" + "@babel/plugin-transform-async-to-generator" "^7.16.0" + "@babel/plugin-transform-block-scoped-functions" "^7.16.0" + "@babel/plugin-transform-block-scoping" "^7.16.0" + "@babel/plugin-transform-classes" "^7.16.0" + "@babel/plugin-transform-computed-properties" "^7.16.0" + "@babel/plugin-transform-destructuring" "^7.16.0" + "@babel/plugin-transform-dotall-regex" "^7.16.0" + "@babel/plugin-transform-duplicate-keys" "^7.16.0" + "@babel/plugin-transform-exponentiation-operator" "^7.16.0" + "@babel/plugin-transform-for-of" "^7.16.0" + "@babel/plugin-transform-function-name" "^7.16.0" + "@babel/plugin-transform-literals" "^7.16.0" + "@babel/plugin-transform-member-expression-literals" "^7.16.0" + "@babel/plugin-transform-modules-amd" "^7.16.0" + "@babel/plugin-transform-modules-commonjs" "^7.16.0" + "@babel/plugin-transform-modules-systemjs" "^7.16.0" + "@babel/plugin-transform-modules-umd" "^7.16.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" + "@babel/plugin-transform-new-target" "^7.16.0" + "@babel/plugin-transform-object-super" "^7.16.0" + "@babel/plugin-transform-parameters" "^7.16.3" + "@babel/plugin-transform-property-literals" "^7.16.0" + "@babel/plugin-transform-regenerator" "^7.16.0" + "@babel/plugin-transform-reserved-words" "^7.16.0" + "@babel/plugin-transform-shorthand-properties" "^7.16.0" + "@babel/plugin-transform-spread" "^7.16.0" + "@babel/plugin-transform-sticky-regex" "^7.16.0" + "@babel/plugin-transform-template-literals" "^7.16.0" + "@babel/plugin-transform-typeof-symbol" "^7.16.0" + "@babel/plugin-transform-unicode-escapes" "^7.16.0" + "@babel/plugin-transform-unicode-regex" "^7.16.0" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.16.0" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-regenerator "^0.3.0" + core-js-compat "^3.19.1" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.npmmirror.com/@babel/preset-modules/download/@babel/preset-modules-0.1.5.tgz?cache=0&sync_timestamp=1635094917546&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fpreset-modules%2Fdownload%2F%40babel%2Fpreset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha1-75Odbn8miCfhhBY43G/5VRXhFdk= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/runtime-corejs3@^7.10.2": + version "7.16.3" + resolved "https://registry.npmmirror.com/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.16.3.tgz#1e25de4fa994c57c18e5fdda6cc810dac70f5590" + integrity sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ== + dependencies: + core-js-pure "^3.19.0" + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.16.3" + resolved "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" + integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/standalone@^7.14.0": + version "7.16.4" + resolved "https://registry.npmmirror.com/@babel/standalone/download/@babel/standalone-7.16.4.tgz#f62a5b14fc0e881668f26739f28bcdaacedd3080" + integrity sha512-FDRLwjeQfPm5jaHNuB+vwNyGCp24Ah3kEsbLzKmh0eSru+QCr4DmjgbRPoz71AwXLVtXU+l/i7MlVlIj5XO7Gw== + +"@babel/template@^7.0.0", "@babel/template@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz?cache=0&sync_timestamp=1635561063612&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" + integrity sha1-0Wo16/TNdOICCDNW+rId2JNj3dY= + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": + version "7.16.3" + resolved "https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" + integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/parser" "^7.16.3" + "@babel/types" "^7.16.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.4.4": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.0.tgz?cache=0&sync_timestamp=1635561064249&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" + integrity sha1-2zsxOAT5aq3Qt3bEgj4SetZyibo= + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + to-fast-properties "^2.0.0" + +"@commitlint/cli@^14.1.0": + version "14.1.0" + resolved "https://registry.npmmirror.com/@commitlint/cli/download/@commitlint/cli-14.1.0.tgz#7b657a955ed22f3df348ba9afa6ce5a5121ff7eb" + integrity sha1-e2V6lV7SLz3zSLqa+mzlpRIf9+s= + dependencies: + "@commitlint/format" "^14.1.0" + "@commitlint/lint" "^14.1.0" + "@commitlint/load" "^14.1.0" + "@commitlint/read" "^14.0.0" + "@commitlint/types" "^14.0.0" + lodash "^4.17.19" + resolve-from "5.0.0" + resolve-global "1.0.0" + yargs "^17.0.0" + +"@commitlint/config-conventional@^14.1.0": + version "14.1.0" + resolved "https://registry.npmmirror.com/@commitlint/config-conventional/download/@commitlint/config-conventional-14.1.0.tgz#29e386ef200fa72d43418153ab1c490c89024dee" + integrity sha1-KeOG7yAPpy1DQYFTqxxJDIkCTe4= + dependencies: + conventional-changelog-conventionalcommits "^4.3.1" + +"@commitlint/ensure@^14.1.0": + version "14.1.0" + resolved "https://registry.npmmirror.com/@commitlint/ensure/download/@commitlint/ensure-14.1.0.tgz#b58b2ffe2bc95be143ed8f188721b97df1043ba5" + integrity sha1-tYsv/ivJW+FD7Y8YhyG5ffEEO6U= + dependencies: + "@commitlint/types" "^14.0.0" + lodash "^4.17.19" + +"@commitlint/execute-rule@^14.0.0": + version "14.0.0" + resolved "https://registry.npmmirror.com/@commitlint/execute-rule/download/@commitlint/execute-rule-14.0.0.tgz#3ba45fc255286e3180f89ed4e9ac1ef237160734" + integrity sha1-O6RfwlUobjGA+J7U6awe8jcWBzQ= + +"@commitlint/format@^14.1.0": + version "14.1.0" + resolved "https://registry.npmmirror.com/@commitlint/format/download/@commitlint/format-14.1.0.tgz#09b4081bdcb02163496bfcece98f9d4606238bc5" + integrity sha1-CbQIG9ywIWNJa/zs6Y+dRgYji8U= + dependencies: + "@commitlint/types" "^14.0.0" + chalk "^4.0.0" + +"@commitlint/is-ignored@^14.0.0": + version "14.0.0" + resolved "https://registry.npmmirror.com/@commitlint/is-ignored/download/@commitlint/is-ignored-14.0.0.tgz#8c88e05211519bc187558aad07eee02581292ec4" + integrity sha1-jIjgUhFRm8GHVYqtB+7gJYEpLsQ= + dependencies: + "@commitlint/types" "^14.0.0" + semver "7.3.5" + +"@commitlint/lint@^14.1.0": + version "14.1.0" + resolved "https://registry.npmmirror.com/@commitlint/lint/download/@commitlint/lint-14.1.0.tgz#1673b216803d65cc4bbe631f656125be54fd2f69" + integrity sha1-FnOyFoA9ZcxLvmMfZWElvlT9L2k= + dependencies: + "@commitlint/is-ignored" "^14.0.0" + "@commitlint/parse" "^14.0.0" + "@commitlint/rules" "^14.1.0" + "@commitlint/types" "^14.0.0" + +"@commitlint/load@^14.1.0": + version "14.1.0" + resolved "https://registry.npmmirror.com/@commitlint/load/download/@commitlint/load-14.1.0.tgz#911e8625cfa1a80df2914b835834c6068fdfdab4" + integrity sha1-kR6GJc+hqA3ykUuDWDTGBo/f2rQ= + dependencies: + "@commitlint/execute-rule" "^14.0.0" + "@commitlint/resolve-extends" "^14.1.0" + "@commitlint/types" "^14.0.0" + "@endemolshinegroup/cosmiconfig-typescript-loader" "^3.0.2" + chalk "^4.0.0" + cosmiconfig "^7.0.0" + lodash "^4.17.19" + resolve-from "^5.0.0" + typescript "^4.4.3" + +"@commitlint/message@^14.0.0": + version "14.0.0" + resolved "https://registry.npmmirror.com/@commitlint/message/download/@commitlint/message-14.0.0.tgz#4db852fcd76352be547811d57709667588a39ba9" + integrity sha1-TbhS/NdjUr5UeBHVdwlmdYijm6k= + +"@commitlint/parse@^14.0.0": + version "14.0.0" + resolved "https://registry.npmmirror.com/@commitlint/parse/download/@commitlint/parse-14.0.0.tgz#cb6f66323a27617744f9b479cf09941ff9c3f93d" + integrity sha1-y29mMjonYXdE+bR5zwmUH/nD+T0= + dependencies: + "@commitlint/types" "^14.0.0" + conventional-changelog-angular "^5.0.11" + conventional-commits-parser "^3.2.2" + +"@commitlint/prompt-cli@^14.1.0": + version "14.2.0" + resolved "https://registry.npmmirror.com/@commitlint/prompt-cli/download/@commitlint/prompt-cli-14.2.0.tgz#2b53850e159184685b140ff015a96a3895fbfe28" + integrity sha1-K1OFDhWRhGhbFA/wFalqOJX7/ig= + dependencies: + "@commitlint/prompt" "^14.2.0" + execa "^5.0.0" + inquirer "^6.5.2" + +"@commitlint/prompt@^14.2.0": + version "14.2.0" + resolved "https://registry.npmmirror.com/@commitlint/prompt/download/@commitlint/prompt-14.2.0.tgz#74b7ae416edbbd46e045df2f41078af19f4195b2" + integrity sha1-dLeuQW7bvUbgRd8vQQeK8Z9BlbI= + dependencies: + "@commitlint/ensure" "^14.1.0" + "@commitlint/load" "^14.1.0" + "@commitlint/types" "^14.0.0" + chalk "^4.0.0" + inquirer "^6.5.2" + lodash "^4.17.19" + +"@commitlint/read@^14.0.0": + version "14.0.0" + resolved "https://registry.npmmirror.com/@commitlint/read/download/@commitlint/read-14.0.0.tgz#f871600ce815b541c7f1a4fdabe2c66d8840c2ab" + integrity sha1-+HFgDOgVtUHH8aT9q+LGbYhAwqs= + dependencies: + "@commitlint/top-level" "^14.0.0" + "@commitlint/types" "^14.0.0" + fs-extra "^10.0.0" + git-raw-commits "^2.0.0" + +"@commitlint/resolve-extends@^14.1.0": + version "14.1.0" + resolved "https://registry.npmmirror.com/@commitlint/resolve-extends/download/@commitlint/resolve-extends-14.1.0.tgz#f23b40d95c95901fcb7b53edebc8fe86f54fe99d" + integrity sha1-8jtA2VyVkB/Le1Pt68j+hvVP6Z0= + dependencies: + import-fresh "^3.0.0" + lodash "^4.17.19" + resolve-from "^5.0.0" + resolve-global "^1.0.0" + +"@commitlint/rules@^14.1.0": + version "14.1.0" + resolved "https://registry.npmmirror.com/@commitlint/rules/download/@commitlint/rules-14.1.0.tgz#caec339b05c45e7536cac5d9f1db11fcc9e3dfcd" + integrity sha1-yuwzmwXEXnU2ysXZ8dsR/Mnj380= + dependencies: + "@commitlint/ensure" "^14.1.0" + "@commitlint/message" "^14.0.0" + "@commitlint/to-lines" "^14.0.0" + "@commitlint/types" "^14.0.0" + execa "^5.0.0" + +"@commitlint/to-lines@^14.0.0": + version "14.0.0" + resolved "https://registry.npmmirror.com/@commitlint/to-lines/download/@commitlint/to-lines-14.0.0.tgz#d90c7453bc678e7e2d8a4cae125783b1d4df7aa4" + integrity sha1-2Qx0U7xnjn4tikyuEleDsdTfeqQ= + +"@commitlint/top-level@^14.0.0": + version "14.0.0" + resolved "https://registry.npmmirror.com/@commitlint/top-level/download/@commitlint/top-level-14.0.0.tgz#5fed6ac7ae2f5cff02ea1f41bddbfa24487ef3c8" + integrity sha1-X+1qx64vXP8C6h9Bvdv6JEh+88g= + dependencies: + find-up "^5.0.0" + +"@commitlint/types@^14.0.0": + version "14.0.0" + resolved "https://registry.npmmirror.com/@commitlint/types/download/@commitlint/types-14.0.0.tgz#17bf4d1ab1178c67990ce01b36017d6e6792b751" + integrity sha1-F79NGrEXjGeZDOAbNgF9bmeSt1E= + dependencies: + chalk "^4.0.0" + +"@endemolshinegroup/cosmiconfig-typescript-loader@^3.0.2": + version "3.0.2" + resolved "https://registry.npmmirror.com/@endemolshinegroup/cosmiconfig-typescript-loader/download/@endemolshinegroup/cosmiconfig-typescript-loader-3.0.2.tgz#eea4635828dde372838b0909693ebd9aafeec22d" + integrity sha1-7qRjWCjd43KDiwkJaT69mq/uwi0= + dependencies: + lodash.get "^4" + make-error "^1" + ts-node "^9" + tslib "^2" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.npmmirror.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha1-nkKYHvA1vrPdSa3ResuW6P9vOUw= + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@formily/core@2.0.2", "@formily/core@^2.0.0", "@formily/core@^2.0.2": + version "2.0.2" + resolved "https://registry.npmmirror.com/@formily/core/download/@formily/core-2.0.2.tgz#3f4a3cbf7c934412e87bcc02f871d5a5b0ec3582" + integrity sha512-lodvmOscXqvL8WZO+4hn/+3cvn5+2vGR5M6VUEnAJCgzF8cMIbJFredmjequwkkf0HGjpJH4c+7BKNNC4ZqMlQ== + dependencies: + "@formily/reactive" "2.0.2" + "@formily/shared" "2.0.2" + "@formily/validator" "2.0.2" + +"@formily/grid@^2.0.2": + version "2.0.2" + resolved "https://registry.npmmirror.com/@formily/grid/download/@formily/grid-2.0.2.tgz#5621343895612c3c2b24c43ca659f01b64f928c4" + integrity sha512-0zlNxBAFmnyLz/qDAQbeLBQiPFk1XR8MpNcNty4hdAY3i/nP0euJCsmnT/26pMjL19/yrtNWVUtlrWLjnRDX0A== + dependencies: + "@formily/reactive" "2.0.2" + +"@formily/json-schema@2.0.2", "@formily/json-schema@^2.0.2": + version "2.0.2" + resolved "https://registry.npmmirror.com/@formily/json-schema/download/@formily/json-schema-2.0.2.tgz#441234d193e49c78933b9e2b24a885d83341b381" + integrity sha512-OpbopRwNJ9rNPV3FQ7O5oye8vw/tx0mfPYjNtCPUrkml1Wrz01ywAT7MB+wZ2FNssMhrlF6BjjbHluBTzkZK/Q== + dependencies: + "@formily/core" "2.0.2" + "@formily/reactive" "2.0.2" + "@formily/shared" "2.0.2" + +"@formily/path@2.0.2": + version "2.0.2" + resolved "https://registry.npmmirror.com/@formily/path/download/@formily/path-2.0.2.tgz#c81da22c1ebeb00f2d11af085af21a20da685b53" + integrity sha512-gfreKNKOK96of+ThXktDR1c/NLIcHEKQgGa7heDcGXxt/N9W6bNtWL9Iy8DPEQVMFvxWrQv3zzF3I0xx+h8AOg== + +"@formily/reactive-vue@2.0.2", "@formily/reactive-vue@^2.0.2": + version "2.0.2" + resolved "https://registry.npmmirror.com/@formily/reactive-vue/download/@formily/reactive-vue-2.0.2.tgz#23518cd13bb518f4df433a771f0455ca06160e49" + integrity sha512-P/yHVKQTOIR/5jaftW4fTTLG/qbJ0am3IPpuOYjwRXLGdTjHWQ2eBUJm8wDfLT0hMBLhowPicQS1JX02Z+jjBQ== + dependencies: + "@formily/reactive" "2.0.2" + vue-demi "^0.9.0" + +"@formily/reactive@2.0.2", "@formily/reactive@^2.0.2": + version "2.0.2" + resolved "https://registry.npmmirror.com/@formily/reactive/download/@formily/reactive-2.0.2.tgz#8396cfb31ba8417f0e00d04d5f065e5be43084b3" + integrity sha512-KHcz/tzBDGD8RqTTe3Wb8kLKjDmkwIt7EhzPGU5sy6w0dhQWTMfp3nt9lW9fPHFX/p+rkDqMgQp2040O/rjVHQ== + +"@formily/shared@2.0.2", "@formily/shared@^2.0.2": + version "2.0.2" + resolved "https://registry.npmmirror.com/@formily/shared/download/@formily/shared-2.0.2.tgz#a14845050e04013ad0ad14cb75ea8f47e2bb1efa" + integrity sha512-wPiqSqEKTQLRYl66MMdU2vrFsvTTdJIfb38snF75f30Th+AqOE9KQ8CkngMPSwDmAK276xMW3wjXVpuVW4CGQw== + dependencies: + "@formily/path" "2.0.2" + camel-case "^4.1.1" + lower-case "^2.0.1" + no-case "^3.0.4" + param-case "^3.0.4" + pascal-case "^3.1.1" + upper-case "^2.0.1" + +"@formily/template@^1.0.0-alpha.0": + version "1.0.0-alpha.15" + resolved "https://registry.npmmirror.com/@formily/template/download/@formily/template-1.0.0-alpha.15.tgz#00881ea8a77dd9b75ac26b00c760dffd53f11e05" + integrity sha512-l6L598bDSE6veJV35WeyMPTUnHM6jN4cRVOuJ+U0PuzmYYEpQAu2KGzZUUEF5n6hF9BeiNaF0fv3DJCrLs6ViA== + dependencies: + "@rollup/plugin-commonjs" "^17.0.0" + ejs "^3.1.6" + execa "^5.0.0" + fs-extra "^10.0.0" + glob "^7.1.3" + less "^4.1.1" + less-loader "^5.0.0" + less-plugin-npm-import "^2.1.0" + param-case "^3.0.4" + pascal-case "^3.1.2" + postcss "^8.3.11" + prompts "^2.4.2" + rimraf "^3.0.2" + rollup "^2.37.1" + rollup-plugin-dts "^2.0.0" + rollup-plugin-external-globals "^0.6.1" + rollup-plugin-ignore-import "^1.3.2" + rollup-plugin-inject-process-env "^1.3.1" + rollup-plugin-node-resolve "^5.2.0" + rollup-plugin-postcss "^4.0.0" + rollup-plugin-terser "^7.0.2" + rollup-plugin-typescript2 "^0.30.0" + ts-node "^9.1.1" + typescript "^4.1.5" + +"@formily/validator@2.0.2": + version "2.0.2" + resolved "https://registry.npmmirror.com/@formily/validator/download/@formily/validator-2.0.2.tgz#25f88ec8fde24370fafba62763523fed8715826b" + integrity sha512-p7AvVWclB9GBWXNgbWVbseRgUNPRSCktaLTfhrxL8AhqjZimkYCWDykKmPGO5tgQY2wCoep+RIfGFdj7H7vM9w== + dependencies: + "@formily/shared" "2.0.2" + +"@formily/vue@^2.0.0", "@formily/vue@^2.0.2": + version "2.0.2" + resolved "https://registry.npmmirror.com/@formily/vue/download/@formily/vue-2.0.2.tgz#c97ee5738cbfccc7ed3973dc5c8c1d4ee281094e" + integrity sha512-Vi2iSmq9L5tkQ8PPxPTuoBj8PShARnEs3ofKCz0O3fzNIndGLfvhqDbh+mKMFLZTHsPyKOHyPx3cKQujT04y0Q== + dependencies: + "@formily/core" "2.0.2" + "@formily/json-schema" "2.0.2" + "@formily/reactive" "2.0.2" + "@formily/reactive-vue" "2.0.2" + "@formily/shared" "2.0.2" + "@formily/validator" "2.0.2" + "@type-helper/vue2" "npm:vue@2" + "@type-helper/vue3" "npm:vue@3" + vue-demi "^0.9.0" + vue-frag "^1.1.4" + +"@gar/promisify@^1.0.1": + version "1.1.2" + resolved "https://registry.npmmirror.com/@gar/promisify/download/@gar/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" + integrity sha1-MKqCXxHUOGcdWFvUTn/VZFNfwhA= + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha1-FAeWfUxu7Nc4j4Os8er00Mbljvk= + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha1-tSBSnsIdjllFoYUd/Rwy6U45/0U= + +"@hutson/parse-repository-url@^3.0.0": + version "3.0.2" + resolved "https://registry.npmmirror.com/@hutson/parse-repository-url/download/@hutson/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" + integrity sha1-mMI8lQo9m2yPDa7QbabDrwaYE0A= + +"@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.npmmirror.com/@jest/types/download/@jest/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk= + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.npmmirror.com/@jest/types/download/@jest/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha1-vvWlMgMOHYii9abZM/hOlyJu1I4= + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@jest/types@^27.4.2": + version "27.4.2" + resolved "https://registry.npmmirror.com/@jest/types/download/@jest/types-27.4.2.tgz#96536ebd34da6392c2b7c7737d693885b5dd44a5" + integrity sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@lerna/add@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/add/download/@lerna/add-4.0.0.tgz#c36f57d132502a57b9e7058d1548b7a565ef183f" + integrity sha1-w29X0TJQKle55wWNFUi3pWXvGD8= + dependencies: + "@lerna/bootstrap" "4.0.0" + "@lerna/command" "4.0.0" + "@lerna/filter-options" "4.0.0" + "@lerna/npm-conf" "4.0.0" + "@lerna/validation-error" "4.0.0" + dedent "^0.7.0" + npm-package-arg "^8.1.0" + p-map "^4.0.0" + pacote "^11.2.6" + semver "^7.3.4" + +"@lerna/bootstrap@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/bootstrap/download/@lerna/bootstrap-4.0.0.tgz#5f5c5e2c6cfc8fcec50cb2fbe569a8c607101891" + integrity sha1-X1xeLGz8j87FDLL75WmoxgcQGJE= + dependencies: + "@lerna/command" "4.0.0" + "@lerna/filter-options" "4.0.0" + "@lerna/has-npm-version" "4.0.0" + "@lerna/npm-install" "4.0.0" + "@lerna/package-graph" "4.0.0" + "@lerna/pulse-till-done" "4.0.0" + "@lerna/rimraf-dir" "4.0.0" + "@lerna/run-lifecycle" "4.0.0" + "@lerna/run-topologically" "4.0.0" + "@lerna/symlink-binary" "4.0.0" + "@lerna/symlink-dependencies" "4.0.0" + "@lerna/validation-error" "4.0.0" + dedent "^0.7.0" + get-port "^5.1.1" + multimatch "^5.0.0" + npm-package-arg "^8.1.0" + npmlog "^4.1.2" + p-map "^4.0.0" + p-map-series "^2.1.0" + p-waterfall "^2.1.1" + read-package-tree "^5.3.1" + semver "^7.3.4" + +"@lerna/changed@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/changed/download/@lerna/changed-4.0.0.tgz#b9fc76cea39b9292a6cd263f03eb57af85c9270b" + integrity sha1-ufx2zqObkpKmzSY/A+tXr4XJJws= + dependencies: + "@lerna/collect-updates" "4.0.0" + "@lerna/command" "4.0.0" + "@lerna/listable" "4.0.0" + "@lerna/output" "4.0.0" + +"@lerna/check-working-tree@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/check-working-tree/download/@lerna/check-working-tree-4.0.0.tgz#257e36a602c00142e76082a19358e3e1ae8dbd58" + integrity sha1-JX42pgLAAULnYIKhk1jj4a6NvVg= + dependencies: + "@lerna/collect-uncommitted" "4.0.0" + "@lerna/describe-ref" "4.0.0" + "@lerna/validation-error" "4.0.0" + +"@lerna/child-process@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/child-process/download/@lerna/child-process-4.0.0.tgz#341b96a57dffbd9705646d316e231df6fa4df6e1" + integrity sha1-NBuWpX3/vZcFZG0xbiMd9vpN9uE= + dependencies: + chalk "^4.1.0" + execa "^5.0.0" + strong-log-transformer "^2.1.0" + +"@lerna/clean@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/clean/download/@lerna/clean-4.0.0.tgz#8f778b6f2617aa2a936a6b5e085ae62498e57dc5" + integrity sha1-j3eLbyYXqiqTamteCFrmJJjlfcU= + dependencies: + "@lerna/command" "4.0.0" + "@lerna/filter-options" "4.0.0" + "@lerna/prompt" "4.0.0" + "@lerna/pulse-till-done" "4.0.0" + "@lerna/rimraf-dir" "4.0.0" + p-map "^4.0.0" + p-map-series "^2.1.0" + p-waterfall "^2.1.1" + +"@lerna/cli@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/cli/download/@lerna/cli-4.0.0.tgz#8eabd334558836c1664df23f19acb95e98b5bbf3" + integrity sha1-jqvTNFWINsFmTfI/Gay5Xpi1u/M= + dependencies: + "@lerna/global-options" "4.0.0" + dedent "^0.7.0" + npmlog "^4.1.2" + yargs "^16.2.0" + +"@lerna/collect-uncommitted@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/collect-uncommitted/download/@lerna/collect-uncommitted-4.0.0.tgz#855cd64612969371cfc2453b90593053ff1ba779" + integrity sha1-hVzWRhKWk3HPwkU7kFkwU/8bp3k= + dependencies: + "@lerna/child-process" "4.0.0" + chalk "^4.1.0" + npmlog "^4.1.2" + +"@lerna/collect-updates@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/collect-updates/download/@lerna/collect-updates-4.0.0.tgz#8e208b1bafd98a372ff1177f7a5e288f6bea8041" + integrity sha1-jiCLG6/Zijcv8Rd/el4oj2vqgEE= + dependencies: + "@lerna/child-process" "4.0.0" + "@lerna/describe-ref" "4.0.0" + minimatch "^3.0.4" + npmlog "^4.1.2" + slash "^3.0.0" + +"@lerna/command@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/command/download/@lerna/command-4.0.0.tgz#991c7971df8f5bf6ae6e42c808869a55361c1b98" + integrity sha1-mRx5cd+PW/aubkLICIaaVTYcG5g= + dependencies: + "@lerna/child-process" "4.0.0" + "@lerna/package-graph" "4.0.0" + "@lerna/project" "4.0.0" + "@lerna/validation-error" "4.0.0" + "@lerna/write-log-file" "4.0.0" + clone-deep "^4.0.1" + dedent "^0.7.0" + execa "^5.0.0" + is-ci "^2.0.0" + npmlog "^4.1.2" + +"@lerna/conventional-commits@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/conventional-commits/download/@lerna/conventional-commits-4.0.0.tgz#660fb2c7b718cb942ead70110df61f18c6f99750" + integrity sha1-Zg+yx7cYy5QurXARDfYfGMb5l1A= + dependencies: + "@lerna/validation-error" "4.0.0" + conventional-changelog-angular "^5.0.12" + conventional-changelog-core "^4.2.2" + conventional-recommended-bump "^6.1.0" + fs-extra "^9.1.0" + get-stream "^6.0.0" + lodash.template "^4.5.0" + npm-package-arg "^8.1.0" + npmlog "^4.1.2" + pify "^5.0.0" + semver "^7.3.4" + +"@lerna/create-symlink@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/create-symlink/download/@lerna/create-symlink-4.0.0.tgz#8c5317ce5ae89f67825443bd7651bf4121786228" + integrity sha1-jFMXzlron2eCVEO9dlG/QSF4Yig= + dependencies: + cmd-shim "^4.1.0" + fs-extra "^9.1.0" + npmlog "^4.1.2" + +"@lerna/create@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/create/download/@lerna/create-4.0.0.tgz#b6947e9b5dfb6530321952998948c3e63d64d730" + integrity sha1-tpR+m137ZTAyGVKZiUjD5j1k1zA= + dependencies: + "@lerna/child-process" "4.0.0" + "@lerna/command" "4.0.0" + "@lerna/npm-conf" "4.0.0" + "@lerna/validation-error" "4.0.0" + dedent "^0.7.0" + fs-extra "^9.1.0" + globby "^11.0.2" + init-package-json "^2.0.2" + npm-package-arg "^8.1.0" + p-reduce "^2.1.0" + pacote "^11.2.6" + pify "^5.0.0" + semver "^7.3.4" + slash "^3.0.0" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^3.0.0" + whatwg-url "^8.4.0" + yargs-parser "20.2.4" + +"@lerna/describe-ref@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/describe-ref/download/@lerna/describe-ref-4.0.0.tgz#53c53b4ea65fdceffa072a62bfebe6772c45d9ec" + integrity sha1-U8U7TqZf3O/6Bypiv+vmdyxF2ew= + dependencies: + "@lerna/child-process" "4.0.0" + npmlog "^4.1.2" + +"@lerna/diff@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/diff/download/@lerna/diff-4.0.0.tgz#6d3071817aaa4205a07bf77cfc6e932796d48b92" + integrity sha1-bTBxgXqqQgWge/d8/G6TJ5bUi5I= + dependencies: + "@lerna/child-process" "4.0.0" + "@lerna/command" "4.0.0" + "@lerna/validation-error" "4.0.0" + npmlog "^4.1.2" + +"@lerna/exec@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/exec/download/@lerna/exec-4.0.0.tgz#eb6cb95cb92d42590e9e2d628fcaf4719d4a8be6" + integrity sha1-62y5XLktQlkOni1ij8r0cZ1Ki+Y= + dependencies: + "@lerna/child-process" "4.0.0" + "@lerna/command" "4.0.0" + "@lerna/filter-options" "4.0.0" + "@lerna/profiler" "4.0.0" + "@lerna/run-topologically" "4.0.0" + "@lerna/validation-error" "4.0.0" + p-map "^4.0.0" + +"@lerna/filter-options@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/filter-options/download/@lerna/filter-options-4.0.0.tgz#ac94cc515d7fa3b47e2f7d74deddeabb1de5e9e6" + integrity sha1-rJTMUV1/o7R+L3103t3qux3l6eY= + dependencies: + "@lerna/collect-updates" "4.0.0" + "@lerna/filter-packages" "4.0.0" + dedent "^0.7.0" + npmlog "^4.1.2" + +"@lerna/filter-packages@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/filter-packages/download/@lerna/filter-packages-4.0.0.tgz#b1f70d70e1de9cdd36a4e50caa0ac501f8d012f2" + integrity sha1-sfcNcOHenN02pOUMqgrFAfjQEvI= + dependencies: + "@lerna/validation-error" "4.0.0" + multimatch "^5.0.0" + npmlog "^4.1.2" + +"@lerna/get-npm-exec-opts@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/get-npm-exec-opts/download/@lerna/get-npm-exec-opts-4.0.0.tgz#dc955be94a4ae75c374ef9bce91320887d34608f" + integrity sha1-3JVb6UpK51w3Tvm86RMgiH00YI8= + dependencies: + npmlog "^4.1.2" + +"@lerna/get-packed@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/get-packed/download/@lerna/get-packed-4.0.0.tgz#0989d61624ac1f97e393bdad2137c49cd7a37823" + integrity sha1-CYnWFiSsH5fjk72tITfEnNejeCM= + dependencies: + fs-extra "^9.1.0" + ssri "^8.0.1" + tar "^6.1.0" + +"@lerna/github-client@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/github-client/download/@lerna/github-client-4.0.0.tgz#2ced67721363ef70f8e12ffafce4410918f4a8a4" + integrity sha1-LO1nchNj73D44S/6/ORBCRj0qKQ= + dependencies: + "@lerna/child-process" "4.0.0" + "@octokit/plugin-enterprise-rest" "^6.0.1" + "@octokit/rest" "^18.1.0" + git-url-parse "^11.4.4" + npmlog "^4.1.2" + +"@lerna/gitlab-client@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/gitlab-client/download/@lerna/gitlab-client-4.0.0.tgz#00dad73379c7b38951d4b4ded043504c14e2b67d" + integrity sha1-ANrXM3nHs4lR1LTe0ENQTBTitn0= + dependencies: + node-fetch "^2.6.1" + npmlog "^4.1.2" + whatwg-url "^8.4.0" + +"@lerna/global-options@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/global-options/download/@lerna/global-options-4.0.0.tgz#c7d8b0de6a01d8a845e2621ea89e7f60f18c6a5f" + integrity sha1-x9iw3moB2KhF4mIeqJ5/YPGMal8= + +"@lerna/has-npm-version@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/has-npm-version/download/@lerna/has-npm-version-4.0.0.tgz#d3fc3292c545eb28bd493b36e6237cf0279f631c" + integrity sha1-0/wyksVF6yi9STs25iN88CefYxw= + dependencies: + "@lerna/child-process" "4.0.0" + semver "^7.3.4" + +"@lerna/import@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/import/download/@lerna/import-4.0.0.tgz#bde656c4a451fa87ae41733ff8a8da60547c5465" + integrity sha1-veZWxKRR+oeuQXM/+KjaYFR8VGU= + dependencies: + "@lerna/child-process" "4.0.0" + "@lerna/command" "4.0.0" + "@lerna/prompt" "4.0.0" + "@lerna/pulse-till-done" "4.0.0" + "@lerna/validation-error" "4.0.0" + dedent "^0.7.0" + fs-extra "^9.1.0" + p-map-series "^2.1.0" + +"@lerna/info@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/info/download/@lerna/info-4.0.0.tgz#b9fb0e479d60efe1623603958a831a88b1d7f1fc" + integrity sha1-ufsOR51g7+FiNgOVioMaiLHX8fw= + dependencies: + "@lerna/command" "4.0.0" + "@lerna/output" "4.0.0" + envinfo "^7.7.4" + +"@lerna/init@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/init/download/@lerna/init-4.0.0.tgz#dadff67e6dfb981e8ccbe0e6a310e837962f6c7a" + integrity sha1-2t/2fm37mB6My+DmoxDoN5YvbHo= + dependencies: + "@lerna/child-process" "4.0.0" + "@lerna/command" "4.0.0" + fs-extra "^9.1.0" + p-map "^4.0.0" + write-json-file "^4.3.0" + +"@lerna/link@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/link/download/@lerna/link-4.0.0.tgz#c3a38aabd44279d714e90f2451e31b63f0fb65ba" + integrity sha1-w6OKq9RCedcU6Q8kUeMbY/D7Zbo= + dependencies: + "@lerna/command" "4.0.0" + "@lerna/package-graph" "4.0.0" + "@lerna/symlink-dependencies" "4.0.0" + p-map "^4.0.0" + slash "^3.0.0" + +"@lerna/list@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/list/download/@lerna/list-4.0.0.tgz#24b4e6995bd73f81c556793fe502b847efd9d1d7" + integrity sha1-JLTmmVvXP4HFVnk/5QK4R+/Z0dc= + dependencies: + "@lerna/command" "4.0.0" + "@lerna/filter-options" "4.0.0" + "@lerna/listable" "4.0.0" + "@lerna/output" "4.0.0" + +"@lerna/listable@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/listable/download/@lerna/listable-4.0.0.tgz#d00d6cb4809b403f2b0374fc521a78e318b01214" + integrity sha1-0A1stICbQD8rA3T8Uhp44xiwEhQ= + dependencies: + "@lerna/query-graph" "4.0.0" + chalk "^4.1.0" + columnify "^1.5.4" + +"@lerna/log-packed@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/log-packed/download/@lerna/log-packed-4.0.0.tgz#95168fe2e26ac6a71e42f4be857519b77e57a09f" + integrity sha1-lRaP4uJqxqceQvS+hXUZt35XoJ8= + dependencies: + byte-size "^7.0.0" + columnify "^1.5.4" + has-unicode "^2.0.1" + npmlog "^4.1.2" + +"@lerna/npm-conf@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/npm-conf/download/@lerna/npm-conf-4.0.0.tgz#b259fd1e1cee2bf5402b236e770140ff9ade7fd2" + integrity sha1-sln9HhzuK/VAKyNudwFA/5ref9I= + dependencies: + config-chain "^1.1.12" + pify "^5.0.0" + +"@lerna/npm-dist-tag@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/npm-dist-tag/download/@lerna/npm-dist-tag-4.0.0.tgz#d1e99b4eccd3414142f0548ad331bf2d53f3257a" + integrity sha1-0embTszTQUFC8FSK0zG/LVPzJXo= + dependencies: + "@lerna/otplease" "4.0.0" + npm-package-arg "^8.1.0" + npm-registry-fetch "^9.0.0" + npmlog "^4.1.2" + +"@lerna/npm-install@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/npm-install/download/@lerna/npm-install-4.0.0.tgz#31180be3ab3b7d1818a1a0c206aec156b7094c78" + integrity sha1-MRgL46s7fRgYoaDCBq7BVrcJTHg= + dependencies: + "@lerna/child-process" "4.0.0" + "@lerna/get-npm-exec-opts" "4.0.0" + fs-extra "^9.1.0" + npm-package-arg "^8.1.0" + npmlog "^4.1.2" + signal-exit "^3.0.3" + write-pkg "^4.0.0" + +"@lerna/npm-publish@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/npm-publish/download/@lerna/npm-publish-4.0.0.tgz#84eb62e876fe949ae1fd62c60804423dbc2c4472" + integrity sha1-hOti6Hb+lJrh/WLGCARCPbwsRHI= + dependencies: + "@lerna/otplease" "4.0.0" + "@lerna/run-lifecycle" "4.0.0" + fs-extra "^9.1.0" + libnpmpublish "^4.0.0" + npm-package-arg "^8.1.0" + npmlog "^4.1.2" + pify "^5.0.0" + read-package-json "^3.0.0" + +"@lerna/npm-run-script@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/npm-run-script/download/@lerna/npm-run-script-4.0.0.tgz#dfebf4f4601442e7c0b5214f9fb0d96c9350743b" + integrity sha1-3+v09GAUQufAtSFPn7DZbJNQdDs= + dependencies: + "@lerna/child-process" "4.0.0" + "@lerna/get-npm-exec-opts" "4.0.0" + npmlog "^4.1.2" + +"@lerna/otplease@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/otplease/download/@lerna/otplease-4.0.0.tgz#84972eb43448f8a1077435ba1c5e59233b725850" + integrity sha1-hJcutDRI+KEHdDW6HF5ZIztyWFA= + dependencies: + "@lerna/prompt" "4.0.0" + +"@lerna/output@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/output/download/@lerna/output-4.0.0.tgz#b1d72215c0e35483e4f3e9994debc82c621851f2" + integrity sha1-sdciFcDjVIPk8+mZTevILGIYUfI= + dependencies: + npmlog "^4.1.2" + +"@lerna/pack-directory@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/pack-directory/download/@lerna/pack-directory-4.0.0.tgz#8b617db95d20792f043aaaa13a9ccc0e04cb4c74" + integrity sha1-i2F9uV0geS8EOqqhOpzMDgTLTHQ= + dependencies: + "@lerna/get-packed" "4.0.0" + "@lerna/package" "4.0.0" + "@lerna/run-lifecycle" "4.0.0" + npm-packlist "^2.1.4" + npmlog "^4.1.2" + tar "^6.1.0" + temp-write "^4.0.0" + +"@lerna/package-graph@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/package-graph/download/@lerna/package-graph-4.0.0.tgz#16a00253a8ac810f72041481cb46bcee8d8123dd" + integrity sha1-FqACU6isgQ9yBBSBy0a87o2BI90= + dependencies: + "@lerna/prerelease-id-from-version" "4.0.0" + "@lerna/validation-error" "4.0.0" + npm-package-arg "^8.1.0" + npmlog "^4.1.2" + semver "^7.3.4" + +"@lerna/package@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/package/download/@lerna/package-4.0.0.tgz#1b4c259c4bcff45c876ee1d591a043aacbc0d6b7" + integrity sha1-G0wlnEvP9FyHbuHVkaBDqsvA1rc= + dependencies: + load-json-file "^6.2.0" + npm-package-arg "^8.1.0" + write-pkg "^4.0.0" + +"@lerna/prerelease-id-from-version@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/prerelease-id-from-version/download/@lerna/prerelease-id-from-version-4.0.0.tgz#c7e0676fcee1950d85630e108eddecdd5b48c916" + integrity sha1-x+Bnb87hlQ2FYw4Qjt3s3VtIyRY= + dependencies: + semver "^7.3.4" + +"@lerna/profiler@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/profiler/download/@lerna/profiler-4.0.0.tgz#8a53ab874522eae15d178402bff90a14071908e9" + integrity sha1-ilOrh0Ui6uFdF4QCv/kKFAcZCOk= + dependencies: + fs-extra "^9.1.0" + npmlog "^4.1.2" + upath "^2.0.1" + +"@lerna/project@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/project/download/@lerna/project-4.0.0.tgz#ff84893935833533a74deff30c0e64ddb7f0ba6b" + integrity sha1-/4SJOTWDNTOnTe/zDA5k3bfwums= + dependencies: + "@lerna/package" "4.0.0" + "@lerna/validation-error" "4.0.0" + cosmiconfig "^7.0.0" + dedent "^0.7.0" + dot-prop "^6.0.1" + glob-parent "^5.1.1" + globby "^11.0.2" + load-json-file "^6.2.0" + npmlog "^4.1.2" + p-map "^4.0.0" + resolve-from "^5.0.0" + write-json-file "^4.3.0" + +"@lerna/prompt@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/prompt/download/@lerna/prompt-4.0.0.tgz#5ec69a803f3f0db0ad9f221dad64664d3daca41b" + integrity sha1-XsaagD8/DbCtnyIdrWRmTT2spBs= + dependencies: + inquirer "^7.3.3" + npmlog "^4.1.2" + +"@lerna/publish@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/publish/download/@lerna/publish-4.0.0.tgz#f67011305adeba120066a3b6d984a5bb5fceef65" + integrity sha1-9nARMFreuhIAZqO22YSlu1/O72U= + dependencies: + "@lerna/check-working-tree" "4.0.0" + "@lerna/child-process" "4.0.0" + "@lerna/collect-updates" "4.0.0" + "@lerna/command" "4.0.0" + "@lerna/describe-ref" "4.0.0" + "@lerna/log-packed" "4.0.0" + "@lerna/npm-conf" "4.0.0" + "@lerna/npm-dist-tag" "4.0.0" + "@lerna/npm-publish" "4.0.0" + "@lerna/otplease" "4.0.0" + "@lerna/output" "4.0.0" + "@lerna/pack-directory" "4.0.0" + "@lerna/prerelease-id-from-version" "4.0.0" + "@lerna/prompt" "4.0.0" + "@lerna/pulse-till-done" "4.0.0" + "@lerna/run-lifecycle" "4.0.0" + "@lerna/run-topologically" "4.0.0" + "@lerna/validation-error" "4.0.0" + "@lerna/version" "4.0.0" + fs-extra "^9.1.0" + libnpmaccess "^4.0.1" + npm-package-arg "^8.1.0" + npm-registry-fetch "^9.0.0" + npmlog "^4.1.2" + p-map "^4.0.0" + p-pipe "^3.1.0" + pacote "^11.2.6" + semver "^7.3.4" + +"@lerna/pulse-till-done@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/pulse-till-done/download/@lerna/pulse-till-done-4.0.0.tgz#04bace7d483a8205c187b806bcd8be23d7bb80a3" + integrity sha1-BLrOfUg6ggXBh7gGvNi+I9e7gKM= + dependencies: + npmlog "^4.1.2" + +"@lerna/query-graph@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/query-graph/download/@lerna/query-graph-4.0.0.tgz#09dd1c819ac5ee3f38db23931143701f8a6eef63" + integrity sha1-Cd0cgZrF7j842yOTEUNwH4pu72M= + dependencies: + "@lerna/package-graph" "4.0.0" + +"@lerna/resolve-symlink@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/resolve-symlink/download/@lerna/resolve-symlink-4.0.0.tgz#6d006628a210c9b821964657a9e20a8c9a115e14" + integrity sha1-bQBmKKIQybghlkZXqeIKjJoRXhQ= + dependencies: + fs-extra "^9.1.0" + npmlog "^4.1.2" + read-cmd-shim "^2.0.0" + +"@lerna/rimraf-dir@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/rimraf-dir/download/@lerna/rimraf-dir-4.0.0.tgz#2edf3b62d4eb0ef4e44e430f5844667d551ec25a" + integrity sha1-Lt87YtTrDvTkTkMPWERmfVUewlo= + dependencies: + "@lerna/child-process" "4.0.0" + npmlog "^4.1.2" + path-exists "^4.0.0" + rimraf "^3.0.2" + +"@lerna/run-lifecycle@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/run-lifecycle/download/@lerna/run-lifecycle-4.0.0.tgz#e648a46f9210a9bcd7c391df6844498cb5079334" + integrity sha1-5kikb5IQqbzXw5HfaERJjLUHkzQ= + dependencies: + "@lerna/npm-conf" "4.0.0" + npm-lifecycle "^3.1.5" + npmlog "^4.1.2" + +"@lerna/run-topologically@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/run-topologically/download/@lerna/run-topologically-4.0.0.tgz#af846eeee1a09b0c2be0d1bfb5ef0f7b04bb1827" + integrity sha1-r4Ru7uGgmwwr4NG/te8PewS7GCc= + dependencies: + "@lerna/query-graph" "4.0.0" + p-queue "^6.6.2" + +"@lerna/run@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/run/download/@lerna/run-4.0.0.tgz#4bc7fda055a729487897c23579694f6183c91262" + integrity sha1-S8f9oFWnKUh4l8I1eWlPYYPJEmI= + dependencies: + "@lerna/command" "4.0.0" + "@lerna/filter-options" "4.0.0" + "@lerna/npm-run-script" "4.0.0" + "@lerna/output" "4.0.0" + "@lerna/profiler" "4.0.0" + "@lerna/run-topologically" "4.0.0" + "@lerna/timer" "4.0.0" + "@lerna/validation-error" "4.0.0" + p-map "^4.0.0" + +"@lerna/symlink-binary@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/symlink-binary/download/@lerna/symlink-binary-4.0.0.tgz#21009f62d53a425f136cb4c1a32c6b2a0cc02d47" + integrity sha1-IQCfYtU6Ql8TbLTBoyxrKgzALUc= + dependencies: + "@lerna/create-symlink" "4.0.0" + "@lerna/package" "4.0.0" + fs-extra "^9.1.0" + p-map "^4.0.0" + +"@lerna/symlink-dependencies@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/symlink-dependencies/download/@lerna/symlink-dependencies-4.0.0.tgz#8910eca084ae062642d0490d8972cf2d98e9ebbd" + integrity sha1-iRDsoISuBiZC0EkNiXLPLZjp670= + dependencies: + "@lerna/create-symlink" "4.0.0" + "@lerna/resolve-symlink" "4.0.0" + "@lerna/symlink-binary" "4.0.0" + fs-extra "^9.1.0" + p-map "^4.0.0" + p-map-series "^2.1.0" + +"@lerna/timer@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/timer/download/@lerna/timer-4.0.0.tgz#a52e51bfcd39bfd768988049ace7b15c1fd7a6da" + integrity sha1-pS5Rv805v9domIBJrOexXB/Xpto= + +"@lerna/validation-error@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/validation-error/download/@lerna/validation-error-4.0.0.tgz#af9d62fe8304eaa2eb9a6ba1394f9aa807026d35" + integrity sha1-r51i/oME6qLrmmuhOU+aqAcCbTU= + dependencies: + npmlog "^4.1.2" + +"@lerna/version@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/version/download/@lerna/version-4.0.0.tgz#532659ec6154d8a8789c5ab53878663e244e3228" + integrity sha1-UyZZ7GFU2Kh4nFq1OHhmPiROMig= + dependencies: + "@lerna/check-working-tree" "4.0.0" + "@lerna/child-process" "4.0.0" + "@lerna/collect-updates" "4.0.0" + "@lerna/command" "4.0.0" + "@lerna/conventional-commits" "4.0.0" + "@lerna/github-client" "4.0.0" + "@lerna/gitlab-client" "4.0.0" + "@lerna/output" "4.0.0" + "@lerna/prerelease-id-from-version" "4.0.0" + "@lerna/prompt" "4.0.0" + "@lerna/run-lifecycle" "4.0.0" + "@lerna/run-topologically" "4.0.0" + "@lerna/validation-error" "4.0.0" + chalk "^4.1.0" + dedent "^0.7.0" + load-json-file "^6.2.0" + minimatch "^3.0.4" + npmlog "^4.1.2" + p-map "^4.0.0" + p-pipe "^3.1.0" + p-reduce "^2.1.0" + p-waterfall "^2.1.1" + semver "^7.3.4" + slash "^3.0.0" + temp-write "^4.0.0" + write-json-file "^4.3.0" + +"@lerna/write-log-file@4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@lerna/write-log-file/download/@lerna/write-log-file-4.0.0.tgz#18221a38a6a307d6b0a5844dd592ad53fa27091e" + integrity sha1-GCIaOKajB9awpYRN1ZKtU/onCR4= + dependencies: + npmlog "^4.1.2" + write-file-atomic "^3.0.3" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.npmmirror.com/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U= + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos= + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.npmmirror.com/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmmirror.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz?cache=0&sync_timestamp=1632822730231&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40nodelib%2Ffs.walk%2Fdownload%2F%40nodelib%2Ffs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po= + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@npmcli/ci-detect@^1.0.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@npmcli/ci-detect/download/@npmcli/ci-detect-1.4.0.tgz#18478bbaa900c37bfbd8a2006a6262c62e8b0fe1" + integrity sha1-GEeLuqkAw3v72KIAamJixi6LD+E= + +"@npmcli/fs@^1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@npmcli/fs/download/@npmcli/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" + integrity sha1-WJYSz606bqD+r8uQHSnGP9UtsJ8= + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + +"@npmcli/git@^2.1.0": + version "2.1.0" + resolved "https://registry.npmmirror.com/@npmcli/git/download/@npmcli/git-2.1.0.tgz#2fbd77e147530247d37f325930d457b3ebe894f6" + integrity sha1-L7134UdTAkfTfzJZMNRXs+volPY= + dependencies: + "@npmcli/promise-spawn" "^1.3.2" + lru-cache "^6.0.0" + mkdirp "^1.0.4" + npm-pick-manifest "^6.1.1" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^2.0.2" + +"@npmcli/installed-package-contents@^1.0.6": + version "1.0.7" + resolved "https://registry.npmmirror.com/@npmcli/installed-package-contents/download/@npmcli/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" + integrity sha1-q3QIxhR5EblwqKviYc5RIjKj9Po= + dependencies: + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.npmmirror.com/@npmcli/move-file/download/@npmcli/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha1-GoLD43L3yuklPrZtclQ9a4aFxnQ= + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@npmcli/node-gyp@^1.0.2": + version "1.0.3" + resolved "https://registry.npmmirror.com/@npmcli/node-gyp/download/@npmcli/node-gyp-1.0.3.tgz#a912e637418ffc5f2db375e93b85837691a43a33" + integrity sha1-qRLmN0GP/F8ts3XpO4WDdpGkOjM= + +"@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2": + version "1.3.2" + resolved "https://registry.npmmirror.com/@npmcli/promise-spawn/download/@npmcli/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" + integrity sha1-QtTlao6SdPuhgNq8CupuOPKSdPU= + dependencies: + infer-owner "^1.0.4" + +"@npmcli/run-script@^1.8.2": + version "1.8.6" + resolved "https://registry.npmmirror.com/@npmcli/run-script/download/@npmcli/run-script-1.8.6.tgz#18314802a6660b0d4baa4c3afe7f1ad39d8c28b7" + integrity sha1-GDFIAqZmCw1Lqkw6/n8a052MKLc= + dependencies: + "@npmcli/node-gyp" "^1.0.2" + "@npmcli/promise-spawn" "^1.3.2" + node-gyp "^7.1.0" + read-package-json-fast "^2.0.1" + +"@octokit/auth-token@^2.4.4": + version "2.5.0" + resolved "https://registry.npmmirror.com/@octokit/auth-token/download/@octokit/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" + integrity sha1-J8N+omwgXyhENAJHf/0mExHyHjY= + dependencies: + "@octokit/types" "^6.0.3" + +"@octokit/core@^3.5.1": + version "3.5.1" + resolved "https://registry.npmmirror.com/@octokit/core/download/@octokit/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b" + integrity sha1-hgHO6x7A4bG4IXuWCkE+2OlHgJs= + dependencies: + "@octokit/auth-token" "^2.4.4" + "@octokit/graphql" "^4.5.8" + "@octokit/request" "^5.6.0" + "@octokit/request-error" "^2.0.5" + "@octokit/types" "^6.0.3" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^6.0.1": + version "6.0.12" + resolved "https://registry.npmmirror.com/@octokit/endpoint/download/@octokit/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" + integrity sha1-O01HpLDnmxAn+4111CIZKLLQVlg= + dependencies: + "@octokit/types" "^6.0.3" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^4.5.8": + version "4.8.0" + resolved "https://registry.npmmirror.com/@octokit/graphql/download/@octokit/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" + integrity sha1-Zk2bEcDhIRLL944Q9JoFlZqiLMM= + dependencies: + "@octokit/request" "^5.6.0" + "@octokit/types" "^6.0.3" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^11.2.0": + version "11.2.0" + resolved "https://registry.npmmirror.com/@octokit/openapi-types/download/@octokit/openapi-types-11.2.0.tgz#b38d7fc3736d52a1e96b230c1ccd4a58a2f400a6" + integrity sha1-s41/w3NtUqHpayMMHM1KWKL0AKY= + +"@octokit/plugin-enterprise-rest@^6.0.1": + version "6.0.1" + resolved "https://registry.npmmirror.com/@octokit/plugin-enterprise-rest/download/@octokit/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" + integrity sha1-4HiWc5YY2rjafUB3xlgAN3X5VDc= + +"@octokit/plugin-paginate-rest@^2.16.8": + version "2.17.0" + resolved "https://registry.npmmirror.com/@octokit/plugin-paginate-rest/download/@octokit/plugin-paginate-rest-2.17.0.tgz#32e9c7cab2a374421d3d0de239102287d791bce7" + integrity sha1-MunHyrKjdEIdPQ3iORAih9eRvOc= + dependencies: + "@octokit/types" "^6.34.0" + +"@octokit/plugin-request-log@^1.0.4": + version "1.0.4" + resolved "https://registry.npmmirror.com/@octokit/plugin-request-log/download/@octokit/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha1-XlDtcIOmE4FrHkooruxft/FGLoU= + +"@octokit/plugin-rest-endpoint-methods@^5.12.0": + version "5.13.0" + resolved "https://registry.npmmirror.com/@octokit/plugin-rest-endpoint-methods/download/@octokit/plugin-rest-endpoint-methods-5.13.0.tgz#8c46109021a3412233f6f50d28786f8e552427ba" + integrity sha1-jEYQkCGjQSIz9vUNKHhvjlUkJ7o= + dependencies: + "@octokit/types" "^6.34.0" + deprecation "^2.3.1" + +"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": + version "2.1.0" + resolved "https://registry.npmmirror.com/@octokit/request-error/download/@octokit/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" + integrity sha1-nhUDV4Mb/HiNE6T9SxkT1gx01nc= + dependencies: + "@octokit/types" "^6.0.3" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.6.0": + version "5.6.2" + resolved "https://registry.npmmirror.com/@octokit/request/download/@octokit/request-5.6.2.tgz#1aa74d5da7b9e04ac60ef232edd9a7438dcf32d8" + integrity sha1-GqdNXae54ErGDvIy7dmnQ43PMtg= + dependencies: + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.1.0" + "@octokit/types" "^6.16.1" + is-plain-object "^5.0.0" + node-fetch "^2.6.1" + universal-user-agent "^6.0.0" + +"@octokit/rest@^18.1.0": + version "18.12.0" + resolved "https://registry.npmmirror.com/@octokit/rest/download/@octokit/rest-18.12.0.tgz#f06bc4952fc87130308d810ca9d00e79f6988881" + integrity sha1-8GvElS/IcTAwjYEMqdAOefaYiIE= + dependencies: + "@octokit/core" "^3.5.1" + "@octokit/plugin-paginate-rest" "^2.16.8" + "@octokit/plugin-request-log" "^1.0.4" + "@octokit/plugin-rest-endpoint-methods" "^5.12.0" + +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.34.0": + version "6.34.0" + resolved "https://registry.npmmirror.com/@octokit/types/download/@octokit/types-6.34.0.tgz#c6021333334d1ecfb5d370a8798162ddf1ae8218" + integrity sha1-xgITMzNNHs+103CoeYFi3fGughg= + dependencies: + "@octokit/openapi-types" "^11.2.0" + +"@rollup/plugin-commonjs@^17.0.0": + version "17.1.0" + resolved "https://registry.npmmirror.com/@rollup/plugin-commonjs/download/@rollup/plugin-commonjs-17.1.0.tgz#757ec88737dffa8aa913eb392fade2e45aef2a2d" + integrity sha1-dX7Ihzff+oqpE+s5L63i5FrvKi0= + dependencies: + "@rollup/pluginutils" "^3.1.0" + commondir "^1.0.1" + estree-walker "^2.0.1" + glob "^7.1.6" + is-reference "^1.2.1" + magic-string "^0.25.7" + resolve "^1.17.0" + +"@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.npmmirror.com/@rollup/pluginutils/download/@rollup/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha1-cGtFJO5tyLEDs8mVUz5a1oDAK5s= + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@rollup/pluginutils@^4.0.0", "@rollup/pluginutils@^4.1.0": + version "4.1.1" + resolved "https://registry.npmmirror.com/@rollup/pluginutils/download/@rollup/pluginutils-4.1.1.tgz#1d4da86dd4eded15656a57d933fda2b9a08d47ec" + integrity sha1-HU2obdTt7RVlalfZM/2iuaCNR+w= + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + +"@samverschueren/stream-to-observable@^0.3.0": + version "0.3.1" + resolved "https://registry.npmmirror.com/@samverschueren/stream-to-observable/download/@samverschueren/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301" + integrity sha1-ohEXsZ7pvnDDeewYd1N+8uHGMwE= + dependencies: + any-observable "^0.3.0" + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.npmmirror.com/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o= + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.npmmirror.com/@szmarczak/http-timer/download/@szmarczak/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha1-sWZeLEYaLNkvTBu/UNVFTeDUtCE= + dependencies: + defer-to-connect "^1.0.1" + +"@testing-library/dom@^7.26.6": + version "7.31.2" + resolved "https://registry.npmmirror.com/@testing-library/dom/download/@testing-library/dom-7.31.2.tgz#df361db38f5212b88555068ab8119f5d841a8c4a" + integrity sha1-3zYds49SEriFVQaKuBGfXYQajEo= + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^4.2.0" + aria-query "^4.2.2" + chalk "^4.1.0" + dom-accessibility-api "^0.5.6" + lz-string "^1.4.4" + pretty-format "^26.6.2" + +"@testing-library/jest-dom@^5.0.0": + version "5.15.1" + resolved "https://registry.npmmirror.com/@testing-library/jest-dom/download/@testing-library/jest-dom-5.15.1.tgz#4c49ba4d244f235aec53f0a83498daeb4ee06c33" + integrity sha512-kmj8opVDRE1E4GXyLlESsQthCXK7An28dFWxhiMwD7ZUI7ZxA6sjdJRxLerD9Jd8cHX4BDc1jzXaaZKqzlUkvg== + dependencies: + "@babel/runtime" "^7.9.2" + "@types/testing-library__jest-dom" "^5.9.1" + aria-query "^4.2.2" + chalk "^3.0.0" + css "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.5.6" + lodash "^4.17.15" + redent "^3.0.0" + +"@testing-library/vue@^5.6.2": + version "5.8.2" + resolved "https://registry.npmmirror.com/@testing-library/vue/download/@testing-library/vue-5.8.2.tgz#976b2179dc28ceba8dd63b5437edc2749f860252" + integrity sha1-l2shedwozrqN1jtUN+3CdJ+GAlI= + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^7.26.6" + "@vue/test-utils" "^1.1.0" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.npmmirror.com/@tootallnate/once/download/@tootallnate/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha1-zLkURTYBeaBOf+av94wA/8Hur4I= + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.npmmirror.com/@trysound/sax/download/@trysound/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha1-zMqrdYr1Z2Hre/N69vA/Mm3XmK0= + +"@type-helper/vue2@npm:vue@2", vue@^2.6.0, vue@^2.6.10: + version "2.6.14" + resolved "https://registry.npmmirror.com/vue/download/vue-2.6.14.tgz#e51aa5250250d569a3fbad3a8a5a687d6036e235" + integrity sha1-5RqlJQJQ1Wmj+606ilpofWA24jU= + +"@type-helper/vue3@npm:vue@3": + version "3.2.23" + resolved "https://registry.npmmirror.com/vue/download/vue-3.2.23.tgz#fe17e4a98bee1afe2aed351a0a80e052728f9ce2" + integrity sha512-MGp9JZC37lzGhwSu6c1tQxrQbXbw7XKFqtYh7SFwNrNK899FPxGAHwSHMZijMChTSC3uZrD2BGO/3EHOgMJ0cw== + dependencies: + "@vue/compiler-dom" "3.2.23" + "@vue/compiler-sfc" "3.2.23" + "@vue/runtime-dom" "3.2.23" + "@vue/server-renderer" "3.2.23" + "@vue/shared" "3.2.23" + +"@types/aria-query@^4.2.0": + version "4.2.2" + resolved "https://registry.npmmirror.com/@types/aria-query/download/@types/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" + integrity sha1-7U4K2SMGpwT5+xMqDPz3dIbb4rw= + +"@types/estree@*": + version "0.0.50" + resolved "https://registry.npmmirror.com/@types/estree/download/@types/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha1-Hgyqk2TT/M0pMcPtlv2+ql1MyoM= + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.npmmirror.com/@types/estree/download/@types/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha1-4Xfmme4bjCLSMXTKqnQiZEOJUJ8= + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.npmmirror.com/@types/glob/download/@types/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha1-vBtb86qS8lvV3TnzXFc2G9zlsus= + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.3" + resolved "https://registry.npmmirror.com/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha1-S6jdtyAiH0MuRDvV+RF/0iz9R2I= + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.npmmirror.com/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY= + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://registry.npmmirror.com/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI= + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.npmmirror.com/@types/istanbul-reports/download/@types/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha1-kVP+mLuivVZaY63ZQ21vDX+EaP8= + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@*": + version "27.0.3" + resolved "https://registry.npmmirror.com/@types/jest/download/@types/jest-27.0.3.tgz#0cf9dfe9009e467f70a342f0f94ead19842a783a" + integrity sha512-cmmwv9t7gBYt7hNKH5Spu7Kuu/DotGa+Ff+JGRKZ4db5eh8PnKS4LuebJ3YLUoyOyIHraTGyULn23YtEAm0VSg== + dependencies: + jest-diff "^27.0.0" + pretty-format "^27.0.0" + +"@types/jest@^24.0.18": + version "24.9.1" + resolved "https://registry.npmmirror.com/@types/jest/download/@types/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" + integrity sha1-Arr5Vzx48bmXSl82d4s2aqd71TQ= + dependencies: + jest-diff "^24.3.0" + +"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": + version "7.0.9" + resolved "https://registry.npmmirror.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha1-l+3JA36gw4WFMgsolk3eOznkZg0= + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.npmmirror.com/@types/json5/download/@types/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/mdast@^3.0.0": + version "3.0.10" + resolved "https://registry.npmmirror.com/@types/mdast/download/@types/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" + integrity sha1-RyQkSoKkWYiEy76bz9c9/5J+6K8= + dependencies: + "@types/unist" "*" + +"@types/minimatch@*", "@types/minimatch@^3.0.3": + version "3.0.5" + resolved "https://registry.npmmirror.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha1-EAHMXmo3BLg8I2An538vWOoBD0A= + +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.npmmirror.com/@types/minimist/download/@types/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha1-7nceK6Sz3Fs3KTXVSf2WF780W4w= + +"@types/node@*": + version "16.11.11" + resolved "https://registry.npmmirror.com/@types/node/download/@types/node-16.11.11.tgz#6ea7342dfb379ea1210835bada87b3c512120234" + integrity sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.npmmirror.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha1-0zV0eaD9/dWQf+Z+F+CoXJBuEwE= + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA= + +"@types/q@^1.5.1": + version "1.5.5" + resolved "https://registry.npmmirror.com/@types/q/download/@types/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" + integrity sha1-daKo59irSyMEFFBdkjNdHctTpt8= + +"@types/resolve@0.0.8": + version "0.0.8" + resolved "https://registry.npmmirror.com/@types/resolve/download/@types/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" + integrity sha1-8mB00jjgJlnjI84aE9BB7uKA4ZQ= + dependencies: + "@types/node" "*" + +"@types/testing-library__jest-dom@^5.9.1": + version "5.14.2" + resolved "https://registry.npmmirror.com/@types/testing-library__jest-dom/download/@types/testing-library__jest-dom-5.14.2.tgz#564fb2b2dc827147e937a75b639a05d17ce18b44" + integrity sha512-vehbtyHUShPxIa9SioxDwCvgxukDMH//icJG90sXQBUm5lJOHLT5kNeU9tnivhnA/TkOFMzGIXN2cTc4hY8/kg== + dependencies: + "@types/jest" "*" + +"@types/unist@*", "@types/unist@^2.0.2": + version "2.0.6" + resolved "https://registry.npmmirror.com/@types/unist/download/@types/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" + integrity sha1-JQp7FsO5H2cqJFUuxkZ47rHToI0= + +"@types/yargs-parser@*": + version "20.2.1" + resolved "https://registry.npmmirror.com/@types/yargs-parser/download/@types/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha1-O5ziSJkZ2eT+pDm3aRarw0st8Sk= + +"@types/yargs@^13.0.0": + version "13.0.12" + resolved "https://registry.npmmirror.com/@types/yargs/download/@types/yargs-13.0.12.tgz#d895a88c703b78af0465a9de88aa92c61430b092" + integrity sha1-2JWojHA7eK8EZaneiKqSxhQwsJI= + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^15.0.0": + version "15.0.14" + resolved "https://registry.npmmirror.com/@types/yargs/download/@types/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha1-Jtgh3biecEkhYLZtEKDrbfj2+wY= + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^16.0.0": + version "16.0.4" + resolved "https://registry.npmmirror.com/@types/yargs/download/@types/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" + integrity sha1-JqrZjdLCo45CEIbqmtQrnlFkKXc= + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^4.9.1": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha1-wk3HyAacdwa8QNmfb6h+3LIAUnY= + dependencies: + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha1-byp4akIJ+iIimJ6TgLUzGygQ9/0= + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@^4.8.2": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha1-3+eXVw2WlOVgUo0Y7srYbIx0SJk= + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha1-045JKA2YPody4pEhz4xukiHygKM= + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha1-oeWQNqO1OuhDDO6/KpGdx/mvbXI= + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha1-DftRwpCPaMXAjYKu/q8WahfCRgk= + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha1-KiL3ekFgQom3oYZYbp7EjKku8d0= + dependencies: + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" + +"@vue/babel-helper-vue-jsx-merge-props@^1.2.1": + version "1.2.1" + resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" + integrity sha1-MWJKelBfsU2h1YAjclpMXycOaoE= + +"@vue/babel-helper-vue-transform-on@^1.0.2": + version "1.0.2" + resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/download/@vue/babel-helper-vue-transform-on-1.0.2.tgz#9b9c691cd06fc855221a2475c3cc831d774bc7dc" + integrity sha1-m5xpHNBvyFUiGiR1w8yDHXdLx9w= + +"@vue/babel-plugin-jsx@^1.0.3": + version "1.1.1" + resolved "https://registry.npmmirror.com/@vue/babel-plugin-jsx/download/@vue/babel-plugin-jsx-1.1.1.tgz#0c5bac27880d23f89894cd036a37b55ef61ddfc1" + integrity sha1-DFusJ4gNI/iYlM0Daje1XvYd38E= + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + "@vue/babel-helper-vue-transform-on" "^1.0.2" + camelcase "^6.0.0" + html-tags "^3.1.0" + svg-tags "^1.0.0" + +"@vue/babel-plugin-transform-vue-jsx@^1.2.1": + version "1.2.1" + resolved "https://registry.npmmirror.com/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.2.1.tgz#646046c652c2f0242727f34519d917b064041ed7" + integrity sha1-ZGBGxlLC8CQnJ/NFGdkXsGQEHtc= + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + html-tags "^2.0.0" + lodash.kebabcase "^4.1.1" + svg-tags "^1.0.0" + +"@vue/babel-preset-app@^4.1.2": + version "4.5.15" + resolved "https://registry.npmmirror.com/@vue/babel-preset-app/download/@vue/babel-preset-app-4.5.15.tgz?cache=0&sync_timestamp=1637121336774&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fbabel-preset-app%2Fdownload%2F%40vue%2Fbabel-preset-app-4.5.15.tgz#f6bc08f8f674e98a260004234cde18b966d72eb0" + integrity sha1-9rwI+PZ06YomAAQjTN4YuWbXLrA= + dependencies: + "@babel/core" "^7.11.0" + "@babel/helper-compilation-targets" "^7.9.6" + "@babel/helper-module-imports" "^7.8.3" + "@babel/plugin-proposal-class-properties" "^7.8.3" + "@babel/plugin-proposal-decorators" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.11.0" + "@babel/preset-env" "^7.11.0" + "@babel/runtime" "^7.11.0" + "@vue/babel-plugin-jsx" "^1.0.3" + "@vue/babel-preset-jsx" "^1.2.4" + babel-plugin-dynamic-import-node "^2.3.3" + core-js "^3.6.5" + core-js-compat "^3.6.5" + semver "^6.1.0" + +"@vue/babel-preset-jsx@^1.2.4": + version "1.2.4" + resolved "https://registry.npmmirror.com/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.2.4.tgz#92fea79db6f13b01e80d3a0099e2924bdcbe4e87" + integrity sha1-kv6nnbbxOwHoDToAmeKSS9y+Toc= + dependencies: + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" + "@vue/babel-sugar-composition-api-render-instance" "^1.2.4" + "@vue/babel-sugar-functional-vue" "^1.2.2" + "@vue/babel-sugar-inject-h" "^1.2.2" + "@vue/babel-sugar-v-model" "^1.2.3" + "@vue/babel-sugar-v-on" "^1.2.3" + +"@vue/babel-sugar-composition-api-inject-h@^1.2.1": + version "1.2.1" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-inject-h/download/@vue/babel-sugar-composition-api-inject-h-1.2.1.tgz#05d6e0c432710e37582b2be9a6049b689b6f03eb" + integrity sha1-BdbgxDJxDjdYKyvppgSbaJtvA+s= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-composition-api-render-instance@^1.2.4": + version "1.2.4" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.2.4.tgz#e4cbc6997c344fac271785ad7a29325c51d68d19" + integrity sha1-5MvGmXw0T6wnF4WteikyXFHWjRk= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-functional-vue@^1.2.2": + version "1.2.2" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.2.2.tgz#267a9ac8d787c96edbf03ce3f392c49da9bd2658" + integrity sha1-JnqayNeHyW7b8Dzj85LEnam9Jlg= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-inject-h@^1.2.2": + version "1.2.2" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.2.2.tgz#d738d3c893367ec8491dcbb669b000919293e3aa" + integrity sha1-1zjTyJM2fshJHcu2abAAkZKT46o= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-v-model@^1.2.3": + version "1.2.3" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.2.3.tgz#fa1f29ba51ebf0aa1a6c35fa66d539bc459a18f2" + integrity sha1-+h8pulHr8KoabDX6ZtU5vEWaGPI= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + camelcase "^5.0.0" + html-tags "^2.0.0" + svg-tags "^1.0.0" + +"@vue/babel-sugar-v-on@^1.2.3": + version "1.2.3" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.2.3.tgz#342367178586a69f392f04bfba32021d02913ada" + integrity sha1-NCNnF4WGpp85LwS/ujICHQKROto= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + camelcase "^5.0.0" + +"@vue/compiler-core@3.2.23": + version "3.2.23" + resolved "https://registry.npmmirror.com/@vue/compiler-core/download/@vue/compiler-core-3.2.23.tgz#ef1769fbf313306b47c858735a9300aa2a20f104" + integrity sha512-4ZhiI/orx+7EJ1B+0zjgvXMV2uRN+XBfG06UN2sJfND9rH5gtEQT3QmO4erum1o6Irl7y754W8/KSaDJh4EUQg== + dependencies: + "@babel/parser" "^7.15.0" + "@vue/shared" "3.2.23" + estree-walker "^2.0.2" + source-map "^0.6.1" + +"@vue/compiler-dom@3.2.23": + version "3.2.23" + resolved "https://registry.npmmirror.com/@vue/compiler-dom/download/@vue/compiler-dom-3.2.23.tgz#1dc5ba6c61f4d9e5e22442bfbf1ca306bb698507" + integrity sha512-X2Nw8QFc5lgoK3kio5ktM95nqmLUH+q+N/PbV4kCHzF1avqv/EGLnAhaaF0Iu4bewNvHJAAhhwPZFeoV/22nbw== + dependencies: + "@vue/compiler-core" "3.2.23" + "@vue/shared" "3.2.23" + +"@vue/compiler-sfc@3.2.23": + version "3.2.23" + resolved "https://registry.npmmirror.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.2.23.tgz#35ef678240b29da5144bc3c6447fa51a07d78875" + integrity sha512-Aw+pb50Q5zTjyvWod8mNKmYZDRGHJBptmNNWE+84ZxrzEztPgMz8cNYIzWGbwcFVkmJlhvioAMvKnB+LM/sjSA== + dependencies: + "@babel/parser" "^7.15.0" + "@vue/compiler-core" "3.2.23" + "@vue/compiler-dom" "3.2.23" + "@vue/compiler-ssr" "3.2.23" + "@vue/ref-transform" "3.2.23" + "@vue/shared" "3.2.23" + estree-walker "^2.0.2" + magic-string "^0.25.7" + postcss "^8.1.10" + source-map "^0.6.1" + +"@vue/compiler-ssr@3.2.23": + version "3.2.23" + resolved "https://registry.npmmirror.com/@vue/compiler-ssr/download/@vue/compiler-ssr-3.2.23.tgz#cd9c6541c388553f6448244a9f2a76dfdba027ba" + integrity sha512-Bqzn4jFyXPK1Ehqiq7e/czS8n62gtYF1Zfeu0DrR5uv+SBllh7LIvZjZU6+c8qbocAd3/T3I3gn2cZGmnDb6zg== + dependencies: + "@vue/compiler-dom" "3.2.23" + "@vue/shared" "3.2.23" + +"@vue/component-compiler-utils@^3.1.0": + version "3.3.0" + resolved "https://registry.npmmirror.com/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.3.0.tgz?cache=0&sync_timestamp=1635248515051&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fcomponent-compiler-utils%2Fdownload%2F%40vue%2Fcomponent-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9" + integrity sha1-+fX7U0ZLDDeyyNLz+/5E32D2Hck= + dependencies: + consolidate "^0.15.1" + hash-sum "^1.0.2" + lru-cache "^4.1.2" + merge-source-map "^1.1.0" + postcss "^7.0.36" + postcss-selector-parser "^6.0.2" + source-map "~0.6.1" + vue-template-es2015-compiler "^1.9.0" + optionalDependencies: + prettier "^1.18.2 || ^2.0.0" + +"@vue/composition-api@^1.4.0": + version "1.4.1" + resolved "https://registry.npmmirror.com/@vue/composition-api/download/@vue/composition-api-1.4.1.tgz#2b4a6bfabc5e8277c4b890e0c9ca55d1252ca5b8" + integrity sha512-ZTat9ru/rwecveRnFzlO2mduOBpGfnBdXn+WtBcFLV9UsL/D+6nX47RWuLiVdNxNDX0qphGZRC+JDjwt+YTnRA== + dependencies: + tslib "^2.3.1" + +"@vue/reactivity@3.2.23": + version "3.2.23" + resolved "https://registry.npmmirror.com/@vue/reactivity/download/@vue/reactivity-3.2.23.tgz#d2f10749d554f7e94d8d52f36e7e6a0b021a2418" + integrity sha512-8RGVr/5Kpgb/EkCjgHXqttgA5IMc6n0lIXFY4TVbMkzdXrvaIhzBd7Te44oIDsTSYVKZLpfHd6/wEnuDqE8vFw== + dependencies: + "@vue/shared" "3.2.23" + +"@vue/ref-transform@3.2.23": + version "3.2.23" + resolved "https://registry.npmmirror.com/@vue/ref-transform/download/@vue/ref-transform-3.2.23.tgz#5c8b0c0638db27094ddd689020c60cf1aa33d873" + integrity sha512-gW0GD2PSAs/th7mC7tPB/UwpIQxclbApVtsDtscDmOJXb2+cdu60ny+SuHNgfrlUT/JqWKQHq7jFKO4woxLNaA== + dependencies: + "@babel/parser" "^7.15.0" + "@vue/compiler-core" "3.2.23" + "@vue/shared" "3.2.23" + estree-walker "^2.0.2" + magic-string "^0.25.7" + +"@vue/runtime-core@3.2.23": + version "3.2.23" + resolved "https://registry.npmmirror.com/@vue/runtime-core/download/@vue/runtime-core-3.2.23.tgz#f620ce0142e87cbc99c50ac285e644ed9b57986f" + integrity sha512-wSI5lmY2kCGLf89iiygqxVh6/5bsawz78Me9n1x4U2bHnN0yf3PWyuhN0WgIE8VfEaF7e75E333uboNEIFjgkg== + dependencies: + "@vue/reactivity" "3.2.23" + "@vue/shared" "3.2.23" + +"@vue/runtime-dom@3.2.23": + version "3.2.23" + resolved "https://registry.npmmirror.com/@vue/runtime-dom/download/@vue/runtime-dom-3.2.23.tgz#e6a3362a8a03f034ef6ff9b8281b166f0f314bfc" + integrity sha512-z6lp0888NkLmxD9j2sGoll8Kb7J743s8s6w7GbiyUc4WZwm0KJ35B4qTFDMoIU0G7CatS6Z+yRTpPHc6srtByg== + dependencies: + "@vue/runtime-core" "3.2.23" + "@vue/shared" "3.2.23" + csstype "^2.6.8" + +"@vue/server-renderer@3.2.23": + version "3.2.23" + resolved "https://registry.npmmirror.com/@vue/server-renderer/download/@vue/server-renderer-3.2.23.tgz#c7e22c02d8a518bd2499565b7c7c88b1842edd44" + integrity sha512-mgQ2VAE5WjeZELJKNbwE69uiBNpN+3LyL0ZDki1bJWVwHD2fhPfx7pwyYuiucE81xz2LxVsyGxhKKUL997g8vw== + dependencies: + "@vue/compiler-ssr" "3.2.23" + "@vue/shared" "3.2.23" + +"@vue/shared@3.2.23": + version "3.2.23" + resolved "https://registry.npmmirror.com/@vue/shared/download/@vue/shared-3.2.23.tgz#e885a2ba099d40b69d5461157f3ade31e46a09a9" + integrity sha512-U+/Jefa0QfXUF2qVy9Dqlrb6HKJSr9/wJcM66wXmWcTOoqg7hOWzF4qruDle51pyF4x3wMn6TSH54UdjKjCKMA== + +"@vue/test-utils@1.0.0-beta.22": + version "1.0.0-beta.22" + resolved "https://registry.npmmirror.com/@vue/test-utils/download/@vue/test-utils-1.0.0-beta.22.tgz#f630d556ead51c6ebc0584f7c15835f4508dc83f" + integrity sha1-9jDVVurVHG68BYT3wVg19FCNyD8= + dependencies: + lodash "^4.17.4" + +"@vue/test-utils@^1.1.0": + version "1.3.0" + resolved "https://registry.npmmirror.com/@vue/test-utils/download/@vue/test-utils-1.3.0.tgz#d563decdcd9c68a7bca151d4179a2bfd6d5c3e15" + integrity sha512-Xk2Xiyj2k5dFb8eYUKkcN9PzqZSppTlx7LaQWBbdA8tqh3jHr/KHX2/YLhNFc/xwDrgeLybqd+4ZCPJSGPIqeA== + dependencies: + dom-event-types "^1.0.0" + lodash "^4.17.15" + pretty "^2.0.0" + +"@vuepress-dumi/vuepress-plugin-dumi-previewer@0.3.3": + version "0.3.3" + resolved "https://registry.npmmirror.com/@vuepress-dumi/vuepress-plugin-dumi-previewer/download/@vuepress-dumi/vuepress-plugin-dumi-previewer-0.3.3.tgz#251c5ab94302a40406e621ed3908eae7d010a3e4" + integrity sha1-JRxauUMCpAQG5iHtOQjq59AQo+Q= + dependencies: + "@vuepress/markdown" "^1.8.0" + copy-to-clipboard "^3.3.1" + markdown-it-container "^3.0.0" + +"@vuepress-dumi/vuepress-plugin-dumi-previewer@latest": + version "0.3.11" + resolved "https://registry.npmmirror.com/@vuepress-dumi/vuepress-plugin-dumi-previewer/download/@vuepress-dumi/vuepress-plugin-dumi-previewer-0.3.11.tgz#0a1b17a2fd7401d43a8a5b83b5c6f7938e8115c3" + integrity sha1-ChsXov10AdQ6iluDtcb3k46BFcM= + dependencies: + "@babel/standalone" "^7.14.0" + "@vuepress/markdown" "^1.8.0" + babel-helper-vue-jsx-merge-props "^2.0.3" + babel-plugin-syntax-jsx "^6.18.0" + babel-plugin-transform-vue-jsx "^3.7.0" + copy-to-clipboard "^3.3.1" + markdown-it-container "^3.0.0" + vue-template-compiler "^2.6.12" + +"@vuepress-dumi/vuepress-theme-dumi@0.3.3": + version "0.3.3" + resolved "https://registry.npmmirror.com/@vuepress-dumi/vuepress-theme-dumi/download/@vuepress-dumi/vuepress-theme-dumi-0.3.3.tgz#79568eef733a4c1015d4c1d08d9e147d8275bfbd" + integrity sha1-eVaO73M6TBAV1MHQjZ4UfYJ1v70= + dependencies: + "@vuepress-dumi/vuepress-plugin-dumi-previewer" latest + +"@vuepress/core@1.8.2": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/core/download/@vuepress/core-1.8.2.tgz#4f5bafc894691bfea4146294a582a129483daf2a" + integrity sha1-T1uvyJRpG/6kFGKUpYKhKUg9ryo= + dependencies: + "@babel/core" "^7.8.4" + "@vue/babel-preset-app" "^4.1.2" + "@vuepress/markdown" "1.8.2" + "@vuepress/markdown-loader" "1.8.2" + "@vuepress/plugin-last-updated" "1.8.2" + "@vuepress/plugin-register-components" "1.8.2" + "@vuepress/shared-utils" "1.8.2" + autoprefixer "^9.5.1" + babel-loader "^8.0.4" + cache-loader "^3.0.0" + chokidar "^2.0.3" + connect-history-api-fallback "^1.5.0" + copy-webpack-plugin "^5.0.2" + core-js "^3.6.4" + cross-spawn "^6.0.5" + css-loader "^2.1.1" + file-loader "^3.0.1" + js-yaml "^3.13.1" + lru-cache "^5.1.1" + mini-css-extract-plugin "0.6.0" + optimize-css-assets-webpack-plugin "^5.0.1" + portfinder "^1.0.13" + postcss-loader "^3.0.0" + postcss-safe-parser "^4.0.1" + toml "^3.0.0" + url-loader "^1.0.1" + vue "^2.6.10" + vue-loader "^15.7.1" + vue-router "^3.4.5" + vue-server-renderer "^2.6.10" + vue-template-compiler "^2.6.10" + vuepress-html-webpack-plugin "^3.2.0" + vuepress-plugin-container "^2.0.2" + webpack "^4.8.1" + webpack-chain "^6.0.0" + webpack-dev-server "^3.5.1" + webpack-merge "^4.1.2" + webpackbar "3.2.0" + +"@vuepress/markdown-loader@1.8.2": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/markdown-loader/download/@vuepress/markdown-loader-1.8.2.tgz#b2a58291a967f2bbe0af6e58f9542f5911879233" + integrity sha1-sqWCkaln8rvgr25Y+VQvWRGHkjM= + dependencies: + "@vuepress/markdown" "1.8.2" + loader-utils "^1.1.0" + lru-cache "^5.1.1" + +"@vuepress/markdown@1.8.2", "@vuepress/markdown@^1.8.0": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/markdown/download/@vuepress/markdown-1.8.2.tgz#50ea5a1962591a436b26d1aa2b111df37eb9ea8a" + integrity sha1-UOpaGWJZGkNrJtGqKxEd83656oo= + dependencies: + "@vuepress/shared-utils" "1.8.2" + markdown-it "^8.4.1" + markdown-it-anchor "^5.0.2" + markdown-it-chain "^1.3.0" + markdown-it-emoji "^1.4.0" + markdown-it-table-of-contents "^0.4.0" + prismjs "^1.13.0" + +"@vuepress/plugin-active-header-links@1.8.2": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/plugin-active-header-links/download/@vuepress/plugin-active-header-links-1.8.2.tgz#0cb9b29c826dd97d35357a9b09c962ef782cb793" + integrity sha1-DLmynIJt2X01NXqbCcli73gst5M= + dependencies: + lodash.debounce "^4.0.8" + +"@vuepress/plugin-back-to-top@^1.8.2": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/plugin-back-to-top/download/@vuepress/plugin-back-to-top-1.8.2.tgz#e9794409d1d589e4952b0700291270d2696e6d01" + integrity sha1-6XlECdHVieSVKwcAKRJw0mlubQE= + dependencies: + lodash.debounce "^4.0.8" + +"@vuepress/plugin-last-updated@1.8.2": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/plugin-last-updated/download/@vuepress/plugin-last-updated-1.8.2.tgz#7ce689f8d5050cf0213949bc2e5aa879c09ff4b1" + integrity sha1-fOaJ+NUFDPAhOUm8LlqoecCf9LE= + dependencies: + cross-spawn "^6.0.5" + +"@vuepress/plugin-medium-zoom@^1.8.2": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/plugin-medium-zoom/download/@vuepress/plugin-medium-zoom-1.8.2.tgz#0243dd27edf0c710f9a41a234d253d76ab51e625" + integrity sha1-AkPdJ+3wxxD5pBojTSU9dqtR5iU= + dependencies: + medium-zoom "^1.0.4" + +"@vuepress/plugin-nprogress@1.8.2": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/plugin-nprogress/download/@vuepress/plugin-nprogress-1.8.2.tgz#dc6c082925420c8c59ecb7fc2d4a9401f6d4664a" + integrity sha1-3GwIKSVCDIxZ7Lf8LUqUAfbUZko= + dependencies: + nprogress "^0.2.0" + +"@vuepress/plugin-register-components@1.8.2": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/plugin-register-components/download/@vuepress/plugin-register-components-1.8.2.tgz#2fb45a68b0a1efb8822670d95c3b231a2d0eb74d" + integrity sha1-L7RaaLCh77iCJnDZXDsjGi0Ot00= + dependencies: + "@vuepress/shared-utils" "1.8.2" + +"@vuepress/plugin-search@1.8.2": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/plugin-search/download/@vuepress/plugin-search-1.8.2.tgz#74b92f663acf6b4560e15dc0442a84c4e874e206" + integrity sha1-dLkvZjrPa0Vg4V3ARCqExOh04gY= + +"@vuepress/shared-utils@1.8.2", "@vuepress/shared-utils@^1.2.0": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/shared-utils/download/@vuepress/shared-utils-1.8.2.tgz#5ec1601f2196aca34ad82eed7c9be2d7948f705b" + integrity sha1-XsFgHyGWrKNK2C7tfJvi15SPcFs= + dependencies: + chalk "^2.3.2" + escape-html "^1.0.3" + fs-extra "^7.0.1" + globby "^9.2.0" + gray-matter "^4.0.1" + hash-sum "^1.0.2" + semver "^6.0.0" + toml "^3.0.0" + upath "^1.1.0" + +"@vuepress/theme-default@1.8.2": + version "1.8.2" + resolved "https://registry.npmmirror.com/@vuepress/theme-default/download/@vuepress/theme-default-1.8.2.tgz#7f474036c752c1f9801b83f68f5c70c092b182b4" + integrity sha1-f0dANsdSwfmAG4P2j1xwwJKxgrQ= + dependencies: + "@vuepress/plugin-active-header-links" "1.8.2" + "@vuepress/plugin-nprogress" "1.8.2" + "@vuepress/plugin-search" "1.8.2" + docsearch.js "^2.5.2" + lodash "^4.17.15" + stylus "^0.54.8" + stylus-loader "^3.0.2" + vuepress-plugin-container "^2.0.2" + vuepress-plugin-smooth-scroll "^0.0.3" + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ= + dependencies: + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + +"@webassemblyjs/floating-point-hex-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q= + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI= + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA= + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc= + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg= + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc= + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A= + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ= + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU= + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha1-BNM7Y2945qaBMifoJAL3Y3tiKas= + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha1-P+bXnT8PkiGDqoYALELdJWz+6c8= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/helper-wasm-section" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-opt" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha1-IhEYHlsxMmRDzIES658LkChyGmE= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + +"@webassemblyjs/wasm-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wast-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-code-frame" "1.9.0" + "@webassemblyjs/helper-fsm" "1.9.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.9.0": + version "1.9.0" + resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha1-STXVTIX+9jewDOn1I3dFHQDUeJk= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmmirror.com/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmmirror.com/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= + +JSONStream@^1.0.4: + version "1.3.5" + resolved "https://registry.npmmirror.com/JSONStream/download/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha1-MgjB8I06TZkmGrZPkjArwV4RHKA= + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abbrev@1: + version "1.1.1" + resolved "https://registry.npmmirror.com/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.npmmirror.com/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80= + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.npmmirror.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha1-ftW7VZCLOy8bxVxq8WU7rafweTc= + +acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.npmmirror.com/acorn/download/acorn-6.4.2.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha1-NYZv1xBSjpLeEM8GAWSY5H454eY= + +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.npmmirror.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo= + +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/add-stream/download/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= + +agent-base@4, agent-base@^4.1.0, agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/agent-base/download/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4= + dependencies: + es6-promisify "^5.0.0" + +agent-base@6, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.npmmirror.com/agent-base/download/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c= + dependencies: + debug "4" + +agentkeepalive@^2.2.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/agentkeepalive/download/agentkeepalive-2.2.0.tgz#c5d1bd4b129008f1163f236f86e5faea2026e2ef" + integrity sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8= + +agentkeepalive@^3.3.0: + version "3.5.2" + resolved "https://registry.npmmirror.com/agentkeepalive/download/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" + integrity sha1-oROSTdP6JKC8O3gQjEUMKr7gD2c= + dependencies: + humanize-ms "^1.2.1" + +agentkeepalive@^4.1.3: + version "4.1.4" + resolved "https://registry.npmmirror.com/agentkeepalive/download/agentkeepalive-4.1.4.tgz#d928028a4862cb11718e55227872e842a44c945b" + integrity sha1-2SgCikhiyxFxjlUieHLoQqRMlFs= + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/aggregate-error/download/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo= + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/ajv-errors/download/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmmirror.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz?cache=0&sync_timestamp=1637524917167&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv-keywords%2Fdownload%2Fajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ= + dependencies: + 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@^8.0.1: + version "8.8.2" + resolved "https://registry.npmmirror.com/ajv/download/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb" + integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +algoliasearch@^3.24.5: + version "3.35.1" + resolved "https://registry.npmmirror.com/algoliasearch/download/algoliasearch-3.35.1.tgz#297d15f534a3507cab2f5dfb996019cac7568f0c" + integrity sha1-KX0V9TSjUHyrL137mWAZysdWjww= + dependencies: + agentkeepalive "^2.2.0" + debug "^2.6.9" + envify "^4.0.0" + es6-promise "^4.1.0" + events "^1.1.0" + foreach "^2.0.5" + global "^4.3.2" + inherits "^2.0.1" + isarray "^2.0.1" + load-script "^1.0.0" + object-keys "^1.0.11" + querystring-es3 "^0.2.1" + reduce "^1.0.1" + semver "^5.1.0" + tunnel-agent "^0.6.0" + +alphanum-sort@^1.0.0, alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-align@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/ansi-align/download/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= + dependencies: + string-width "^2.0.0" + +ansi-align@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/ansi-align/download/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha1-DN8S4RGs53OobpofrRIlxDyxmlk= + dependencies: + string-width "^4.1.0" + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.npmmirror.com/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha1-46PaS/uubIapwoViXeEkojQCb78= + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/ansi-colors/download/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha1-y7muJWv3UK8eqzRPIpqif+lLo0g= + +ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/ansi-escapes/download/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= + +ansi-escapes@^4.1.0, ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.npmmirror.com/ansi-escapes/download/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4= + dependencies: + type-fest "^0.21.3" + +ansi-html-community@0.0.8: + version "0.0.8" + resolved "https://registry.npmmirror.com/ansi-html-community/download/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha1-afvE1sy+OD+XNpNK40w/gpDxv0E= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.0.0, ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ= + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1632467368382&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1632467368382&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1632467368382&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha1-7dgDYornHATIWuegkG7a00tkiTc= + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-5.2.0.tgz?cache=0&sync_timestamp=1632467368382&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fansi-styles%2Fdownload%2Fansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha1-B0SWkK1Fd30ZJKwquy/IiV26g2s= + +any-observable@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/any-observable/download/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" + integrity sha1-r5M0deWAamfQ198JDdXovvZdEZs= + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/anymatch/download/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha1-wFV8CWrzLxBhmPT04qODU343hxY= + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.npmmirror.com/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= + +aproba@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/aproba/download/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha1-UlILiuW1aSFbNU78DKo/4eRaitw= + +are-we-there-yet@~1.1.2: + version "1.1.7" + resolved "https://registry.npmmirror.com/are-we-there-yet/download/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" + integrity sha1-sVR0qTKtq0/4pQ2a36fk6SbyEUY= + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmmirror.com/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1632763655875&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Farg%2Fdownload%2Farg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk= + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmmirror.com/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= + dependencies: + sprintf-js "~1.0.2" + +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.npmmirror.com/aria-query/download/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha1-DSymyazrVriXfp/tau1+FbvS+Ds= + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/array-differ/download/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha1-PLs9DzFoEOr8xHYkc0I31q7krms= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/array-flatten/download/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.npmmirror.com/array-flatten/download/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/array-ify/download/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= + +array-includes@^3.1.4: + version "3.1.4" + resolved "https://registry.npmmirror.com/array-includes/download/array-includes-3.1.4.tgz?cache=0&sync_timestamp=1633411767894&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Farray-includes%2Fdownload%2Farray-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha1-9bSTFix2DzU5Yx8AW6K7Rqy0W6k= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + +array-union@^1.0.1, array-union@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/array-union/download/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0= + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npmmirror.com/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npmmirror.com/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.5: + version "1.2.5" + resolved "https://registry.npmmirror.com/array.prototype.flat/download/array.prototype.flat-1.2.5.tgz?cache=0&sync_timestamp=1633110973076&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Farray.prototype.flat%2Fdownload%2Farray.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha1-B+CXXYS7x8SM0YedYJ5oJZjTPhM= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/arrify/download/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha1-yWVekzHgq81YjSp8rX6ZVvZnAfo= + +asap@^2.0.0, asap@~2.0.3: + version "2.0.6" + resolved "https://registry.npmmirror.com/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.npmmirror.com/asn1.js/download/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha1-EamAuE67kXgc41sP3C7ilON4Pwc= + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.npmmirror.com/asn1/download/asn1-0.2.6.tgz?cache=0&sync_timestamp=1635986760581&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fasn1%2Fdownload%2Fasn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha1-DTp7tuZOAqkMAwOzHykoaOoJoI0= + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.npmmirror.com/assert/download/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/astral-regex/download/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha1-SDFDxWeu7UeFdZwIZXhtx319LjE= + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.npmmirror.com/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/async-limiter/download/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0= + +async-validator@~1.8.1: + version "1.8.5" + resolved "https://registry.npmmirror.com/async-validator/download/async-validator-1.8.5.tgz#dc3e08ec1fd0dddb67e60842f02c0cd1cec6d7f0" + integrity sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A= + dependencies: + babel-runtime "6.x" + +async@0.9.x: + version "0.9.2" + resolved "https://registry.npmmirror.com/async/download/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.npmmirror.com/async/download/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8= + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/at-least-node/download/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha1-YCzUtG6EStTv/JKoARo8RuAjjcI= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= + +autocomplete.js@0.36.0: + version "0.36.0" + resolved "https://registry.npmmirror.com/autocomplete.js/download/autocomplete.js-0.36.0.tgz#94fe775fe64b6cd42e622d076dc7fd26bedd837b" + integrity sha1-lP53X+ZLbNQuYi0Hbcf9Jr7dg3s= + dependencies: + immediate "^3.2.3" + +autoprefixer@^9.5.1: + version "9.8.8" + resolved "https://registry.npmmirror.com/autoprefixer/download/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" + integrity sha1-/UvUWVOF+m8GWZ3nSaTV96R0lXo= + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + picocolors "^0.2.1" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.npmmirror.com/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.npmmirror.com/aws4/download/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk= + +axios@^0.18.1: + version "0.18.1" + resolved "https://registry.npmmirror.com/axios/download/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" + integrity sha1-/z8N4ue10YDnV62YAA8Qgbh7zqM= + dependencies: + follow-redirects "1.5.10" + is-buffer "^2.0.2" + +babel-helper-vue-jsx-merge-props@^2.0.0, babel-helper-vue-jsx-merge-props@^2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz#22aebd3b33902328e513293a8e4992b384f9f1b6" + integrity sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY= + +babel-loader@^8.0.4: + version "8.2.3" + resolved "https://registry.npmmirror.com/babel-loader/download/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" + integrity sha1-iYa0Dxpkys/LS4QpMgCF72ixNC0= + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^1.4.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&sync_timestamp=1632754357761&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha1-hP2hnJduxcbe/vV/lCez3vZuF6M= + dependencies: + object.assign "^4.1.0" + +babel-plugin-polyfill-corejs2@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.3.0.tgz?cache=0&sync_timestamp=1636799750341&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-corejs2%2Fdownload%2Fbabel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" + integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.3.0" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.4.0.tgz?cache=0&sync_timestamp=1636799750451&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" + integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.0" + core-js-compat "^3.18.0" + +babel-plugin-polyfill-regenerator@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.3.0.tgz?cache=0&sync_timestamp=1636799750144&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-regenerator%2Fdownload%2Fbabel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" + integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.0" + +babel-plugin-syntax-jsx@^6.18.0: + version "6.18.0" + resolved "https://registry.npmmirror.com/babel-plugin-syntax-jsx/download/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= + +babel-plugin-transform-vue-jsx@^3.7.0: + version "3.7.0" + resolved "https://registry.npmmirror.com/babel-plugin-transform-vue-jsx/download/babel-plugin-transform-vue-jsx-3.7.0.tgz#d40492e6692a36b594f7e9a1928f43e969740960" + integrity sha1-1ASS5mkqNrWU9+mhko9D6Wl0CWA= + dependencies: + esutils "^2.0.2" + +babel-runtime@6.x: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/balanced-match/download/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4= + +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.npmmirror.com/base64-js/download/base64-js-1.5.1.tgz?cache=0&sync_timestamp=1632753994416&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbase64-js%2Fdownload%2Fbase64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npmmirror.com/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/batch/download/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +before-after-hook@^2.2.0: + version "2.2.2" + resolved "https://registry.npmmirror.com/before-after-hook/download/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" + integrity sha1-pujKQQKNkO4sJCIvIByQlWCRYT4= + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.npmmirror.com/big.js/download/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4= + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmmirror.com/big.js/download/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.npmmirror.com/binary-extensions/download/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/binary-extensions/download/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0= + +binaryextensions@^2.1.2: + version "2.3.0" + resolved "https://registry.npmmirror.com/binaryextensions/download/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" + integrity sha1-HSacv35iQ+qIaqQUU8NlHMvhPCI= + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npmmirror.com/bindings/download/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha1-EDU8npRTNLwFEabZCzj7x8nFBN8= + dependencies: + file-uri-to-path "1.0.0" + +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.npmmirror.com/bl/download/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha1-Ho3YAULqyA1xWMnczAR/tiDgNec= + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +bluebird@^3.1.1, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.npmmirror.com/bluebird/download/bluebird-3.7.2.tgz?cache=0&sync_timestamp=1632753985542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbluebird%2Fdownload%2Fbluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28= + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha1-d1s/J477uXGO7HNh9IP7Nvu/6og= + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.npmmirror.com/bn.js/download/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI= + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.npmmirror.com/body-parser/download/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io= + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.npmmirror.com/bonjour/download/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +boxen@^1.2.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/boxen/download/boxen-1.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fboxen%2Fdownload%2Fboxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" + integrity sha1-VcbDmouljZxhrSLNh3Uy3rZlogs= + dependencies: + ansi-align "^2.0.0" + camelcase "^4.0.0" + chalk "^2.0.1" + cli-boxes "^1.0.0" + string-width "^2.0.0" + term-size "^1.2.0" + widest-line "^2.0.0" + +boxen@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/boxen/download/boxen-4.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fboxen%2Fdownload%2Fboxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" + integrity sha1-5BG2I1fW1tNlh8isPV2XTaoHDmQ= + dependencies: + ansi-align "^3.0.0" + camelcase "^5.3.1" + chalk "^3.0.0" + cli-boxes "^2.2.0" + string-width "^4.1.0" + term-size "^2.1.0" + type-fest "^0.8.1" + widest-line "^3.1.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmmirror.com/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.npmmirror.com/braces/download/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.npmmirror.com/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/browserify-cipher/download/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/browserify-des/download/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.npmmirror.com/browserify-rsa/download/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0= + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.npmmirror.com/browserify-sign/download/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM= + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= + dependencies: + pako "~1.0.5" + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.16.0, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.18.1: + version "4.18.1" + resolved "https://registry.npmmirror.com/browserslist/download/browserslist-4.18.1.tgz?cache=0&sync_timestamp=1636995628981&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" + integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== + dependencies: + caniuse-lite "^1.0.30001280" + electron-to-chromium "^1.3.896" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.npmmirror.com/bs-logger/download/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha1-6302UwenLPl0zGzadraDVK0za9g= + dependencies: + fast-json-stable-stringify "2.x" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha1-vX3CauKXLQ7aJTvgYdupkjScGfA= + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/buffer-alloc/download/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow= + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/buffer-fill/download/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/buffer-from/download/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U= + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/buffer-indexof/download/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow= + +buffer-json@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/buffer-json/download/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" + integrity sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM= + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.npmmirror.com/buffer/download/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg= + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^3.1.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/builtin-modules/download/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" + integrity sha1-RdXbmefuXmvE82LgCL+RerUEmIc= + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/builtins/download/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= + +byline@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/byline/download/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" + integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= + +byte-size@^7.0.0: + version "7.0.1" + resolved "https://registry.npmmirror.com/byte-size/download/byte-size-7.0.1.tgz#b1daf3386de7ab9d706b941a748dbfc71130dee3" + integrity sha1-sdrzOG3nq51wa5QadI2/xxEw3uM= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/bytes/download/bytes-3.0.0.tgz?cache=0&sync_timestamp=1637015143470&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbytes%2Fdownload%2Fbytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/bytes/download/bytes-3.1.0.tgz?cache=0&sync_timestamp=1637015143470&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= + +cac@^6.5.6: + version "6.7.12" + resolved "https://registry.npmmirror.com/cac/download/cac-6.7.12.tgz#6fb5ea2ff50bd01490dbda497f4ae75a99415193" + integrity sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA== + +cacache@^10.0.0: + version "10.0.4" + resolved "https://registry.npmmirror.com/cacache/download/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" + integrity sha1-ZFI2eZnv+dQYiu/ZoU6dfGomNGA= + dependencies: + bluebird "^3.5.1" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^2.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.2" + ssri "^5.2.4" + unique-filename "^1.1.0" + y18n "^4.0.0" + +cacache@^12.0.2, cacache@^12.0.3: + version "12.0.4" + resolved "https://registry.npmmirror.com/cacache/download/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw= + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cacache@^15.0.5, cacache@^15.2.0: + version "15.3.0" + resolved "https://registry.npmmirror.com/cacache/download/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha1-3IU4D7L1Vv492kxxm/oOyHWn8es= + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +cacache@^9.2.9: + version "9.3.0" + resolved "https://registry.npmmirror.com/cacache/download/cacache-9.3.0.tgz#9cd58f2dd0b8c8cacf685b7067b416d6d3cf9db1" + integrity sha1-nNWPLdC4yMrPaFtwZ7QW1tPPnbE= + dependencies: + bluebird "^3.5.0" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^1.3.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.1" + ssri "^4.1.6" + unique-filename "^1.1.0" + y18n "^3.2.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/cache-base/download/cache-base-1.0.1.tgz?cache=0&sync_timestamp=1636237230557&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcache-base%2Fdownload%2Fcache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cache-loader@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/cache-loader/download/cache-loader-3.0.1.tgz#cee6cf4b3cdc7c610905b26bad6c2fc439c821af" + integrity sha1-zubPSzzcfGEJBbJrrWwvxDnIIa8= + dependencies: + buffer-json "^2.0.0" + find-cache-dir "^2.1.0" + loader-utils "^1.2.3" + mkdirp "^0.5.1" + neo-async "^2.6.1" + schema-utils "^1.0.0" + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/cacheable-request/download/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI= + dependencies: + 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" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/call-bind/download/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw= + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/caller-callsite/download/caller-callsite-2.0.0.tgz?cache=0&sync_timestamp=1633617109319&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaller-callsite%2Fdownload%2Fcaller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/caller-path/download/caller-path-2.0.0.tgz?cache=0&sync_timestamp=1633674195219&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaller-path%2Fdownload%2Fcaller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/callsites/download/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.npmmirror.com/camel-case/download/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camel-case@^4.1.1: + version "4.1.2" + resolved "https://registry.npmmirror.com/camel-case/download/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha1-lygHKpVPgFIoIlpt7qazhGHhvVo= + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz?cache=0&sync_timestamp=1633332959770&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A= + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/camelcase/download/camelcase-4.1.0.tgz?cache=0&sync_timestamp=1636945184694&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + +camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmmirror.com/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1636945184694&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + +camelcase@^6.0.0: + version "6.2.1" + resolved "https://registry.npmmirror.com/camelcase/download/camelcase-6.2.1.tgz?cache=0&sync_timestamp=1636945184694&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" + integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/caniuse-api/download/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA= + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001280: + version "1.0.30001283" + resolved "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001283.tgz#8573685bdae4d733ef18f78d44ba0ca5fe9e896b" + integrity sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg== + +capture-stack-trace@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/capture-stack-trace/download/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" + integrity sha1-psC74fOPOqC5Ijjstv9Cw0TUE10= + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.npmmirror.com/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^1.0.0, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmmirror.com/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/chalk/download/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.npmmirror.com/chalk/download/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha1-qsTit3NKdAhnrrFr8CqtVWoeegE= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "https://registry.npmmirror.com/character-entities-legacy/download/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha1-lLwYRdznClu50uzHSHJWYSk9j8E= + +character-entities@^1.0.0: + version "1.2.4" + resolved "https://registry.npmmirror.com/character-entities/download/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha1-4Sw5Obfq9OWxXnrUxeKOHUjFsWs= + +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "https://registry.npmmirror.com/character-reference-invalid/download/character-reference-invalid-1.1.4.tgz?cache=0&sync_timestamp=1636446396862&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcharacter-reference-invalid%2Fdownload%2Fcharacter-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha1-CDMpzaDq4nKrPbvzfpo4LBOvFWA= + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npmmirror.com/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1634639163489&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= + +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.1: + version "3.5.2" + resolved "https://registry.npmmirror.com/chokidar/download/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha1-26OXb8rbAW9m/TZQIdkWANAcHnU= + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chokidar@^2.0.3, chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.npmmirror.com/chokidar/download/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc= + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chownr@^1.0.1, chownr@^1.1.1, chownr@^1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/chownr/download/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha1-Fb++U9LqtM9w8YqM1o6+Wzyx3s4= + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw= + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.npmmirror.com/ci-info/download/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc= + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/ci-info/download/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= + +ci-info@^3.1.1: + version "3.3.0" + resolved "https://registry.npmmirror.com/ci-info/download/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" + integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npmmirror.com/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@4.2.x: + version "4.2.4" + resolved "https://registry.npmmirror.com/clean-css/download/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" + integrity sha1-czv0brpOYHxokepXwkqYk1aDEXg= + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/clean-stack/download/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha1-7oRy27Ep5yezHooQpCfe6d/kAIs= + +cli-boxes@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/cli-boxes/download/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= + +cli-boxes@^2.2.0: + version "2.2.1" + resolved "https://registry.npmmirror.com/cli-boxes/download/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha1-3dUDXSUJT84iDpyrQKRYQKRAMY8= + +cli-cursor@^2.0.0, cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/cli-cursor/download/cli-cursor-2.1.0.tgz?cache=0&sync_timestamp=1632753976771&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcli-cursor%2Fdownload%2Fcli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/cli-cursor/download/cli-cursor-3.1.0.tgz?cache=0&sync_timestamp=1632753976771&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcli-cursor%2Fdownload%2Fcli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^1.0.1: + version "1.3.1" + resolved "https://registry.npmmirror.com/cli-spinners/download/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" + integrity sha1-ACwZkJEtDVlYDJO9NsBW3pnkJZo= + +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/cli-truncate/download/cli-truncate-0.2.1.tgz?cache=0&sync_timestamp=1633786544327&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcli-truncate%2Fdownload%2Fcli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + +cli-width@^2.0.0: + version "2.2.1" + resolved "https://registry.npmmirror.com/cli-width/download/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha1-sEM9C06chH7xiGik7xb9X8gnHEg= + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/cli-width/download/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha1-ovSEN6LKqaIkNueUvwceyeYc7fY= + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/cliui/download/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmmirror.com/cliui/download/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08= + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c= + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/clone-response/download/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npmmirror.com/clone/download/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.npmmirror.com/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +cmd-shim@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/cmd-shim/download/cmd-shim-4.1.0.tgz#b3a904a6743e9fede4148c6f3800bf2a08135bdd" + integrity sha1-s6kEpnQ+n+3kFIxvOAC/KggTW90= + dependencies: + mkdirp-infer-owner "^2.0.0" + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/coa/download/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM= + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +codesandbox-import-util-types@^2.2.3: + version "2.2.3" + resolved "https://registry.npmmirror.com/codesandbox-import-util-types/download/codesandbox-import-util-types-2.2.3.tgz#b354b2f732ad130e119ebd9ead3bda3be5981a54" + integrity sha1-s1Sy9zKtEw4Rnr2erTvaO+WYGlQ= + +codesandbox-import-utils@^2.2.3: + version "2.2.3" + resolved "https://registry.npmmirror.com/codesandbox-import-utils/download/codesandbox-import-utils-2.2.3.tgz#f7b4801245b381cb8c90fe245e336624e19b6c84" + integrity sha1-97SAEkWzgcuMkP4kXjNmJOGbbIQ= + dependencies: + codesandbox-import-util-types "^2.2.3" + istextorbinary "^2.2.1" + lz-string "^1.4.4" + +codesandbox@^2.2.3: + version "2.2.3" + resolved "https://registry.npmmirror.com/codesandbox/download/codesandbox-2.2.3.tgz#092de403506d9e4c5358cd61dc84068c3ee8ceea" + integrity sha1-CS3kA1BtnkxTWM1h3IQGjD7ozuo= + dependencies: + axios "^0.18.1" + chalk "^2.4.1" + codesandbox-import-util-types "^2.2.3" + codesandbox-import-utils "^2.2.3" + commander "^2.9.0" + datauri "^3.0.0" + filesize "^3.6.1" + fs-extra "^3.0.1" + git-branch "^1.0.0" + git-repo-name "^0.6.0" + git-username "^0.5.0" + humps "^2.0.1" + inquirer "^6.2.2" + lodash "^4.17.5" + lz-string "^1.4.4" + ms "^2.0.0" + open "^6.3.0" + ora "^1.3.0" + pacote "^2.7.36" + shortid "^2.2.8" + update-notifier "^2.2.0" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.3: + version "1.9.3" + resolved "https://registry.npmmirror.com/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + +color-string@^1.6.0: + version "1.8.2" + resolved "https://registry.npmmirror.com/color-string/download/color-string-1.8.2.tgz#08bd49fa5f3889c27b0c670052ed746dd7a671de" + integrity sha512-w5ZkKRdLsc5NOYsmnpS2DpyRW71npwZGwbRpLrJTuqjfTs2Bhrba7UiV59IX9siBlCPl2pne5NtiwnVWUzvYFA== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.2.1" + resolved "https://registry.npmmirror.com/color/download/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" + integrity sha1-NUTcGYyvRJDD7MmnkLVP6f9F4WQ= + dependencies: + color-convert "^1.9.3" + color-string "^1.6.0" + +colord@^2.9.1: + version "2.9.1" + resolved "https://registry.npmmirror.com/colord/download/colord-2.9.1.tgz#c961ea0efeb57c9f0f4834458f26cb9cc4a3f90e" + integrity sha1-yWHqDv61fJ8PSDRFjybLnMSj+Q4= + +colors@~0.6.0-1: + version "0.6.2" + resolved "https://registry.npmmirror.com/colors/download/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" + integrity sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w= + +columnify@^1.5.4: + version "1.5.4" + resolved "https://registry.npmmirror.com/columnify/download/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" + integrity sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs= + dependencies: + strip-ansi "^3.0.0" + wcwidth "^1.0.0" + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.npmmirror.com/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= + dependencies: + delayed-stream "~1.0.0" + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.npmmirror.com/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1634886503143&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78= + +commander@2.9.0: + version "2.9.0" + resolved "https://registry.npmmirror.com/commander/download/commander-2.9.0.tgz?cache=0&sync_timestamp=1634886503143&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcommander%2Fdownload%2Fcommander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= + dependencies: + graceful-readlink ">= 1.0.0" + +commander@^2.14.1, commander@^2.19.0, commander@^2.20.0, commander@^2.9.0: + version "2.20.3" + resolved "https://registry.npmmirror.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1634886503143&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/commander/download/commander-7.2.0.tgz?cache=0&sync_timestamp=1634886503143&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcommander%2Fdownload%2Fcommander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc= + +commander@~2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/commander/download/commander-2.1.0.tgz?cache=0&sync_timestamp=1634886503143&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcommander%2Fdownload%2Fcommander-2.1.0.tgz#d121bbae860d9992a3d517ba96f56588e47c6781" + integrity sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E= + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.npmmirror.com/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1634886503143&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So= + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/compare-func/download/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha1-+2XnXtvd/S5WhVTotbBf/3pR/LM= + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmmirror.com/compressible/download/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o= + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npmmirror.com/compression/download/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48= + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmmirror.com/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.npmmirror.com/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/concat-stream/download/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha1-QUz1r3kKSMYKub5FJ9VtXkETPLE= + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + +concat-with-sourcemaps@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/concat-with-sourcemaps/download/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" + integrity sha1-1OqT8FriV5CVG5nns7CeOQikCC4= + dependencies: + source-map "^0.6.1" + +condense-newlines@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/condense-newlines/download/condense-newlines-0.2.1.tgz#3de985553139475d32502c83b02f60684d24c55f" + integrity sha1-PemFVTE5R10yUCyDsC9gaE0kxV8= + dependencies: + extend-shallow "^2.0.1" + is-whitespace "^0.3.0" + kind-of "^3.0.2" + +config-chain@^1.1.12: + version "1.1.13" + resolved "https://registry.npmmirror.com/config-chain/download/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha1-+tB5Wqamza/57Rto6d/5Q3LCMvQ= + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +configstore@^3.0.0: + version "3.1.5" + resolved "https://registry.npmmirror.com/configstore/download/configstore-3.1.5.tgz?cache=0&sync_timestamp=1632755279783&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fconfigstore%2Fdownload%2Fconfigstore-3.1.5.tgz#e9af331fadc14dabd544d3e7e76dc446a09a530f" + integrity sha1-6a8zH63BTavVRNPn523ERqCaUw8= + dependencies: + dot-prop "^4.2.1" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + unique-string "^1.0.0" + write-file-atomic "^2.0.0" + xdg-basedir "^3.0.0" + +configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/configstore/download/configstore-5.0.1.tgz?cache=0&sync_timestamp=1632755279783&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fconfigstore%2Fdownload%2Fconfigstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" + integrity sha1-02UCG130uYzdGH1qOw4/anzF7ZY= + dependencies: + 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" + +connect-history-api-fallback@^1.5.0, connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.npmmirror.com/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= + +consola@^2.6.0: + version "2.15.3" + resolved "https://registry.npmmirror.com/consola/download/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550" + integrity sha1-LhH5jWpL5x/3LgvfB70j4Sy2FVA= + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY= + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.npmmirror.com/consolidate/download/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" + integrity sha1-IasEMjXHGgfUXZqtmFk7DbpWurc= + dependencies: + bluebird "^3.1.1" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.npmmirror.com/content-disposition/download/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= + +conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12: + version "5.0.13" + resolved "https://registry.npmmirror.com/conventional-changelog-angular/download/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + integrity sha1-iWiF1juRSnDUk0tZ0v573hgysow= + dependencies: + compare-func "^2.0.0" + q "^1.5.1" + +conventional-changelog-conventionalcommits@^4.3.1: + version "4.6.1" + resolved "https://registry.npmmirror.com/conventional-changelog-conventionalcommits/download/conventional-changelog-conventionalcommits-4.6.1.tgz#f4c0921937050674e578dc7875f908351ccf4014" + integrity sha1-9MCSGTcFBnTleNx4dfkINRzPQBQ= + dependencies: + compare-func "^2.0.0" + lodash "^4.17.15" + q "^1.5.1" + +conventional-changelog-core@^4.2.2: + version "4.2.4" + resolved "https://registry.npmmirror.com/conventional-changelog-core/download/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" + integrity sha1-5Q0Efo66z2P6w9xnv5GBdwAeHp8= + dependencies: + add-stream "^1.0.0" + conventional-changelog-writer "^5.0.0" + conventional-commits-parser "^3.2.0" + dateformat "^3.0.0" + get-pkg-repo "^4.0.0" + git-raw-commits "^2.0.8" + git-remote-origin-url "^2.0.0" + git-semver-tags "^4.1.1" + lodash "^4.17.15" + normalize-package-data "^3.0.0" + q "^1.5.1" + read-pkg "^3.0.0" + read-pkg-up "^3.0.0" + through2 "^4.0.0" + +conventional-changelog-preset-loader@^2.3.4: + version "2.3.4" + resolved "https://registry.npmmirror.com/conventional-changelog-preset-loader/download/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" + integrity sha1-FKhVq7/9WQJ/1gJYHx802YYupEw= + +conventional-changelog-writer@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/conventional-changelog-writer/download/conventional-changelog-writer-5.0.0.tgz#c4042f3f1542f2f41d7d2e0d6cad23aba8df8eec" + integrity sha1-xAQvPxVC8vQdfS4NbK0jq6jfjuw= + dependencies: + conventional-commits-filter "^2.0.7" + dateformat "^3.0.0" + handlebars "^4.7.6" + json-stringify-safe "^5.0.1" + lodash "^4.17.15" + meow "^8.0.0" + semver "^6.0.0" + split "^1.0.0" + through2 "^4.0.0" + +conventional-commits-filter@^2.0.7: + version "2.0.7" + resolved "https://registry.npmmirror.com/conventional-commits-filter/download/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + integrity sha1-+Nm08YL84Aya9xOdpJNlsTbIoLM= + dependencies: + lodash.ismatch "^4.4.0" + modify-values "^1.0.0" + +conventional-commits-parser@^3.2.0, conventional-commits-parser@^3.2.2: + version "3.2.3" + resolved "https://registry.npmmirror.com/conventional-commits-parser/download/conventional-commits-parser-3.2.3.tgz#fc43704698239451e3ef35fd1d8ed644f46bd86e" + integrity sha1-/ENwRpgjlFHj7zX9HY7WRPRr2G4= + dependencies: + 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" + +conventional-recommended-bump@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/conventional-recommended-bump/download/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" + integrity sha1-z6YjKF0d5VQBLy/95w2ciiIjH1U= + dependencies: + concat-stream "^2.0.0" + conventional-changelog-preset-loader "^2.3.4" + conventional-commits-filter "^2.0.7" + conventional-commits-parser "^3.2.0" + git-raw-commits "^2.0.8" + git-semver-tags "^4.1.1" + meow "^8.0.0" + q "^1.5.1" + +convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.npmmirror.com/convert-source-map/download/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k= + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmmirror.com/cookie-signature/download/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/cookie/download/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo= + +copy-anything@^2.0.1: + version "2.0.3" + resolved "https://registry.npmmirror.com/copy-anything/download/copy-anything-2.0.3.tgz#842407ba02466b0df844819bbe3baebbe5d45d87" + integrity sha1-hCQHugJGaw34RIGbvjuuu+XUXYc= + dependencies: + is-what "^3.12.0" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.npmmirror.com/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.npmmirror.com/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-to-clipboard@^3.3.1: + version "3.3.1" + resolved "https://registry.npmmirror.com/copy-to-clipboard/download/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" + integrity sha1-EVqhqZmP+rYZb5MHatbaO5E2Yq4= + dependencies: + toggle-selection "^1.0.6" + +copy-webpack-plugin@^5.0.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/copy-webpack-plugin/download/copy-webpack-plugin-5.1.2.tgz?cache=0&sync_timestamp=1637161372227&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" + integrity sha1-ioieHcr6bJHGzUvhrRWPHTgjuuI= + dependencies: + cacache "^12.0.3" + find-cache-dir "^2.1.0" + glob-parent "^3.1.0" + globby "^7.1.1" + is-glob "^4.0.1" + loader-utils "^1.2.3" + minimatch "^3.0.4" + normalize-path "^3.0.0" + p-limit "^2.2.1" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + webpack-log "^2.0.0" + +core-js-compat@^3.18.0, core-js-compat@^3.19.1, core-js-compat@^3.6.5: + version "3.19.2" + resolved "https://registry.npmmirror.com/core-js-compat/download/core-js-compat-3.19.2.tgz#18066a3404a302433cb0aa8be82dd3d75c76e5c4" + integrity sha512-ObBY1W5vx/LFFMaL1P5Udo4Npib6fu+cMokeziWkA8Tns4FcDemKF5j9JvaI5JhdkW8EQJQGJN1EcrzmEwuAqQ== + dependencies: + browserslist "^4.18.1" + semver "7.0.0" + +core-js-pure@^3.19.0: + version "3.19.2" + resolved "https://registry.npmmirror.com/core-js-pure/download/core-js-pure-3.19.2.tgz#26b5bfb503178cff6e3e115bc2ba6c6419383680" + integrity sha512-5LkcgQEy8pFeVnd/zomkUBSwnmIxuF1C8E9KrMAbOc8f34IBT9RGvTYeNDdp1PnvMJrrVhvk1hg/yVV5h/znlg== + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.npmmirror.com/core-js/download/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw= + +core-js@^3.6.4, core-js@^3.6.5: + version "3.19.2" + resolved "https://registry.npmmirror.com/core-js/download/core-js-3.19.2.tgz#ae216d7f4f7e924d9a2e3ff1e4b1940220f9157b" + integrity sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmmirror.com/core-util-is/download/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha1-pgQtNjTCsn6TKPg3uWX6yDgI24U= + +cosmiconfig@^5.0.0, cosmiconfig@^5.2.0: + version "5.2.1" + resolved "https://registry.npmmirror.com/cosmiconfig/download/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cosmiconfig@^7.0.0: + version "7.0.1" + resolved "https://registry.npmmirror.com/cosmiconfig/download/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha1-cU11ZSLKzoZ4Z8y0R0xdAbuuXW0= + dependencies: + "@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" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.npmmirror.com/create-ecdh/download/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4= + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-error-class@^3.0.0: + version "3.0.2" + resolved "https://registry.npmmirror.com/create-error-class/download/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= + dependencies: + capture-stack-trace "^1.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.npmmirror.com/create-hmac/download/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/create-require/download/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM= + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.npmmirror.com/cross-spawn/download/cross-spawn-5.1.0.tgz?cache=0&sync_timestamp=1632467460103&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcross-spawn%2Fdownload%2Fcross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npmmirror.com/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&sync_timestamp=1632467460103&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmmirror.com/cross-spawn/download/cross-spawn-7.0.3.tgz?cache=0&sync_timestamp=1632467460103&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcross-spawn%2Fdownload%2Fcross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.npmmirror.com/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/crypto-random-string/download/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/crypto-random-string/download/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha1-7yp6lm7BEIM4g2m6oC6+rSKbMNU= + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.npmmirror.com/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI= + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-declaration-sorter@^6.0.3: + version "6.1.3" + resolved "https://registry.npmmirror.com/css-declaration-sorter/download/css-declaration-sorter-6.1.3.tgz#e9852e4cf940ba79f509d9425b137d1f94438dc2" + integrity sha1-6YUuTPlAunn1CdlCWxN9H5RDjcI= + dependencies: + timsort "^0.3.0" + +css-loader@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/css-loader/download/css-loader-2.1.1.tgz?cache=0&sync_timestamp=1635968166573&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcss-loader%2Fdownload%2Fcss-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" + integrity sha1-2CVPcuQSuyI4u0TdZ0/770lzM+o= + dependencies: + camelcase "^5.2.0" + icss-utils "^4.1.0" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.14" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^2.0.6" + postcss-modules-scope "^2.1.0" + postcss-modules-values "^2.0.0" + postcss-value-parser "^3.3.0" + schema-utils "^1.0.0" + +css-parse@~2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/css-parse/download/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4" + integrity sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q= + dependencies: + css "^2.0.0" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc= + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/css-select/download/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8= + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.npmmirror.com/css-select/download/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha1-pwRA9wMX8maRGK10/xBeZYSccGc= + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npmmirror.com/css-tree/download/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI= + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/css-tree/download/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha1-60hw+2/XcHMn7JXC/yqwm16NuR0= + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.npmmirror.com/css-what/download/css-what-3.4.2.tgz?cache=0&sync_timestamp=1633864103961&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcss-what%2Fdownload%2Fcss-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ= + +css-what@^5.0.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/css-what/download/css-what-5.1.0.tgz?cache=0&sync_timestamp=1633864103961&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcss-what%2Fdownload%2Fcss-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha1-P3tweq32M7r2LCzrhXm1RbtA9/4= + +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.npmmirror.com/css.escape/download/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= + +css@^2.0.0: + version "2.2.4" + resolved "https://registry.npmmirror.com/css/download/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" + integrity sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk= + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +css@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/css/download/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" + integrity sha1-REek1Y/dAzZ8UWyp9krjZc7kql0= + dependencies: + inherits "^2.0.4" + source-map "^0.6.1" + source-map-resolve "^0.6.0" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4= + +cssnano-preset-default@^4.0.8: + version "4.0.8" + resolved "https://registry.npmmirror.com/cssnano-preset-default/download/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" + integrity sha1-kgYisfwelaNOiDggPxOXpQTy0/8= + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.3" + postcss-unique-selectors "^4.0.1" + +cssnano-preset-default@^5.1.8: + version "5.1.8" + resolved "https://registry.npmmirror.com/cssnano-preset-default/download/cssnano-preset-default-5.1.8.tgz#7525feb1b72f7b06e57f55064cbdae341d79dea2" + integrity sha512-zWMlP0+AMPBVE852SqTrP0DnhTcTA2C1wAF92TKZ3Va+aUVqLIhkqKlnJIXXdqXD7RN+S1ujuWmNpvrJBiM/vg== + dependencies: + css-declaration-sorter "^6.0.3" + cssnano-utils "^2.0.1" + postcss-calc "^8.0.0" + postcss-colormin "^5.2.1" + postcss-convert-values "^5.0.2" + postcss-discard-comments "^5.0.1" + postcss-discard-duplicates "^5.0.1" + postcss-discard-empty "^5.0.1" + postcss-discard-overridden "^5.0.1" + postcss-merge-longhand "^5.0.4" + postcss-merge-rules "^5.0.3" + postcss-minify-font-values "^5.0.1" + postcss-minify-gradients "^5.0.3" + postcss-minify-params "^5.0.2" + postcss-minify-selectors "^5.1.0" + postcss-normalize-charset "^5.0.1" + postcss-normalize-display-values "^5.0.1" + postcss-normalize-positions "^5.0.1" + postcss-normalize-repeat-style "^5.0.1" + postcss-normalize-string "^5.0.1" + postcss-normalize-timing-functions "^5.0.1" + postcss-normalize-unicode "^5.0.1" + postcss-normalize-url "^5.0.3" + postcss-normalize-whitespace "^5.0.1" + postcss-ordered-values "^5.0.2" + postcss-reduce-initial "^5.0.2" + postcss-reduce-transforms "^5.0.1" + postcss-svgo "^5.0.3" + postcss-unique-selectors "^5.0.2" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI= + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M= + +cssnano-utils@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/cssnano-utils/download/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2" + integrity sha1-hmCqKzfthp0uLyKRgZapqLZJjOI= + +cssnano@^4.1.10: + version "4.1.11" + resolved "https://registry.npmmirror.com/cssnano/download/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" + integrity sha1-x7X1uB2iacsf2YLLlgwSAJEMmpk= + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.8" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +cssnano@^5.0.1: + version "5.0.12" + resolved "https://registry.npmmirror.com/cssnano/download/cssnano-5.0.12.tgz#2c083a1c786fc9dc2d5522bd3c0e331b7cd302ab" + integrity sha512-U38V4x2iJ3ijPdeWqUrEr4eKBB5PbEKsNP5T8xcik2Au3LeMtiMHX0i2Hu9k51FcKofNZumbrcdC6+a521IUHg== + dependencies: + cssnano-preset-default "^5.1.8" + is-resolvable "^1.1.0" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.0.2, csso@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/csso/download/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha1-6jpWE0bo3J9UbW/r7dUBh884lSk= + dependencies: + css-tree "^1.1.2" + +csstype@^2.6.8: + version "2.6.19" + resolved "https://registry.npmmirror.com/csstype/download/csstype-2.6.19.tgz?cache=0&sync_timestamp=1637224446963&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.19.tgz#feeb5aae89020bb389e1f63669a5ed490e391caa" + integrity sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ== + +cwd@^0.9.1: + version "0.9.1" + resolved "https://registry.npmmirror.com/cwd/download/cwd-0.9.1.tgz#41e10a7e1ab833dc59c2eca83814c7de77b5a4fd" + integrity sha1-QeEKfhq4M9xZwuyoOBTH3ne1pP0= + dependencies: + find-pkg "^0.1.0" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/dargs/download/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha1-BAFcQd4Ly2nshAUPPZvgyvjW1cw= + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.npmmirror.com/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +datauri@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/datauri/download/datauri-3.0.0.tgz#6196997e9a7bbbee81b60e8c8acb1a2c871e2349" + integrity sha1-YZaZfpp7u+6Btg6MissaLIceI0k= + dependencies: + image-size "0.8.3" + mimer "1.1.0" + +date-fns@^1.27.2: + version "1.30.1" + resolved "https://registry.npmmirror.com/date-fns/download/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" + integrity sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw= + +dateformat@^3.0.0: + version "3.0.3" + resolved "https://registry.npmmirror.com/dateformat/download/dateformat-3.0.3.tgz?cache=0&sync_timestamp=1634391716051&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdateformat%2Fdownload%2Fdateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + integrity sha1-puN0maTZqc+F71hyBE1ikByYia4= + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/de-indent/download/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= + dependencies: + ms "2.0.0" + +debug@3.1.0, debug@=3.1.0, debug@~3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE= + dependencies: + ms "2.0.0" + +debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.3" + resolved "https://registry.npmmirror.com/debug/download/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + +debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o= + dependencies: + ms "^2.1.1" + +debuglog@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/debuglog/download/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= + +decamelize-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/decamelize-keys/download/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1633055760479&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/decompress-response/download/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.npmmirror.com/dedent/download/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1632754292500&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/deep-extend/download/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw= + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmmirror.com/deep-is/download/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE= + +deepmerge@^1.2.0, deepmerge@^1.5.2: + version "1.5.2" + resolved "https://registry.npmmirror.com/deepmerge/download/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" + integrity sha1-EEmdhohEza1P7ghC34x/bwyVp1M= + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/default-gateway/download/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs= + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/defaults/download/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.npmmirror.com/defer-to-connect/download/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha1-MxrgUMCNz3ifjIOnuB8O2U9KxZE= + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npmmirror.com/define-property/download/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/define-property/download/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/define-property/download/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/del/download/del-3.0.0.tgz?cache=0&sync_timestamp=1632754300039&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdel%2Fdownload%2Fdel-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.0.0" + rimraf "^2.2.8" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/del/download/del-4.1.1.tgz?cache=0&sync_timestamp=1632754300039&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdel%2Fdownload%2Fdel-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha1-no8RciLqRKMf86FWwEm5kFKp8LQ= + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@^1.1.2, depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/deprecation/download/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha1-Y2jL20Cr8zc7UlrIfkomDDpwCRk= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/des.js/download/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM= + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-indent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/detect-indent/download/detect-indent-5.0.0.tgz?cache=0&sync_timestamp=1632754332873&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdetect-indent%2Fdownload%2Fdetect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= + +detect-indent@^6.0.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/detect-indent/download/detect-indent-6.1.0.tgz?cache=0&sync_timestamp=1632754332873&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdetect-indent%2Fdownload%2Fdetect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha1-WSSF67v2s7GrK+F1yDk9BMoNV+Y= + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmmirror.com/detect-node/download/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha1-yccHdaScPQO8LAbZpzvlUPl4+LE= + +dezalgo@^1.0.0: + version "1.0.3" + resolved "https://registry.npmmirror.com/dezalgo/download/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" + integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= + dependencies: + asap "^2.0.0" + wrappy "1" + +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/diff-sequences/download/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= + +diff-sequences@^27.4.0: + version "27.4.0" + resolved "https://registry.npmmirror.com/diff-sequences/download/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" + integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmmirror.com/diff/download/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.npmmirror.com/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^2.0.0, dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.npmmirror.com/dir-glob/download/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ= + dependencies: + path-type "^3.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/dir-glob/download/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8= + dependencies: + path-type "^4.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/dns-equal/download/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.4" + resolved "https://registry.npmmirror.com/dns-packet/download/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" + integrity sha1-40VQZYJKJQe6iGxVqJljuxB97G8= + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/dns-txt/download/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +docsearch.js@^2.5.2: + version "2.6.3" + resolved "https://registry.npmmirror.com/docsearch.js/download/docsearch.js-2.6.3.tgz#57cb4600d3b6553c677e7cbbe6a734593e38625d" + integrity sha1-V8tGANO2VTxnfny75qc0WT44Yl0= + dependencies: + algoliasearch "^3.24.5" + autocomplete.js "0.36.0" + hogan.js "^3.0.2" + request "^2.87.0" + stack-utils "^1.0.1" + to-factory "^1.0.0" + zepto "^1.2.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/doctrine/download/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850= + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.5.6: + version "0.5.10" + resolved "https://registry.npmmirror.com/dom-accessibility-api/download/dom-accessibility-api-0.5.10.tgz?cache=0&sync_timestamp=1635839769275&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdom-accessibility-api%2Fdownload%2Fdom-accessibility-api-0.5.10.tgz#caa6d08f60388d0bb4539dd75fe458a9a1d0014c" + integrity sha1-yqbQj2A4jQu0U53XX+RYqaHQAUw= + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g= + dependencies: + utila "~0.4" + +dom-event-types@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/dom-event-types/download/dom-event-types-1.0.0.tgz#5830a0a29e1bf837fe50a70cd80a597232813cae" + integrity sha1-WDCgop4b+Df+UKcM2ApZcjKBPK4= + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npmmirror.com/dom-serializer/download/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.npmmirror.com/dom-serializer/download/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha1-YgZDfTLO767HFhgDIwx6ILwbTZE= + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.npmmirror.com/dom-walk/download/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha1-DFSL7wSPTR8qlySQAiNgYNqj/YQ= + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.npmmirror.com/domain-browser/download/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= + +domelementtype@1: + version "1.3.1" + resolved "https://registry.npmmirror.com/domelementtype/download/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/domelementtype/download/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc= + +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/domhandler/download/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" + integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== + dependencies: + domelementtype "^2.2.0" + +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.npmmirror.com/domutils/download/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^2.5.2, domutils@^2.6.0: + version "2.8.0" + resolved "https://registry.npmmirror.com/domutils/download/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU= + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/dot-case/download/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha1-mytnDQCkMWZ6inW6Kc0bmICc51E= + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^4.2.1: + version "4.2.1" + resolved "https://registry.npmmirror.com/dot-prop/download/dot-prop-4.2.1.tgz?cache=0&sync_timestamp=1632755179956&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdot-prop%2Fdownload%2Fdot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" + integrity sha1-RYhBlKcfws2nHLtLzrOk3S9DO6Q= + dependencies: + is-obj "^1.0.0" + +dot-prop@^5.1.0, dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/dot-prop/download/dot-prop-5.3.0.tgz?cache=0&sync_timestamp=1632755179956&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdot-prop%2Fdownload%2Fdot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog= + dependencies: + is-obj "^2.0.0" + +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/dot-prop/download/dot-prop-6.0.1.tgz?cache=0&sync_timestamp=1632755179956&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdot-prop%2Fdownload%2Fdot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha1-/CazzxQrnlm3Tb057WbOYgxoEIM= + dependencies: + is-obj "^2.0.0" + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/duplexer3/download/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.npmmirror.com/duplexer/download/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.npmmirror.com/duplexify/download/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.npmmirror.com/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +editions@^2.2.0: + version "2.3.1" + resolved "https://registry.npmmirror.com/editions/download/editions-2.3.1.tgz#3bc9962f1978e801312fbd0aebfed63b49bfe698" + integrity sha1-O8mWLxl46AExL70K6/7WO0m/5pg= + dependencies: + errlop "^2.0.0" + semver "^6.3.0" + +editorconfig@^0.15.3: + version "0.15.3" + resolved "https://registry.npmmirror.com/editorconfig/download/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" + integrity sha1-vvhMTnX7jcsM5c7o79UcFZmb78U= + dependencies: + commander "^2.19.0" + lru-cache "^4.1.5" + semver "^5.6.0" + sigmund "^1.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^3.1.6: + version "3.1.6" + resolved "https://registry.npmmirror.com/ejs/download/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" + integrity sha1-W/0KBol0O7UmizVQzO7rvBcCgio= + dependencies: + jake "^10.6.1" + +electron-to-chromium@^1.3.896: + version "1.4.6" + resolved "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.4.6.tgz#7bf0c03001bcdbd0fc57a45c6b23bc6432246ade" + integrity sha512-YDZAXP0P8USm0YoyIXWijxFT3tJHbt3WwY7CTQiK3+Ad6Ai/b9N4GqfDR107jfGilAfxl7Gkhb+h0KPoKXAgqw== + +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/elegant-spinner/download/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" + integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= + +element-ui@^2.15.7: + version "2.15.7" + resolved "https://registry.npmmirror.com/element-ui/download/element-ui-2.15.7.tgz#9e5f8461edb53cfd89a88614b6caa82bd110ee38" + integrity sha512-+J6rnXajxzLwV6w8Q6bf7Yqzk1FO1ewbIrCy/4B5alnd7tj8WEpfQoAvISirVaUGVGy77d9Ji3o2bF4f0AsJLQ== + dependencies: + async-validator "~1.8.1" + babel-helper-vue-jsx-merge-props "^2.0.0" + deepmerge "^1.2.0" + normalize-wheel "^1.0.1" + resize-observer-polyfill "^1.5.0" + throttle-debounce "^1.0.1" + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.npmmirror.com/elliptic/download/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s= + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/emojis-list/download/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +encoding@^0.1.11, encoding@^0.1.12: + version "0.1.13" + resolved "https://registry.npmmirror.com/encoding/download/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha1-VldK/deR9UqOmyeFwFgqLSYhD6k= + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npmmirror.com/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.0.0, enhanced-resolve@^4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.npmmirror.com/enquirer/download/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00= + dependencies: + ansi-colors "^4.1.1" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/entities/download/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU= + +entities@~1.1.1: + version "1.1.2" + resolved "https://registry.npmmirror.com/entities/download/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.npmmirror.com/env-paths/download/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha1-QgOZ1BbOH76bwKB8Yvpo1n/Q+PI= + +envify@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/envify/download/envify-4.1.0.tgz#f39ad3db9d6801b4e6b478b61028d3f0b6819f7e" + integrity sha1-85rT251oAbTmtHi2ECjT8LaBn34= + dependencies: + esprima "^4.0.0" + through "~2.3.4" + +envinfo@^7.2.0, envinfo@^7.7.4: + version "7.8.1" + resolved "https://registry.npmmirror.com/envinfo/download/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha1-Bjd+Pl9NN5/qesWS1a2JJ+DE1HU= + +err-code@^1.0.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/err-code/download/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" + integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.npmmirror.com/err-code/download/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha1-I8Lzt1b/38YI0w4nyalBAkgH5/k= + +errlop@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/errlop/download/errlop-2.2.0.tgz#1ff383f8f917ae328bebb802d6ca69666a42d21b" + integrity sha1-H/OD+PkXrjKL67gC1sppZmpC0hs= + +errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: + version "0.1.8" + resolved "https://registry.npmmirror.com/errno/download/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8= + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmmirror.com/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha1-1IhXlodpFpWd547aoN9FZicRXsM= + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" + 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@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-promise@^4.0.3, es6-promise@^4.1.0: + version "4.2.8" + resolved "https://registry.npmmirror.com/es6-promise/download/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo= + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/es6-promisify/download/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + dependencies: + es6-promise "^4.0.3" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/escalade/download/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA= + +escape-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/escape-goat/download/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" + integrity sha1-Gy3HcANnbEV+x2Cy3GjttkgYhnU= + +escape-html@^1.0.3, escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q= + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ= + +eslint-config-prettier@^7.0.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/eslint-config-prettier/download/eslint-config-prettier-7.2.0.tgz#f4a4bd2832e810e8cc7c1411ec85b3e85c0c53f9" + integrity sha1-9KS9KDLoEOjMfBQR7IWz6FwMU/k= + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.npmmirror.com/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha1-QEi5WDldqJZoJSAB29nsprg7rL0= + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.7.1: + version "2.7.1" + resolved "https://registry.npmmirror.com/eslint-module-utils/download/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c" + integrity sha1-tDUAHJ+N1Kt/bQ78rkuWltTCS3w= + dependencies: + debug "^3.2.7" + find-up "^2.1.0" + pkg-dir "^2.0.0" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/eslint-plugin-es/download/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha1-dafN/czdwFiZNK7rOEF18iHFeJM= + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.13.0: + version "2.25.3" + resolved "https://registry.npmmirror.com/eslint-plugin-import/download/eslint-plugin-import-2.25.3.tgz?cache=0&sync_timestamp=1636529260674&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.25.3.tgz#a554b5f66e08fb4f6dc99221866e57cfff824766" + integrity sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg== + dependencies: + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.1" + has "^1.0.3" + is-core-module "^2.8.0" + is-glob "^4.0.3" + minimatch "^3.0.4" + object.values "^1.1.5" + resolve "^1.20.0" + tsconfig-paths "^3.11.0" + +eslint-plugin-markdown@^2.0.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/eslint-plugin-markdown/download/eslint-plugin-markdown-2.2.1.tgz#76b8a970099fbffc6cc1ffcad9772b96911c027a" + integrity sha1-dripcAmfv/xswf/K2XcrlpEcAno= + dependencies: + mdast-util-from-markdown "^0.8.5" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.npmmirror.com/eslint-plugin-node/download/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha1-yVVEQW7kraJnQKMEdO78VALcZx0= + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-prettier@^3.1.0: + version "3.4.1" + resolved "https://registry.npmmirror.com/eslint-plugin-prettier/download/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" + integrity sha1-6d2yAO+289Bf/oOxZlpxavSjh+U= + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-promise@^4.0.0: + version "4.3.1" + resolved "https://registry.npmmirror.com/eslint-plugin-promise/download/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" + integrity sha1-YUhd8qNZ4DFJ/a/AposOAwrSrEU= + +eslint-plugin-vue@^7.0.1: + version "7.20.0" + resolved "https://registry.npmmirror.com/eslint-plugin-vue/download/eslint-plugin-vue-7.20.0.tgz#98c21885a6bfdf0713c3a92957a5afeaaeed9253" + integrity sha1-mMIYhaa/3wcTw6kpV6Wv6q7tklM= + dependencies: + eslint-utils "^2.1.0" + natural-compare "^1.4.0" + semver "^6.3.0" + vue-eslint-parser "^7.10.0" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&sync_timestamp=1637466913662&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1637466913662&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw= + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/eslint-utils/download/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/eslint-utils/download/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI= + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1636378833048&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz?cache=0&sync_timestamp=1636378833048&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha1-9lMoJZMFknOSyTjtROsKXJsr0wM= + +eslint@^7.14.0: + version "7.32.0" + resolved "https://registry.npmmirror.com/eslint/download/eslint-7.32.0.tgz?cache=0&sync_timestamp=1637475878372&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint%2Fdownload%2Feslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha1-xtMooUvj+wjI0dIeEsAv23oqgS0= + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.2.1: + version "6.2.1" + resolved "https://registry.npmmirror.com/espree/download/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o= + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.npmmirror.com/espree/download/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y= + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/esquery/download/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha1-IUj/w4uC6McFff7UhCWz5h8PJKU= + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/esrecurse/download/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE= + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmmirror.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1635237706876&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237706876&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha1-LupSkHAvJquP5TcDcP+GyWXSESM= + +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/estree-walker/download/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha1-UwSRQ/QMbrkYsjZx0f4yGfOhs2I= + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/estree-walker/download/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha1-MbxdYSyWtwQQa0d+bdXYqhOMtwA= + +estree-walker@^2.0.1, estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/estree-walker/download/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmmirror.com/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmmirror.com/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eventemitter3@^4.0.0, eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.npmmirror.com/eventemitter3/download/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8= + +events@^1.1.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/events/download/events-1.1.1.tgz?cache=0&sync_timestamp=1636449286836&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fevents%2Fdownload%2Fevents-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/events/download/events-3.3.0.tgz?cache=0&sync_timestamp=1636449286836&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fevents%2Fdownload%2Fevents-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA= + +eventsource@^1.0.7: + version "1.1.0" + resolved "https://registry.npmmirror.com/eventsource/download/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" + integrity sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68= + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.npmmirror.com/execa/download/execa-0.7.0.tgz?cache=0&sync_timestamp=1637147236455&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1637147236455&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/execa/download/execa-4.1.0.tgz?cache=0&sync_timestamp=1637147236455&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha1-TlSRrRVy8vF6d9OIxshXE1sihHo= + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmmirror.com/execa/download/execa-5.1.1.tgz?cache=0&sync_timestamp=1637147236455&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha1-+ArZy/Qpj3vR1MlVXCHpN0HEEd0= + dependencies: + 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" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npmmirror.com/expand-brackets/download/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^1.2.2: + version "1.2.2" + resolved "https://registry.npmmirror.com/expand-tilde/download/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" + integrity sha1-C4HrqJflo9MdHD0QL48BRB5VlEk= + dependencies: + os-homedir "^1.0.1" + +express@^4.17.1: + version "4.17.1" + resolved "https://registry.npmmirror.com/express/download/express-4.17.1.tgz?cache=0&sync_timestamp=1632445954763&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ= + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.npmmirror.com/external-editor/download/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/extsprintf/download/extsprintf-1.3.0.tgz?cache=0&sync_timestamp=1635890162613&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fextsprintf%2Fdownload%2Fextsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.npmmirror.com/extsprintf/download/extsprintf-1.4.1.tgz?cache=0&sync_timestamp=1635890162613&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fextsprintf%2Fdownload%2Fextsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha1-jRcsBkhn8jXAyEpZaAbSeb9LzAc= + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmmirror.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= + +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.npmmirror.com/fast-diff/download/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha1-c+4RmC2Gyq95WYKNUZz+kn+sXwM= + +fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.npmmirror.com/fast-glob/download/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +fast-glob@^3.1.1: + version "3.2.7" + resolved "https://registry.npmmirror.com/fast-glob/download/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha1-/Wy3otfpqnp4RhEehaGW1rL3ZqE= + dependencies: + "@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@2.x, fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.npmmirror.com/fastq/download/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw= + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.npmmirror.com/faye-websocket/download/faye-websocket-0.11.4.tgz?cache=0&sync_timestamp=1632754327928&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffaye-websocket%2Fdownload%2Ffaye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha1-fw2Sdc/dhqHJY9yLZfzEUe3Lsdo= + dependencies: + websocket-driver ">=0.5.1" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.npmmirror.com/figgy-pudding/download/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4= + +figures@^1.7.0: + version "1.7.0" + resolved "https://registry.npmmirror.com/figures/download/figures-1.7.0.tgz?cache=0&sync_timestamp=1632753977164&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffigures%2Fdownload%2Ffigures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/figures/download/figures-2.0.0.tgz?cache=0&sync_timestamp=1632753977164&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffigures%2Fdownload%2Ffigures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/figures/download/figures-3.2.0.tgz?cache=0&sync_timestamp=1632753977164&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/file-entry-cache/download/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha1-IRst2WWcsDlLBz5zI6w8kz1SICc= + dependencies: + flat-cache "^3.0.4" + +file-loader@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/file-loader/download/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa" + integrity sha1-+OC6C1mZGLUa3+RdZtHnca1WD6o= + dependencies: + loader-utils "^1.0.2" + schema-utils "^1.0.0" + +file-name@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/file-name/download/file-name-0.1.0.tgz#12b122f120f9c34dbc176c1ab81a548aced6def7" + integrity sha1-ErEi8SD5w028F2wauBpUis7W3vc= + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= + +filelist@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/filelist/download/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" + integrity sha1-gCAvIUYtTRwuIUEZsYB8G8A4Dls= + dependencies: + minimatch "^3.0.4" + +filesize@^3.6.1: + version "3.6.1" + resolved "https://registry.npmmirror.com/filesize/download/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc= + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/fill-range/download/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/filter-obj/download/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs= + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/finalhandler/download/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0= + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/find-cache-dir/download/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.npmmirror.com/find-cache-dir/download/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha1-swxbbv8HMHMa6pu9nb7L2AJW1ks= + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-file-up@^0.1.2: + version "0.1.3" + resolved "https://registry.npmmirror.com/find-file-up/download/find-file-up-0.1.3.tgz#cf68091bcf9f300a40da411b37da5cce5a2fbea0" + integrity sha1-z2gJG8+fMApA2kEbN9pczlovvqA= + dependencies: + fs-exists-sync "^0.1.0" + resolve-dir "^0.1.0" + +find-pkg@^0.1.0: + version "0.1.2" + resolved "https://registry.npmmirror.com/find-pkg/download/find-pkg-0.1.2.tgz#1bdc22c06e36365532e2a248046854b9788da557" + integrity sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc= + dependencies: + find-file-up "^0.1.2" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1633619060464&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1633619060464&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1633619060464&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/find-up/download/find-up-5.0.0.tgz?cache=0&sync_timestamp=1633619060464&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw= + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +findup@0.1.5: + version "0.1.5" + resolved "https://registry.npmmirror.com/findup/download/findup-0.1.5.tgz#8ad929a3393bac627957a7e5de4623b06b0e2ceb" + integrity sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs= + dependencies: + colors "~0.6.0-1" + commander "~2.1.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/flat-cache/download/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE= + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.4" + resolved "https://registry.npmmirror.com/flatted/download/flatted-3.2.4.tgz?cache=0&sync_timestamp=1636473935729&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" + integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +fn-name@~2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/fn-name/download/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" + integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc= + +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.npmmirror.com/follow-redirects/download/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio= + dependencies: + debug "=3.1.0" + +follow-redirects@^1.0.0: + version "1.14.5" + resolved "https://registry.npmmirror.com/follow-redirects/download/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" + integrity sha1-8JpYSJgdPHcrU5Iwl3hSP42Fw4E= + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/foreach/download/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.npmmirror.com/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/forwarded/download/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmmirror.com/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/from2/download/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/fs-constants/download/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha1-a+Dem+mYzhavivwkSXue6bfM2a0= + +fs-exists-sync@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/fs-exists-sync/download/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= + +fs-extra@8.1.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/fs-extra/download/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA= + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^10.0.0: + version "10.0.0" + resolved "https://registry.npmmirror.com/fs-extra/download/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" + integrity sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E= + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/fs-extra/download/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" + integrity sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^3.0.0" + universalify "^0.1.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/fs-extra/download/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha1-TxicRKoSO4lfcigE9V6iPq3DSOk= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.npmmirror.com/fs-extra/download/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha1-WVRGDHZKjaIJS6NVS/g55rmnyG0= + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^1.2.7: + version "1.2.7" + resolved "https://registry.npmmirror.com/fs-minipass/download/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha1-zP+FcIQef+QmVpPaiJNsVa7X98c= + dependencies: + minipass "^2.6.0" + +fs-minipass@^2.0.0, fs-minipass@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/fs-minipass/download/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs= + dependencies: + minipass "^3.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.npmmirror.com/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.npmmirror.com/fsevents/download/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg= + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro= + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +g-status@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/g-status/download/g-status-2.0.2.tgz#270fd32119e8fc9496f066fe5fe88e0a6bc78b97" + integrity sha1-Jw/TIRno/JSW8Gb+X+iOCmvHi5c= + dependencies: + arrify "^1.0.1" + matcher "^1.0.0" + simple-git "^1.85.0" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.npmmirror.com/gauge/download/gauge-2.7.4.tgz?cache=0&sync_timestamp=1636989909574&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fgauge%2Fdownload%2Fgauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +generic-names@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/generic-names/download/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872" + integrity sha1-+KN46tLMqno08DF7BVVIMq5BuHI= + dependencies: + loader-utils "^1.1.0" + +genfun@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/genfun/download/genfun-4.0.1.tgz#ed10041f2e4a7f1b0a38466d17a5c3e27df1dfc1" + integrity sha1-7RAEHy5KfxsKOEZtF6XD4n3x38E= + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmmirror.com/gensync/download/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA= + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y= + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.npmmirror.com/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha1-tf3nfyLL4185C04ImSLFC85u9mQ= + +get-pkg-repo@^4.0.0: + version "4.2.1" + resolved "https://registry.npmmirror.com/get-pkg-repo/download/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" + integrity sha1-dZc+HIBQxz9IGQxSBHxM7jrL84U= + dependencies: + "@hutson/parse-repository-url" "^3.0.0" + hosted-git-info "^4.0.0" + through2 "^2.0.0" + yargs "^16.2.0" + +get-port@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/get-port/download/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" + integrity sha1-BGntB1Y0ed5u+5hrrwU9zX1OMZM= + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/get-stream/download/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.0.0, get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0, get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/get-stream/download/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha1-SWaheV7lrOZecGxLe+txJX1uItM= + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmmirror.com/get-stream/download/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha1-omLY7vZ6ztV8KFKtYWdSakPL97c= + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha1-f9uByQAQH71WTdXxowr1qtweWNY= + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.npmmirror.com/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +ghooks@^2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/ghooks/download/ghooks-2.0.4.tgz#fd50e040ff548906ae42cb51793a01bfe24567b9" + integrity sha1-/VDgQP9UiQauQstReToBv+JFZ7k= + dependencies: + findup "0.1.5" + lodash.clone "4.5.0" + manage-path "2.0.0" + opt-cli "1.5.1" + path-exists "3.0.0" + spawn-command "0.0.2" + +git-branch@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/git-branch/download/git-branch-1.0.0.tgz#64cc7dd75da2d81a9d4679087c1f8b56e6bd2d3d" + integrity sha1-ZMx9112i2BqdRnkIfB+LVua9LT0= + +git-config-path@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/git-config-path/download/git-config-path-1.0.1.tgz#6d33f7ed63db0d0e118131503bab3aca47d54664" + integrity sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ= + dependencies: + extend-shallow "^2.0.1" + fs-exists-sync "^0.1.0" + homedir-polyfill "^1.0.0" + +git-raw-commits@^2.0.0, git-raw-commits@^2.0.8: + version "2.0.10" + resolved "https://registry.npmmirror.com/git-raw-commits/download/git-raw-commits-2.0.10.tgz#e2255ed9563b1c9c3ea6bd05806410290297bbc1" + integrity sha1-4iVe2VY7HJw+pr0FgGQQKQKXu8E= + dependencies: + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +git-remote-origin-url@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/git-remote-origin-url/download/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= + dependencies: + gitconfiglocal "^1.0.0" + pify "^2.3.0" + +git-repo-name@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/git-repo-name/download/git-repo-name-0.6.0.tgz#af09884656aa537ec625c7087008175cd61228ff" + integrity sha1-rwmIRlaqU37GJccIcAgXXNYSKP8= + dependencies: + cwd "^0.9.1" + file-name "^0.1.0" + lazy-cache "^1.0.4" + remote-origin-url "^0.5.1" + +git-semver-tags@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/git-semver-tags/download/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" + integrity sha1-YxkbzYCbDsPhUbpHUcFsRE5bV4A= + dependencies: + meow "^8.0.0" + semver "^6.0.0" + +git-up@^4.0.0: + version "4.0.5" + resolved "https://registry.npmmirror.com/git-up/download/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759" + integrity sha1-57twmBo36i+4/gSWaYAKH5oB11k= + dependencies: + is-ssh "^1.3.0" + parse-url "^6.0.0" + +git-url-parse@^11.4.4: + version "11.6.0" + resolved "https://registry.npmmirror.com/git-url-parse/download/git-url-parse-11.6.0.tgz#c634b8de7faa66498a2b88932df31702c67df605" + integrity sha1-xjS43n+qZkmKK4iTLfMXAsZ99gU= + dependencies: + git-up "^4.0.0" + +git-username@^0.5.0: + version "0.5.1" + resolved "https://registry.npmmirror.com/git-username/download/git-username-0.5.1.tgz#432a41b34a19607892354004c9893a8829ffa4f0" + integrity sha1-QypBs0oZYHiSNUAEyYk6iCn/pPA= + dependencies: + remote-origin-url "^0.4.0" + +gitconfiglocal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/gitconfiglocal/download/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= + dependencies: + ini "^1.3.2" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1632953971963&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1632953971963&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ= + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.0" + resolved "https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha1-0VU1r3cy4C6Uj0xBYovZECk/YCM= + dependencies: + 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" + +global-dirs@^0.1.0, global-dirs@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/global-dirs/download/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= + dependencies: + ini "^1.3.4" + +global-dirs@^2.0.1: + version "2.1.0" + resolved "https://registry.npmmirror.com/global-dirs/download/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" + integrity sha1-6QRqScgG/wTWwYJeGWyPAJHo300= + dependencies: + ini "1.3.7" + +global-modules@^0.2.3: + version "0.2.3" + resolved "https://registry.npmmirror.com/global-modules/download/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" + integrity sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0= + dependencies: + global-prefix "^0.1.4" + is-windows "^0.2.0" + +global-prefix@^0.1.4: + version "0.1.5" + resolved "https://registry.npmmirror.com/global-prefix/download/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" + integrity sha1-jTvGuNo8qBEqFg2NSW/wRiv+948= + dependencies: + homedir-polyfill "^1.0.0" + ini "^1.3.4" + is-windows "^0.2.0" + which "^1.2.12" + +global@^4.3.2: + version "4.4.0" + resolved "https://registry.npmmirror.com/global/download/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha1-PnsQUXkAajI+1xqvyj6cV6XMZAY= + dependencies: + min-document "^2.19.0" + process "^0.11.10" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmmirror.com/globals/download/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= + +globals@^13.6.0, globals@^13.9.0: + version "13.12.0" + resolved "https://registry.npmmirror.com/globals/download/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" + integrity sha1-TXM3YDBCMKAILtluIeXFZfiYCJ4= + dependencies: + type-fest "^0.20.2" + +globby@^11.0.2, globby@^11.0.3: + version "11.0.4" + resolved "https://registry.npmmirror.com/globby/download/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha1-LLr/d8Lypi5x6bKBOme5ejowAaU= + dependencies: + 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" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/globby/download/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.npmmirror.com/globby/download/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.npmmirror.com/globby/download/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + integrity sha1-/QKacGxwPSm90XD0tts6P3p8tj0= + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + +got@^6.7.1: + version "6.7.1" + resolved "https://registry.npmmirror.com/got/download/got-6.7.1.tgz?cache=0&sync_timestamp=1637211897245&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fgot%2Fdownload%2Fgot-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + +got@^9.6.0: + version "9.6.0" + resolved "https://registry.npmmirror.com/got/download/got-9.6.0.tgz?cache=0&sync_timestamp=1637211897245&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fgot%2Fdownload%2Fgot-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU= + dependencies: + "@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" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4: + version "4.2.8" + resolved "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo= + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.npmmirror.com/graceful-readlink/download/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + +gray-matter@^4.0.1: + version "4.0.3" + resolved "https://registry.npmmirror.com/gray-matter/download/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" + integrity sha1-6JPAZIJd5z6h9ffYjHqfcnQoh5g= + dependencies: + js-yaml "^3.13.1" + kind-of "^6.0.2" + section-matter "^1.0.0" + strip-bom-string "^1.0.0" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/handle-thing/download/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha1-hX95zjWVgMNA1DCBzGSJcNC7I04= + +handlebars@^4.7.6: + version "4.7.7" + resolved "https://registry.npmmirror.com/handlebars/download/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha1-nOM0FqrQLb1sj6+oJA1dmABJRaE= + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.npmmirror.com/har-validator/download/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha1-HwgDufjLIMD6E4It8ezds2veHv0= + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/hard-rejection/download/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha1-HG7aXBaFxjlCdm15u0Cudzzs2IM= + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/has-bigints/download/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/has-symbols/download/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM= + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU= + dependencies: + has-symbols "^1.0.2" + +has-unicode@^2.0.0, has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npmmirror.com/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-value/download/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/has-values/download/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-values/download/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/has-yarn/download/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" + integrity sha1-E34RNUp7W/EapctknPDG8/8rLnc= + +has@^1.0.0, has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/hash-sum/download/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npmmirror.com/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.x, he@^1.1.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/hex-color-regex/download/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4= + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hogan.js@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/hogan.js/download/hogan.js-3.0.2.tgz#4cd9e1abd4294146e7679e41d7898732b02c7bfd" + integrity sha1-TNnhq9QpQUbnZ55B14mHMrAse/0= + dependencies: + mkdirp "0.3.0" + nopt "1.0.10" + +homedir-polyfill@^1.0.0: + version "1.0.3" + resolved "https://registry.npmmirror.com/homedir-polyfill/download/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg= + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4, hosted-git-info@^2.4.2: + version "2.8.9" + resolved "https://registry.npmmirror.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k= + +hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: + version "4.0.2" + resolved "https://registry.npmmirror.com/hosted-git-info/download/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" + integrity sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE= + dependencies: + lru-cache "^6.0.0" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmmirror.com/hpack.js/download/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/hsl-regex/download/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/hsla-regex/download/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-entities@^1.3.1: + version "1.4.0" + resolved "https://registry.npmmirror.com/html-entities/download/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" + integrity sha1-z70bAdKvr5rcobEK59/6uYxx0tw= + +html-minifier@^3.2.3: + version "3.5.21" + resolved "https://registry.npmmirror.com/html-minifier/download/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw= + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.2.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/html-tags/download/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" + integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= + +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/html-tags/download/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" + integrity sha1-e15vfmZen7QfMAB+2eDUHpf7IUA= + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-6.1.0.tgz?cache=0&sync_timestamp=1636640853072&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha1-xNditsM3GgXb5l6UrkOp+EX7j7c= + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-cache-semantics@^3.8.0: + version "3.8.1" + resolved "https://registry.npmmirror.com/http-cache-semantics/download/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" + integrity sha1-ObDhat2bYFvwqe89nar0hDtMrNI= + +http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/http-cache-semantics/download/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha1-SekcXL82yblLz81xwj1SSex045A= + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmmirror.com/http-deceiver/download/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.npmmirror.com/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1636932095353&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmmirror.com/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1636932095353&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.npmmirror.com/http-errors/download/http-errors-1.7.3.tgz?cache=0&sync_timestamp=1636932095353&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-parser-js@>=0.5.1: + version "0.5.5" + resolved "https://registry.npmmirror.com/http-parser-js/download/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" + integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== + +http-proxy-agent@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/http-proxy-agent/download/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" + integrity sha1-5IIb7vWyFCogJr1zkm/lN2McVAU= + dependencies: + agent-base "4" + debug "3.1.0" + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/http-proxy-agent/download/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha1-ioyO9/WTLM+VPClsqCkblap0qjo= + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.npmmirror.com/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha1-GDx9xKoUeRUDBkmMIQza+WCApDo= + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0: + version "1.18.1" + resolved "https://registry.npmmirror.com/http-proxy/download/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk= + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1637178666193&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +https-proxy-agent@^2.1.0: + version "2.2.4" + resolved "https://registry.npmmirror.com/https-proxy-agent/download/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" + integrity sha1-TuenN6vZJniik9mzShr00NCMeHs= + dependencies: + agent-base "^4.3.0" + debug "^3.1.0" + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/https-proxy-agent/download/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha1-4qkFQqu2inYuCghQ9sntrf2FBrI= + dependencies: + agent-base "6" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/human-signals/download/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M= + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/human-signals/download/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha1-3JH8ukLk0G5Kuu0zs+ejwC9RTqA= + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/humanize-ms/download/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + dependencies: + ms "^2.0.0" + +humps@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/humps/download/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa" + integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao= + +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: + version "0.4.24" + resolved "https://registry.npmmirror.com/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.npmmirror.com/iconv-lite/download/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE= + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= + +icss-utils@^4.1.0: + version "4.1.1" + resolved "https://registry.npmmirror.com/icss-utils/download/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc= + dependencies: + postcss "^7.0.14" + +icss-utils@^5.0.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/icss-utils/download/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha1-xr5oWKvQE9do6YNmrkfiXViHsa4= + +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.npmmirror.com/ieee754/download/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.npmmirror.com/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore-walk@^3.0.3: + version "3.0.4" + resolved "https://registry.npmmirror.com/ignore-walk/download/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" + integrity sha1-yaCfabfHtHml10rBo8DUI20qYzU= + dependencies: + minimatch "^3.0.4" + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.npmmirror.com/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1635926702618&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM= + +ignore@^4.0.3, ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1635926702618&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + +ignore@^5.1.1, ignore@^5.1.4, ignore@^5.1.8: + version "5.1.9" + resolved "https://registry.npmmirror.com/ignore/download/ignore-5.1.9.tgz?cache=0&sync_timestamp=1635926702618&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" + integrity sha1-nsGly+jhRG7GDUQgBg1Dqm5zgvs= + +image-size@0.8.3: + version "0.8.3" + resolved "https://registry.npmmirror.com/image-size/download/image-size-0.8.3.tgz#f0b568857e034f29baffd37013587f2c0cad8b46" + integrity sha1-8LVohX4DTym6/9NwE1h/LAyti0Y= + dependencies: + queue "6.0.1" + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.npmmirror.com/image-size/download/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= + +immediate@^3.2.3: + version "3.3.0" + resolved "https://registry.npmmirror.com/immediate/download/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" + integrity sha1-Gu8iVReDa8338qLeJgDHn/AmkmY= + +immutable@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/immutable/download/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" + integrity sha1-uG943mre82CDle+yaakUYnl+LCM= + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/import-cwd/download/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/import-cwd/download/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" + integrity sha1-IIRVR3GAFRJuqbNna3WS+4vUz5I= + dependencies: + import-from "^3.0.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/import-fresh/download/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmmirror.com/import-fresh/download/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs= + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/import-from/download/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/import-from/download/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" + integrity sha1-BVz+w4zVon2AV8pRN219O/CJGWY= + dependencies: + resolve-from "^5.0.0" + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/import-lazy/download/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +import-local@^3.0.2: + version "3.0.3" + resolved "https://registry.npmmirror.com/import-local/download/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" + integrity sha1-TVHCxJXKk5PaJZ7Ga2LgIpICEeA= + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/indent-string/download/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/indent-string/download/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE= + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/indexes-of/download/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3, infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmmirror.com/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmmirror.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@1.3.7: + version "1.3.7" + resolved "https://registry.npmmirror.com/ini/download/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" + integrity sha1-oJNj4ZEZcuoW16iFEAXYTPCamoQ= + +ini@^1.3.2, ini@^1.3.3, ini@^1.3.4, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.npmmirror.com/ini/download/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw= + +init-package-json@^2.0.2: + version "2.0.5" + resolved "https://registry.npmmirror.com/init-package-json/download/init-package-json-2.0.5.tgz#78b85f3c36014db42d8f32117252504f68022646" + integrity sha1-eLhfPDYBTbQtjzIRclJQT2gCJkY= + dependencies: + npm-package-arg "^8.1.5" + promzard "^0.3.0" + read "~1.0.1" + read-package-json "^4.1.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^3.0.0" + +inquirer@^6.2.2, inquirer@^6.5.2: + version "6.5.2" + resolved "https://registry.npmmirror.com/inquirer/download/inquirer-6.5.2.tgz?cache=0&sync_timestamp=1633472902265&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Finquirer%2Fdownload%2Finquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha1-rVCUI3XQNtMn/1KMCL1fqwiZKMo= + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +inquirer@^7.3.3: + version "7.3.3" + resolved "https://registry.npmmirror.com/inquirer/download/inquirer-7.3.3.tgz?cache=0&sync_timestamp=1633472902265&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Finquirer%2Fdownload%2Finquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM= + dependencies: + 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-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1634404775654&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc= + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/internal-slot/download/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha1-c0fjB97uovqsKsYgXUvH00ln9Zw= + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/ip-regex/download/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.4, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.npmmirror.com/ip/download/ip-1.1.5.tgz?cache=0&sync_timestamp=1632754298118&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fip%2Fdownload%2Fip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.npmmirror.com/ipaddr.js/download/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha1-v/OFQ+64mEglB5/zoqjmy9RngbM= + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-absolute-url/download/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/is-absolute-url/download/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npmmirror.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= + dependencies: + kind-of "^6.0.0" + +is-alphabetical@^1.0.0: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-alphabetical/download/is-alphabetical-1.0.4.tgz?cache=0&sync_timestamp=1636008661573&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-alphabetical%2Fdownload%2Fis-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha1-nn1rlJFr4iFTdF0YTCmMv5hqaG0= + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-alphanumerical/download/is-alphanumerical-1.0.4.tgz?cache=0&sync_timestamp=1636009560018&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-alphanumerical%2Fdownload%2Fis-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha1-frmiQx+FX2se8aeOMm31FWlsTb8= + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-arguments/download/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha1-FbP4j9oB8ql/7ITKdhpWDxI++ps= + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.npmmirror.com/is-arrayish/download/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM= + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-bigint/download/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM= + dependencies: + has-bigints "^1.0.1" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk= + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npmmirror.com/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= + +is-buffer@^2.0.2: + version "2.0.5" + resolved "https://registry.npmmirror.com/is-buffer/download/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE= + +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.npmmirror.com/is-callable/download/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU= + +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.npmmirror.com/is-ci/download/is-ci-1.2.1.tgz?cache=0&sync_timestamp=1635261114993&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-ci%2Fdownload%2Fis-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw= + dependencies: + ci-info "^1.5.0" + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-ci/download/is-ci-2.0.0.tgz?cache=0&sync_timestamp=1635261114993&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-ci%2Fdownload%2Fis-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= + dependencies: + ci-info "^2.0.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-color-stop/download/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.0: + version "2.8.0" + resolved "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha1-AyEzbD0JJeSX/Zf12VyxFKXM1Ug= + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.npmmirror.com/is-date-object/download/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8= + dependencies: + has-tostringtag "^1.0.0" + +is-decimal@^1.0.0: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-decimal/download/is-decimal-1.0.4.tgz?cache=0&sync_timestamp=1636008960795&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-decimal%2Fdownload%2Fis-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha1-ZaOllYocW2OnBuGzM9fNn2MNP6U= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npmmirror.com/is-descriptor/download/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-descriptor/download/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.npmmirror.com/is-directory/download/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/is-glob/download/is-glob-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-glob%2Fdownload%2Fis-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-glob%2Fdownload%2Fis-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ= + dependencies: + is-extglob "^2.1.1" + +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-hexadecimal/download/is-hexadecimal-1.0.4.tgz?cache=0&sync_timestamp=1636011644146&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-hexadecimal%2Fdownload%2Fis-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha1-zDXJdYjaS9Saju3WvECC1E3LI6c= + +is-installed-globally@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/is-installed-globally/download/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= + dependencies: + global-dirs "^0.1.0" + is-path-inside "^1.0.0" + +is-installed-globally@^0.3.1: + version "0.3.2" + resolved "https://registry.npmmirror.com/is-installed-globally/download/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" + integrity sha1-/T76ee5nDRGHIzGC1bCh3QAxMUE= + dependencies: + global-dirs "^2.0.1" + is-path-inside "^3.0.1" + +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-lambda/download/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-module/download/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/is-negative-zero/download/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ= + +is-npm@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-npm/download/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= + +is-npm@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/is-npm/download/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" + integrity sha1-yQ3YOAaW34enptgjwg0LErvjyE0= + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.npmmirror.com/is-number-object/download/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha1-anqvg4x/BoalC0VT9+VKlklOifA= + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= + +is-obj@^1.0.0, is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI= + +is-observable@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-observable/download/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" + integrity sha1-s+mGyPRN6VCGfKtUA/WjRlAFl14= + dependencies: + symbol-observable "^1.1.0" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-path-cwd/download/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s= + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + integrity sha1-WsSLNF72dTOb1sekipEhELJBz1I= + dependencies: + is-path-inside "^1.0.0" + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha1-v+Lcomxp85cmWkAJljYCk1oFOss= + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-path-inside/download/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-path-inside/download/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha1-fJgQWH1lmkDSe8201WFuqwWUlLI= + dependencies: + path-is-inside "^1.0.2" + +is-path-inside@^3.0.1: + version "3.0.3" + resolved "https://registry.npmmirror.com/is-path-inside/download/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha1-0jE2LlOgf/Kw4Op/7QSRYf/RYoM= + +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-obj@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-plain-obj/download/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha1-ReQuN/zPH0Dajl927iFRWEDAkoc= + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1632754327323&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= + dependencies: + isobject "^3.0.1" + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/is-plain-object/download/is-plain-object-5.0.0.tgz?cache=0&sync_timestamp=1632754327323&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-plain-object%2Fdownload%2Fis-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha1-RCf1CrNCnpAl6n1S6QQ6nvQVk0Q= + +is-promise@^2.1.0: + version "2.2.2" + resolved "https://registry.npmmirror.com/is-promise/download/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha1-OauVnMv5p3TPB597QMeib3YxNfE= + +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-redirect/download/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= + +is-reference@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/is-reference/download/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha1-iy2sCzcfS8mU/eq6nrVC0DAC0Lc= + dependencies: + "@types/estree" "*" + +is-regex@^1.0.4, is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/is-regex/download/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg= + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-regexp/download/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-resolvable@^1.0.0, is-resolvable@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-resolvable/download/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg= + +is-retry-allowed@^1.0.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/is-retry-allowed/download/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha1-13hIi9CkZmo76KFIK58rqv7eqLQ= + +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha1-l7DIX72stZycRG/mU7gs8rW3z+Y= + +is-ssh@^1.3.0: + version "1.3.3" + resolved "https://registry.npmmirror.com/is-ssh/download/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e" + integrity sha1-fxMyhczX8sLH/Il7dxtT2VorLH4= + dependencies: + protocols "^1.1.0" + +is-stream@^1.0.0, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/is-stream/download/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha1-+sHj1TuXrVqdCunO8jifWBClwHc= + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/is-string/download/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0= + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-symbol/download/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha1-ptrJO2NbBjymhyI23oiRClevE5w= + dependencies: + has-symbols "^1.0.2" + +is-text-path@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-text-path/download/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= + dependencies: + text-extensions "^1.0.0" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-weakref@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-weakref/download/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" + integrity sha1-hC26TsF/qayYUN8tbvvBc3J08qI= + dependencies: + call-bind "^1.0.0" + +is-what@^3.12.0: + version "3.14.1" + resolved "https://registry.npmmirror.com/is-what/download/is-what-3.14.1.tgz?cache=0&sync_timestamp=1634283459136&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-what%2Fdownload%2Fis-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE= + +is-whitespace@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/is-whitespace/download/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f" + integrity sha1-Fjnssb4DauxppUy7QBz77XEUq38= + +is-windows@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/is-windows/download/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" + integrity sha1-3hqm1j6indJIc3tp8f+LgALSEIw= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-wsl/download/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/is-yarn-global/download/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha1-1QLTOCWQ6jAEiTdGdUyJE5lz4jI= + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isarray@^2.0.1: + version "2.0.5" + resolved "https://registry.npmmirror.com/isarray/download/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.npmmirror.com/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istextorbinary@^2.2.1: + version "2.6.0" + resolved "https://registry.npmmirror.com/istextorbinary/download/istextorbinary-2.6.0.tgz#60776315fb0fa3999add276c02c69557b9ca28ab" + integrity sha1-YHdjFfsPo5ma3SdsAsaVV7nKKKs= + dependencies: + binaryextensions "^2.1.2" + editions "^2.2.0" + textextensions "^2.5.0" + +jake@^10.6.1: + version "10.8.2" + resolved "https://registry.npmmirror.com/jake/download/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" + integrity sha1-68nehVgWCmbYLQ6txqLlj7xQCns= + dependencies: + async "0.9.x" + chalk "^2.4.2" + filelist "^1.0.1" + minimatch "^3.0.4" + +javascript-stringify@^1.6.0: + version "1.6.0" + resolved "https://registry.npmmirror.com/javascript-stringify/download/javascript-stringify-1.6.0.tgz#142d111f3a6e3dae8f4a9afd77d45855b5a9cce3" + integrity sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM= + +javascript-stringify@^2.0.1: + version "2.1.0" + resolved "https://registry.npmmirror.com/javascript-stringify/download/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" + integrity sha1-J8dlOb4U2L0Sghmi1zGwkzeQTnk= + +jest-diff@^24.3.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-diff/download/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha1-kxt9DVd4obr3RSy4FuMl43JAVdo= + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-diff@^27.0.0: + version "27.4.2" + resolved "https://registry.npmmirror.com/jest-diff/download/jest-diff-27.4.2.tgz#786b2a5211d854f848e2dcc1e324448e9481f36f" + integrity sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.4.0" + jest-get-type "^27.4.0" + pretty-format "^27.4.2" + +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-get-type/download/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4= + +jest-get-type@^27.4.0: + version "27.4.0" + resolved "https://registry.npmmirror.com/jest-get-type/download/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" + integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== + +jest-util@^26.1.0: + version "26.6.2" + resolved "https://registry.npmmirror.com/jest-util/download/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha1-kHU12+TVpstMR6ybkm9q8pV2y8E= + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-worker@^26.2.1: + version "26.6.2" + resolved "https://registry.npmmirror.com/jest-worker/download/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha1-f3LLxNZDw2Xie5/XdfnQ6qnHqO0= + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +js-beautify@^1.6.12: + version "1.14.0" + resolved "https://registry.npmmirror.com/js-beautify/download/js-beautify-1.14.0.tgz#2ce790c555d53ce1e3d7363227acf5dc69024c2d" + integrity sha1-LOeQxVXVPOHj1zYyJ6z13GkCTC0= + dependencies: + config-chain "^1.1.12" + editorconfig "^0.15.3" + glob "^7.1.3" + nopt "^5.0.0" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmmirror.com/js-yaml/download/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc= + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.npmmirror.com/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmmirror.com/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/json-buffer/download/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmmirror.com/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha1-rnvLNlard6c7pcSb9lTzjmtoYOI= + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/json-schema/download/json-schema-0.4.0.tgz?cache=0&sync_timestamp=1636423535512&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjson-schema%2Fdownload%2Fjson-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json3@^3.3.3: + version "3.3.3" + resolved "https://registry.npmmirror.com/json3/download/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E= + +json5@2.x, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.npmmirror.com/json5/download/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM= + dependencies: + minimist "^1.2.5" + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.npmmirror.com/json5/download/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/json5/download/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= + dependencies: + minimist "^1.2.0" + +jsonfile@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/jsonfile/download/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" + integrity sha1-pezG9l9T9mLEQVx2daAzHQmS7GY= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmmirror.com/jsonfile/download/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4= + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.2.0, jsonparse@^1.3.1: + version "1.3.1" + resolved "https://registry.npmmirror.com/jsonparse/download/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.npmmirror.com/jsprim/download/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/keyv/download/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk= + dependencies: + json-buffer "3.0.0" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/killable/download/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npmmirror.com/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/kind-of/download/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= + +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.npmmirror.com/kind-of/download/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0= + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/kleur/download/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4= + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/last-call-webpack-plugin/download/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha1-l0LfDhDjz0blwDgcLekNOnotdVU= + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +latest-version@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/latest-version/download/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" + integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= + dependencies: + package-json "^4.0.0" + +latest-version@^5.0.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/latest-version/download/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha1-EZ3+kI/jjRXfpD7NE/oS7Igy+s4= + dependencies: + package-json "^6.3.0" + +lazy-cache@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= + +lerna@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/lerna/download/lerna-4.0.0.tgz#b139d685d50ea0ca1be87713a7c2f44a5b678e9e" + integrity sha1-sTnWhdUOoMob6HcTp8L0Sltnjp4= + dependencies: + "@lerna/add" "4.0.0" + "@lerna/bootstrap" "4.0.0" + "@lerna/changed" "4.0.0" + "@lerna/clean" "4.0.0" + "@lerna/cli" "4.0.0" + "@lerna/create" "4.0.0" + "@lerna/diff" "4.0.0" + "@lerna/exec" "4.0.0" + "@lerna/import" "4.0.0" + "@lerna/info" "4.0.0" + "@lerna/init" "4.0.0" + "@lerna/link" "4.0.0" + "@lerna/list" "4.0.0" + "@lerna/publish" "4.0.0" + "@lerna/run" "4.0.0" + "@lerna/version" "4.0.0" + import-local "^3.0.2" + npmlog "^4.1.2" + +less-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/less-loader/download/less-loader-5.0.0.tgz?cache=0&sync_timestamp=1634563356714&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fless-loader%2Fdownload%2Fless-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" + integrity sha1-SY3eOmxsT4h0WO6e0/CGoSrRtGY= + dependencies: + clone "^2.1.1" + loader-utils "^1.1.0" + pify "^4.0.1" + +less-plugin-npm-import@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/less-plugin-npm-import/download/less-plugin-npm-import-2.1.0.tgz#823e6986c93318a98171ca858848b6bead55bf3e" + integrity sha1-gj5phskzGKmBccqFiEi2vq1Vvz4= + dependencies: + promise "~7.0.1" + resolve "~1.1.6" + +less@^4.1.1: + version "4.1.2" + resolved "https://registry.npmmirror.com/less/download/less-4.1.2.tgz#6099ee584999750c2624b65f80145f8674e4b4b0" + integrity sha1-YJnuWEmZdQwmJLZfgBRfhnTktLA= + dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" + tslib "^2.3.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + needle "^2.5.2" + source-map "~0.6.0" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/levn/download/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4= + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +libnpmaccess@^4.0.1: + version "4.0.3" + resolved "https://registry.npmmirror.com/libnpmaccess/download/libnpmaccess-4.0.3.tgz#dfb0e5b0a53c315a2610d300e46b4ddeb66e7eec" + integrity sha1-37DlsKU8MVomENMA5GtN3rZufuw= + dependencies: + aproba "^2.0.0" + minipass "^3.1.1" + npm-package-arg "^8.1.2" + npm-registry-fetch "^11.0.0" + +libnpmpublish@^4.0.0: + version "4.0.2" + resolved "https://registry.npmmirror.com/libnpmpublish/download/libnpmpublish-4.0.2.tgz#be77e8bf5956131bcb45e3caa6b96a842dec0794" + integrity sha1-vnfov1lWExvLRePKprlqhC3sB5Q= + dependencies: + normalize-package-data "^3.0.2" + npm-package-arg "^8.1.2" + npm-registry-fetch "^11.0.0" + semver "^7.1.3" + ssri "^8.0.1" + +lilconfig@^2.0.3: + version "2.0.4" + resolved "https://registry.npmmirror.com/lilconfig/download/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" + integrity sha1-9FB9BD1wWLOAtqj1y3vNSzTO4II= + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmmirror.com/lines-and-columns/download/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +linkify-it@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/linkify-it/download/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" + integrity sha1-47VGl+eL+RXHCjis14/QngBYsc8= + dependencies: + uc.micro "^1.0.1" + +lint-staged@^8.2.1: + version "8.2.1" + resolved "https://registry.npmmirror.com/lint-staged/download/lint-staged-8.2.1.tgz#752fcf222d9d28f323a3b80f1e668f3654ff221f" + integrity sha1-dS/PIi2dKPMjo7gPHmaPNlT/Ih8= + dependencies: + chalk "^2.3.1" + commander "^2.14.1" + cosmiconfig "^5.2.0" + debug "^3.1.0" + dedent "^0.7.0" + del "^3.0.0" + execa "^1.0.0" + g-status "^2.0.2" + is-glob "^4.0.0" + is-windows "^1.0.2" + listr "^0.14.2" + listr-update-renderer "^0.5.0" + lodash "^4.17.11" + log-symbols "^2.2.0" + micromatch "^3.1.8" + npm-which "^3.0.1" + p-map "^1.1.1" + path-is-inside "^1.0.2" + pify "^3.0.0" + please-upgrade-node "^3.0.2" + staged-git-files "1.1.2" + string-argv "^0.0.2" + stringify-object "^3.2.2" + yup "^0.27.0" + +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/listr-silent-renderer/download/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" + integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= + +listr-update-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/listr-update-renderer/download/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" + integrity sha1-Tqg2hUinuK7LfgbYyVy0WuLt5qI= + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^2.3.0" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/listr-verbose-renderer/download/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" + integrity sha1-8RMhZ1NepMEmEQK58o2sfLoeA9s= + dependencies: + chalk "^2.4.1" + cli-cursor "^2.1.0" + date-fns "^1.27.2" + figures "^2.0.0" + +listr@^0.14.2: + version "0.14.3" + resolved "https://registry.npmmirror.com/listr/download/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" + integrity sha1-L+qQlgTkNL5GTFC926DUlpKPpYY= + dependencies: + "@samverschueren/stream-to-observable" "^0.3.0" + is-observable "^1.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.5.0" + listr-verbose-renderer "^0.5.0" + p-map "^2.0.0" + rxjs "^6.3.3" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/load-json-file/download/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +load-json-file@^6.2.0: + version "6.2.0" + resolved "https://registry.npmmirror.com/load-json-file/download/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" + integrity sha1-XHdwtCyvqXB0yihIcHxhZi9CUaE= + dependencies: + graceful-fs "^4.1.15" + parse-json "^5.0.0" + strip-bom "^4.0.0" + type-fest "^0.6.0" + +load-script@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/load-script/download/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4" + integrity sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ= + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.npmmirror.com/loader-runner/download/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.npmmirror.com/loader-utils/download/loader-utils-0.2.17.tgz?cache=0&sync_timestamp=1636687964882&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1636687964882&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/loader-utils/download/loader-utils-2.0.2.tgz?cache=0&sync_timestamp=1636687964882&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" + integrity sha1-1uO0+4GHByGuTghoqxHdY4NowSk= + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/locate-path/download/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/locate-path/download/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/locate-path/download/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha1-VTIeswn+u8WcSAHZMackUqaB0oY= + dependencies: + p-locate "^5.0.0" + +lodash._baseclone@~4.5.0: + version "4.5.7" + resolved "https://registry.npmmirror.com/lodash._baseclone/download/lodash._baseclone-4.5.7.tgz#ce42ade08384ef5d62fa77c30f61a46e686f8434" + integrity sha1-zkKt4IOE711i+nfDD2GkbmhvhDQ= + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= + +lodash.clone@4.3.2: + version "4.3.2" + resolved "https://registry.npmmirror.com/lodash.clone/download/lodash.clone-4.3.2.tgz#e56b176b6823a7dde38f7f2bf58de7d5971200e9" + integrity sha1-5WsXa2gjp93jj38r9Y3n1ZcSAOk= + dependencies: + lodash._baseclone "~4.5.0" + +lodash.clone@4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/lodash.clone/download/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" + integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmmirror.com/lodash.debounce/download/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.get@^4: + version "4.4.2" + resolved "https://registry.npmmirror.com/lodash.get/download/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + +lodash.ismatch@^4.4.0: + version "4.4.0" + resolved "https://registry.npmmirror.com/lodash.ismatch/download/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" + integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmmirror.com/lodash.merge/download/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo= + +lodash.template@^4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/lodash.template/download/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks= + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/lodash.templatesettings/download/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM= + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.npmmirror.com/lodash.truncate/download/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@4.x, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash/download/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw= + +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/log-symbols/download/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= + dependencies: + chalk "^1.0.0" + +log-symbols@^2.1.0, log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/log-symbols/download/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo= + dependencies: + chalk "^2.0.1" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/log-update/download/log-update-2.3.0.tgz?cache=0&sync_timestamp=1634542395049&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flog-update%2Fdownload%2Flog-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" + integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + +loglevel@^1.6.8: + version "1.8.0" + resolved "https://registry.npmmirror.com/loglevel/download/loglevel-1.8.0.tgz?cache=0&sync_timestamp=1637240463597&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floglevel%2Fdownload%2Floglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" + integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.npmmirror.com/lower-case/download/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lower-case@^2.0.1, lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/lower-case/download/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha1-b6I3xj29xKgsoP2ILkci3F5jTig= + dependencies: + tslib "^2.0.3" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/lowercase-keys/download/lowercase-keys-1.0.1.tgz?cache=0&sync_timestamp=1634551715073&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flowercase-keys%2Fdownload%2Flowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha1-b54wtHCE2XGnyCD/FabFFnt0wm8= + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/lowercase-keys/download/lowercase-keys-2.0.0.tgz?cache=0&sync_timestamp=1634551715073&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flowercase-keys%2Fdownload%2Flowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha1-JgPni3tLAAbLyi+8yKMgJVislHk= + +lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache@^4.1.5: + version "4.1.5" + resolved "https://registry.npmmirror.com/lru-cache/download/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80= + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/lru-cache/download/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ= + dependencies: + yallist "^4.0.0" + +lz-string@^1.4.4: + version "1.4.4" + resolved "https://registry.npmmirror.com/lz-string/download/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" + integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= + +magic-string@^0.25.7: + version "0.25.7" + resolved "https://registry.npmmirror.com/magic-string/download/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE= + dependencies: + sourcemap-codec "^1.4.4" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/make-dir/download/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha1-ecEDO4BRW9bSTsmTPoYMp17ifww= + dependencies: + pify "^3.0.0" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/make-dir/download/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8= + dependencies: + semver "^6.0.0" + +make-error@1.x, make-error@^1, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmmirror.com/make-error/download/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha1-LrLjfqm2fEiR9oShOUeZr0hM96I= + +make-fetch-happen@^2.4.13: + version "2.6.0" + resolved "https://registry.npmmirror.com/make-fetch-happen/download/make-fetch-happen-2.6.0.tgz#8474aa52198f6b1ae4f3094c04e8370d35ea8a38" + integrity sha1-hHSqUhmPaxrk8wlMBOg3DTXqijg= + dependencies: + agentkeepalive "^3.3.0" + cacache "^10.0.0" + http-cache-semantics "^3.8.0" + http-proxy-agent "^2.0.0" + https-proxy-agent "^2.1.0" + lru-cache "^4.1.1" + mississippi "^1.2.0" + node-fetch-npm "^2.0.2" + promise-retry "^1.1.1" + socks-proxy-agent "^3.0.1" + ssri "^5.0.0" + +make-fetch-happen@^8.0.9: + version "8.0.14" + resolved "https://registry.npmmirror.com/make-fetch-happen/download/make-fetch-happen-8.0.14.tgz#aaba73ae0ab5586ad8eaa68bd83332669393e222" + integrity sha1-qrpzrgq1WGrY6qaL2DMyZpOT4iI= + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.0.5" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + promise-retry "^2.0.1" + socks-proxy-agent "^5.0.0" + ssri "^8.0.0" + +make-fetch-happen@^9.0.1: + version "9.1.0" + resolved "https://registry.npmmirror.com/make-fetch-happen/download/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" + integrity sha1-UwhaCeeXFDPmdl95cb9j9OBcuWg= + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.2" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + +manage-path@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/manage-path/download/manage-path-2.0.0.tgz#f4cf8457b926eeee2a83b173501414bc76eb9597" + integrity sha1-9M+EV7km7u4qg7FzUBQUvHbrlZc= + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npmmirror.com/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/map-obj/download/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha1-kwT5Buk/qucIgNoQKp8d8OqLsFo= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +markdown-it-anchor@^5.0.2: + version "5.3.0" + resolved "https://registry.npmmirror.com/markdown-it-anchor/download/markdown-it-anchor-5.3.0.tgz#d549acd64856a8ecd1bea58365ef385effbac744" + integrity sha1-1Ums1khWqOzRvqWDZe84Xv+6x0Q= + +markdown-it-chain@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/markdown-it-chain/download/markdown-it-chain-1.3.0.tgz#ccf6fe86c10266bafb4e547380dfd7f277cc17bc" + integrity sha1-zPb+hsECZrr7TlRzgN/X8nfMF7w= + dependencies: + webpack-chain "^4.9.0" + +markdown-it-container@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/markdown-it-container/download/markdown-it-container-2.0.0.tgz#0019b43fd02eefece2f1960a2895fba81a404695" + integrity sha1-ABm0P9Au7+zi8ZYKKJX7qBpARpU= + +markdown-it-container@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/markdown-it-container/download/markdown-it-container-3.0.0.tgz#1d19b06040a020f9a827577bb7dbf67aa5de9a5b" + integrity sha1-HRmwYECgIPmoJ1d7t9v2eqXemls= + +markdown-it-emoji@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/markdown-it-emoji/download/markdown-it-emoji-1.4.0.tgz#9bee0e9a990a963ba96df6980c4fddb05dfb4dcc" + integrity sha1-m+4OmpkKljupbfaYDE/dsF37Tcw= + +markdown-it-table-of-contents@^0.4.0: + version "0.4.4" + resolved "https://registry.npmmirror.com/markdown-it-table-of-contents/download/markdown-it-table-of-contents-0.4.4.tgz#3dc7ce8b8fc17e5981c77cc398d1782319f37fbc" + integrity sha1-PcfOi4/BflmBx3zDmNF4Ixnzf7w= + +markdown-it@^8.4.1: + version "8.4.2" + resolved "https://registry.npmmirror.com/markdown-it/download/markdown-it-8.4.2.tgz#386f98998dc15a37722aa7722084f4020bdd9b54" + integrity sha1-OG+YmY3BWjdyKqdyIIT0Agvdm1Q= + dependencies: + argparse "^1.0.7" + entities "~1.1.1" + linkify-it "^2.0.0" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +matcher@^1.0.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/matcher/download/matcher-1.1.1.tgz#51d8301e138f840982b338b116bb0c09af62c1c2" + integrity sha1-UdgwHhOPhAmCszixFrsMCa9iwcI= + dependencies: + escape-string-regexp "^1.0.4" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npmmirror.com/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdast-util-from-markdown@^0.8.5: + version "0.8.5" + resolved "https://registry.npmmirror.com/mdast-util-from-markdown/download/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" + integrity sha1-0e8spCvDd+ywRjqYeRDa6JvZoow= + dependencies: + "@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-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/mdast-util-to-string/download/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" + integrity sha1-uM/mpxPhCRy1tyj8SIhaR2f4uXs= + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmmirror.com/mdn-data/download/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA= + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/mdn-data/download/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= + +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/mdurl/download/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +medium-zoom@^1.0.4: + version "1.0.6" + resolved "https://registry.npmmirror.com/medium-zoom/download/medium-zoom-1.0.6.tgz#9247f21ca9313d8bbe9420aca153a410df08d027" + integrity sha1-kkfyHKkxPYu+lCCsoVOkEN8I0Cc= + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/memory-fs/download/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/memory-fs/download/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.npmmirror.com/meow/download/meow-8.1.2.tgz?cache=0&sync_timestamp=1637477517282&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha1-vL5FvaDuFynTUMA8/8g5WjbE6Jc= + dependencies: + "@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" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/merge-source-map/download/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha1-L93n5gIJOfcJBqaPLXrmheTIxkY= + dependencies: + source-map "^0.6.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= + +merge2@^1.2.3, merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmmirror.com/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromark@~2.11.0: + version "2.11.4" + resolved "https://registry.npmmirror.com/micromark/download/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a" + integrity sha1-0TQ2E47qgmOD6CJEnJpcUO5EZlo= + dependencies: + debug "^4.0.0" + parse-entities "^2.0.0" + +micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: + version "3.1.10" + resolved "https://registry.npmmirror.com/micromatch/download/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.npmmirror.com/micromatch/download/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k= + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": + version "1.51.0" + resolved "https://registry.npmmirror.com/mime-db/download/mime-db-1.51.0.tgz?cache=0&sync_timestamp=1636426029118&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-db%2Fdownload%2Fmime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.34" + resolved "https://registry.npmmirror.com/mime-types/download/mime-types-2.1.34.tgz?cache=0&sync_timestamp=1636432386360&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + +mime@1.6.0, mime@^1.4.1: + version "1.6.0" + resolved "https://registry.npmmirror.com/mime/download/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= + +mime@^2.0.3, mime@^2.4.4: + version "2.6.0" + resolved "https://registry.npmmirror.com/mime/download/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha1-oqaCqVzU0MsdYlfij4PafjWAA2c= + +mimer@1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/mimer/download/mimer-1.1.0.tgz#2cb67f7093998e772a0e62c090f77daa1b8a2dbe" + integrity sha1-LLZ/cJOZjncqDmLAkPd9qhuKLb4= + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/mimic-fn/download/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI= + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/mimic-response/download/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha1-SSNTiHju9CBjy4o+OweYeBSHqxs= + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.npmmirror.com/min-document/download/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= + dependencies: + dom-walk "^0.1.0" + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/min-indent/download/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha1-pj9oFnOzBXH76LwlaGrnRu76mGk= + +mini-css-extract-plugin@0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/mini-css-extract-plugin/download/mini-css-extract-plugin-0.6.0.tgz#a3f13372d6fcde912f3ee4cd039665704801e3b9" + integrity sha1-o/Ezctb83pEvPuTNA5ZlcEgB47k= + dependencies: + loader-utils "^1.1.0" + normalize-url "^2.0.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= + dependencies: + brace-expansion "^1.1.7" + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/minimist-options/download/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha1-wGVXE8U6ii69d/+iR9NCxA8BBhk= + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.npmmirror.com/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/minipass-collect/download/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc= + dependencies: + minipass "^3.0.0" + +minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: + version "1.4.1" + resolved "https://registry.npmmirror.com/minipass-fetch/download/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" + integrity sha1-114AkdqsGw/9fp1BYp+v99DB8bY= + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/minipass-flush/download/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M= + dependencies: + minipass "^3.0.0" + +minipass-json-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/minipass-json-stream/download/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" + integrity sha1-ftu5JYj7/C/x2y/BA5est7a0Sqc= + dependencies: + jsonparse "^1.3.1" + minipass "^3.0.0" + +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.npmmirror.com/minipass-pipeline/download/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha1-aEcveXEcCEZXwGfFxq2Tzd6oIUw= + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/minipass-sized/download/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha1-cO5afFBSBwr6z7wil36nne81O3A= + dependencies: + minipass "^3.0.0" + +minipass@^2.6.0, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.npmmirror.com/minipass/download/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha1-5xN2Ln0+Mv7YAxFc+T4EvKn8yaY= + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: + version "3.1.5" + resolved "https://registry.npmmirror.com/minipass/download/minipass-3.1.5.tgz#71f6251b0a33a49c01b3cf97ff77eda030dff732" + integrity sha1-cfYlGwozpJwBs8+X/3ftoDDf9zI= + dependencies: + yallist "^4.0.0" + +minizlib@^1.3.3: + version "1.3.3" + resolved "https://registry.npmmirror.com/minizlib/download/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha1-IpDeloGKNMKVUcio0wEha9Zahh0= + dependencies: + minipass "^2.9.0" + +minizlib@^2.0.0, minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.npmmirror.com/minizlib/download/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha1-6Q00Zrogm5MkUVCKEc49NjIUWTE= + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mississippi@^1.2.0, mississippi@^1.3.0: + version "1.3.1" + resolved "https://registry.npmmirror.com/mississippi/download/mississippi-1.3.1.tgz#2a8bb465e86550ac8b36a7b6f45599171d78671e" + integrity sha1-Kou0ZehlUKyLNqe29FWZFx14Zx4= + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^1.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mississippi@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/mississippi/download/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" + integrity sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8= + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^2.0.1" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.npmmirror.com/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp-infer-owner@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/mkdirp-infer-owner/download/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" + integrity sha1-VdOzaOfYkGXDjzL9OOY48Kth0xY= + dependencies: + chownr "^2.0.0" + infer-owner "^1.0.4" + mkdirp "^1.0.3" + +mkdirp@0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" + integrity sha1-G79asbqCevI1dRQ0kEJkVfSB/h4= + +mkdirp@1.x, mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/mkdirp/download/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha1-PrXtYmInVteaXw4qIh3+utdcL34= + +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + dependencies: + minimist "^1.2.5" + +modify-values@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/modify-values/download/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + integrity sha1-s5OfpgVUZHTj4+PGPWS9Q7TuYCI= + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +mri@^1.1.5: + version "1.2.0" + resolved "https://registry.npmmirror.com/mri/download/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + integrity sha1-ZyFID+wqEaSImGERWki2y+fMjws= + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/ms/download/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + +ms@^2.0.0, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmmirror.com/ms/download/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha1-V0yBOM4dK1hh8LRFedut1gxmFbI= + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.npmmirror.com/multicast-dns/download/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +multimatch@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/multimatch/download/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3" + integrity sha1-jDwPbj6ESa2grz3SnvtJGjdRkbM= + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + +multimatch@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/multimatch/download/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" + integrity sha1-kyuACWPOp6MaAzMo+h4MOhh02+Y= + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.npmmirror.com/mute-stream/download/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + +mute-stream@0.0.8, mute-stream@~0.0.4: + version "0.0.8" + resolved "https://registry.npmmirror.com/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= + +nan@^2.12.1: + version "2.15.0" + resolved "https://registry.npmmirror.com/nan/download/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha1-PzSkc/8Y4VwbVia2KQO1rW5mX+4= + +nanoid@^2.1.0: + version "2.1.11" + resolved "https://registry.npmmirror.com/nanoid/download/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" + integrity sha1-7CS4p1jVkVYVMbQXagHjq08PAoA= + +nanoid@^3.1.30: + version "3.1.30" + resolved "https://registry.npmmirror.com/nanoid/download/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" + integrity sha1-Y/k8xUjSoRPcXfvGO/oJ4rm2Q2I= + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npmmirror.com/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +needle@^2.5.2: + version "2.9.1" + resolved "https://registry.npmmirror.com/needle/download/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684" + integrity sha1-ItHf++NJDCuD4wH3cJtnNs2PJoQ= + dependencies: + debug "^3.2.6" + iconv-lite "^0.4.4" + sax "^1.2.4" + +negotiator@0.6.2, negotiator@^0.6.2: + version "0.6.2" + resolved "https://registry.npmmirror.com/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= + +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.npmmirror.com/neo-async/download/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmmirror.com/nice-try/download/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.npmmirror.com/no-case/download/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw= + dependencies: + lower-case "^1.1.1" + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/no-case/download/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha1-02H9XJgA9VhVGoNp/A3NRmK2Ek0= + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-fetch-npm@^2.0.2: + version "2.0.4" + resolved "https://registry.npmmirror.com/node-fetch-npm/download/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" + integrity sha1-ZQfQ4XqewL477FFpWKSXzsVL9aQ= + dependencies: + encoding "^0.1.11" + json-parse-better-errors "^1.0.0" + safe-buffer "^5.1.1" + +node-fetch@^2.6.1: + version "2.6.6" + resolved "https://registry.npmmirror.com/node-fetch/download/node-fetch-2.6.6.tgz?cache=0&sync_timestamp=1636395682470&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" + integrity sha1-F1GnwBg06OFpd1hzLp77burfr4k= + dependencies: + whatwg-url "^5.0.0" + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.npmmirror.com/node-forge/download/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M= + +node-gyp@^5.0.2: + version "5.1.1" + resolved "https://registry.npmmirror.com/node-gyp/download/node-gyp-5.1.1.tgz?cache=0&sync_timestamp=1637570158894&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-gyp%2Fdownload%2Fnode-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e" + integrity sha1-65Ffe2Mck30oLjOu1Ey3oCX2Kj4= + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.1.2" + request "^2.88.0" + rimraf "^2.6.3" + semver "^5.7.1" + tar "^4.4.12" + which "^1.3.1" + +node-gyp@^7.1.0: + version "7.1.2" + resolved "https://registry.npmmirror.com/node-gyp/download/node-gyp-7.1.2.tgz?cache=0&sync_timestamp=1637570158894&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-gyp%2Fdownload%2Fnode-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" + integrity sha1-IagQrrsYcSAlHDvOyXmvFYexiK4= + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.3" + nopt "^5.0.0" + npmlog "^4.1.2" + request "^2.88.2" + rimraf "^3.0.2" + semver "^7.3.2" + tar "^6.0.2" + which "^2.0.2" + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/node-libs-browser/download/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz?cache=0&sync_timestamp=1634806905286&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-releases%2Fdownload%2Fnode-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha1-PR05XyBPHy8ppUNYuftnh2WtL8U= + +nopt@1.0.10: + version "1.0.10" + resolved "https://registry.npmmirror.com/nopt/download/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= + dependencies: + abbrev "1" + +nopt@^4.0.1: + version "4.0.3" + resolved "https://registry.npmmirror.com/nopt/download/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" + integrity sha1-o3XK2dAv2SEnjZVMIlTVqlfhXkg= + dependencies: + abbrev "1" + osenv "^0.1.4" + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/nopt/download/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha1-UwlCu1ilEvzK/lP+IQ8TolNV3Ig= + dependencies: + abbrev "1" + +normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0, normalize-package-data@^3.0.2: + version "3.0.3" + resolved "https://registry.npmmirror.com/normalize-package-data/download/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha1-28w+LaWVCaCYNCKITNFy7v36Ul4= + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmmirror.com/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/normalize-url/download/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" + integrity sha1-g1qdoVUfom9w6SMpBpojqmV01+Y= + dependencies: + prepend-http "^2.0.0" + query-string "^5.0.1" + sort-keys "^2.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/normalize-url/download/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= + +normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.npmmirror.com/normalize-url/download/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha1-DdkM8SiO4dExO4cIHJpZMu5IUYo= + +normalize-url@^6.0.1, normalize-url@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/normalize-url/download/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha1-QNCIW1Nd7/4/MUe+yHfQX+TFZoo= + +normalize-wheel@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/normalize-wheel/download/normalize-wheel-1.0.1.tgz#aec886affdb045070d856447df62ecf86146ec45" + integrity sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU= + +npm-bundled@^1.1.1: + version "1.1.2" + resolved "https://registry.npmmirror.com/npm-bundled/download/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha1-lEx4eJvXOQNbcLqiylzDK42GC8E= + dependencies: + npm-normalize-package-bin "^1.0.1" + +npm-install-checks@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/npm-install-checks/download/npm-install-checks-4.0.0.tgz#a37facc763a2fde0497ef2c6d0ac7c3fbe00d7b4" + integrity sha1-o3+sx2Oi/eBJfvLG0Kx8P74A17Q= + dependencies: + semver "^7.1.1" + +npm-lifecycle@^3.1.5: + version "3.1.5" + resolved "https://registry.npmmirror.com/npm-lifecycle/download/npm-lifecycle-3.1.5.tgz#9882d3642b8c82c815782a12e6a1bfeed0026309" + integrity sha1-mILTZCuMgsgVeCoS5qG/7tACYwk= + dependencies: + byline "^5.0.0" + graceful-fs "^4.1.15" + node-gyp "^5.0.2" + resolve-from "^4.0.0" + slide "^1.1.6" + uid-number "0.0.6" + umask "^1.1.0" + which "^1.3.1" + +npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/npm-normalize-package-bin/download/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + integrity sha1-bnmkHyP9I1wGIyGCKNp9nCO49uI= + +npm-package-arg@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/npm-package-arg/download/npm-package-arg-5.1.2.tgz#fb18d17bb61e60900d6312619919bd753755ab37" + integrity sha1-+xjRe7YeYJANYxJhmRm9dTdVqzc= + dependencies: + hosted-git-info "^2.4.2" + osenv "^0.1.4" + semver "^5.1.0" + validate-npm-package-name "^3.0.0" + +npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.0, npm-package-arg@^8.1.2, npm-package-arg@^8.1.5: + version "8.1.5" + resolved "https://registry.npmmirror.com/npm-package-arg/download/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" + integrity sha1-M2my1f6P3GdLqn8XhlFN3BVGbkQ= + dependencies: + hosted-git-info "^4.0.1" + semver "^7.3.4" + validate-npm-package-name "^3.0.0" + +npm-packlist@^2.1.4: + version "2.2.2" + resolved "https://registry.npmmirror.com/npm-packlist/download/npm-packlist-2.2.2.tgz#076b97293fa620f632833186a7a8f65aaa6148c8" + integrity sha1-B2uXKT+mIPYygzGGp6j2WqphSMg= + dependencies: + glob "^7.1.6" + ignore-walk "^3.0.3" + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" + +npm-path@^2.0.2: + version "2.0.4" + resolved "https://registry.npmmirror.com/npm-path/download/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64" + integrity sha1-xkE0el/51qCeTZvOVYDE9QUnjmQ= + dependencies: + which "^1.2.10" + +npm-pick-manifest@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/npm-pick-manifest/download/npm-pick-manifest-1.0.4.tgz#a5ee6510c1fe7221c0bc0414e70924c14045f7e8" + integrity sha1-pe5lEMH+ciHAvAQU5wkkwUBF9+g= + dependencies: + npm-package-arg "^5.1.2" + semver "^5.3.0" + +npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: + version "6.1.1" + resolved "https://registry.npmmirror.com/npm-pick-manifest/download/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148" + integrity sha1-e1SEyiyQhWX0O38nZE82u4FvUUg= + dependencies: + npm-install-checks "^4.0.0" + npm-normalize-package-bin "^1.0.1" + npm-package-arg "^8.1.2" + semver "^7.3.4" + +npm-registry-fetch@^11.0.0: + version "11.0.0" + resolved "https://registry.npmmirror.com/npm-registry-fetch/download/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76" + integrity sha1-aMG7gQxGVCdg1ipqll+FpwLUOnY= + dependencies: + make-fetch-happen "^9.0.1" + minipass "^3.1.3" + minipass-fetch "^1.3.0" + minipass-json-stream "^1.0.1" + minizlib "^2.0.0" + npm-package-arg "^8.0.0" + +npm-registry-fetch@^9.0.0: + version "9.0.0" + resolved "https://registry.npmmirror.com/npm-registry-fetch/download/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661" + integrity sha1-hvP+tM4AMTvAuPH49p2q5vrOFmE= + dependencies: + "@npmcli/ci-detect" "^1.0.0" + lru-cache "^6.0.0" + make-fetch-happen "^8.0.9" + minipass "^3.1.3" + minipass-fetch "^1.3.0" + minipass-json-stream "^1.0.1" + minizlib "^2.0.0" + npm-package-arg "^8.0.0" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-2.0.2.tgz?cache=0&sync_timestamp=1633420501317&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0, npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-4.0.1.tgz?cache=0&sync_timestamp=1633420501317&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha1-t+zR5e1T2o43pV4cImnguX7XSOo= + dependencies: + path-key "^3.0.0" + +npm-which@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/npm-which/download/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" + integrity sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo= + dependencies: + commander "^2.9.0" + npm-path "^2.0.2" + which "^1.2.10" + +npmlog@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/npmlog/download/npmlog-4.1.2.tgz?cache=0&sync_timestamp=1637085067064&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnpmlog%2Fdownload%2Fnpmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha1-CKfyqL9zRgR3mp76StXMcXq7lUs= + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/nprogress/download/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" + integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E= + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= + dependencies: + boolbase "~1.0.0" + +nth-check@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/nth-check/download/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha1-Lv4WL1w9oGoolZ+9PbddvuqfD8I= + dependencies: + boolbase "^1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.npmmirror.com/num2fraction/download/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.npmmirror.com/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1632753985376&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/object-copy/download/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.npmmirror.com/object-inspect/download/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha1-nc6xRs7dQUig2eUauI00z1CZIrE= + +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.npmmirror.com/object-is/download/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha1-ud7qpfx/GEag+uzc7sE45XePU6w= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.0, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/object.assign/download/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA= + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: + version "2.1.3" + resolved "https://registry.npmmirror.com/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.3.tgz?cache=0&sync_timestamp=1633321839754&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" + integrity sha1-siPPOOF/77l6Y8EMkd9yzLOG354= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0, object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.npmmirror.com/object.values/download/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha1-lZ9j486e8QhyAzMIITHkpFm3Fqw= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/on-headers/download/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/onetime/download/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/onetime/download/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4= + dependencies: + mimic-fn "^2.1.0" + +open@^6.3.0: + version "6.4.0" + resolved "https://registry.npmmirror.com/open/download/open-6.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fopen%2Fdownload%2Fopen-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk= + dependencies: + is-wsl "^1.1.0" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.npmmirror.com/opencollective-postinstall/download/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha1-eg//l49tv6TQBiOPusmO1BmMMlk= + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.npmmirror.com/opn/download/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= + dependencies: + is-wsl "^1.1.0" + +opt-cli@1.5.1: + version "1.5.1" + resolved "https://registry.npmmirror.com/opt-cli/download/opt-cli-1.5.1.tgz#04db447b13c96b992eb31685266f4ed0d9736dc2" + integrity sha1-BNtEexPJa5kusxaFJm9O0NlzbcI= + dependencies: + commander "2.9.0" + lodash.clone "4.3.2" + manage-path "2.0.0" + spawn-command "0.0.2-1" + +optimize-css-assets-webpack-plugin@^5.0.1: + version "5.0.8" + resolved "https://registry.npmmirror.com/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-5.0.8.tgz?cache=0&sync_timestamp=1632754380953&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Foptimize-css-assets-webpack-plugin%2Fdownload%2Foptimize-css-assets-webpack-plugin-5.0.8.tgz#cbccdcf5a6ef61d4f8cc78cf083a67446e5f402a" + integrity sha1-y8zc9abvYdT4zHjPCDpnRG5fQCo= + dependencies: + cssnano "^4.1.10" + last-call-webpack-plugin "^3.0.0" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npmmirror.com/optionator/download/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk= + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +ora@^1.3.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/ora/download/ora-1.4.0.tgz#884458215b3a5d4097592285f93321bb7a79e2e5" + integrity sha1-iERYIVs6XUCXWSKF+TMhu3p54uU= + dependencies: + chalk "^2.1.0" + cli-cursor "^2.1.0" + cli-spinners "^1.0.1" + log-symbols "^2.1.0" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/original/download/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.npmmirror.com/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha1-hc36+uso6Gd/QW4odZK18/SepBA= + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/p-cancelable/download/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw= + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/p-limit/download/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: + version "2.3.0" + resolved "https://registry.npmmirror.com/p-limit/download/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmmirror.com/p-limit/download/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs= + dependencies: + yocto-queue "^0.1.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/p-locate/download/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/p-locate/download/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/p-locate/download/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ= + dependencies: + p-limit "^3.0.2" + +p-map-series@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/p-map-series/download/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" + integrity sha1-dWDUxFLZ2gwH5pL9v+biyBoqkfI= + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.npmmirror.com/p-map/download/p-map-1.2.0.tgz?cache=0&sync_timestamp=1635931916150&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-map%2Fdownload%2Fp-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + integrity sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s= + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/p-map/download/p-map-2.1.0.tgz?cache=0&sync_timestamp=1635931916150&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/p-map/download/p-map-4.0.0.tgz?cache=0&sync_timestamp=1635931916150&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-map%2Fdownload%2Fp-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha1-uy+Vpe2i7BaOySdOBqdHw+KQTSs= + dependencies: + aggregate-error "^3.0.0" + +p-pipe@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/p-pipe/download/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e" + integrity sha1-SLV8kiqi4a9qZATLfGvw65zI5g4= + +p-queue@^6.6.2: + version "6.6.2" + resolved "https://registry.npmmirror.com/p-queue/download/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + integrity sha1-IGip3PjmfdDsPnory3aBD6qF5CY= + dependencies: + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" + +p-reduce@^2.0.0, p-reduce@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/p-reduce/download/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" + integrity sha1-CUCNpJUHxsJ0+qMfKN8zS8cStko= + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/p-retry/download/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha1-MWtMiJPiyNwc+okfQGxLQivr8yg= + dependencies: + retry "^0.12.0" + +p-timeout@^3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/p-timeout/download/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha1-x+F6vJcdKnli74NiazXWNazyPf4= + dependencies: + p-finally "^1.0.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364506847&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/p-try/download/p-try-2.2.0.tgz?cache=0&sync_timestamp=1633364506847&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= + +p-waterfall@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/p-waterfall/download/p-waterfall-2.1.1.tgz#63153a774f472ccdc4eb281cdb2967fcf158b2ee" + integrity sha1-YxU6d09HLM3E6ygc2yln/PFYsu4= + dependencies: + p-reduce "^2.0.0" + +package-json@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/package-json/download/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= + dependencies: + got "^6.7.1" + registry-auth-token "^3.0.1" + registry-url "^3.0.3" + semver "^5.1.0" + +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.npmmirror.com/package-json/download/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha1-b+7ayjXnVyWHbQsOZJdGl/7RRbA= + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + +pacote@^11.2.6: + version "11.3.5" + resolved "https://registry.npmmirror.com/pacote/download/pacote-11.3.5.tgz#73cf1fc3772b533f575e39efa96c50be8c3dc9d2" + integrity sha1-c88fw3crUz9XXjnvqWxQvow9ydI= + dependencies: + "@npmcli/git" "^2.1.0" + "@npmcli/installed-package-contents" "^1.0.6" + "@npmcli/promise-spawn" "^1.2.0" + "@npmcli/run-script" "^1.8.2" + cacache "^15.0.5" + chownr "^2.0.0" + fs-minipass "^2.1.0" + infer-owner "^1.0.4" + minipass "^3.1.3" + mkdirp "^1.0.3" + npm-package-arg "^8.0.1" + npm-packlist "^2.1.4" + npm-pick-manifest "^6.0.0" + npm-registry-fetch "^11.0.0" + promise-retry "^2.0.1" + read-package-json-fast "^2.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.1.0" + +pacote@^2.7.36: + version "2.7.38" + resolved "https://registry.npmmirror.com/pacote/download/pacote-2.7.38.tgz#5091f8774298c26c3eca24606037f1bb73db74c1" + integrity sha1-UJH4d0KYwmw+yiRgYDfxu3PbdME= + dependencies: + bluebird "^3.5.0" + cacache "^9.2.9" + glob "^7.1.2" + lru-cache "^4.1.1" + make-fetch-happen "^2.4.13" + minimatch "^3.0.4" + mississippi "^1.2.0" + normalize-package-data "^2.4.0" + npm-package-arg "^5.1.2" + npm-pick-manifest "^1.0.4" + osenv "^0.1.4" + promise-inflight "^1.0.1" + promise-retry "^1.1.1" + protoduck "^4.0.0" + safe-buffer "^5.1.1" + semver "^5.3.0" + ssri "^4.1.6" + tar-fs "^1.15.3" + tar-stream "^1.5.4" + unique-filename "^1.1.0" + which "^1.2.12" + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.npmmirror.com/pako/download/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8= + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/parallel-transform/download/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw= + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.npmmirror.com/param-case/download/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + dependencies: + no-case "^2.2.0" + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/param-case/download/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha1-fRf+SqEr3jTUp32RrPtiGcqtAcU= + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.npmmirror.com/parse-asn1/download/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ= + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-entities@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/parse-entities/download/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" + integrity sha1-U8brW5MUofTsmfoP33zgHs2gy+g= + dependencies: + 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-git-config@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/parse-git-config/download/parse-git-config-0.2.0.tgz#272833fdd15fea146fb75d336d236b963b6ff706" + integrity sha1-Jygz/dFf6hRvt10zbSNrljtv9wY= + dependencies: + ini "^1.3.3" + +parse-git-config@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/parse-git-config/download/parse-git-config-1.1.1.tgz#d3a9984317132f57398712bba438e129590ddf8c" + integrity sha1-06mYQxcTL1c5hxK7pDjhKVkN34w= + dependencies: + extend-shallow "^2.0.1" + fs-exists-sync "^0.1.0" + git-config-path "^1.0.1" + ini "^1.3.4" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1637475707758&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1637475707758&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80= + dependencies: + "@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" + +parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/parse-node-version/download/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs= + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/parse-passwd/download/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +parse-path@^4.0.0: + version "4.0.3" + resolved "https://registry.npmmirror.com/parse-path/download/parse-path-4.0.3.tgz#82d81ec3e071dcc4ab49aa9f2c9c0b8966bb22bf" + integrity sha1-gtgew+Bx3MSrSaqfLJwLiWa7Ir8= + dependencies: + is-ssh "^1.3.0" + protocols "^1.4.0" + qs "^6.9.4" + query-string "^6.13.8" + +parse-url@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/parse-url/download/parse-url-6.0.0.tgz#f5dd262a7de9ec00914939220410b66cff09107d" + integrity sha1-9d0mKn3p7ACRSTkiBBC2bP8JEH0= + dependencies: + is-ssh "^1.3.0" + normalize-url "^6.1.0" + parse-path "^4.0.0" + protocols "^1.4.0" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmmirror.com/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= + +pascal-case@^3.1.1, pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/pascal-case/download/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha1-tI4O8rmOIF58Ha50fQsVCCN2YOs= + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.npmmirror.com/path-browserify/download/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@3.0.0, path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1, path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/path-key/download/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/path-key/download/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.npmmirror.com/path-parse/download/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU= + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmmirror.com/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/path-type/download/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= + +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.npmmirror.com/pbkdf2/download/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha1-3YIqoIh1gOUvGgOdw+2hCO+uMHU= + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz?cache=0&sync_timestamp=1634093378416&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8= + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz?cache=0&sync_timestamp=1634093378416&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw= + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.npmmirror.com/picomatch/download/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI= + +pify@^2.0.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/pify/download/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= + +pify@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/pify/download/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha1-H17KP16H6+wozG1UoOSq8ArMEn8= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz?cache=0&sync_timestamp=1632753945910&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpinkie-promise%2Fdownload%2Fpinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npmmirror.com/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-2.0.0.tgz?cache=0&sync_timestamp=1633498907864&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1633498907864&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1633498907864&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM= + dependencies: + find-up "^4.0.0" + +please-upgrade-node@^3.0.2: + version "3.2.0" + resolved "https://registry.npmmirror.com/please-upgrade-node/download/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + integrity sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI= + dependencies: + semver-compare "^1.0.0" + +portal-vue@^2.1.7: + version "2.1.7" + resolved "https://registry.npmmirror.com/portal-vue/download/portal-vue-2.1.7.tgz#ea08069b25b640ca08a5b86f67c612f15f4e4ad4" + integrity sha1-6ggGmyW2QMoIpbhvZ8YS8V9OStQ= + +portfinder@^1.0.13, portfinder@^1.0.26: + version "1.0.28" + resolved "https://registry.npmmirror.com/portfinder/download/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g= + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npmmirror.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-calc@^7.0.1: + version "7.0.5" + resolved "https://registry.npmmirror.com/postcss-calc/download/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4= + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-calc@^8.0.0: + version "8.0.0" + resolved "https://registry.npmmirror.com/postcss-calc/download/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a" + integrity sha1-oFuHqs0TJ0Cl2wlGKjYSRT5d+Qo= + dependencies: + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/postcss-colormin/download/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha1-rgYLzpPteUrHEmTwgTLVUJVr04E= + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-colormin@^5.2.1: + version "5.2.1" + resolved "https://registry.npmmirror.com/postcss-colormin/download/postcss-colormin-5.2.1.tgz#6e444a806fd3c578827dbad022762df19334414d" + integrity sha1-bkRKgG/TxXiCfbrQInYt8ZM0QU0= + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.1.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^5.0.2: + version "5.0.2" + resolved "https://registry.npmmirror.com/postcss-convert-values/download/postcss-convert-values-5.0.2.tgz#879b849dc3677c7d6bc94b6a2c1a3f0808798059" + integrity sha1-h5uEncNnfH1ryUtqLBo/CAh5gFk= + dependencies: + postcss-value-parser "^4.1.0" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM= + dependencies: + postcss "^7.0.0" + +postcss-discard-comments@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-discard-comments/download/postcss-discard-comments-5.0.1.tgz#9eae4b747cf760d31f2447c27f0619d5718901fe" + integrity sha1-nq5LdHz3YNMfJEfCfwYZ1XGJAf4= + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha1-P+EzzTyCKC5VD8myORdqkge3hOs= + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-discard-duplicates/download/postcss-discard-duplicates-5.0.1.tgz#68f7cc6458fe6bab2e46c9f55ae52869f680e66d" + integrity sha1-aPfMZFj+a6suRsn1WuUoafaA5m0= + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U= + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-discard-empty/download/postcss-discard-empty-5.0.1.tgz#ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8" + integrity sha1-7hNsOeJ9XS7U2g7l7QK8ip+L9tg= + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c= + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-discard-overridden/download/postcss-discard-overridden-5.0.1.tgz#454b41f707300b98109a75005ca4ab0ff2743ac6" + integrity sha1-RUtB9wcwC5gQmnUAXKSrD/J0OsY= + +postcss-load-config@^2.0.0: + version "2.1.2" + resolved "https://registry.npmmirror.com/postcss-load-config/download/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha1-xepQTyxK7zPHNZo03jVzdyrXUCo= + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-load-config@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/postcss-load-config/download/postcss-load-config-3.1.0.tgz#d39c47091c4aec37f50272373a6a648ef5e97829" + integrity sha1-05xHCRxK7Df1AnI3OmpkjvXpeCk= + dependencies: + import-cwd "^3.0.0" + lilconfig "^2.0.3" + yaml "^1.10.2" + +postcss-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-loader/download/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0= + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.npmmirror.com/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ= + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-longhand@^5.0.4: + version "5.0.4" + resolved "https://registry.npmmirror.com/postcss-merge-longhand/download/postcss-merge-longhand-5.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-5.0.4.tgz#41f4f3270282ea1a145ece078b7679f0cef21c32" + integrity sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw== + dependencies: + postcss-value-parser "^4.1.0" + stylehacks "^5.0.1" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz?cache=0&sync_timestamp=1637085638391&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha1-NivqT/Wh+Y5AdacTxsslrv75plA= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-merge-rules@^5.0.3: + version "5.0.3" + resolved "https://registry.npmmirror.com/postcss-merge-rules/download/postcss-merge-rules-5.0.3.tgz?cache=0&sync_timestamp=1637085638391&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-5.0.3.tgz#b5cae31f53129812a77e3eb1eeee448f8cf1a1db" + integrity sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + cssnano-utils "^2.0.1" + postcss-selector-parser "^6.0.5" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-font-values@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-minify-font-values/download/postcss-minify-font-values-5.0.1.tgz#a90cefbfdaa075bd3dbaa1b33588bb4dc268addf" + integrity sha1-qQzvv9qgdb09uqGzNYi7TcJord8= + dependencies: + postcss-value-parser "^4.1.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz?cache=0&sync_timestamp=1635856892188&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE= + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^5.0.3: + version "5.0.3" + resolved "https://registry.npmmirror.com/postcss-minify-gradients/download/postcss-minify-gradients-5.0.3.tgz?cache=0&sync_timestamp=1635856892188&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-minify-gradients-5.0.3.tgz#f970a11cc71e08e9095e78ec3a6b34b91c19550e" + integrity sha1-+XChHMceCOkJXnjsOms0uRwZVQ4= + dependencies: + colord "^2.9.1" + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ= + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-params@^5.0.2: + version "5.0.2" + resolved "https://registry.npmmirror.com/postcss-minify-params/download/postcss-minify-params-5.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-5.0.2.tgz#1b644da903473fbbb18fbe07b8e239883684b85c" + integrity sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg== + dependencies: + alphanum-sort "^1.0.2" + browserslist "^4.16.6" + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g= + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-minify-selectors@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-minify-selectors/download/postcss-minify-selectors-5.1.0.tgz#4385c845d3979ff160291774523ffa54eafd5a54" + integrity sha1-Q4XIRdOXn/FgKRd0Uj/6VOr9WlQ= + dependencies: + alphanum-sort "^1.0.2" + postcss-selector-parser "^6.0.5" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha1-gYcZoa4doyX5gyRGsBE27rSTzX4= + dependencies: + postcss "^7.0.5" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-extract-imports/download/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha1-zaHwR8CugMl9vijD52pDuIAldB0= + +postcss-modules-local-by-default@^2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/postcss-modules-local-by-default/download/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" + integrity sha1-3ZlT9t1Ha1/R7y2IMMiSl2C1bmM= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + postcss-value-parser "^3.3.1" + +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-local-by-default/download/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" + integrity sha1-67tU+uFZjuz99pGgKz/zs5ClpRw= + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^2.1.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha1-OFyuATzHdD9afXYC0Qc6iequYu4= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-scope/download/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha1-nvMVFFbTu/oSDKRImN/Kby+gHwY= + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-values/download/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" + integrity sha1-R5tG3Axco9x/pScIUYNrnscVL2Q= + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^7.0.6" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-values/download/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha1-18Xn5ow7s8myfL9Iyguz/7RgLJw= + dependencies: + icss-utils "^5.0.0" + +postcss-modules@^4.0.0: + version "4.2.2" + resolved "https://registry.npmmirror.com/postcss-modules/download/postcss-modules-4.2.2.tgz#5e7777c5a8964ea176919d90b2e54ef891321ce5" + integrity sha1-Xnd3xaiWTqF2kZ2QsuVO+JEyHOU= + dependencies: + generic-names "^2.0.1" + icss-replace-symbols "^1.1.0" + lodash.camelcase "^4.3.0" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + string-hash "^1.1.1" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ= + dependencies: + postcss "^7.0.0" + +postcss-normalize-charset@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-charset/download/postcss-normalize-charset-5.0.1.tgz#121559d1bebc55ac8d24af37f67bd4da9efd91d0" + integrity sha1-EhVZ0b68VayNJK839nvU2p79kdA= + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha1-Db4EpM6QY9RmftK+R2u4MMglk1o= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-display-values@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-display-values/download/postcss-normalize-display-values-5.0.1.tgz#62650b965981a955dffee83363453db82f6ad1fd" + integrity sha1-YmULllmBqVXf/ugzY0U9uC9q0f0= + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8= + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-positions/download/postcss-normalize-positions-5.0.1.tgz#868f6af1795fdfa86fbbe960dceb47e5f9492fe5" + integrity sha1-ho9q8Xlf36hvu+lg3OtH5flJL+U= + dependencies: + postcss-value-parser "^4.1.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw= + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-5.0.1.tgz#cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5" + integrity sha1-y8DeE4O1f1u2Hd1qhGU7XoZlsrU= + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw= + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-string/download/postcss-normalize-string-5.0.1.tgz#d9eafaa4df78c7a3b973ae346ef0e47c554985b0" + integrity sha1-2er6pN94x6O5c640bvDkfFVJhbA= + dependencies: + postcss-value-parser "^4.1.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha1-jgCcoqOUnNr4rSPmtquZy159KNk= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-5.0.1.tgz#8ee41103b9130429c6cbba736932b75c5e2cb08c" + integrity sha1-juQRA7kTBCnGy7pzaTK3XF4ssIw= + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-unicode/download/postcss-normalize-unicode-5.0.1.tgz#82d672d648a411814aa5bf3ae565379ccd9f5e37" + integrity sha1-gtZy1kikEYFKpb865WU3nM2fXjc= + dependencies: + browserslist "^4.16.0" + postcss-value-parser "^4.1.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE= + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^5.0.3: + version "5.0.3" + resolved "https://registry.npmmirror.com/postcss-normalize-url/download/postcss-normalize-url-5.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-5.0.3.tgz#42eca6ede57fe69075fab0f88ac8e48916ef931c" + integrity sha512-qWiUMbvkRx3kc1Dp5opzUwc7MBWZcSDK2yofCmdvFBCpx+zFPkxBC1FASQ59Pt+flYfj/nTZSkmF56+XG5elSg== + dependencies: + is-absolute-url "^3.0.3" + normalize-url "^6.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-whitespace/download/postcss-normalize-whitespace-5.0.1.tgz#b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a" + integrity sha1-sLQLW8rINYX/B+rS2vLc++7vjpo= + dependencies: + postcss-value-parser "^4.1.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4= + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^5.0.2: + version "5.0.2" + resolved "https://registry.npmmirror.com/postcss-ordered-values/download/postcss-ordered-values-5.0.2.tgz#1f351426977be00e0f765b3164ad753dac8ed044" + integrity sha1-HzUUJpd74A4PdlsxZK11PayO0EQ= + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha1-f9QuvqXpyBRgljniwuhK4nC6SN8= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-initial@^5.0.2: + version "5.0.2" + resolved "https://registry.npmmirror.com/postcss-reduce-initial/download/postcss-reduce-initial-5.0.2.tgz#fa424ce8aa88a89bc0b6d0f94871b24abe94c048" + integrity sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik= + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-transforms@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/postcss-reduce-transforms/download/postcss-reduce-transforms-5.0.1.tgz#93c12f6a159474aa711d5269923e2383cedcf640" + integrity sha1-k8EvahWUdKpxHVJpkj4jg87c9kA= + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-safe-parser@^4.0.1: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96" + integrity sha1-ptTkjw832ffBGypYG/APi6SHC5Y= + dependencies: + postcss "^7.0.26" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.npmmirror.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA= + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: + version "6.0.6" + resolved "https://registry.npmmirror.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo= + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/postcss-svgo/download/postcss-svgo-4.0.3.tgz?cache=0&sync_timestamp=1635857732721&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" + integrity sha1-NDos26yVBdQWJD1Jb3JPOIlMlB4= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-svgo@^5.0.3: + version "5.0.3" + resolved "https://registry.npmmirror.com/postcss-svgo/download/postcss-svgo-5.0.3.tgz?cache=0&sync_timestamp=1635857732721&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-5.0.3.tgz#d945185756e5dfaae07f9edb0d3cae7ff79f9b30" + integrity sha1-2UUYV1bl36rgf57bDTyuf/efmzA= + dependencies: + postcss-value-parser "^4.1.0" + svgo "^2.7.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w= + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-unique-selectors@^5.0.2: + version "5.0.2" + resolved "https://registry.npmmirror.com/postcss-unique-selectors/download/postcss-unique-selectors-5.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-5.0.2.tgz#5d6893daf534ae52626708e0d62250890108c0c1" + integrity sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA== + dependencies: + alphanum-sort "^1.0.2" + postcss-selector-parser "^6.0.5" + +postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: + version "3.3.1" + resolved "https://registry.npmmirror.com/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE= + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/postcss-value-parser/download/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.39" + resolved "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk= + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^8.1.10, postcss@^8.3.11: + version "8.4.4" + resolved "https://registry.npmmirror.com/postcss/download/postcss-8.4.4.tgz#d53d4ec6a75fd62557a66bb41978bf47ff0c2869" + integrity sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q== + dependencies: + nanoid "^3.1.30" + picocolors "^1.0.0" + source-map-js "^1.0.1" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/prelude-ls/download/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y= + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.npmmirror.com/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/prepend-http/download/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/prettier-linter-helpers/download/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha1-0j1B/hN1ZG3i0BBNNFSjAIgCz3s= + dependencies: + fast-diff "^1.1.2" + +"prettier@^1.18.2 || ^2.0.0", prettier@^2.2.1: + version "2.5.0" + resolved "https://registry.npmmirror.com/prettier/download/prettier-2.5.0.tgz#a6370e2d4594e093270419d9cc47f7670488f893" + integrity sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg== + +pretty-error@^2.0.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/pretty-error/download/pretty-error-2.1.2.tgz?cache=0&sync_timestamp=1635212659618&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpretty-error%2Fdownload%2Fpretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y= + dependencies: + lodash "^4.17.20" + renderkid "^2.0.4" + +pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/pretty-format/download/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k= + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.npmmirror.com/pretty-format/download/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha1-41wnBfFMt/4v6U+geDRbREEg/JM= + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +pretty-format@^27.0.0, pretty-format@^27.4.2: + version "27.4.2" + resolved "https://registry.npmmirror.com/pretty-format/download/pretty-format-27.4.2.tgz#e4ce92ad66c3888423d332b40477c87d1dac1fb8" + integrity sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw== + dependencies: + "@jest/types" "^27.4.2" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +pretty-quick@^3.1.0: + version "3.1.2" + resolved "https://registry.npmmirror.com/pretty-quick/download/pretty-quick-3.1.2.tgz#89d8741af7122cbd7f34182df746c5a7ea360b5c" + integrity sha512-T+fpTJrDjTzewql4p3lKrRA7z3MrNyjBK1MKeaBm5PpKwATgVm885TpY7TgY8KFt5Q1Qn3QDseRQcyX9AKTKkA== + dependencies: + chalk "^3.0.0" + execa "^4.0.0" + find-up "^4.1.0" + ignore "^5.1.4" + mri "^1.1.5" + multimatch "^4.0.0" + +pretty-time@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/pretty-time/download/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" + integrity sha1-/7dCmvq7hTXDRqNOQYc63z103Q4= + +pretty@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/pretty/download/pretty-2.0.0.tgz#adbc7960b7bbfe289a557dc5f737619a220d06a5" + integrity sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU= + dependencies: + condense-newlines "^0.2.1" + extend-shallow "^2.0.1" + js-beautify "^1.6.12" + +prismjs@^1.13.0: + version "1.25.0" + resolved "https://registry.npmmirror.com/prismjs/download/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756" + integrity sha1-b4It8b2tllc0sxCzFaIzFc+Zl1Y= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npmmirror.com/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npmmirror.com/progress/download/progress-2.0.3.tgz?cache=0&sync_timestamp=1632754461908&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fprogress%2Fdownload%2Fprogress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/promise-inflight/download/promise-inflight-1.0.1.tgz?cache=0&sync_timestamp=1632754401515&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpromise-inflight%2Fdownload%2Fpromise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise-retry@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/promise-retry/download/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" + integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0= + dependencies: + err-code "^1.0.0" + retry "^0.10.0" + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/promise-retry/download/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha1-/3R6E2IKtXumiPX8Z4VUEMNw2iI= + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +promise.series@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/promise.series/download/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" + integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= + +promise@~7.0.1: + version "7.0.4" + resolved "https://registry.npmmirror.com/promise/download/promise-7.0.4.tgz#363e84a4c36c8356b890fed62c91ce85d02ed539" + integrity sha1-Nj6EpMNsg1a4kP7WLJHOhdAu1Tk= + dependencies: + asap "~2.0.3" + +prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.npmmirror.com/prompts/download/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha1-e1fnOzpIAprRDr1E90sBcipMsGk= + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +promzard@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/promzard/download/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + integrity sha1-JqXW7ox97kyxIggwWs+5O6OCqe4= + dependencies: + read "1" + +property-expr@^1.5.0: + version "1.5.1" + resolved "https://registry.npmmirror.com/property-expr/download/property-expr-1.5.1.tgz#22e8706894a0c8e28d58735804f6ba3a3673314f" + integrity sha1-IuhwaJSgyOKNWHNYBPa6OjZzMU8= + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.npmmirror.com/proto-list/download/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + +protocols@^1.1.0, protocols@^1.4.0: + version "1.4.8" + resolved "https://registry.npmmirror.com/protocols/download/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" + integrity sha1-SO6i2PWNlkSkoyyq5dXbKQoHXOg= + +protoduck@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/protoduck/download/protoduck-4.0.0.tgz#fe4874d8c7913366cfd9ead12453a22cd3657f8e" + integrity sha1-/kh02MeRM2bP2erRJFOiLNNlf44= + dependencies: + genfun "^4.0.1" + +proxy-addr@~2.0.5: + version "2.0.7" + resolved "https://registry.npmmirror.com/proxy-addr/download/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha1-8Z/mnOqzEe65S0LnDowgcPm6ECU= + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.npmmirror.com/psl/download/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ= + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.npmmirror.com/public-encrypt/download/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^1.0.0: + version "1.0.3" + resolved "https://registry.npmmirror.com/pump/download/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" + integrity sha1-Xf6DEcM7v2/BgmH580cCxHwIqVQ= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^2.0.0, pump@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/pump/download/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.npmmirror.com/pumpify/download/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.npmmirror.com/punycode/download/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.npmmirror.com/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= + +pupa@^2.0.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/pupa/download/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" + integrity sha1-9ej9SvwsXZeCj6pSNUnth0SiDWI= + dependencies: + escape-goat "^2.0.0" + +q@^1.1.2, q@^1.5.1: + version "1.5.1" + resolved "https://registry.npmmirror.com/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.npmmirror.com/qs/download/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw= + +qs@^6.9.4: + version "6.10.1" + resolved "https://registry.npmmirror.com/qs/download/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" + integrity sha1-STFIL6jWR6Wqt5nFJx0hM7mB+2o= + dependencies: + side-channel "^1.0.4" + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.npmmirror.com/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/query-string/download/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha1-p4wBK3HBfgXy4/ojGd0zBoLvs8s= + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +query-string@^6.13.8: + version "6.14.1" + resolved "https://registry.npmmirror.com/query-string/download/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" + integrity sha1-esLcpG2n8wlEm6D4ax/SglWwyGo= + dependencies: + decode-uri-component "^0.2.0" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +querystring-es3@^0.2.0, querystring-es3@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/querystring/download/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npmmirror.com/querystringify/download/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y= + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmmirror.com/queue-microtask/download/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha1-SSkii7xyTfrEPg77BYyve2z7YkM= + +queue@6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/queue/download/queue-6.0.1.tgz#abd5a5b0376912f070a25729e0b6a7d565683791" + integrity sha1-q9WlsDdpEvBwolcp4Lan1WVoN5E= + dependencies: + inherits "~2.0.3" + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/quick-lru/download/quick-lru-4.0.1.tgz?cache=0&sync_timestamp=1637478611226&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fquick-lru%2Fdownload%2Fquick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha1-W4h48ROlgheEjGSCAmxz4bpXcn8= + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/randomfill/download/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/range-parser/download/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.npmmirror.com/raw-body/download/raw-body-2.4.0.tgz?cache=0&sync_timestamp=1637116844816&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fraw-body%2Fdownload%2Fraw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha1-oc5vucm8NWylLoklarWQWeE9AzI= + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +raw-loader@^4.0.0: + version "4.0.2" + resolved "https://registry.npmmirror.com/raw-loader/download/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6" + integrity sha1-GqxrfRrRUB5m79rBUixz5ZpYTrY= + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +rc@^1.0.1, rc@^1.1.6, rc@^1.2.8: + version "1.2.8" + resolved "https://registry.npmmirror.com/rc/download/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0= + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-is@^16.8.4: + version "16.13.1" + resolved "https://registry.npmmirror.com/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.npmmirror.com/react-is/download/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA= + +read-cmd-shim@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/read-cmd-shim/download/read-cmd-shim-2.0.0.tgz#4a50a71d6f0965364938e9038476f7eede3928d9" + integrity sha1-SlCnHW8JZTZJOOkDhHb37t45KNk= + +read-package-json-fast@^2.0.1: + version "2.0.3" + resolved "https://registry.npmmirror.com/read-package-json-fast/download/read-package-json-fast-2.0.3.tgz?cache=0&sync_timestamp=1632754051785&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fread-package-json-fast%2Fdownload%2Fread-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" + integrity sha1-MjylKWMNqCyzSzbMC5lmk8mMK4M= + dependencies: + json-parse-even-better-errors "^2.3.0" + npm-normalize-package-bin "^1.0.1" + +read-package-json@^2.0.0: + version "2.1.2" + resolved "https://registry.npmmirror.com/read-package-json/download/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" + integrity sha1-aZKytmxxdyWf646qxzw6zSi5Iio= + dependencies: + glob "^7.1.1" + json-parse-even-better-errors "^2.3.0" + normalize-package-data "^2.0.0" + npm-normalize-package-bin "^1.0.0" + +read-package-json@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/read-package-json/download/read-package-json-3.0.1.tgz#c7108f0b9390257b08c21e3004d2404c806744b9" + integrity sha1-xxCPC5OQJXsIwh4wBNJATIBnRLk= + dependencies: + glob "^7.1.1" + json-parse-even-better-errors "^2.3.0" + normalize-package-data "^3.0.0" + npm-normalize-package-bin "^1.0.0" + +read-package-json@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/read-package-json/download/read-package-json-4.1.1.tgz#153be72fce801578c1c86b8ef2b21188df1b9eea" + integrity sha1-FTvnL86AFXjByGuO8rIRiN8bnuo= + dependencies: + glob "^7.1.1" + json-parse-even-better-errors "^2.3.0" + normalize-package-data "^3.0.0" + npm-normalize-package-bin "^1.0.0" + +read-package-tree@^5.3.1: + version "5.3.1" + resolved "https://registry.npmmirror.com/read-package-tree/download/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" + integrity sha1-oyy2TH8x64pvMe8G+c7fdAaP5jY= + dependencies: + read-package-json "^2.0.0" + readdir-scoped-modules "^1.0.0" + util-promisify "^2.1.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-3.0.0.tgz?cache=0&sync_timestamp=1634147969397&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-7.0.1.tgz?cache=0&sync_timestamp=1634147969397&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc= + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/read-pkg/download/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/read-pkg/download/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w= + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +read@1, read@~1.0.1: + version "1.0.7" + resolved "https://registry.npmmirror.com/read/download/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= + dependencies: + mute-stream "~0.0.4" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.npmmirror.com/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= + dependencies: + 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" + +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdir-scoped-modules@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/readdir-scoped-modules/download/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" + integrity sha1-jUVAe0+HCg3K68DihnDRjnRRQwk= + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + graceful-fs "^4.1.2" + once "^1.3.0" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/readdirp/download/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/readdirp/download/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc= + dependencies: + picomatch "^2.2.1" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/redent/download/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8= + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +reduce@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/reduce/download/reduce-1.0.2.tgz#0cd680ad3ffe0b060e57a5c68bdfce37168d361b" + integrity sha1-DNaArT/+CwYOV6XGi9/ONxaNNhs= + dependencies: + object-keys "^1.1.0" + +regenerate-unicode-properties@^9.0.0: + version "9.0.0" + resolved "https://registry.npmmirror.com/regenerate-unicode-properties/download/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" + integrity sha1-VNCccRXh9T3CMUqXSzLBw0Tv4yY= + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmmirror.com/regenerate/download/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo= + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.npmmirror.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk= + +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.npmmirror.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I= + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.npmmirror.com/regenerator-transform/download/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ= + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/regex-not/download/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.2.0: + version "1.3.1" + resolved "https://registry.npmmirror.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/regexpp/download/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha1-BCWido2PI7rXDKS5BGH6LxIT4bI= + +regexpu-core@^4.7.1: + version "4.8.0" + resolved "https://registry.npmmirror.com/regexpu-core/download/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" + integrity sha1-5WBbo2G2excYR4UBMnUC9EeamPA= + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^9.0.0" + regjsgen "^0.5.2" + regjsparser "^0.7.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +registry-auth-token@^3.0.1: + version "3.4.0" + resolved "https://registry.npmmirror.com/registry-auth-token/download/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" + integrity sha1-10RoFUM/XV7WQxzV3KIQSPZrOX4= + dependencies: + rc "^1.1.6" + safe-buffer "^5.0.1" + +registry-auth-token@^4.0.0: + version "4.2.1" + resolved "https://registry.npmmirror.com/registry-auth-token/download/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" + integrity sha1-bXtABkQZGJcszV/tzUHcMix5slA= + dependencies: + rc "^1.2.8" + +registry-url@^3.0.3: + version "3.1.0" + resolved "https://registry.npmmirror.com/registry-url/download/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= + dependencies: + rc "^1.0.1" + +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/registry-url/download/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha1-6YM0tQ1UNLgRNrROxjjZwgCcUAk= + dependencies: + rc "^1.2.8" + +regjsgen@^0.5.2: + version "0.5.2" + resolved "https://registry.npmmirror.com/regjsgen/download/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM= + +regjsparser@^0.7.0: + version "0.7.0" + resolved "https://registry.npmmirror.com/regjsparser/download/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" + integrity sha1-prZntUyIXhi1JVTLSWDvcRh+mWg= + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.npmmirror.com/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remote-origin-url@^0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/remote-origin-url/download/remote-origin-url-0.4.0.tgz#4d3e2902f34e2d37d1c263d87710b77eb4086a30" + integrity sha1-TT4pAvNOLTfRwmPYdxC3frQIajA= + dependencies: + parse-git-config "^0.2.0" + +remote-origin-url@^0.5.1: + version "0.5.3" + resolved "https://registry.npmmirror.com/remote-origin-url/download/remote-origin-url-0.5.3.tgz#b9fc6ced2c826690d0b07218b2b8c17fcec88e87" + integrity sha1-ufxs7SyCZpDQsHIYsrjBf87Ijoc= + dependencies: + parse-git-config "^1.1.1" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npmmirror.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.4: + version "2.0.7" + resolved "https://registry.npmmirror.com/renderkid/download/renderkid-2.0.7.tgz?cache=0&sync_timestamp=1635212582997&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frenderkid%2Fdownload%2Frenderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" + integrity sha1-Rk8namvc7mBvShWZP5sp/HTKhgk= + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.npmmirror.com/repeat-element/download/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek= + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npmmirror.com/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request@^2.87.0, request@^2.88.0, request@^2.88.2: + version "2.88.2" + resolved "https://registry.npmmirror.com/request/download/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM= + dependencies: + 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" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/require-from-string/download/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resize-observer-polyfill@^1.5.0: + version "1.5.1" + resolved "https://registry.npmmirror.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/resolve-cwd/download/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha1-DwB18bslRHZs9zumpuKt/ryxPy0= + dependencies: + resolve-from "^5.0.0" + +resolve-dir@^0.1.0: + version "0.1.1" + resolved "https://registry.npmmirror.com/resolve-dir/download/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" + integrity sha1-shklmlYC+sXFxJatiUpujMQwJh4= + dependencies: + expand-tilde "^1.2.2" + global-modules "^0.2.3" + +resolve-from@5.0.0, resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/resolve-from/download/resolve-from-5.0.0.tgz?cache=0&sync_timestamp=1632754457717&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fresolve-from%2Fdownload%2Fresolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha1-w1IlhD3493bfIcV1V7wIfp39/Gk= + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/resolve-from/download/resolve-from-3.0.0.tgz?cache=0&sync_timestamp=1632754457717&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fresolve-from%2Fdownload%2Fresolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/resolve-from/download/resolve-from-4.0.0.tgz?cache=0&sync_timestamp=1632754457717&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fresolve-from%2Fdownload%2Fresolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= + +resolve-global@1.0.0, resolve-global@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/resolve-global/download/resolve-global-1.0.0.tgz#a2a79df4af2ca3f49bf77ef9ddacd322dad19255" + integrity sha1-oqed9K8so/Sb93753azTItrRklU= + dependencies: + global-dirs "^0.1.1" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.20.0, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.2.0, resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.npmmirror.com/resolve/download/resolve-1.20.0.tgz?cache=0&sync_timestamp=1632753974039&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fresolve%2Fdownload%2Fresolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU= + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +resolve@~1.1.6: + version "1.1.7" + resolved "https://registry.npmmirror.com/resolve/download/resolve-1.1.7.tgz?cache=0&sync_timestamp=1632753974039&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fresolve%2Fdownload%2Fresolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/responselike/download/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npmmirror.com/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= + +retry@^0.10.0: + version "0.10.1" + resolved "https://registry.npmmirror.com/retry/download/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" + integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.npmmirror.com/retry/download/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY= + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/rgb-regex/download/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/rgba-regex/download/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.npmmirror.com/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/rimraf/download/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho= + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rollup-plugin-dts@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/rollup-plugin-dts/download/rollup-plugin-dts-2.0.1.tgz#333f50a637e199a073d490b198746f3c6bd07701" + integrity sha1-Mz9QpjfhmaBz1JCxmHRvPGvQdwE= + dependencies: + magic-string "^0.25.7" + optionalDependencies: + "@babel/code-frame" "^7.10.4" + +rollup-plugin-external-globals@^0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/rollup-plugin-external-globals/download/rollup-plugin-external-globals-0.6.1.tgz#861c260b5727144e0fd1b424b103f9f0282fc365" + integrity sha1-hhwmC1cnFE4P0bQksQP58Cgvw2U= + dependencies: + "@rollup/pluginutils" "^4.0.0" + estree-walker "^2.0.1" + is-reference "^1.2.1" + magic-string "^0.25.7" + +rollup-plugin-ignore-import@^1.3.2: + version "1.3.2" + resolved "https://registry.npmmirror.com/rollup-plugin-ignore-import/download/rollup-plugin-ignore-import-1.3.2.tgz#5379eac73d2c7e389ebeb5b3a90ae4c15c15e6c8" + integrity sha1-U3nqxz0sfjievrWzqQrkwVwV5sg= + +rollup-plugin-inject-process-env@^1.3.1: + version "1.3.1" + resolved "https://registry.npmmirror.com/rollup-plugin-inject-process-env/download/rollup-plugin-inject-process-env-1.3.1.tgz#2d7660fe76f2b221b976cb35597763ffcaad3db3" + integrity sha1-LXZg/nbysiG5dss1WXdj/8qtPbM= + dependencies: + magic-string "^0.25.7" + +rollup-plugin-node-resolve@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/rollup-plugin-node-resolve/download/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523" + integrity sha1-cw+T0Q7SAkc7H7VKWZen24xthSM= + dependencies: + "@types/resolve" "0.0.8" + builtin-modules "^3.1.0" + is-module "^1.0.0" + resolve "^1.11.1" + rollup-pluginutils "^2.8.1" + +rollup-plugin-postcss@^4.0.0: + version "4.0.2" + resolved "https://registry.npmmirror.com/rollup-plugin-postcss/download/rollup-plugin-postcss-4.0.2.tgz#15e9462f39475059b368ce0e49c800fa4b1f7050" + integrity sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w== + dependencies: + chalk "^4.1.0" + concat-with-sourcemaps "^1.1.0" + cssnano "^5.0.1" + import-cwd "^3.0.0" + p-queue "^6.6.2" + pify "^5.0.0" + postcss-load-config "^3.0.0" + postcss-modules "^4.0.0" + promise.series "^0.2.0" + resolve "^1.19.0" + rollup-pluginutils "^2.8.2" + safe-identifier "^0.4.2" + style-inject "^0.3.0" + +rollup-plugin-terser@^7.0.2: + version "7.0.2" + resolved "https://registry.npmmirror.com/rollup-plugin-terser/download/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + integrity sha1-6Pu6SGmYGy3DWufopQLVxsBNMk0= + dependencies: + "@babel/code-frame" "^7.10.4" + jest-worker "^26.2.1" + serialize-javascript "^4.0.0" + terser "^5.0.0" + +rollup-plugin-typescript2@^0.30.0: + version "0.30.0" + resolved "https://registry.npmmirror.com/rollup-plugin-typescript2/download/rollup-plugin-typescript2-0.30.0.tgz#1cc99ac2309bf4b9d0a3ebdbc2002aecd56083d3" + integrity sha1-HMmawjCb9LnQo+vbwgAq7NVgg9M= + dependencies: + "@rollup/pluginutils" "^4.1.0" + find-cache-dir "^3.3.1" + fs-extra "8.1.0" + resolve "1.20.0" + tslib "2.1.0" + +rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: + version "2.8.2" + resolved "https://registry.npmmirror.com/rollup-pluginutils/download/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha1-cvKvB0i1kjZNvTOJ5gDlqURKNR4= + dependencies: + estree-walker "^0.6.1" + +rollup@^2.37.1: + version "2.60.2" + resolved "https://registry.npmmirror.com/rollup/download/rollup-2.60.2.tgz#3f45ace36a9b10b4297181831ea0719922513463" + integrity sha512-1Bgjpq61sPjgoZzuiDSGvbI1tD91giZABgjCQBKM5aYLnzjq52GoDuWVwT/cm/MCxCMPU8gqQvkj8doQ5C8Oqw== + optionalDependencies: + fsevents "~2.3.2" + +run-async@^2.2.0, run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.npmmirror.com/run-async/download/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU= + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmmirror.com/run-parallel/download/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4= + dependencies: + queue-microtask "^1.2.2" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.6.0: + version "6.6.7" + resolved "https://registry.npmmirror.com/rxjs/download/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk= + dependencies: + tslib "^1.9.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmmirror.com/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmmirror.com/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= + +safe-identifier@^0.4.2: + version "0.4.2" + resolved "https://registry.npmmirror.com/safe-identifier/download/safe-identifier-0.4.2.tgz#cf6bfca31c2897c588092d1750d30ef501d59fcb" + integrity sha1-z2v8oxwol8WICS0XUNMO9QHVn8s= + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@^2.1.2, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.npmmirror.com/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= + +sass-loader@^8.0.2: + version "8.0.2" + resolved "https://registry.npmmirror.com/sass-loader/download/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" + integrity sha1-3r7NjDziQ8dkVPLoKQSCFQOACQ0= + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.2.3" + neo-async "^2.6.1" + schema-utils "^2.6.1" + semver "^6.3.0" + +sass@^1.34.1: + version "1.44.0" + resolved "https://registry.npmmirror.com/sass/download/sass-1.44.0.tgz#619aa0a2275c097f9af5e6b8fe8a95e3056430fb" + integrity sha512-0hLREbHFXGQqls/K8X+koeP+ogFRPF4ZqetVB19b7Cst9Er8cOR0rc6RU7MaI4W1JmUShd1BPgPoeqmmgMMYFw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + +sax@^1.2.4, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.npmmirror.com/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1637075942751&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.6.1, schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmmirror.com/schema-utils/download/schema-utils-2.7.1.tgz?cache=0&sync_timestamp=1637075942751&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc= + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075942751&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha1-vHTEtraZXB2I92qLd76nIZ4MgoE= + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +section-matter@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/section-matter/download/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" + integrity sha1-6QQZU1BngOwB1Z8pKhnHuFC4QWc= + dependencies: + extend-shallow "^2.0.1" + kind-of "^6.0.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.10.8: + version "1.10.11" + resolved "https://registry.npmmirror.com/selfsigned/download/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" + integrity sha1-JJKc2Qb+D0S20B+yOZmnOVN6y+k= + dependencies: + node-forge "^0.10.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/semver-compare/download/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/semver-diff/download/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= + dependencies: + semver "^5.0.3" + +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/semver-diff/download/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" + integrity sha1-Bfd85Z8yXgDicGr9Z7tQbdscoys= + dependencies: + semver "^6.3.0" + +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: + version "5.7.1" + resolved "https://registry.npmmirror.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1632475048843&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1632475048843&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha1-XzyjV2HkfgWyBsba/yz4FPAxa44= + +semver@7.3.5, semver@7.x, semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.npmmirror.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1632475048843&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc= + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmmirror.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1632475048843&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= + +send@0.17.1: + version "0.17.1" + resolved "https://registry.npmmirror.com/send/download/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg= + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/serialize-javascript/download/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" + integrity sha1-i/OpFwcSZk7yVhtEtpHq/jmSFOo= + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/serialize-javascript/download/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao= + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npmmirror.com/serve-index/download/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.npmmirror.com/serve-static/download/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk= + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/set-value/download/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.npmmirror.com/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/setprototypeof/download/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.npmmirror.com/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/shallow-clone/download/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha1-jymBrZJTH1UDWwH7IwdppA4C76M= + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/shebang-regex/download/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= + +shortid@^2.2.8: + version "2.2.16" + resolved "https://registry.npmmirror.com/shortid/download/shortid-2.2.16.tgz#b742b8f0cb96406fd391c76bfc18a67a57fe5608" + integrity sha1-t0K48MuWQG/Tkcdr/Bimelf+Vgg= + dependencies: + nanoid "^2.1.0" + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/side-channel/download/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha1-785cj9wQTudRslxY1CkAEfpeos8= + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/sigmund/download/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.6" + resolved "https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" + integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== + +simple-git@^1.85.0: + version "1.132.0" + resolved "https://registry.npmmirror.com/simple-git/download/simple-git-1.132.0.tgz#53ac4c5ec9e74e37c2fd461e23309f22fcdf09b1" + integrity sha1-U6xMXsnnTjfC/UYeIzCfIvzfCbE= + dependencies: + debug "^4.0.1" + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.npmmirror.com/simple-swizzle/download/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/sisteransi/download/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha1-E01oEpd1ZDfMBcoBNw06elcQde0= + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.npmmirror.com/slice-ansi/download/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/slice-ansi/download/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms= + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slide@^1.1.6: + version "1.1.6" + resolved "https://registry.npmmirror.com/slide/download/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + +smart-buffer@^1.0.13: + version "1.1.15" + resolved "https://registry.npmmirror.com/smart-buffer/download/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16" + integrity sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY= + +smart-buffer@^4.1.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/smart-buffer/download/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha1-bh1x+k8YwF99D/IW3RakgdDo2a4= + +smoothscroll-polyfill@^0.4.3: + version "0.4.4" + resolved "https://registry.npmmirror.com/smoothscroll-polyfill/download/smoothscroll-polyfill-0.4.4.tgz#3a259131dc6930e6ca80003e1cb03b603b69abf8" + integrity sha1-OiWRMdxpMObKgAA+HLA7YDtpq/g= + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npmmirror.com/snapdragon/download/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@^1.5.0: + version "1.5.2" + resolved "https://registry.npmmirror.com/sockjs-client/download/sockjs-client-1.5.2.tgz#4bc48c2da9ce4769f19dc723396b50f5c12330a3" + integrity sha1-S8SMLanOR2nxnccjOWtQ9cEjMKM= + dependencies: + debug "^3.2.6" + eventsource "^1.0.7" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.5.3" + +sockjs@^0.3.21: + version "0.3.21" + resolved "https://registry.npmmirror.com/sockjs/download/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" + integrity sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc= + dependencies: + faye-websocket "^0.11.3" + uuid "^3.4.0" + websocket-driver "^0.7.4" + +socks-proxy-agent@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/socks-proxy-agent/download/socks-proxy-agent-3.0.1.tgz#2eae7cf8e2a82d34565761539a7f9718c5617659" + integrity sha1-Lq58+OKoLTRWV2FTmn+XGMVhdlk= + dependencies: + agent-base "^4.1.0" + socks "^1.1.10" + +socks-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.npmmirror.com/socks-proxy-agent/download/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e" + integrity sha1-Ay+1gwSKKev/7C5qc/ygdh9IF34= + dependencies: + agent-base "^6.0.2" + debug "4" + socks "^2.3.3" + +socks-proxy-agent@^6.0.0: + version "6.1.1" + resolved "https://registry.npmmirror.com/socks-proxy-agent/download/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" + integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== + dependencies: + agent-base "^6.0.2" + debug "^4.3.1" + socks "^2.6.1" + +socks@^1.1.10: + version "1.1.10" + resolved "https://registry.npmmirror.com/socks/download/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a" + integrity sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o= + dependencies: + ip "^1.1.4" + smart-buffer "^1.0.13" + +socks@^2.3.3, socks@^2.6.1: + version "2.6.1" + resolved "https://registry.npmmirror.com/socks/download/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" + integrity sha1-mJ5lNKB88zfesbHJSqpEKWUg0w4= + dependencies: + ip "^1.1.5" + smart-buffer "^4.1.0" + +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/sort-keys/download/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= + dependencies: + is-plain-obj "^1.0.0" + +sort-keys@^4.0.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/sort-keys/download/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18" + integrity sha1-a3Y4zuQsUG//jBzs3nN20hMVvhg= + dependencies: + is-plain-obj "^2.0.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= + +source-map-js@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/source-map-js/download/source-map-js-1.0.1.tgz?cache=0&sync_timestamp=1636400912121&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsource-map-js%2Fdownload%2Fsource-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf" + integrity sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA== + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: + version "0.5.3" + resolved "https://registry.npmmirror.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho= + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/source-map-resolve/download/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha1-PZ34fiNrU/FtAeWBUPx3EROOXtI= + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + +source-map-support@^0.5.17, source-map-support@~0.5.12, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmmirror.com/source-map-support/download/source-map-support-0.5.21.tgz?cache=0&sync_timestamp=1637320322789&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.npmmirror.com/source-map-url/download/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha1-CvZmBadFpaL5HPG7+KevvCg97FY= + +source-map@0.5.6: + version "0.5.6" + resolved "https://registry.npmmirror.com/source-map/download/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + integrity sha1-dc449SvwczxafwwRjYEzSiu19BI= + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npmmirror.com/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + +source-map@^0.7.3, source-map@~0.7.2: + version "0.7.3" + resolved "https://registry.npmmirror.com/source-map/download/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha1-UwL4FpAxc1ImVECS5kmB91F1A4M= + +sourcemap-codec@^1.4.4: + version "1.4.8" + resolved "https://registry.npmmirror.com/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha1-6oBL2UhXQC5pktBaOO8a41qatMQ= + +spawn-command@0.0.2: + version "0.0.2" + resolved "https://registry.npmmirror.com/spawn-command/download/spawn-command-0.0.2.tgz#9544e1a43ca045f8531aac1a48cb29bdae62338e" + integrity sha1-lUThpDygRfhTGqwaSMspva5iM44= + +spawn-command@0.0.2-1: + version "0.0.2-1" + resolved "https://registry.npmmirror.com/spawn-command/download/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/spdx-correct/download/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha1-3s6BrJweZxPl99G28X1Gj6U9iak= + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0= + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk= + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.11" + resolved "https://registry.npmmirror.com/spdx-license-ids/download/spdx-license-ids-3.0.11.tgz?cache=0&sync_timestamp=1636978568100&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/spdy-transport/download/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE= + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/spdy/download/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha1-t09GYgOj7aRSwCSSuR+56EonZ3s= + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/split-on-first/download/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha1-9hCv7uOxK84dDDBCXnY5i3gkml8= + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.npmmirror.com/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= + dependencies: + extend-shallow "^3.0.0" + +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.npmmirror.com/split2/download/split2-3.2.2.tgz?cache=0&sync_timestamp=1635306201056&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsplit2%2Fdownload%2Fsplit2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha1-vyzyo32DgxLCSciSBv16F90SNl8= + dependencies: + readable-stream "^3.0.0" + +split@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/split/download/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + integrity sha1-YFvZvjA6pZ+zX5Ip++oN3snqB9k= + dependencies: + through "2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.npmmirror.com/sshpk/download/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= + dependencies: + 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" + +ssri@^4.1.6: + version "4.1.6" + resolved "https://registry.npmmirror.com/ssri/download/ssri-4.1.6.tgz#0cb49b6ac84457e7bdd466cb730c3cb623e9a25b" + integrity sha1-DLSbashEV+e91GbLcww8tiPpols= + dependencies: + safe-buffer "^5.1.0" + +ssri@^5.0.0, ssri@^5.2.4: + version "5.3.0" + resolved "https://registry.npmmirror.com/ssri/download/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" + integrity sha1-ujhyycbTOgcEp9cf8EXl7EiZnQY= + dependencies: + safe-buffer "^5.1.1" + +ssri@^6.0.1: + version "6.0.2" + resolved "https://registry.npmmirror.com/ssri/download/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha1-FXk5E08gRk5zAd26PpD/qPdyisU= + dependencies: + figgy-pudding "^3.5.1" + +ssri@^8.0.0, ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/ssri/download/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha1-Y45OQ54v+9LNKJd21cpFfE9Roq8= + dependencies: + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmmirror.com/stable/download/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88= + +stack-utils@^1.0.1: + version "1.0.5" + resolved "https://registry.npmmirror.com/stack-utils/download/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha1-oZsLAZR+ACnI5FHV1hpJj1uxRxs= + dependencies: + escape-string-regexp "^2.0.0" + +staged-git-files@1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/staged-git-files/download/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b" + integrity sha1-QybTOIbcns+immGTv1EbqQpGRUs= + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npmmirror.com/static-extend/download/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.npmmirror.com/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +std-env@^2.2.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/std-env/download/std-env-2.3.1.tgz#d42271908819c243f8defc77a140fc1fcee336a1" + integrity sha1-1CJxkIgZwkP43vx3oUD8H87jNqE= + dependencies: + ci-info "^3.1.1" + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/stream-browserify/download/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.npmmirror.com/stream-each/download/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.npmmirror.com/stream-http/download/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= + dependencies: + 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-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/stream-shift/download/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/strict-uri-encode/download/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= + +string-argv@^0.0.2: + version "0.0.2" + resolved "https://registry.npmmirror.com/string-argv/download/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736" + integrity sha1-2sMECGkMIfPDYwo/86BYd73L1zY= + +string-hash@^1.1.1: + version "1.1.3" + resolved "https://registry.npmmirror.com/string-hash/download/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" + integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA= + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha1-51rpDClCxjUEaGwYsoe0oLGkX4A= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.2.2: + version "3.3.0" + resolved "https://registry.npmmirror.com/stringify-object/download/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha1-cDBlrvyhkwDTzoivT1s5VtdVZik= + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk= + dependencies: + ansi-regex "^5.0.1" + +strip-bom-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/strip-bom-string/download/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" + integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/strip-bom/download/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha1-nDUFwdtFvO3KPZz3oW9cWqOQGHg= + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0= + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-indent/download/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha1-wy4c7pQLazQyx3G8LFS8znPNMAE= + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +strong-log-transformer@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/strong-log-transformer/download/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" + integrity sha1-D17XjTJeBCGsb5D38Q5pHWrjrhA= + dependencies: + duplexer "^0.1.1" + minimist "^1.2.0" + through "^2.3.4" + +style-inject@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/style-inject/download/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" + integrity sha1-0hxHev/skYEcyCNVgypwDSK/jdM= + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.npmmirror.com/stylehacks/download/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +stylehacks@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/stylehacks/download/stylehacks-5.0.1.tgz#323ec554198520986806388c7fdaebc38d2c06fb" + integrity sha1-Mj7FVBmFIJhoBjiMf9rrw40sBvs= + dependencies: + browserslist "^4.16.0" + postcss-selector-parser "^6.0.4" + +stylus-loader@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/stylus-loader/download/stylus-loader-3.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstylus-loader%2Fdownload%2Fstylus-loader-3.0.2.tgz#27a706420b05a38e038e7cacb153578d450513c6" + integrity sha1-J6cGQgsFo44DjnyssVNXjUUFE8Y= + dependencies: + loader-utils "^1.0.2" + lodash.clonedeep "^4.5.0" + when "~3.6.x" + +stylus@^0.54.8: + version "0.54.8" + resolved "https://registry.npmmirror.com/stylus/download/stylus-0.54.8.tgz#3da3e65966bc567a7b044bfe0eece653e099d147" + integrity sha1-PaPmWWa8Vnp7BEv+DuzmU+CZ0Uc= + dependencies: + css-parse "~2.0.0" + debug "~3.1.0" + glob "^7.1.6" + mkdirp "~1.0.4" + safer-buffer "^2.1.2" + sax "~1.2.4" + semver "^6.3.0" + source-map "^0.7.3" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmmirror.com/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/supports-color/download/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= + dependencies: + has-flag "^4.0.0" + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/svg-tags/download/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + +svgo@^1.0.0: + version "1.3.2" + resolved "https://registry.npmmirror.com/svgo/download/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc= + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.npmmirror.com/svgo/download/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha1-T/gMzmcQ3CeV8MfHQQHmdkz8zSQ= + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +symbol-observable@^1.1.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/symbol-observable/download/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ= + +synchronous-promise@^2.0.6: + version "2.0.15" + resolved "https://registry.npmmirror.com/synchronous-promise/download/synchronous-promise-2.0.15.tgz#07ca1822b9de0001f5ff73595f3d08c4f720eb8e" + integrity sha1-B8oYIrneAAH1/3NZXz0IxPcg644= + +table@^6.0.9: + version "6.7.3" + resolved "https://registry.npmmirror.com/table/download/table-6.7.3.tgz?cache=0&sync_timestamp=1636037185645&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftable%2Fdownload%2Ftable-6.7.3.tgz#255388439715a738391bd2ee4cbca89a4d05a9b7" + integrity sha1-JVOIQ5cVpzg5G9LuTLyomk0Fqbc= + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= + +tar-fs@^1.15.3: + version "1.16.3" + resolved "https://registry.npmmirror.com/tar-fs/download/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" + integrity sha1-lmpiiEHaLEAQQGqCFny9Xgxy1Qk= + dependencies: + chownr "^1.0.1" + mkdirp "^0.5.1" + pump "^1.0.0" + tar-stream "^1.1.2" + +tar-stream@^1.1.2, tar-stream@^1.5.4: + version "1.6.2" + resolved "https://registry.npmmirror.com/tar-stream/download/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha1-jqVdqzeXIlPZqa+Q/c1VmuQ1xVU= + dependencies: + 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" + +tar@^4.4.12: + version "4.4.19" + resolved "https://registry.npmmirror.com/tar/download/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha1-Lk1yY98m8rkU3uEMglqxMhI3QvM= + dependencies: + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" + +tar@^6.0.2, tar@^6.1.0: + version "6.1.11" + resolved "https://registry.npmmirror.com/tar/download/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha1-Z2CjjwA6+hsv/Q/+npq70Oqz1iE= + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/temp-dir/download/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= + +temp-write@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/temp-write/download/temp-write-4.0.0.tgz#cd2e0825fc826ae72d201dc26eef3bf7e6fc9320" + integrity sha1-zS4IJfyCauctIB3Cbu879+b8kyA= + dependencies: + graceful-fs "^4.1.15" + is-stream "^2.0.0" + make-dir "^3.0.0" + temp-dir "^1.0.0" + uuid "^3.3.2" + +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/term-size/download/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= + dependencies: + execa "^0.7.0" + +term-size@^2.1.0: + version "2.2.1" + resolved "https://registry.npmmirror.com/term-size/download/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" + integrity sha1-KmpUhAQywvtjIP6g9BVTHpAYn1Q= + +terser-webpack-plugin@^1.4.3: + version "1.4.5" + resolved "https://registry.npmmirror.com/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha1-oheu+uozDnNP+sthIOwfoxLWBAs= + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2: + version "4.8.0" + resolved "https://registry.npmmirror.com/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1636988125723&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fterser%2Fdownload%2Fterser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc= + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +terser@^5.0.0: + version "5.10.0" + resolved "https://registry.npmmirror.com/terser/download/terser-5.10.0.tgz?cache=0&sync_timestamp=1636988125723&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fterser%2Fdownload%2Fterser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" + integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + +text-extensions@^1.0.0: + version "1.9.0" + resolved "https://registry.npmmirror.com/text-extensions/download/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" + integrity sha1-GFPkX+45yUXOb2w2stZZtaq8KiY= + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +textextensions@^2.5.0: + version "2.6.0" + resolved "https://registry.npmmirror.com/textextensions/download/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" + integrity sha1-1+SrE/5U4y4IhzvkDVG3QimwD8Q= + +throttle-debounce@^1.0.1: + version "1.1.0" + resolved "https://registry.npmmirror.com/throttle-debounce/download/throttle-debounce-1.1.0.tgz#51853da37be68a155cb6e827b3514a3c422e89cd" + integrity sha1-UYU9o3vmihVctugns1FKPEIuic0= + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.npmmirror.com/through2/download/through2-2.0.5.tgz?cache=0&sync_timestamp=1632754345436&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fthrough2%2Fdownload%2Fthrough2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.npmmirror.com/through2/download/through2-4.0.2.tgz?cache=0&sync_timestamp=1632754345436&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fthrough2%2Fdownload%2Fthrough2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha1-p846wqeosLlmyA58SfBITDsjl2Q= + dependencies: + readable-stream "3" + +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@~2.3.4: + version "2.3.8" + resolved "https://registry.npmmirror.com/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmmirror.com/thunky/download/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= + +timed-out@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/timed-out/download/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.npmmirror.com/timers-browserify/download/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4= + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/timsort/download/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npmmirror.com/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= + dependencies: + os-tmpdir "~1.0.2" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/to-buffer/download/to-buffer-1.1.1.tgz?cache=0&sync_timestamp=1632753977217&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fto-buffer%2Fdownload%2Fto-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha1-STvUj2LXxD/N7TE6A9ytsuEhOoA= + +to-factory@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/to-factory/download/to-factory-1.0.0.tgz#8738af8bd97120ad1d4047972ada5563bf9479b1" + integrity sha1-hzivi9lxIK0dQEeXKtpVY7+UebE= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/to-readable-stream/download/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha1-zgqgwvPfat+FLvtASng+d8BHV3E= + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/to-regex-range/download/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.npmmirror.com/toggle-selection/download/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/toidentifier/download/toidentifier-1.0.0.tgz?cache=0&sync_timestamp=1636938510483&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftoidentifier%2Fdownload%2Ftoidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= + +toml@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/toml/download/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" + integrity sha1-NCFg8a8ZBOydIE0DpdYSItdixe4= + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.npmmirror.com/toposort/download/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= + +toposort@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/toposort/download/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" + integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA= + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/tough-cookie/download/tough-cookie-2.5.0.tgz?cache=0&sync_timestamp=1632753998762&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/tr46/download/tr46-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftr46%2Fdownload%2Ftr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha1-+oeqgcpdWUHajL8fm3SdyWmk4kA= + dependencies: + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmmirror.com/tr46/download/tr46-0.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftr46%2Fdownload%2Ftr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/trim-newlines/download/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ= + +ts-import-plugin@1.6.1: + version "1.6.1" + resolved "https://registry.npmmirror.com/ts-import-plugin/download/ts-import-plugin-1.6.1.tgz#96477d241a154954508aa1397be03000735f98d0" + integrity sha1-lkd9JBoVSVRQiqE5e+AwAHNfmNA= + dependencies: + opencollective-postinstall "^2.0.2" + tslib "^1.10.0" + +ts-jest@^26.0.0: + version "26.5.6" + resolved "https://registry.npmmirror.com/ts-jest/download/ts-jest-26.5.6.tgz?cache=0&sync_timestamp=1634378726137&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fts-jest%2Fdownload%2Fts-jest-26.5.6.tgz#c32e0746425274e1dfe333f43cd3c800e014ec35" + integrity sha1-wy4HRkJSdOHf4zP0PNPIAOAU7DU= + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +ts-loader@^7.0.3: + version "7.0.5" + resolved "https://registry.npmmirror.com/ts-loader/download/ts-loader-7.0.5.tgz#789338fb01cb5dc0a33c54e50558b34a73c9c4c5" + integrity sha1-eJM4+wHLXcCjPFTlBVizSnPJxMU= + dependencies: + chalk "^2.3.0" + enhanced-resolve "^4.0.0" + loader-utils "^1.0.2" + micromatch "^4.0.0" + semver "^6.0.0" + +ts-node@^9, ts-node@^9.1.1: + version "9.1.1" + resolved "https://registry.npmmirror.com/ts-node/download/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha1-UamkUKPpWUAb2l8ASnLVS5NtN20= + dependencies: + 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@^3.11.0: + version "3.12.0" + resolved "https://registry.npmmirror.com/tsconfig-paths/download/tsconfig-paths-3.12.0.tgz?cache=0&sync_timestamp=1637404971873&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftsconfig-paths%2Fdownload%2Ftsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" + integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tslib@2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/tslib/download/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha1-2mCGDxwuyqVwOrfTm8Bba/mIuXo= + +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.npmmirror.com/tslib/download/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= + +tslib@^2, tslib@^2.0.3, tslib@^2.3.0, tslib@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/tslib/download/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha1-6KM1rdXOrlGqJh0ypJAVjvBC7wE= + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmmirror.com/tsutils/download/tsutils-3.21.0.tgz?cache=0&sync_timestamp=1632763775108&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftsutils%2Fdownload%2Ftsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM= + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.npmmirror.com/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.npmmirror.com/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/type-check/download/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE= + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha1-20vBUaSiz07r+a3V23VQjbbMhB8= + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ= + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc= + +type-fest@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" + integrity sha1-i993dDOF2KTxO6lfYQ9czWjHKPg= + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s= + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmmirror.com/type-is/download/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npmmirror.com/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha1-qX7nqf9CaRufeD/xvFES/j/KkIA= + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npmmirror.com/typedarray/download/typedarray-0.0.6.tgz?cache=0&sync_timestamp=1632754353122&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftypedarray%2Fdownload%2Ftypedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typescript@^4.1.5, typescript@^4.4.3: + version "4.5.2" + resolved "https://registry.npmmirror.com/typescript/download/typescript-4.5.2.tgz#8ac1fba9f52256fdb06fb89e4122fa6a346c2998" + integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw== + +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.npmmirror.com/uc.micro/download/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha1-nEEagCpAmpH8bPdAgbq6NLJEmaw= + +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.npmmirror.com/uglify-js/download/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha1-mtlWPY6zrN+404WX0q8dgV9qdV8= + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + +uglify-js@^3.1.4: + version "3.14.4" + resolved "https://registry.npmmirror.com/uglify-js/download/uglify-js-3.14.4.tgz#68756f17d1b90b9d289341736cb9a567d6882f90" + integrity sha512-AbiSR44J0GoCeV81+oxcy/jDOElO2Bx3d0MfQCUShq7JRXaM4KtQopZsq2vFv8bCq2yMaGrw1FgygUd03RyRDA== + +uid-number@0.0.6: + version "0.0.6" + resolved "https://registry.npmmirror.com/uid-number/download/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= + +umask@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/umask/download/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" + integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/unbox-primitive/download/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha1-CF4hViXsMWJXTciFmr7nilmxRHE= + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha1-MBrNxSVjFnDTn2FG4Od/9rvevdw= + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha1-VP0W4OyxZ88Ezx91a9zJLrp5dsM= + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha1-GgGqVyR8FMVouJd1pUk4eIGJpxQ= + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha1-CjbLmlhcT2q9Ua0d7dsoXBZSl8g= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/union-value/download/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/uniq/download/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/uniqs/download/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.0, unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/unique-filename/download/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/unique-slug/download/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= + dependencies: + imurmurhash "^0.1.4" + +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/unique-string/download/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= + dependencies: + crypto-random-string "^1.0.0" + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unique-string/download/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha1-OcZFH4GvsnSd4rIz4/fF6IQ72J0= + dependencies: + crypto-random-string "^2.0.0" + +unist-util-stringify-position@^2.0.0: + version "2.0.3" + resolved "https://registry.npmmirror.com/unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" + integrity sha1-zOO/oc34W6c3XR1bF73Eytqb2do= + dependencies: + "@types/unist" "^2.0.2" + +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/universal-user-agent/download/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha1-M4H4UDslHA2c0hvB3pOeyd9UgO4= + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmmirror.com/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/universalify/download/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc= + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/unquote/download/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/unzip-response/download/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= + +upath@^1.1.0, upath@^1.1.1: + version "1.2.0" + resolved "https://registry.npmmirror.com/upath/download/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= + +upath@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/upath/download/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" + integrity sha1-UMc96mjW9rmQ9R0nnOYIFmXWGos= + +update-notifier@^2.2.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/update-notifier/download/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" + integrity sha1-0HRFk+E/Fh5AassdlAi3LK0Ir/Y= + dependencies: + boxen "^1.2.1" + chalk "^2.0.1" + configstore "^3.0.0" + import-lazy "^2.1.0" + is-ci "^1.0.10" + is-installed-globally "^0.1.0" + is-npm "^1.0.0" + latest-version "^3.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + +update-notifier@^4.0.0: + version "4.1.3" + resolved "https://registry.npmmirror.com/update-notifier/download/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" + integrity sha1-vobuE+jOSPtQBD/3IFe1vVmOHqM= + dependencies: + boxen "^4.2.0" + chalk "^3.0.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.3.1" + is-npm "^4.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.0.0" + pupa "^2.0.1" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.npmmirror.com/upper-case/download/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +upper-case@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/upper-case/download/upper-case-2.0.2.tgz#d89810823faab1df1549b7d97a76f8662bae6f7a" + integrity sha1-2JgQgj+qsd8VSbfZenb4Ziuub3o= + dependencies: + tslib "^2.0.3" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmmirror.com/uri-js/download/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34= + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@^1.0.1: + version "1.1.2" + resolved "https://registry.npmmirror.com/url-loader/download/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8" + integrity sha1-uXHRkbg69pPF4/6kBkvp4fLX+Ng= + dependencies: + loader-utils "^1.1.0" + mime "^2.0.3" + schema-utils "^1.0.0" + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/url-parse-lax/download/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/url-parse-lax/download/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +url-parse@^1.4.3, url-parse@^1.5.3: + version "1.5.3" + resolved "https://registry.npmmirror.com/url-parse/download/url-parse-1.5.3.tgz?cache=0&sync_timestamp=1632754425883&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Furl-parse%2Fdownload%2Furl-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" + integrity sha1-ccEwPTj7Zjmt4YPCmSyMwGht+GI= + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.npmmirror.com/url/download/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util-promisify@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/util-promisify/download/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53" + integrity sha1-PCI2R2xNMsX/PEcAKt18E7moKlM= + dependencies: + object.getownpropertydescriptors "^2.0.3" + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/util.promisify/download/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/util.promisify/download/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha1-a693dLgO6w91INi4HQeYKlmruu4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.npmmirror.com/util/download/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.npmmirror.com/util/download/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE= + dependencies: + inherits "2.0.3" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.npmmirror.com/utila/download/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.3.2, uuid@^3.4.0: + version "3.4.0" + resolved "https://registry.npmmirror.com/uuid/download/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4= + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.npmmirror.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4= + +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/validate-npm-package-name/download/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= + dependencies: + builtins "^1.0.3" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.npmmirror.com/vendors/download/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha1-4rgApT56Kbk1BsPPQRANFsTErY4= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.npmmirror.com/verror/download/verror-1.10.0.tgz?cache=0&sync_timestamp=1635885230540&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fverror%2Fdownload%2Fverror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.npmmirror.com/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= + +vue-demi@^0.9.0: + version "0.9.1" + resolved "https://registry.npmmirror.com/vue-demi/download/vue-demi-0.9.1.tgz#25d6e1ebd4d4010757ff3571e2bf6a1d7bf3de82" + integrity sha1-Jdbh69TUAQdX/zVx4r9qHXvz3oI= + +vue-eslint-parser@^7.10.0: + version "7.11.0" + resolved "https://registry.npmmirror.com/vue-eslint-parser/download/vue-eslint-parser-7.11.0.tgz#214b5dea961007fcffb2ee65b8912307628d0daf" + integrity sha1-IUtd6pYQB/z/su5luJEjB2KNDa8= + dependencies: + 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" + +vue-frag@^1.1.4: + version "1.3.1" + resolved "https://registry.npmmirror.com/vue-frag/download/vue-frag-1.3.1.tgz#8cc3ef0532754069b5c0755f10f42a6b17651f56" + integrity sha1-jMPvBTJ1QGm1wHVfEPQqaxdlH1Y= + +vue-hot-reload-api@^2.3.0: + version "2.3.4" + resolved "https://registry.npmmirror.com/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" + integrity sha1-UylVzB6yCKPZkLOp+acFdGV+CPI= + +vue-loader@^15.7.1: + version "15.9.8" + resolved "https://registry.npmmirror.com/vue-loader/download/vue-loader-15.9.8.tgz?cache=0&sync_timestamp=1636034570924&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvue-loader%2Fdownload%2Fvue-loader-15.9.8.tgz#4b0f602afaf66a996be1e534fb9609dc4ab10e61" + integrity sha1-Sw9gKvr2aplr4eU0+5YJ3EqxDmE= + dependencies: + "@vue/component-compiler-utils" "^3.1.0" + hash-sum "^1.0.2" + loader-utils "^1.1.0" + vue-hot-reload-api "^2.3.0" + vue-style-loader "^4.1.0" + +vue-router@^3.4.5: + version "3.5.3" + resolved "https://registry.npmmirror.com/vue-router/download/vue-router-3.5.3.tgz#041048053e336829d05dafacf6a8fb669a2e7999" + integrity sha1-BBBIBT4zaCnQXa+s9qj7ZpoueZk= + +vue-server-renderer@^2.6.10: + version "2.6.14" + resolved "https://registry.npmmirror.com/vue-server-renderer/download/vue-server-renderer-2.6.14.tgz#c8bffff152df6b47b858818ef8d524d2fc351654" + integrity sha1-yL//8VLfa0e4WIGO+NUk0vw1FlQ= + dependencies: + chalk "^1.1.3" + hash-sum "^1.0.2" + he "^1.1.0" + lodash.template "^4.5.0" + lodash.uniq "^4.5.0" + resolve "^1.2.0" + serialize-javascript "^3.1.0" + source-map "0.5.6" + +vue-slicksort@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/vue-slicksort/download/vue-slicksort-1.2.0.tgz#2bc1da2facc4350279ebc3866acea6ee5fe681ef" + integrity sha1-K8HaL6zENQJ568OGas6m7l/mge8= + +vue-style-loader@^4.1.0: + version "4.1.3" + resolved "https://registry.npmmirror.com/vue-style-loader/download/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35" + integrity sha1-bVWGOlH6dXqyTonZNxRlByqnvDU= + dependencies: + hash-sum "^1.0.2" + loader-utils "^1.0.2" + +vue-template-compiler@^2.6.10, vue-template-compiler@^2.6.12: + version "2.6.14" + resolved "https://registry.npmmirror.com/vue-template-compiler/download/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763" + integrity sha1-ovDn2YVnDULJye4NBE/tdpD092M= + dependencies: + de-indent "^1.0.2" + he "^1.1.0" + +vue-template-es2015-compiler@^1.9.0: + version "1.9.1" + resolved "https://registry.npmmirror.com/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" + integrity sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU= + +vuepress-html-webpack-plugin@^3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/vuepress-html-webpack-plugin/download/vuepress-html-webpack-plugin-3.2.0.tgz#219be272ad510faa8750d2d4e70fd028bfd1c16e" + integrity sha1-IZvicq1RD6qHUNLU5w/QKL/RwW4= + dependencies: + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + tapable "^1.0.0" + toposort "^1.0.0" + util.promisify "1.0.0" + +vuepress-plugin-container@^2.0.2: + version "2.1.5" + resolved "https://registry.npmmirror.com/vuepress-plugin-container/download/vuepress-plugin-container-2.1.5.tgz#37fff05662fedbd63ffd3a5463b2592c7a7f3133" + integrity sha1-N//wVmL+29Y//TpUY7JZLHp/MTM= + dependencies: + "@vuepress/shared-utils" "^1.2.0" + markdown-it-container "^2.0.0" + +vuepress-plugin-smooth-scroll@^0.0.3: + version "0.0.3" + resolved "https://registry.npmmirror.com/vuepress-plugin-smooth-scroll/download/vuepress-plugin-smooth-scroll-0.0.3.tgz#6eff2d4c186cca917cc9f7df2b0af7de7c8c6438" + integrity sha1-bv8tTBhsypF8yfffKwr33nyMZDg= + dependencies: + smoothscroll-polyfill "^0.4.3" + +vuepress-plugin-typescript@^0.3.1: + version "0.3.1" + resolved "https://registry.npmmirror.com/vuepress-plugin-typescript/download/vuepress-plugin-typescript-0.3.1.tgz#6c9e2999e1346d9c1198f7995a0f4e46902f9472" + integrity sha1-bJ4pmeE0bZwRmPeZWg9ORpAvlHI= + dependencies: + cache-loader "^3.0.0" + ts-loader "^7.0.3" + +vuepress@^1.8.2: + version "1.8.2" + resolved "https://registry.npmmirror.com/vuepress/download/vuepress-1.8.2.tgz#97e8bf979630611fc7b621fc4cc35b798ee5e847" + integrity sha1-l+i/l5YwYR/HtiH8TMNbeY7l6Ec= + dependencies: + "@vuepress/core" "1.8.2" + "@vuepress/theme-default" "1.8.2" + cac "^6.5.6" + envinfo "^7.2.0" + opencollective-postinstall "^2.0.2" + update-notifier "^4.0.0" + +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc= + dependencies: + chokidar "^2.1.8" + +watchpack@^1.7.4: + version "1.7.5" + resolved "https://registry.npmmirror.com/watchpack/download/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM= + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmmirror.com/wbuf/download/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98= + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/wcwidth/download/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/webidl-conversions/download/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/webidl-conversions/download/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha1-kRG01+qArNQPUnDWZmIa+ni2lRQ= + +webpack-chain@^4.9.0: + version "4.12.1" + resolved "https://registry.npmmirror.com/webpack-chain/download/webpack-chain-4.12.1.tgz#6c8439bbb2ab550952d60e1ea9319141906c02a6" + integrity sha1-bIQ5u7KrVQlS1g4eqTGRQZBsAqY= + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^1.6.0" + +webpack-chain@^6.0.0: + version "6.5.1" + resolved "https://registry.npmmirror.com/webpack-chain/download/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206" + integrity sha1-TycoTLu2N+PI+970Pu9YjU2GEgY= + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^2.0.1" + +webpack-dev-middleware@^3.7.2: + version "3.7.3" + resolved "https://registry.npmmirror.com/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz?cache=0&sync_timestamp=1637165761624&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU= + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@^3.5.1: + version "3.11.3" + resolved "https://registry.npmmirror.com/webpack-dev-server/download/webpack-dev-server-3.11.3.tgz#8c86b9d2812bf135d3c9bce6f07b718e30f7c3d3" + integrity sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA== + dependencies: + ansi-html-community "0.0.8" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.8" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "^0.3.21" + sockjs-client "^1.5.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/webpack-log/download/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-merge@^4.1.2: + version "4.2.2" + resolved "https://registry.npmmirror.com/webpack-merge/download/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha1-onxS6ng9E5iv0gh/VH17nS9DY00= + dependencies: + lodash "^4.17.15" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.npmmirror.com/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1636982677879&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^4.8.1: + version "4.46.0" + resolved "https://registry.npmmirror.com/webpack/download/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" + integrity sha1-v5tEBOogoHNgXgoBHRiNd8tq1UI= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.5.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.7.4" + webpack-sources "^1.4.1" + +webpackbar@3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/webpackbar/download/webpackbar-3.2.0.tgz#bdaad103fad11a4e612500e72aaae98b08ba493f" + integrity sha1-varRA/rRGk5hJQDnKqrpiwi6ST8= + dependencies: + ansi-escapes "^4.1.0" + chalk "^2.4.1" + consola "^2.6.0" + figures "^3.0.0" + pretty-time "^1.1.0" + std-env "^2.2.1" + text-table "^0.2.0" + wrap-ansi "^5.1.0" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.npmmirror.com/websocket-driver/download/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A= + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmmirror.com/websocket-extensions/download/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha1-f4RzvIOd/YdgituV1+sHUhFXikI= + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-5.0.0.tgz?cache=0&sync_timestamp=1634673664859&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^8.4.0: + version "8.7.0" + resolved "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-8.7.0.tgz?cache=0&sync_timestamp=1634673664859&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha1-ZWp45RD/jzk3vAvL6fXArDWUG3c= + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +when@~3.6.x: + version "3.6.4" + resolved "https://registry.npmmirror.com/when/download/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e" + integrity sha1-RztRfsFZ4rhQBUl6E5g/CVQS404= + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY= + dependencies: + 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@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.10, which@^1.2.12, which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.npmmirror.com/which/download/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.5" + resolved "https://registry.npmmirror.com/wide-align/download/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha1-3x1MIGhUNp7PPJpImPGyP72dFdM= + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +widest-line@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/widest-line/download/widest-line-2.0.1.tgz?cache=0&sync_timestamp=1634023991588&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwidest-line%2Fdownload%2Fwidest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha1-dDh2RzDsfvQ4HOTfgvuYpTFCo/w= + dependencies: + string-width "^2.1.1" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/widest-line/download/widest-line-3.1.0.tgz?cache=0&sync_timestamp=1634023991588&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwidest-line%2Fdownload%2Fwidest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha1-gpIzO79my0X/DeFgOxNreuFJbso= + dependencies: + string-width "^4.0.0" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.npmmirror.com/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/wordwrap/download/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.npmmirror.com/worker-farm/download/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= + dependencies: + errno "~0.1.7" + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/wrap-ansi/download/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" + integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM= + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmmirror.com/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^2.0.0, write-file-atomic@^2.4.2: + version "2.4.3" + resolved "https://registry.npmmirror.com/write-file-atomic/download/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha1-H9Lprh3z51uNjDZ0Q8aS1MqB9IE= + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/write-file-atomic/download/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug= + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +write-json-file@^3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/write-json-file/download/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" + integrity sha1-Zbvcns2KFFjhWVJ3DMut/P9f5io= + dependencies: + detect-indent "^5.0.0" + graceful-fs "^4.1.15" + make-dir "^2.1.0" + pify "^4.0.1" + sort-keys "^2.0.0" + write-file-atomic "^2.4.2" + +write-json-file@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/write-json-file/download/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d" + integrity sha1-kIST1v0jIlNErzJAFuTKj3At0S0= + dependencies: + detect-indent "^6.0.0" + graceful-fs "^4.1.15" + is-plain-obj "^2.0.0" + make-dir "^3.0.0" + sort-keys "^4.0.0" + write-file-atomic "^3.0.0" + +write-pkg@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/write-pkg/download/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039" + integrity sha1-Z1zATvbBH6rLvHdxskwKu/KiADk= + dependencies: + sort-keys "^2.0.0" + type-fest "^0.4.1" + write-json-file "^3.2.0" + +ws@^6.2.1: + version "6.2.2" + resolved "https://registry.npmmirror.com/ws/download/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha1-3Vzb1XqZeZFgl2UtePHMX66gwy4= + dependencies: + async-limiter "~1.0.0" + +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/xdg-basedir/download/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= + +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/xdg-basedir/download/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + integrity sha1-S8jZmEQDaWIl74OhVzy7y0552xM= + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npmmirror.com/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= + +y18n@^3.2.1: + version "3.2.2" + resolved "https://registry.npmmirror.com/y18n/download/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" + integrity sha1-hckBvWRwznH8S7cjrSCbcPfyhpY= + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.npmmirror.com/y18n/download/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8= + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmmirror.com/y18n/download/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/yallist/download/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI= + +yaml@^1.10.0, yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.npmmirror.com/yaml/download/yaml-1.10.2.tgz?cache=0&sync_timestamp=1636797961090&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyaml%2Fdownload%2Fyaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha1-IwHF/78StGfejaIzOkWeKeeSDks= + +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.4.tgz?cache=0&sync_timestamp=1637031019317&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha1-tCiQ8UVmeW+Fro46JSkNIF8VSlQ= + +yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031019317&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha1-LrfcOwKJcY/ClfNidThFxBoMlO4= + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1637031019317&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^21.0.0: + version "21.0.0" + resolved "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-21.0.0.tgz?cache=0&sync_timestamp=1637031019317&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" + integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.npmmirror.com/yargs/download/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= + dependencies: + 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@^16.2.0: + version "16.2.0" + resolved "https://registry.npmmirror.com/yargs/download/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha1-HIK/D2tqZur85+8w43b0mhJHf2Y= + dependencies: + 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@^17.0.0: + version "17.3.0" + resolved "https://registry.npmmirror.com/yargs/download/yargs-17.3.0.tgz#295c4ffd0eef148ef3e48f7a2e0f58d0e4f26b1c" + integrity sha512-GQl1pWyDoGptFPJx9b9L6kmR33TGusZvXIZUT+BOz9f7X2L94oeAskFYLEg/FkhV06zZPBYLvLZRWeYId29lew== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/yn/download/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A= + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/yocto-queue/download/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha1-ApTrPe4FAo0x7hpfosVWpqrxChs= + +yup@^0.27.0: + version "0.27.0" + resolved "https://registry.npmmirror.com/yup/download/yup-0.27.0.tgz#f8cb198c8e7dd2124beddc2457571329096b06e7" + integrity sha1-+MsZjI590hJL7dwkV1cTKQlrBuc= + dependencies: + "@babel/runtime" "^7.0.0" + fn-name "~2.0.1" + lodash "^4.17.11" + property-expr "^1.5.0" + synchronous-promise "^2.0.6" + toposort "^2.0.2" + +zepto@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/zepto/download/zepto-1.2.0.tgz#e127bd9e66fd846be5eab48c1394882f7c0e4f98" + integrity sha1-4Se9nmb9hGvl6rSME5SIL3wOT5g=