Commit cda0f9c10acfd3e85ef9cc5e9c2d497287057beb

Authored by Vben
1 parent efce482b

chore: add some notes

.vscode/settings.json
... ... @@ -25,8 +25,8 @@
25 25 //============= files =======================
26 26 //===========================================
27 27 "files.trimTrailingWhitespace": true,
28   - "files.insertFinalNewline": true,
29   - "files.trimFinalNewlines": true,
  28 + // "files.insertFinalNewline": true,
  29 + // "files.trimFinalNewlines": true,
30 30 "files.eol": "\n",
31 31 "search.exclude": {
32 32 "**/node_modules": true,
... ... @@ -76,14 +76,14 @@
76 76 // ===========================================
77 77 // ================ Vetur ====================
78 78 // ===========================================
79   - "vetur.experimental.templateInterpolationService": true,
80   - "vetur.format.options.tabSize": 2,
81   - "vetur.languageFeatures.codeActions": false,
82   - "vetur.format.defaultFormatterOptions": {
83   - "js-beautify-html": {
84   - "wrap_attributes": "force-expand-multiline"
85   - }
86   - },
  79 + // "vetur.experimental.templateInterpolationService": true,
  80 + // "vetur.format.options.tabSize": 2,
  81 + // "vetur.languageFeatures.codeActions": false,
  82 + // "vetur.format.defaultFormatterOptions": {
  83 + // "js-beautify-html": {
  84 + // "wrap_attributes": "force-expand-multiline"
  85 + // }
  86 + // },
87 87 "liveServer.settings.donotShowInfoMsg": true,
88 88 "telemetry.enableCrashReporter": false,
89 89 "workbench.settings.enableNaturalLanguageSearch": false,
... ...
build/vite/plugin/compress.ts
... ... @@ -8,7 +8,7 @@ import compressPlugin from 'vite-plugin-compression';
8 8  
9 9 export function configCompressPlugin(
10 10 compress: 'gzip' | 'brotli' | 'none',
11   - deleteOriginFile: boolean = false
  11 + deleteOriginFile = false
12 12 ): Plugin | Plugin[] {
13 13 const compressList = compress.split(',');
14 14  
... ...
package.json
... ... @@ -63,7 +63,7 @@
63 63 "devDependencies": {
64 64 "@commitlint/cli": "^12.1.4",
65 65 "@commitlint/config-conventional": "^12.1.4",
66   - "@iconify/json": "^1.1.350",
  66 + "@iconify/json": "^1.1.353",
67 67 "@purge-icons/generated": "^0.7.0",
68 68 "@types/codemirror": "^5.60.0",
69 69 "@types/crypto-js": "^4.0.1",
... ... @@ -71,7 +71,7 @@
71 71 "@types/inquirer": "^7.3.1",
72 72 "@types/lodash-es": "^4.17.4",
73 73 "@types/mockjs": "^1.0.3",
74   - "@types/node": "^15.12.0",
  74 + "@types/node": "^15.12.1",
75 75 "@types/nprogress": "^0.2.0",
76 76 "@types/qrcode": "^1.4.0",
77 77 "@types/qs": "^6.9.6",
... ... @@ -87,12 +87,12 @@
87 87 "conventional-changelog-cli": "^2.1.1",
88 88 "cross-env": "^7.0.3",
89 89 "dotenv": "^10.0.0",
90   - "eslint": "^7.27.0",
  90 + "eslint": "^7.28.0",
91 91 "eslint-config-prettier": "^8.3.0",
92 92 "eslint-define-config": "^1.0.8",
93 93 "eslint-plugin-prettier": "^3.4.0",
94 94 "eslint-plugin-vue": "^7.10.0",
95   - "esno": "^0.6.0",
  95 + "esno": "^0.7.0",
96 96 "fs-extra": "^10.0.0",
97 97 "http-server": "^0.12.3",
98 98 "husky": "^6.0.0",
... ... @@ -101,7 +101,7 @@
101 101 "less": "^4.1.1",
102 102 "lint-staged": "^11.0.0",
103 103 "postcss": "^8.3.0",
104   - "prettier": "^2.3.0",
  104 + "prettier": "^2.3.1",
105 105 "pretty-quick": "^3.1.0",
106 106 "rimraf": "^3.0.2",
107 107 "rollup-plugin-visualizer": "5.5.0",
... ... @@ -128,7 +128,7 @@
128 128 "resolutions": {
129 129 "//": "Used to install imagemin dependencies, because imagemin may not be installed in China. If it is abroad, you can delete it",
130 130 "bin-wrapper": "npm:bin-wrapper-china",
131   - "rollup": "^2.50.6"
  131 + "rollup": "^2.51.0"
132 132 },
133 133 "repository": {
134 134 "type": "git",
... ...
src/components/Button/src/BasicButton.vue
1 1 <template>
2   - <Button v-bind="getBindValue" :class="[getColor, $attrs.class]" @click="onClick">
  2 + <Button v-bind="getBindValue" :class="getButtonClass" @click="onClick">
3 3 <template #default="data">
4   - <Icon :icon="preIcon" v-if="preIcon" :size="14" />
  4 + <Icon :icon="preIcon" v-if="preIcon" :size="iconSize" />
5 5 <slot v-bind="data"></slot>
6   - <Icon :icon="postIcon" v-if="postIcon" :size="14" />
  6 + <Icon :icon="postIcon" v-if="postIcon" :size="iconSize" />
7 7 </template>
8 8 </Button>
9 9 </template>
10 10 <script lang="ts">
11 11 import { defineComponent, computed } from 'vue';
12   -
13 12 import { Button } from 'ant-design-vue';
14   - import Icon from '/@/components/Icon';
  13 + import { Icon } from '/@/components/Icon';
15 14  
16   - import { propTypes } from '/@/utils/propTypes';
  15 + const props = {
  16 + color: { type: String, validate: (v) => ['error', 'warning', 'success', ''].includes(v) },
  17 + loading: { type: Boolean },
  18 + disabled: { type: Boolean },
  19 + preIcon: { type: String },
  20 + postIcon: { type: String },
  21 + iconSize: { type: Number, default: 14 },
  22 + onClick: { type: Function as PropType<(...args) => any>, default: null },
  23 + };
17 24  
18 25 export default defineComponent({
19 26 name: 'AButton',
20 27 components: { Button, Icon },
21 28 inheritAttrs: false,
22   - props: {
23   - type: propTypes.oneOf(['primary', 'default', 'danger', 'dashed', 'link']).def('default'),
24   - color: propTypes.oneOf(['error', 'warning', 'success', '']),
25   - loading: propTypes.bool,
26   - disabled: propTypes.bool,
27   - preIcon: propTypes.string,
28   - postIcon: propTypes.string,
29   - onClick: propTypes.func,
30   - },
  29 + props,
31 30 setup(props, { attrs }) {
32   - const getColor = computed(() => {
  31 + // get component class
  32 + const getButtonClass = computed(() => {
33 33 const { color, disabled } = props;
34   - return {
35   - [`ant-btn-${color}`]: !!color,
36   - [`is-disabled`]: disabled,
37   - };
  34 + return [
  35 + {
  36 + [`ant-btn-${color}`]: !!color,
  37 + [`is-disabled`]: disabled,
  38 + },
  39 + attrs.class,
  40 + ];
38 41 });
39 42  
40   - const getBindValue = computed((): any => {
41   - return { ...attrs, ...props };
42   - });
  43 + // get inherit binding value
  44 + const getBindValue = computed(() => ({ ...attrs, ...props }));
43 45  
44   - return { getBindValue, getColor };
  46 + return { getBindValue, getButtonClass };
45 47 },
46 48 });
47 49 </script>
... ...
src/components/Button/src/PopConfirmButton.vue
1 1 <script lang="ts">
2 2 import { defineComponent, h, unref, computed } from 'vue';
3   -
4 3 import { Popconfirm } from 'ant-design-vue';
5   -
6 4 import BasicButton from './BasicButton.vue';
7   -
8   - import { propTypes } from '/@/utils/propTypes';
9 5 import { extendSlots } from '/@/utils/helper/tsxHelper';
10 6 import { omit } from 'lodash-es';
11   -
12 7 import { useAttrs } from '/@/hooks/core/useAttrs';
13 8 import { useI18n } from '/@/hooks/web/useI18n';
14 9  
  10 + const props = {
  11 + /**
  12 + * Whether to enable the drop-down menu
  13 + * @default: true
  14 + */
  15 + enable: {
  16 + type: Boolean,
  17 + default: true,
  18 + },
  19 + };
  20 +
15 21 export default defineComponent({
16 22 name: 'PopButton',
17 23 components: { Popconfirm, BasicButton },
18 24 inheritAttrs: false,
19   - props: {
20   - size: propTypes.oneOf(['large', 'default', 'small']).def(),
21   - enable: propTypes.bool.def(true),
22   - okText: propTypes.string,
23   - cancelText: propTypes.string,
24   - },
  25 + props,
25 26 setup(props, { slots }) {
26 27 const { t } = useI18n();
27 28 const attrs = useAttrs();
28 29  
  30 + // get inherit binding value
29 31 const getBindValues = computed(() => {
30 32 const popValues = Object.assign(
31 33 {
... ... @@ -38,14 +40,14 @@
38 40 });
39 41  
40 42 return () => {
41   - const values = omit(unref(getBindValues), 'icon');
42   - const Button = h(BasicButton, values, extendSlots(slots));
  43 + const bindValues = omit(unref(getBindValues), 'icon');
  44 + const Button = h(BasicButton, bindValues, extendSlots(slots));
43 45  
  46 + // If it is not enabled, it is a normal button
44 47 if (!props.enable) {
45 48 return Button;
46 49 }
47   -
48   - return h(Popconfirm, values, { default: () => Button });
  50 + return h(Popconfirm, bindValues, { default: () => Button });
49 51 };
50 52 },
51 53 });
... ...
src/components/Table/src/hooks/useTable.ts
... ... @@ -2,16 +2,10 @@ import type { BasicTableProps, TableActionType, FetchParams, BasicColumn } from
2 2 import type { PaginationProps } from '../types/pagination';
3 3 import type { DynamicProps } from '/#/utils';
4 4 import type { FormActionType } from '/@/components/Form';
5   -// import type { WatchStopHandle } from 'vue';
  5 +import type { WatchStopHandle } from 'vue';
6 6  
7 7 import { getDynamicProps } from '/@/utils';
8   -import {
9   - ref,
10   - onUnmounted,
11   - unref,
12   - // watch,
13   - toRaw,
14   -} from 'vue';
  8 +import { ref, onUnmounted, unref, watch, toRaw } from 'vue';
15 9 import { isProdMode } from '/@/utils/env';
16 10 import { error } from '/@/utils/log';
17 11  
... ... @@ -31,7 +25,7 @@ export function useTable(tableProps?: Props): [
31 25 const loadedRef = ref<Nullable<boolean>>(false);
32 26 const formRef = ref<Nullable<UseTableMethod>>(null);
33 27  
34   - // let stopWatch: WatchStopHandle;
  28 + let stopWatch: WatchStopHandle;
35 29  
36 30 function register(instance: TableActionType, formInstance: UseTableMethod) {
37 31 isProdMode() &&
... ... @@ -47,18 +41,18 @@ export function useTable(tableProps?: Props): [
47 41 tableProps && instance.setProps(getDynamicProps(tableProps));
48 42 loadedRef.value = true;
49 43  
50   - // stopWatch?.();
  44 + stopWatch?.();
51 45  
52   - // stopWatch = watch(
53   - // () => tableProps,
54   - // () => {
55   - // tableProps && instance.setProps(getDynamicProps(tableProps));
56   - // },
57   - // {
58   - // immediate: true,
59   - // deep: true,
60   - // }
61   - // );
  46 + stopWatch = watch(
  47 + () => tableProps,
  48 + () => {
  49 + tableProps && instance.setProps(getDynamicProps(tableProps));
  50 + },
  51 + {
  52 + immediate: true,
  53 + deep: true,
  54 + }
  55 + );
62 56 }
63 57  
64 58 function getTableInstance(): TableActionType {
... ...
src/hooks/web/usePermission.ts
... ... @@ -6,7 +6,7 @@ import { useUserStore } from &#39;/@/store/modules/user&#39;;
6 6  
7 7 import { useTabs } from './useTabs';
8 8  
9   -import router, { resetRouter } from '/@/router';
  9 +import { router, resetRouter } from '/@/router';
10 10 // import { RootRoute } from '/@/router/routes';
11 11  
12 12 import projectSetting from '/@/settings/projectSetting';
... ...
src/locales/useLocale.ts
... ... @@ -3,7 +3,7 @@
3 3 */
4 4 import type { LocaleType } from '/#/config';
5 5  
6   -import moment from 'moment';
  6 +import { updateLocale } from 'moment';
7 7  
8 8 import { i18n } from './setupI18n';
9 9 import { useLocaleStoreWithOut } from '/@/store/modules/locale';
... ... @@ -56,7 +56,7 @@ export function useLocale() {
56 56 const { message, momentLocale, momentLocaleName } = langModule;
57 57  
58 58 globalI18n.setLocaleMessage(locale, message);
59   - moment.updateLocale(momentLocaleName, momentLocale);
  59 + updateLocale(momentLocaleName, momentLocale);
60 60 loadLocalePool.push(locale);
61 61  
62 62 setI18nLanguage(locale);
... ...
src/main.ts
... ... @@ -5,11 +5,11 @@ import &#39;virtual:windi.css&#39;;
5 5 // Register icon sprite
6 6 import 'virtual:svg-icons-register';
7 7  
8   -import { createApp } from 'vue';
9 8 import App from './App.vue';
  9 +import { createApp } from 'vue';
10 10 import { initAppConfigStore } from '/@/logics/initAppConfig';
11 11 import { setupErrorHandle } from '/@/logics/error-handle';
12   -import router, { setupRouter } from '/@/router';
  12 +import { router, setupRouter } from '/@/router';
13 13 import { setupRouterGuard } from '/@/router/guard';
14 14 import { setupStore } from '/@/store';
15 15 import { setupGlobDirectives } from '/@/directives';
... ...
src/router/guard/index.ts
1   -import router from '/@/router';
  1 +import { router } from '/@/router';
2 2  
3 3 import { createProgressGuard } from './progressGuard';
4 4 import { createPermissionGuard } from './permissionGuard';
... ...
src/router/index.ts
... ... @@ -8,9 +8,9 @@ import { REDIRECT_NAME } from &#39;./constant&#39;;
8 8 const WHITE_NAME_LIST = [LoginRoute.name, REDIRECT_NAME];
9 9  
10 10 // app router
11   -const router = createRouter({
  11 +export const router = createRouter({
12 12 history: createWebHashHistory(import.meta.env.VITE_PUBLIC_PATH),
13   - routes: (basicRoutes as unknown) as RouteRecordRaw[],
  13 + routes: basicRoutes as unknown as RouteRecordRaw[],
14 14 strict: true,
15 15 scrollBehavior: () => ({ left: 0, top: 0 }),
16 16 });
... ... @@ -29,5 +29,3 @@ export function resetRouter() {
29 29 export function setupRouter(app: App<Element>) {
30 30 app.use(router);
31 31 }
32   -
33   -export default router;
... ...
src/router/menus/index.ts
... ... @@ -6,7 +6,7 @@ import { usePermissionStore } from &#39;/@/store/modules/permission&#39;;
6 6 import { transformMenuModule, getAllParentPath } from '/@/router/helper/menuHelper';
7 7 import { filter } from '/@/utils/helper/treeHelper';
8 8 import { isUrl } from '/@/utils/is';
9   -import router from '/@/router';
  9 +import { router } from '/@/router';
10 10 import { PermissionModeEnum } from '/@/enums/appEnum';
11 11 import { pathToRegexp } from 'path-to-regexp';
12 12  
... ...
src/store/modules/user.ts
... ... @@ -15,7 +15,7 @@ import { getUserInfo, loginApi } from &#39;/@/api/sys/user&#39;;
15 15  
16 16 import { useI18n } from '/@/hooks/web/useI18n';
17 17 import { useMessage } from '/@/hooks/web/useMessage';
18   -import router from '/@/router';
  18 +import { router } from '/@/router';
19 19  
20 20 interface UserState {
21 21 userInfo: Nullable<UserInfo>;
... ...
src/utils/propTypes.ts
... ... @@ -30,11 +30,5 @@ propTypes.extend([
30 30 getter: true,
31 31 type: undefined,
32 32 },
33   - // {
34   - // name: 'trueBool',
35   - // getter: true,
36   - // type: Boolean,
37   - // default: true,
38   - // },
39 33 ]);
40 34 export { propTypes };
... ...
yarn.lock
... ... @@ -1124,15 +1124,15 @@
1124 1124 resolved "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.0.tgz#065b2af6233fe7474d44823e3deb89724af42b5f"
1125 1125 integrity sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==
1126 1126  
1127   -"@eslint/eslintrc@^0.4.1":
1128   - version "0.4.1"
1129   - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz#442763b88cecbe3ee0ec7ca6d6dd6168550cbf14"
1130   - integrity sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==
  1127 +"@eslint/eslintrc@^0.4.2":
  1128 + version "0.4.2"
  1129 + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179"
  1130 + integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==
1131 1131 dependencies:
1132 1132 ajv "^6.12.4"
1133 1133 debug "^4.1.1"
1134 1134 espree "^7.3.0"
1135   - globals "^12.1.0"
  1135 + globals "^13.9.0"
1136 1136 ignore "^4.0.6"
1137 1137 import-fresh "^3.2.1"
1138 1138 js-yaml "^3.13.1"
... ... @@ -1191,10 +1191,10 @@
1191 1191 dependencies:
1192 1192 cross-fetch "^3.0.6"
1193 1193  
1194   -"@iconify/json@^1.1.350":
1195   - version "1.1.350"
1196   - resolved "https://registry.yarnpkg.com/@iconify/json/-/json-1.1.350.tgz#abd66f4ef1250306f7ce088dac637ea0d781e694"
1197   - integrity sha512-pNHlRLZCbNsk7WXZfFGPa1no3oOi5KcWFyo1Pk3cQJzPhHEqqpV7zImAGW4WJrxhlRkv/6wzZVcBF5xhkp4Avw==
  1194 +"@iconify/json@^1.1.353":
  1195 + version "1.1.353"
  1196 + resolved "https://registry.npmjs.org/@iconify/json/-/json-1.1.353.tgz#f9fb632da9b13cd79bcbea09b289610c46b87426"
  1197 + integrity sha512-gN+DccJUhO6iB7gBPbZXodDaaxZpZTLORixrXaXNmkSW7N/jqfzMCCogoeRWOydZzSgR7VESc2tMI4llEonkjg==
1198 1198  
1199 1199 "@intlify/core-base@9.1.6":
1200 1200 version "9.1.6"
... ... @@ -1688,10 +1688,10 @@
1688 1688 resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.1.tgz#5e07e0cb2ff793aa7a1b41deae76221e6166049f"
1689 1689 integrity sha512-/tpUyFD7meeooTRwl3sYlihx2BrJE7q9XF71EguPFIySj9B7qgnRtHsHTho+0AUm4m1SvWGm6uSncrR94q6Vtw==
1690 1690  
1691   -"@types/node@^15.12.0":
1692   - version "15.12.0"
1693   - resolved "https://registry.npmjs.org/@types/node/-/node-15.12.0.tgz#6a459d261450a300e6865faeddb5af01c3389bb3"
1694   - integrity sha512-+aHJvoCsVhO2ZCuT4o5JtcPrCPyDE3+1nvbDprYes+pPkEsbjH7AGUCNtjMOXS0fqH14t+B7yLzaqSz92FPWyw==
  1691 +"@types/node@^15.12.1":
  1692 + version "15.12.1"
  1693 + resolved "https://registry.npmjs.org/@types/node/-/node-15.12.1.tgz#9b60797dee1895383a725f828a869c86c6caa5c2"
  1694 + integrity sha512-zyxJM8I1c9q5sRMtVF+zdd13Jt6RU4r4qfhTd7lQubyThvLfx6yYekWSQjGCGV2Tkecgxnlpl/DNlb6Hg+dmEw==
1695 1695  
1696 1696 "@types/normalize-package-data@^2.4.0":
1697 1697 version "2.4.0"
... ... @@ -2190,7 +2190,7 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
2190 2190  
2191 2191 ant-design-vue@2.1.2:
2192 2192 version "2.1.2"
2193   - resolved "https://registry.yarnpkg.com/ant-design-vue/-/ant-design-vue-2.1.2.tgz#2065d7e63199c0c584919458af57b6a0b597f677"
  2193 + resolved "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-2.1.2.tgz#2065d7e63199c0c584919458af57b6a0b597f677"
2194 2194 integrity sha512-gDG0wauGVt4LE63behrJaIcq4BB+dgs+dpj9jz17IgKr2MPYSEeKetU/x9Kk8d58cGonz4Ulncg7fBZJ7EljsQ==
2195 2195 dependencies:
2196 2196 "@ant-design-vue/use" "^0.0.1-0"
... ... @@ -4197,6 +4197,13 @@ es-to-primitive@^1.2.1:
4197 4197 is-date-object "^1.0.1"
4198 4198 is-symbol "^1.0.2"
4199 4199  
  4200 +esbuild-node-loader@^0.0.0:
  4201 + version "0.0.0"
  4202 + resolved "https://registry.npmjs.org/esbuild-node-loader/-/esbuild-node-loader-0.0.0.tgz#2243724e6f57e401ac5b68a6aeb6531e3d7c6078"
  4203 + integrity sha512-f4Zs1sWMst3PwVfiRpZIos/BV31a8KVSyIXodXeQjNkgc1mLIBKw7p0uY7qbLoq7ICfrsQJgvXIwPHRSHd5qSA==
  4204 + dependencies:
  4205 + esbuild "^0.12.6"
  4206 +
4200 4207 esbuild-plugin-alias@^0.1.2:
4201 4208 version "0.1.2"
4202 4209 resolved "https://registry.yarnpkg.com/esbuild-plugin-alias/-/esbuild-plugin-alias-0.1.2.tgz#1232fbde807c0c8ad44c44ec859819eb492e12a8"
... ... @@ -4235,6 +4242,11 @@ esbuild@^0.12.5:
4235 4242 resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.5.tgz#36076a6bc1966ba2741981d30512e95e8aaff495"
4236 4243 integrity sha512-vcuP53pA5XiwUU4FnlXM+2PnVjTfHGthM7uP1gtp+9yfheGvFFbq/KyuESThmtoHPUrfZH5JpxGVJIFDVD1Egw==
4237 4244  
  4245 +esbuild@^0.12.6:
  4246 + version "0.12.6"
  4247 + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.12.6.tgz#85bc755c7cf3005d4f34b4f10f98049ce0ee67ce"
  4248 + integrity sha512-RDvVLvAjsq/kIZJoneMiUOH7EE7t2QaW7T3Q7EdQij14+bZbDq5sndb0tTanmHIFSqZVMBMMyqzVHkS3dJobeA==
  4249 +
4238 4250 escalade@^3.1.1:
4239 4251 version "3.1.1"
4240 4252 resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
... ... @@ -4314,13 +4326,13 @@ eslint-visitor-keys@^2.0.0:
4314 4326 resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
4315 4327 integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
4316 4328  
4317   -eslint@^7.27.0:
4318   - version "7.27.0"
4319   - resolved "https://registry.npmjs.org/eslint/-/eslint-7.27.0.tgz#665a1506d8f95655c9274d84bd78f7166b07e9c7"
4320   - integrity sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA==
  4329 +eslint@^7.28.0:
  4330 + version "7.28.0"
  4331 + resolved "https://registry.npmjs.org/eslint/-/eslint-7.28.0.tgz#435aa17a0b82c13bb2be9d51408b617e49c1e820"
  4332 + integrity sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g==
4321 4333 dependencies:
4322 4334 "@babel/code-frame" "7.12.11"
4323   - "@eslint/eslintrc" "^0.4.1"
  4335 + "@eslint/eslintrc" "^0.4.2"
4324 4336 ajv "^6.10.0"
4325 4337 chalk "^4.0.0"
4326 4338 cross-spawn "^7.0.2"
... ... @@ -4337,7 +4349,7 @@ eslint@^7.27.0:
4337 4349 fast-deep-equal "^3.1.3"
4338 4350 file-entry-cache "^6.0.1"
4339 4351 functional-red-black-tree "^1.0.1"
4340   - glob-parent "^5.0.0"
  4352 + glob-parent "^5.1.2"
4341 4353 globals "^13.6.0"
4342 4354 ignore "^4.0.6"
4343 4355 import-fresh "^3.0.0"
... ... @@ -4359,13 +4371,14 @@ eslint@^7.27.0:
4359 4371 text-table "^0.2.0"
4360 4372 v8-compile-cache "^2.0.3"
4361 4373  
4362   -esno@^0.6.0:
4363   - version "0.6.0"
4364   - resolved "https://registry.yarnpkg.com/esno/-/esno-0.6.0.tgz#9e00c314840f314fcb92f7ef89258ed1be37471d"
4365   - integrity sha512-fzk7/w3I9f1c6oJ6E9qGN54rEYwweM2/LxGhW8iDrhkY4VnQvpavYS6pK3SF8iZgEvmtXsY7i9fs/D09o3Xdtg==
  4374 +esno@^0.7.0:
  4375 + version "0.7.0"
  4376 + resolved "https://registry.npmjs.org/esno/-/esno-0.7.0.tgz#2bec5e80eff53b60d528d6cf244445677cce7d4c"
  4377 + integrity sha512-tOcvMYheRc7dfrxWkm4bYgmMkcNZUSt892qVY66int4L+jkEJGc64fZLx8+cZffMIcHp+4IfaTB+r+X7SoRh+g==
4366 4378 dependencies:
4367 4379 cross-spawn "^7.0.3"
4368 4380 esbuild "^0.12.5"
  4381 + esbuild-node-loader "^0.0.0"
4369 4382 esbuild-register "^2.5.0"
4370 4383  
4371 4384 espree@^6.2.1:
... ... @@ -5124,7 +5137,7 @@ gitconfiglocal@^1.0.0:
5124 5137 dependencies:
5125 5138 ini "^1.3.2"
5126 5139  
5127   -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0:
  5140 +glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.0:
5128 5141 version "5.1.2"
5129 5142 resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
5130 5143 integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
... ... @@ -5215,13 +5228,6 @@ globals@^11.1.0:
5215 5228 resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
5216 5229 integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
5217 5230  
5218   -globals@^12.1.0:
5219   - version "12.4.0"
5220   - resolved "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
5221   - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
5222   - dependencies:
5223   - type-fest "^0.8.1"
5224   -
5225 5231 globals@^13.6.0:
5226 5232 version "13.8.0"
5227 5233 resolved "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3"
... ... @@ -5229,6 +5235,13 @@ globals@^13.6.0:
5229 5235 dependencies:
5230 5236 type-fest "^0.20.2"
5231 5237  
  5238 +globals@^13.9.0:
  5239 + version "13.9.0"
  5240 + resolved "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb"
  5241 + integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==
  5242 + dependencies:
  5243 + type-fest "^0.20.2"
  5244 +
5232 5245 globby@^10.0.0:
5233 5246 version "10.0.2"
5234 5247 resolved "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543"
... ... @@ -6073,7 +6086,7 @@ is-jpg@^2.0.0:
6073 6086  
6074 6087 is-mobile@^2.2.1:
6075 6088 version "2.2.2"
6076   - resolved "https://registry.yarnpkg.com/is-mobile/-/is-mobile-2.2.2.tgz#f6c9c5d50ee01254ce05e739bdd835f1ed4e9954"
  6089 + resolved "https://registry.npmjs.org/is-mobile/-/is-mobile-2.2.2.tgz#f6c9c5d50ee01254ce05e739bdd835f1ed4e9954"
6077 6090 integrity sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg==
6078 6091  
6079 6092 is-module@^1.0.0:
... ... @@ -8207,10 +8220,10 @@ prettier@^1.16.4, prettier@^1.18.2:
8207 8220 resolved "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
8208 8221 integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
8209 8222  
8210   -prettier@^2.3.0:
8211   - version "2.3.0"
8212   - resolved "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz#b6a5bf1284026ae640f17f7ff5658a7567fc0d18"
8213   - integrity sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==
  8223 +prettier@^2.3.1:
  8224 + version "2.3.1"
  8225 + resolved "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz#76903c3f8c4449bc9ac597acefa24dc5ad4cbea6"
  8226 + integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==
8214 8227  
8215 8228 pretty-bytes@^5.3.0, pretty-bytes@^5.6.0:
8216 8229 version "5.6.0"
... ... @@ -8863,10 +8876,10 @@ rollup-plugin-visualizer@5.5.0:
8863 8876 source-map "^0.7.3"
8864 8877 yargs "^16.2.0"
8865 8878  
8866   -rollup@^2.38.5, rollup@^2.43.1, rollup@^2.45.2, rollup@^2.50.6:
8867   - version "2.50.6"
8868   - resolved "https://registry.npmjs.org/rollup/-/rollup-2.50.6.tgz#24e2211caf9031081656e98a5e5e94d3b5e786e2"
8869   - integrity sha512-6c5CJPLVgo0iNaZWWliNu1Kl43tjP9LZcp6D/tkf2eLH2a9/WeHxg9vfTFl8QV/2SOyaJX37CEm9XuGM0rviUg==
  8879 +rollup@^2.38.5, rollup@^2.43.1, rollup@^2.45.2, rollup@^2.51.0:
  8880 + version "2.51.0"
  8881 + resolved "https://registry.npmjs.org/rollup/-/rollup-2.51.0.tgz#ffd847882283998fc8611cd57af917f173b4ab5c"
  8882 + integrity sha512-ITLt9sScNCBVspSHauw/W49lEZ0vjN8LyCzSNsNaqT67vTss2lYEfOyxltX8hjrhr1l/rQwmZ2wazzEqhZ/fUg==
8870 8883 optionalDependencies:
8871 8884 fsevents "~2.3.1"
8872 8885  
... ...