From 36ebc24aebb69ed7ea2b6d113d56ab1218ad1a36 Mon Sep 17 00:00:00 2001 From: Ryan Wang <i@ryanc.cc> Date: Thu, 28 Dec 2023 17:13:38 +0800 Subject: [PATCH] chore: use lodash-es instead of lodash (#5125) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### What type of PR is this? /area console /kind improvement /milestone 2.12.x #### What this PR does / why we need it: 优化 Lodash 依赖,使用 lodash-es 代替 lodash 库。 #### Which issue(s) this PR fixes: Fixes #5124 #### Special notes for your reviewer: CI 通过即可。 #### Does this PR introduce a user-facing change? ```release-note None ``` --- .../composables/use-content-cache.ts | 2 +- .../composables/use-setting-form.ts | 3 +- .../contents/attachments/AttachmentList.vue | 2 +- .../AttachmentGroupEditingModal.vue | 2 +- .../AttachmentPolicyEditingModal.vue | 2 +- .../comments/components/CommentListItem.vue | 2 +- .../components/ReplyCreationModal.vue | 2 +- .../comments/components/ReplyListItem.vue | 2 +- .../contents/pages/DeletedSinglePageList.vue | 2 +- .../contents/pages/SinglePageEditor.vue | 2 +- .../pages/components/SinglePageListItem.vue | 2 +- .../components/SinglePageSettingModal.vue | 2 +- .../contents/posts/DeletedPostList.vue | 2 +- .../modules/contents/posts/PostEditor.vue | 2 +- .../components/CategoryEditingModal.vue | 2 +- .../contents/posts/categories/utils/index.ts | 2 +- .../posts/components/PostSettingModal.vue | 2 +- .../posts/tags/components/TagEditingModal.vue | 2 +- .../modules/dashboard/Dashboard.vue | 2 +- .../modules/interface/menus/Menus.vue | 2 +- .../menus/components/MenuEditingModal.vue | 2 +- .../menus/components/MenuItemEditingModal.vue | 2 +- .../modules/interface/menus/utils/index.ts | 2 +- .../interface/themes/layouts/ThemeLayout.vue | 2 +- .../modules/system/plugins/PluginDetail.vue | 2 +- .../system/plugins/composables/use-plugin.ts | 2 +- .../roles/components/RoleEditingModal.vue | 2 +- .../users/components/UserCreationModal.vue | 2 +- .../users/components/UserEditingModal.vue | 2 +- .../components/UserPasswordChangeModal.vue | 2 +- console/package.json | 12 +-- console/pnpm-lock.yaml | 82 +++++-------------- .../src/components/form/AnnotationsForm.vue | 2 +- .../composables/use-route-menu-generator.ts | 2 +- console/src/utils/permission.ts | 2 +- .../components/PasswordChangeModal.vue | 2 +- .../components/ProfileEditingModal.vue | 2 +- .../profile/tabs/NotificationPreferences.vue | 2 +- 38 files changed, 57 insertions(+), 110 deletions(-) diff --git a/console/console-src/composables/use-content-cache.ts b/console/console-src/composables/use-content-cache.ts index 0f4d17d61..158afea8a 100644 --- a/console/console-src/composables/use-content-cache.ts +++ b/console/console-src/composables/use-content-cache.ts @@ -6,7 +6,7 @@ export interface ContentCache { content?: string; version: number; } -import debounce from "lodash.debounce"; +import { debounce } from "lodash-es"; import { useI18n } from "vue-i18n"; interface useContentCacheReturn { diff --git a/console/console-src/composables/use-setting-form.ts b/console/console-src/composables/use-setting-form.ts index 94c3c6e92..9e5e4c9e2 100644 --- a/console/console-src/composables/use-setting-form.ts +++ b/console/console-src/composables/use-setting-form.ts @@ -5,8 +5,7 @@ import { ref } from "vue"; import { apiClient } from "@/utils/api-client"; // libs -import cloneDeep from "lodash.clonedeep"; -import merge from "lodash.merge"; +import { cloneDeep, merge } from "lodash-es"; import type { ConfigMap, Setting, SettingForm } from "@halo-dev/api-client"; import type { FormKitSchemaCondition, FormKitSchemaNode } from "@formkit/core"; import { Toast } from "@halo-dev/components"; diff --git a/console/console-src/modules/contents/attachments/AttachmentList.vue b/console/console-src/modules/contents/attachments/AttachmentList.vue index 226e1e45e..54153f31f 100644 --- a/console/console-src/modules/contents/attachments/AttachmentList.vue +++ b/console/console-src/modules/contents/attachments/AttachmentList.vue @@ -30,7 +30,7 @@ import type { Attachment, Group } from "@halo-dev/api-client"; import { useFetchAttachmentPolicy } from "./composables/use-attachment-policy"; import { useAttachmentControl } from "./composables/use-attachment"; import { apiClient } from "@/utils/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { isImage } from "@/utils/image"; import { useRouteQuery } from "@vueuse/router"; import { useFetchAttachmentGroup } from "./composables/use-attachment-group"; diff --git a/console/console-src/modules/contents/attachments/components/AttachmentGroupEditingModal.vue b/console/console-src/modules/contents/attachments/components/AttachmentGroupEditingModal.vue index 883dbce0b..e41b10095 100644 --- a/console/console-src/modules/contents/attachments/components/AttachmentGroupEditingModal.vue +++ b/console/console-src/modules/contents/attachments/components/AttachmentGroupEditingModal.vue @@ -3,7 +3,7 @@ import { Toast, VButton, VModal, VSpace } from "@halo-dev/components"; import SubmitButton from "@/components/button/SubmitButton.vue"; import type { Group } from "@halo-dev/api-client"; import { computed, ref, watch } from "vue"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { apiClient } from "@/utils/api-client"; import { reset } from "@formkit/core"; import { setFocus } from "@/formkit/utils/focus"; diff --git a/console/console-src/modules/contents/attachments/components/AttachmentPolicyEditingModal.vue b/console/console-src/modules/contents/attachments/components/AttachmentPolicyEditingModal.vue index 9cf73da93..30ef48324 100644 --- a/console/console-src/modules/contents/attachments/components/AttachmentPolicyEditingModal.vue +++ b/console/console-src/modules/contents/attachments/components/AttachmentPolicyEditingModal.vue @@ -2,7 +2,7 @@ import { Toast, VButton, VModal, VSpace } from "@halo-dev/components"; import SubmitButton from "@/components/button/SubmitButton.vue"; import type { Policy, PolicyTemplate } from "@halo-dev/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { computed, ref, toRaw, watch, watchEffect } from "vue"; import { useSettingForm } from "@console/composables/use-setting-form"; import { apiClient } from "@/utils/api-client"; diff --git a/console/console-src/modules/contents/comments/components/CommentListItem.vue b/console/console-src/modules/contents/comments/components/CommentListItem.vue index 7dfddd3a5..073b03a6f 100644 --- a/console/console-src/modules/contents/comments/components/CommentListItem.vue +++ b/console/console-src/modules/contents/comments/components/CommentListItem.vue @@ -27,7 +27,7 @@ import { formatDatetime } from "@/utils/date"; import { computed, provide, ref, onMounted, type Ref } from "vue"; import ReplyListItem from "./ReplyListItem.vue"; import { apiClient } from "@/utils/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { usePermission } from "@/utils/permission"; import { useQuery, useQueryClient } from "@tanstack/vue-query"; import { useI18n } from "vue-i18n"; diff --git a/console/console-src/modules/contents/comments/components/ReplyCreationModal.vue b/console/console-src/modules/contents/comments/components/ReplyCreationModal.vue index a5ab85944..d20b84bef 100644 --- a/console/console-src/modules/contents/comments/components/ReplyCreationModal.vue +++ b/console/console-src/modules/contents/comments/components/ReplyCreationModal.vue @@ -18,7 +18,7 @@ import { Picker } from "emoji-mart"; import i18n from "@emoji-mart/data/i18n/zh.json"; import { computed, nextTick, ref, watch, watchEffect } from "vue"; import { reset } from "@formkit/core"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { setFocus } from "@/formkit/utils/focus"; import { apiClient } from "@/utils/api-client"; import { useI18n } from "vue-i18n"; diff --git a/console/console-src/modules/contents/comments/components/ReplyListItem.vue b/console/console-src/modules/contents/comments/components/ReplyListItem.vue index 03d08ff08..d7ace1755 100644 --- a/console/console-src/modules/contents/comments/components/ReplyListItem.vue +++ b/console/console-src/modules/contents/comments/components/ReplyListItem.vue @@ -14,7 +14,7 @@ import type { ListedReply } from "@halo-dev/api-client"; import { formatDatetime } from "@/utils/date"; import { apiClient } from "@/utils/api-client"; import { computed, inject, type Ref } from "vue"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { useI18n } from "vue-i18n"; import { useQueryClient } from "@tanstack/vue-query"; diff --git a/console/console-src/modules/contents/pages/DeletedSinglePageList.vue b/console/console-src/modules/contents/pages/DeletedSinglePageList.vue index ec37d3d16..b7490a661 100644 --- a/console/console-src/modules/contents/pages/DeletedSinglePageList.vue +++ b/console/console-src/modules/contents/pages/DeletedSinglePageList.vue @@ -21,7 +21,7 @@ import { ref, watch } from "vue"; import type { ListedSinglePage, SinglePage } from "@halo-dev/api-client"; import { apiClient } from "@/utils/api-client"; import { formatDatetime } from "@/utils/date"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { usePermission } from "@/utils/permission"; import { useQuery } from "@tanstack/vue-query"; import { useI18n } from "vue-i18n"; diff --git a/console/console-src/modules/contents/pages/SinglePageEditor.vue b/console/console-src/modules/contents/pages/SinglePageEditor.vue index ddfec1d7a..1d2d7cccb 100644 --- a/console/console-src/modules/contents/pages/SinglePageEditor.vue +++ b/console/console-src/modules/contents/pages/SinglePageEditor.vue @@ -24,7 +24,7 @@ import { } from "vue"; import { apiClient } from "@/utils/api-client"; import { useRouteQuery } from "@vueuse/router"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { useRouter } from "vue-router"; import { randomUUID } from "@/utils/id"; import { useContentCache } from "@console/composables/use-content-cache"; diff --git a/console/console-src/modules/contents/pages/components/SinglePageListItem.vue b/console/console-src/modules/contents/pages/components/SinglePageListItem.vue index 60be79293..a15f82879 100644 --- a/console/console-src/modules/contents/pages/components/SinglePageListItem.vue +++ b/console/console-src/modules/contents/pages/components/SinglePageListItem.vue @@ -17,7 +17,7 @@ import type { ListedSinglePage, SinglePage } from "@halo-dev/api-client"; import { apiClient } from "@/utils/api-client"; import { formatDatetime } from "@/utils/date"; import { RouterLink } from "vue-router"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { usePermission } from "@/utils/permission"; import { singlePageLabels } from "@/constants/labels"; import { useMutation, useQueryClient } from "@tanstack/vue-query"; diff --git a/console/console-src/modules/contents/pages/components/SinglePageSettingModal.vue b/console/console-src/modules/contents/pages/components/SinglePageSettingModal.vue index a1f2bd040..972162b6f 100644 --- a/console/console-src/modules/contents/pages/components/SinglePageSettingModal.vue +++ b/console/console-src/modules/contents/pages/components/SinglePageSettingModal.vue @@ -8,7 +8,7 @@ import { } from "@halo-dev/components"; import { computed, nextTick, ref, watchEffect } from "vue"; import type { SinglePage } from "@halo-dev/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { apiClient } from "@/utils/api-client"; import { useThemeCustomTemplates } from "@console/modules/interface/themes/composables/use-theme"; import { singlePageLabels } from "@/constants/labels"; diff --git a/console/console-src/modules/contents/posts/DeletedPostList.vue b/console/console-src/modules/contents/posts/DeletedPostList.vue index 6837127c6..3df872d77 100644 --- a/console/console-src/modules/contents/posts/DeletedPostList.vue +++ b/console/console-src/modules/contents/posts/DeletedPostList.vue @@ -23,7 +23,7 @@ import type { ListedPost, Post } from "@halo-dev/api-client"; import { apiClient } from "@/utils/api-client"; import { formatDatetime } from "@/utils/date"; import { usePermission } from "@/utils/permission"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { useQuery } from "@tanstack/vue-query"; import { useI18n } from "vue-i18n"; import ContributorList from "../_components/ContributorList.vue"; diff --git a/console/console-src/modules/contents/posts/PostEditor.vue b/console/console-src/modules/contents/posts/PostEditor.vue index 33cdc71cd..8c970d53c 100644 --- a/console/console-src/modules/contents/posts/PostEditor.vue +++ b/console/console-src/modules/contents/posts/PostEditor.vue @@ -22,7 +22,7 @@ import { toRef, type ComputedRef, } from "vue"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { apiClient } from "@/utils/api-client"; import { useRouteQuery } from "@vueuse/router"; import { useRouter } from "vue-router"; diff --git a/console/console-src/modules/contents/posts/categories/components/CategoryEditingModal.vue b/console/console-src/modules/contents/posts/categories/components/CategoryEditingModal.vue index cec6a5167..206422443 100644 --- a/console/console-src/modules/contents/posts/categories/components/CategoryEditingModal.vue +++ b/console/console-src/modules/contents/posts/categories/components/CategoryEditingModal.vue @@ -17,7 +17,7 @@ import SubmitButton from "@/components/button/SubmitButton.vue"; import type { Category } from "@halo-dev/api-client"; // libs -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { reset } from "@formkit/core"; import { setFocus } from "@/formkit/utils/focus"; import { useThemeCustomTemplates } from "@console/modules/interface/themes/composables/use-theme"; diff --git a/console/console-src/modules/contents/posts/categories/utils/index.ts b/console/console-src/modules/contents/posts/categories/utils/index.ts index 0169e97e4..dc5863d1f 100644 --- a/console/console-src/modules/contents/posts/categories/utils/index.ts +++ b/console/console-src/modules/contents/posts/categories/utils/index.ts @@ -1,5 +1,5 @@ import type { Category, CategorySpec } from "@halo-dev/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; export interface CategoryTreeSpec extends Omit<CategorySpec, "children"> { children: CategoryTree[]; diff --git a/console/console-src/modules/contents/posts/components/PostSettingModal.vue b/console/console-src/modules/contents/posts/components/PostSettingModal.vue index 1af6215cb..e64985e1b 100644 --- a/console/console-src/modules/contents/posts/components/PostSettingModal.vue +++ b/console/console-src/modules/contents/posts/components/PostSettingModal.vue @@ -8,7 +8,7 @@ import { } from "@halo-dev/components"; import { computed, nextTick, ref, watchEffect } from "vue"; import type { Post } from "@halo-dev/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { apiClient } from "@/utils/api-client"; import { useThemeCustomTemplates } from "@console/modules/interface/themes/composables/use-theme"; import { postLabels } from "@/constants/labels"; diff --git a/console/console-src/modules/contents/posts/tags/components/TagEditingModal.vue b/console/console-src/modules/contents/posts/tags/components/TagEditingModal.vue index d406a5ee5..34dac3241 100644 --- a/console/console-src/modules/contents/posts/tags/components/TagEditingModal.vue +++ b/console/console-src/modules/contents/posts/tags/components/TagEditingModal.vue @@ -19,7 +19,7 @@ import SubmitButton from "@/components/button/SubmitButton.vue"; import type { Tag } from "@halo-dev/api-client"; // libs -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { reset } from "@formkit/core"; import { setFocus } from "@/formkit/utils/focus"; import AnnotationsForm from "@/components/form/AnnotationsForm.vue"; diff --git a/console/console-src/modules/dashboard/Dashboard.vue b/console/console-src/modules/dashboard/Dashboard.vue index 727b48369..dd4b615bd 100644 --- a/console/console-src/modules/dashboard/Dashboard.vue +++ b/console/console-src/modules/dashboard/Dashboard.vue @@ -123,7 +123,7 @@ import { } from "@halo-dev/components"; import { onMounted, provide, ref, type Ref } from "vue"; import { useStorage } from "@vueuse/core"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { apiClient } from "@/utils/api-client"; import type { DashboardStats } from "@halo-dev/api-client"; import { useI18n } from "vue-i18n"; diff --git a/console/console-src/modules/interface/menus/Menus.vue b/console/console-src/modules/interface/menus/Menus.vue index f44df6d48..002e173ca 100644 --- a/console/console-src/modules/interface/menus/Menus.vue +++ b/console/console-src/modules/interface/menus/Menus.vue @@ -17,7 +17,7 @@ import MenuList from "./components/MenuList.vue"; import { computed, ref } from "vue"; import { apiClient } from "@/utils/api-client"; import type { Menu, MenuItem } from "@halo-dev/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import type { MenuTreeItem } from "./utils"; import { buildMenuItemsTree, diff --git a/console/console-src/modules/interface/menus/components/MenuEditingModal.vue b/console/console-src/modules/interface/menus/components/MenuEditingModal.vue index 75e771081..d9ef0a45f 100644 --- a/console/console-src/modules/interface/menus/components/MenuEditingModal.vue +++ b/console/console-src/modules/interface/menus/components/MenuEditingModal.vue @@ -5,7 +5,7 @@ import type { Menu } from "@halo-dev/api-client"; import { computed, ref, watch } from "vue"; import { apiClient } from "@/utils/api-client"; import { reset } from "@formkit/core"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { setFocus } from "@/formkit/utils/focus"; import { useI18n } from "vue-i18n"; diff --git a/console/console-src/modules/interface/menus/components/MenuItemEditingModal.vue b/console/console-src/modules/interface/menus/components/MenuItemEditingModal.vue index 64729efe0..7d6bf2486 100644 --- a/console/console-src/modules/interface/menus/components/MenuItemEditingModal.vue +++ b/console/console-src/modules/interface/menus/components/MenuItemEditingModal.vue @@ -5,7 +5,7 @@ import { computed, nextTick, ref, watch } from "vue"; import type { Menu, MenuItem, Ref } from "@halo-dev/api-client"; import { apiClient } from "@/utils/api-client"; import { reset } from "@formkit/core"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { setFocus } from "@/formkit/utils/focus"; import AnnotationsForm from "@/components/form/AnnotationsForm.vue"; import { useI18n } from "vue-i18n"; diff --git a/console/console-src/modules/interface/menus/utils/index.ts b/console/console-src/modules/interface/menus/utils/index.ts index 1d59e9681..01b963dca 100644 --- a/console/console-src/modules/interface/menus/utils/index.ts +++ b/console/console-src/modules/interface/menus/utils/index.ts @@ -1,5 +1,5 @@ import type { MenuItem, MenuItemSpec } from "@halo-dev/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; export interface MenuTreeItemSpec extends Omit<MenuItemSpec, "children"> { children: MenuTreeItem[]; diff --git a/console/console-src/modules/interface/themes/layouts/ThemeLayout.vue b/console/console-src/modules/interface/themes/layouts/ThemeLayout.vue index fd5c1bc29..d4417bfdb 100644 --- a/console/console-src/modules/interface/themes/layouts/ThemeLayout.vue +++ b/console/console-src/modules/interface/themes/layouts/ThemeLayout.vue @@ -5,7 +5,7 @@ import { provide, ref } from "vue"; import { useRoute, useRouter } from "vue-router"; // libs -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; // hooks import { useThemeLifeCycle } from "../composables/use-theme"; diff --git a/console/console-src/modules/system/plugins/PluginDetail.vue b/console/console-src/modules/system/plugins/PluginDetail.vue index 5d18cb0e5..459ac02c2 100644 --- a/console/console-src/modules/system/plugins/PluginDetail.vue +++ b/console/console-src/modules/system/plugins/PluginDetail.vue @@ -5,7 +5,7 @@ import { useRoute } from "vue-router"; import { apiClient } from "@/utils/api-client"; // libs -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; // components import { VCard, VPageHeader, VTabbar, VAvatar } from "@halo-dev/components"; diff --git a/console/console-src/modules/system/plugins/composables/use-plugin.ts b/console/console-src/modules/system/plugins/composables/use-plugin.ts index 6bb856d09..5ab42f72c 100644 --- a/console/console-src/modules/system/plugins/composables/use-plugin.ts +++ b/console/console-src/modules/system/plugins/composables/use-plugin.ts @@ -1,7 +1,7 @@ import type { ComputedRef, Ref } from "vue"; import { computed } from "vue"; import { type Plugin } from "@halo-dev/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { apiClient } from "@/utils/api-client"; import { Dialog, Toast } from "@halo-dev/components"; import { useI18n } from "vue-i18n"; diff --git a/console/console-src/modules/system/roles/components/RoleEditingModal.vue b/console/console-src/modules/system/roles/components/RoleEditingModal.vue index dc8ec6d12..421ffb025 100644 --- a/console/console-src/modules/system/roles/components/RoleEditingModal.vue +++ b/console/console-src/modules/system/roles/components/RoleEditingModal.vue @@ -5,7 +5,7 @@ import { computed, watch } from "vue"; import { rbacAnnotations } from "@/constants/annotations"; import type { Role } from "@halo-dev/api-client"; import { useRoleForm, useRoleTemplateSelection } from "@/composables/use-role"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { reset } from "@formkit/core"; import { setFocus } from "@/formkit/utils/focus"; import { pluginLabels, roleLabels } from "@/constants/labels"; diff --git a/console/console-src/modules/system/users/components/UserCreationModal.vue b/console/console-src/modules/system/users/components/UserCreationModal.vue index 1884c4578..c0207465a 100644 --- a/console/console-src/modules/system/users/components/UserCreationModal.vue +++ b/console/console-src/modules/system/users/components/UserCreationModal.vue @@ -9,7 +9,7 @@ import { Toast, VButton, VModal, VSpace } from "@halo-dev/components"; import SubmitButton from "@/components/button/SubmitButton.vue"; // libs -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { reset } from "@formkit/core"; // hooks diff --git a/console/console-src/modules/system/users/components/UserEditingModal.vue b/console/console-src/modules/system/users/components/UserEditingModal.vue index 79ba52cbf..0727a71ae 100644 --- a/console/console-src/modules/system/users/components/UserEditingModal.vue +++ b/console/console-src/modules/system/users/components/UserEditingModal.vue @@ -9,7 +9,7 @@ import { Toast, VButton, VModal, VSpace } from "@halo-dev/components"; import SubmitButton from "@/components/button/SubmitButton.vue"; // libs -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { reset } from "@formkit/core"; // hooks diff --git a/console/console-src/modules/system/users/components/UserPasswordChangeModal.vue b/console/console-src/modules/system/users/components/UserPasswordChangeModal.vue index 344581ce5..daeb188f0 100644 --- a/console/console-src/modules/system/users/components/UserPasswordChangeModal.vue +++ b/console/console-src/modules/system/users/components/UserPasswordChangeModal.vue @@ -4,7 +4,7 @@ import SubmitButton from "@/components/button/SubmitButton.vue"; import { ref, watch } from "vue"; import type { User } from "@halo-dev/api-client"; import { apiClient } from "@/utils/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { reset } from "@formkit/core"; import { setFocus } from "@/formkit/utils/focus"; diff --git a/console/package.json b/console/package.json index c255ff64c..d43dab7d9 100644 --- a/console/package.json +++ b/console/package.json @@ -83,11 +83,7 @@ "floating-vue": "2.0.0-beta.24", "fuse.js": "^6.6.2", "jsencrypt": "^3.3.2", - "lodash.clonedeep": "^4.5.0", - "lodash.debounce": "^4.0.8", - "lodash.isequal": "^4.5.0", - "lodash.merge": "^4.6.2", - "lodash.sortby": "^4.7.0", + "lodash-es": "^4.17.21", "overlayscrollbars": "^2.1.1", "overlayscrollbars-vue": "^0.5.1", "path-browserify": "^1.0.1", @@ -114,11 +110,7 @@ "@tailwindcss/forms": "^0.5.7", "@tsconfig/node18": "^2.0.1", "@types/jsdom": "^20.0.1", - "@types/lodash.clonedeep": "4.5.7", - "@types/lodash.debounce": "^4.0.7", - "@types/lodash.isequal": "^4.5.6", - "@types/lodash.merge": "^4.6.7", - "@types/lodash.sortby": "^4.7.9", + "@types/lodash-es": "^4.17.12", "@types/node": "^18.11.19", "@types/qs": "^6.9.7", "@types/randomstring": "^1.1.8", diff --git a/console/pnpm-lock.yaml b/console/pnpm-lock.yaml index 380bb9b5d..b518a10fa 100644 --- a/console/pnpm-lock.yaml +++ b/console/pnpm-lock.yaml @@ -146,21 +146,9 @@ importers: jsencrypt: specifier: ^3.3.2 version: 3.3.2 - lodash.clonedeep: - specifier: ^4.5.0 - version: 4.5.0 - lodash.debounce: - specifier: ^4.0.8 - version: 4.0.8 - lodash.isequal: - specifier: ^4.5.0 - version: 4.5.0 - lodash.merge: - specifier: ^4.6.2 - version: 4.6.2 - lodash.sortby: - specifier: ^4.7.0 - version: 4.7.0 + lodash-es: + specifier: ^4.17.21 + version: 4.17.21 overlayscrollbars: specifier: ^2.1.1 version: 2.1.1 @@ -234,21 +222,9 @@ importers: '@types/jsdom': specifier: ^20.0.1 version: 20.0.1 - '@types/lodash.clonedeep': - specifier: 4.5.7 - version: 4.5.7 - '@types/lodash.debounce': - specifier: ^4.0.7 - version: 4.0.7 - '@types/lodash.isequal': - specifier: ^4.5.6 - version: 4.5.6 - '@types/lodash.merge': - specifier: ^4.6.7 - version: 4.6.7 - '@types/lodash.sortby': - specifier: ^4.7.9 - version: 4.7.9 + '@types/lodash-es': + specifier: ^4.17.12 + version: 4.17.12 '@types/node': specifier: ^18.11.19 version: 18.13.0 @@ -5679,7 +5655,7 @@ packages: ts-dedent: 2.2.0 type-fest: 2.19.0 vue: 3.3.4 - vue-component-type-helpers: 1.8.24 + vue-component-type-helpers: 1.8.27 transitivePeerDependencies: - encoding - supports-color @@ -6371,32 +6347,8 @@ packages: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true - /@types/lodash.clonedeep@4.5.7: - resolution: {integrity: sha512-ccNqkPptFIXrpVqUECi60/DFxjNKsfoQxSQsgcBJCX/fuX1wgyQieojkcWH/KpE3xzLoWN/2k+ZeGqIN3paSvw==} - dependencies: - '@types/lodash': 4.14.186 - dev: true - - /@types/lodash.debounce@4.0.7: - resolution: {integrity: sha512-X1T4wMZ+gT000M2/91SYj0d/7JfeNZ9PeeOldSNoE/lunLeQXKvkmIumI29IaKMotU/ln/McOIvgzZcQ/3TrSA==} - dependencies: - '@types/lodash': 4.14.186 - dev: true - - /@types/lodash.isequal@4.5.6: - resolution: {integrity: sha512-Ww4UGSe3DmtvLLJm2F16hDwEQSv7U0Rr8SujLUA2wHI2D2dm8kPu6Et+/y303LfjTIwSBKXB/YTUcAKpem/XEg==} - dependencies: - '@types/lodash': 4.14.186 - dev: true - - /@types/lodash.merge@4.6.7: - resolution: {integrity: sha512-OwxUJ9E50gw3LnAefSHJPHaBLGEKmQBQ7CZe/xflHkyy/wH2zVyEIAKReHvVrrn7zKdF58p16We9kMfh7v0RRQ==} - dependencies: - '@types/lodash': 4.14.186 - dev: true - - /@types/lodash.sortby@4.7.9: - resolution: {integrity: sha512-PDmjHnOlndLS59GofH0pnxIs+n9i4CWeXGErSB5JyNFHu2cmvW6mQOaUKjG8EDPkni14IgF8NsRW8bKvFzTm9A==} + /@types/lodash-es@4.17.12: + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} dependencies: '@types/lodash': 4.14.186 dev: true @@ -12606,16 +12558,17 @@ packages: p-locate: 5.0.0 dev: true + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false + /lodash.capitalize@4.2.1: resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} dev: true - /lodash.clonedeep@4.5.0: - resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} - dev: false - /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true /lodash.escaperegexp@4.1.2: resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} @@ -12627,6 +12580,7 @@ packages: /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} @@ -12638,6 +12592,7 @@ packages: /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true /lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} @@ -12649,6 +12604,7 @@ packages: /lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: true /lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} @@ -17256,8 +17212,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /vue-component-type-helpers@1.8.24: - resolution: {integrity: sha512-lqWs/7fdRXoSBAlbouHBX+LNuaY6gI9xWW34m/ZIz9zVPYHEyw0b2/zaCBwlKx0NtKTeF/6pOpvrxVkh7nhIYg==} + /vue-component-type-helpers@1.8.27: + resolution: {integrity: sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==} dev: true /vue-component-type-helpers@1.8.4: diff --git a/console/src/components/form/AnnotationsForm.vue b/console/src/components/form/AnnotationsForm.vue index b442ffa03..49cb13e4f 100644 --- a/console/src/components/form/AnnotationsForm.vue +++ b/console/src/components/form/AnnotationsForm.vue @@ -9,7 +9,7 @@ import { import { computed, nextTick, onMounted, ref, watch } from "vue"; import { apiClient } from "@/utils/api-client"; import type { AnnotationSetting } from "@halo-dev/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { getValidationMessages } from "@formkit/validation"; import { useThemeStore } from "@console/stores/theme"; import { randomUUID } from "@/utils/id"; diff --git a/console/src/composables/use-route-menu-generator.ts b/console/src/composables/use-route-menu-generator.ts index dbaaa0649..044c433d7 100644 --- a/console/src/composables/use-route-menu-generator.ts +++ b/console/src/composables/use-route-menu-generator.ts @@ -1,7 +1,7 @@ import { useRoleStore } from "@/stores/role"; import type { MenuGroupType, MenuItemType } from "@halo-dev/console-shared"; import { onMounted, ref, type Ref } from "vue"; -import sortBy from "lodash.sortby"; +import { sortBy } from "lodash-es"; import { hasPermission } from "@/utils/permission"; import { useRouter, diff --git a/console/src/utils/permission.ts b/console/src/utils/permission.ts index f2a5414c0..0dbd49f55 100644 --- a/console/src/utils/permission.ts +++ b/console/src/utils/permission.ts @@ -1,5 +1,5 @@ import { useRoleStore } from "@/stores/role"; -import isEqual from "lodash.isequal"; +import { isEqual } from "lodash-es"; /** * It returns true if the user has all the permissions required to access a resource diff --git a/console/uc-src/modules/profile/components/PasswordChangeModal.vue b/console/uc-src/modules/profile/components/PasswordChangeModal.vue index 6d69e9640..c60b262f2 100644 --- a/console/uc-src/modules/profile/components/PasswordChangeModal.vue +++ b/console/uc-src/modules/profile/components/PasswordChangeModal.vue @@ -4,7 +4,7 @@ import SubmitButton from "@/components/button/SubmitButton.vue"; import { ref, watch } from "vue"; import type { User } from "@halo-dev/api-client"; import { apiClient } from "@/utils/api-client"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { reset } from "@formkit/core"; import { setFocus } from "@/formkit/utils/focus"; diff --git a/console/uc-src/modules/profile/components/ProfileEditingModal.vue b/console/uc-src/modules/profile/components/ProfileEditingModal.vue index 4b1707666..9fbfb8d03 100644 --- a/console/uc-src/modules/profile/components/ProfileEditingModal.vue +++ b/console/uc-src/modules/profile/components/ProfileEditingModal.vue @@ -9,7 +9,7 @@ import { Toast, VButton, VModal, VSpace } from "@halo-dev/components"; import SubmitButton from "@/components/button/SubmitButton.vue"; // libs -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import { reset } from "@formkit/core"; // hooks diff --git a/console/uc-src/modules/profile/tabs/NotificationPreferences.vue b/console/uc-src/modules/profile/tabs/NotificationPreferences.vue index e59761c2f..9d9663554 100644 --- a/console/uc-src/modules/profile/tabs/NotificationPreferences.vue +++ b/console/uc-src/modules/profile/tabs/NotificationPreferences.vue @@ -6,7 +6,7 @@ import { VLoading, VSwitch } from "@halo-dev/components"; import type { Ref } from "vue"; import { computed } from "vue"; import { inject } from "vue"; -import cloneDeep from "lodash.clonedeep"; +import { cloneDeep } from "lodash-es"; import type { ReasonTypeNotifierRequest } from "@halo-dev/api-client"; const queryClient = useQueryClient();