diff --git a/packages/core/admin/admin/src/components/GuidedTour/tests/init.test.js b/packages/core/admin/admin/src/components/GuidedTour/tests/init.test.js index 917d59f7b1..ba6eeccae2 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/tests/init.test.js +++ b/packages/core/admin/admin/src/components/GuidedTour/tests/init.test.js @@ -1,4 +1,4 @@ -import { cloneDeep } from 'lodash'; +import cloneDeep from 'lodash/cloneDeep'; import init from '../init'; import { initialState } from '../reducer'; diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/select.js b/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/select.js index b30f7597be..c04f0b8030 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/select.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/select.js @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { get } from 'lodash'; +import get from 'lodash/get'; import { useCMEditViewDataManager } from '@strapi/helper-plugin'; function useSelect(name) { diff --git a/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/select.js b/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/select.js index 284dc1a44d..5c084dc4b4 100644 --- a/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/select.js +++ b/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/select.js @@ -1,5 +1,6 @@ import { useMemo } from 'react'; -import { get, take } from 'lodash'; +import get from 'lodash/get'; +import take from 'lodash/take'; import { useCMEditViewDataManager } from '@strapi/helper-plugin'; import { getFieldName } from '../../../utils'; diff --git a/packages/core/admin/admin/src/content-manager/components/Inputs/utils/getInputType.js b/packages/core/admin/admin/src/content-manager/components/Inputs/utils/getInputType.js index 035b84b20e..79a968be00 100644 --- a/packages/core/admin/admin/src/content-manager/components/Inputs/utils/getInputType.js +++ b/packages/core/admin/admin/src/content-manager/components/Inputs/utils/getInputType.js @@ -1,4 +1,4 @@ -import { toLower } from 'lodash'; +import toLower from 'lodash/toLower'; const getInputType = (type = '') => { switch (toLower(type)) { diff --git a/packages/core/admin/admin/src/content-manager/components/Inputs/utils/select.js b/packages/core/admin/admin/src/content-manager/components/Inputs/utils/select.js index e59436f2a4..017e6cfa10 100644 --- a/packages/core/admin/admin/src/content-manager/components/Inputs/utils/select.js +++ b/packages/core/admin/admin/src/content-manager/components/Inputs/utils/select.js @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { get } from 'lodash'; +import get from 'lodash/get'; import { useCMEditViewDataManager } from '@strapi/helper-plugin'; function useSelect(keys) { diff --git a/packages/core/admin/admin/src/content-manager/hooks/useContentTypeLayout/index.js b/packages/core/admin/admin/src/content-manager/hooks/useContentTypeLayout/index.js index ea15a1211b..fa5661af45 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useContentTypeLayout/index.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useContentTypeLayout/index.js @@ -1,5 +1,4 @@ import { useCallback } from 'react'; -import { get } from 'lodash'; import { useSelector } from 'react-redux'; import selectLayout from '../../pages/EditViewLayoutManager/selectors'; @@ -8,7 +7,7 @@ const useContentTypeLayout = () => { const getComponentLayout = useCallback( (componentUid) => { - return get(currentLayout, ['components', componentUid], {}); + return currentLayout?.components?.[componentUid] ?? {}; }, [currentLayout] ); diff --git a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js index ae1460fc08..1bbaf4e7ce 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js @@ -1,4 +1,7 @@ -import { cloneDeep, get, set } from 'lodash'; +import cloneDeep from 'lodash/cloneDeep'; +import get from 'lodash/get'; +import set from 'lodash/set'; + import { mergeMetasWithSchema } from '../../../utils'; const getRelationModel = (targetModel, models) => models.find((model) => model.uid === targetModel); diff --git a/packages/core/admin/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js b/packages/core/admin/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js index a8fa323c24..ad04169ecf 100644 --- a/packages/core/admin/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js @@ -1,7 +1,6 @@ import React, { memo, useMemo } from 'react'; import { Switch, Route } from 'react-router-dom'; import { ErrorBoundary } from 'react-error-boundary'; -import { get } from 'lodash'; import PropTypes from 'prop-types'; import { LoadingIndicatorPage, CheckPagePermissions } from '@strapi/helper-plugin'; import permissions from '../../../permissions'; @@ -43,7 +42,7 @@ const CollectionTypeRecursivePath = ({ return { rawContentTypeLayout, rawComponentsLayouts }; }, [layout]); - const uid = get(layout, ['contentType', 'uid'], null); + const uid = layout?.contentType?.uid ?? null; // This statement is needed in order to prevent the CollectionTypeFormWrapper effects clean up phase to be run twice. // What can happen is that when navigating from one entry to another the cleanup phase of the fetch data effect is run twice : once when diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/init.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/init.js index dcecbe90ee..747f6c8434 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/init.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/init.js @@ -1,4 +1,6 @@ -import { cloneDeep, set } from 'lodash'; +import cloneDeep from 'lodash/cloneDeep'; +import set from 'lodash/set'; + import { createLayout, formatLayout } from './utils/layout'; const init = (initialState, mainLayout, components) => { diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js index 06fd9dd28f..c8d1e89a84 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js @@ -1,8 +1,6 @@ -import { get } from 'lodash'; - const createPossibleMainFieldsForModelsAndComponents = (array) => { return array.reduce((acc, current) => { - const attributes = get(current, ['attributes'], {}); + const attributes = current?.attributes ?? {}; const possibleMainFields = Object.keys(attributes).filter((attr) => { return ![ 'boolean', @@ -14,7 +12,7 @@ const createPossibleMainFieldsForModelsAndComponents = (array) => { 'relation', 'text', 'richtext', - ].includes(get(attributes, [attr, 'type'], '')); + ].includes(attributes?.[attr]?.type ?? ''); }); acc[current.uid] = possibleMainFields; diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js b/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js index 87acc85ec4..bf90714945 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js @@ -1,4 +1,4 @@ -import { isEmpty } from 'lodash'; +import isEmpty from 'lodash/isEmpty'; import { useCMEditViewDataManager } from '@strapi/helper-plugin'; function useSelect() { diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js b/packages/core/admin/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js index b46faaf7a3..c7cb18f586 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js @@ -1,4 +1,5 @@ -import { get, isEmpty } from 'lodash'; +import get from 'lodash/get'; +import isEmpty from 'lodash/isEmpty'; const createAttributesLayout = (currentContentTypeLayoutData) => { if (!currentContentTypeLayoutData.layouts) { diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js b/packages/core/admin/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js index a50ffa348a..c2067a1fe6 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js @@ -1,4 +1,5 @@ -import { uniq, flatMap } from 'lodash'; +import uniq from 'lodash/uniq'; +import flatMap from 'lodash/flatMap'; import { findMatchingPermissions } from '@strapi/helper-plugin'; const getFieldsActionMatchingPermissions = (userPermissions, slug) => { diff --git a/packages/core/admin/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js b/packages/core/admin/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js index c132d055af..895b13f4e9 100644 --- a/packages/core/admin/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +++ b/packages/core/admin/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js @@ -1,4 +1,4 @@ -import { toLower } from 'lodash'; +import toLower from 'lodash/toLower'; const checkIfAttributeIsDisplayable = (attribute) => { const type = attribute.type; diff --git a/packages/core/admin/admin/src/content-manager/utils/createDefaultForm.js b/packages/core/admin/admin/src/content-manager/utils/createDefaultForm.js index 65ee4315b3..79d573eb5e 100644 --- a/packages/core/admin/admin/src/content-manager/utils/createDefaultForm.js +++ b/packages/core/admin/admin/src/content-manager/utils/createDefaultForm.js @@ -1,4 +1,4 @@ -import { get } from 'lodash'; +import get from 'lodash/get'; const createDefaultForm = (attributes, allComponentsSchema) => { return Object.keys(attributes).reduce((acc, current) => { @@ -10,7 +10,7 @@ const createDefaultForm = (attributes, allComponentsSchema) => { } if (type === 'component') { - const currentComponentSchema = get(allComponentsSchema, [component, 'attributes'], {}); + const currentComponentSchema = allComponentsSchema?.[component]?.attributes ?? {}; const currentComponentDefaultForm = createDefaultForm( currentComponentSchema, allComponentsSchema diff --git a/packages/core/admin/admin/src/content-manager/utils/formatLayoutToApi.js b/packages/core/admin/admin/src/content-manager/utils/formatLayoutToApi.js index 857dd37ecd..a62a108962 100644 --- a/packages/core/admin/admin/src/content-manager/utils/formatLayoutToApi.js +++ b/packages/core/admin/admin/src/content-manager/utils/formatLayoutToApi.js @@ -1,4 +1,5 @@ -import { omit, get } from 'lodash'; +import get from 'lodash/get'; +import omit from 'lodash/omit'; const formatLayoutToApi = ({ layouts, metadatas, ...rest }) => { const list = layouts.list.map((obj) => { diff --git a/packages/core/admin/admin/src/content-manager/utils/getFieldName.js b/packages/core/admin/admin/src/content-manager/utils/getFieldName.js index 3cd704e85a..fe8b983864 100644 --- a/packages/core/admin/admin/src/content-manager/utils/getFieldName.js +++ b/packages/core/admin/admin/src/content-manager/utils/getFieldName.js @@ -1,4 +1,4 @@ -import { isNaN } from 'lodash'; +import isNaN from 'lodash/isNaN'; const getFieldName = (stringName) => stringName.split('.').filter((string) => isNaN(parseInt(string, 10))); diff --git a/packages/core/admin/admin/src/content-manager/utils/mergeMetasWithSchema.js b/packages/core/admin/admin/src/content-manager/utils/mergeMetasWithSchema.js index 36f91d26f4..494cf2605d 100644 --- a/packages/core/admin/admin/src/content-manager/utils/mergeMetasWithSchema.js +++ b/packages/core/admin/admin/src/content-manager/utils/mergeMetasWithSchema.js @@ -1,4 +1,4 @@ -import { set } from 'lodash'; +import set from 'lodash/set'; const mergeMetasWithSchema = (data, schemas, mainSchemaKey) => { const findSchema = (refUid) => schemas.find((obj) => obj.uid === refUid); diff --git a/packages/core/admin/admin/src/content-manager/utils/paths.js b/packages/core/admin/admin/src/content-manager/utils/paths.js index 6cfc7a7856..48bbe8ffe6 100644 --- a/packages/core/admin/admin/src/content-manager/utils/paths.js +++ b/packages/core/admin/admin/src/content-manager/utils/paths.js @@ -1,7 +1,7 @@ /** * This file is for all helpers related to `paths` in the CM. */ -import { get } from 'lodash'; +import get from 'lodash/get'; /** * This is typically used in circumstances where there are re-orderable pieces e.g. Dynamic Zones diff --git a/packages/core/admin/admin/src/content-manager/utils/removePasswordFieldsFromData.js b/packages/core/admin/admin/src/content-manager/utils/removePasswordFieldsFromData.js index 60903ea751..39bd8a5011 100644 --- a/packages/core/admin/admin/src/content-manager/utils/removePasswordFieldsFromData.js +++ b/packages/core/admin/admin/src/content-manager/utils/removePasswordFieldsFromData.js @@ -1,4 +1,4 @@ -import { get } from 'lodash'; +import get from 'lodash/get'; import { getType, getOtherInfos } from '@strapi/helper-plugin'; const removePasswordFieldsFromData = (data, contentTypeSchema, componentSchema) => { diff --git a/packages/core/admin/admin/src/hooks/useRegenerate/index.js b/packages/core/admin/admin/src/hooks/useRegenerate/index.js index 8126dad4a5..319312e16d 100644 --- a/packages/core/admin/admin/src/hooks/useRegenerate/index.js +++ b/packages/core/admin/admin/src/hooks/useRegenerate/index.js @@ -1,5 +1,5 @@ import { useState } from 'react'; -import { get } from 'lodash'; +import get from 'lodash/get'; import { useFetchClient, useNotification } from '@strapi/helper-plugin'; const useRegenerate = (url, id, onRegenerate) => { diff --git a/packages/core/admin/admin/src/hooks/useSettingsForm/index.js b/packages/core/admin/admin/src/hooks/useSettingsForm/index.js index c1da8d3c19..beb0fc4e77 100644 --- a/packages/core/admin/admin/src/hooks/useSettingsForm/index.js +++ b/packages/core/admin/admin/src/hooks/useSettingsForm/index.js @@ -1,6 +1,6 @@ import { useEffect, useReducer } from 'react'; import { request, useNotification, useOverlayBlocker } from '@strapi/helper-plugin'; -import { get, has, omit } from 'lodash'; +import omit from 'lodash/omit'; import { checkFormValidity, formatAPIErrors } from '../../utils'; import { initialState, reducer } from './reducer'; import init from './init'; @@ -102,9 +102,9 @@ const useSettingsForm = (endPoint, schema, cbSuccess, fieldsToPick) => { message: { id: 'notification.success.saved' }, }); } catch (err) { - const data = get(err, 'response.payload', { data: {} }); + const data = err?.response?.payload ?? { data: {} }; - if (has(data, 'data') && typeof data.data === 'string') { + if (!!data?.data && typeof data.data === 'string') { toggleNotification({ type: 'warning', message: data.data, diff --git a/packages/core/admin/admin/src/hooks/useSettingsForm/reducer.js b/packages/core/admin/admin/src/hooks/useSettingsForm/reducer.js index cc683215ac..7a461c98d3 100644 --- a/packages/core/admin/admin/src/hooks/useSettingsForm/reducer.js +++ b/packages/core/admin/admin/src/hooks/useSettingsForm/reducer.js @@ -1,6 +1,8 @@ /* eslint-disable consistent-return */ import produce from 'immer'; -import { pick, set, unset } from 'lodash'; +import pick from 'lodash/pick'; +import set from 'lodash/set'; +import unset from 'lodash/unset'; const initialState = { fieldsToPick: [], diff --git a/packages/core/admin/admin/src/hooks/useSettingsMenu/reducer.js b/packages/core/admin/admin/src/hooks/useSettingsMenu/reducer.js index b4db51b179..9da7aba16f 100644 --- a/packages/core/admin/admin/src/hooks/useSettingsMenu/reducer.js +++ b/packages/core/admin/admin/src/hooks/useSettingsMenu/reducer.js @@ -1,5 +1,5 @@ import produce from 'immer'; -import { set } from 'lodash'; +import set from 'lodash/set'; const initialState = { menu: [], diff --git a/packages/core/admin/admin/src/pages/AuthPage/reducer.js b/packages/core/admin/admin/src/pages/AuthPage/reducer.js index b859f4a517..d284e665d8 100644 --- a/packages/core/admin/admin/src/pages/AuthPage/reducer.js +++ b/packages/core/admin/admin/src/pages/AuthPage/reducer.js @@ -1,5 +1,5 @@ import produce from 'immer'; -import { set } from 'lodash'; +import set from 'lodash/set'; /* eslint-disable consistent-return */ const initialState = { diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js index 682a6fbe33..87288b7484 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from 'react'; -import { capitalize } from 'lodash'; +import capitalize from 'lodash/capitalize'; import { useIntl } from 'react-intl'; import { Accordion, diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js index 58fcbeaa1d..d094d822d4 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js @@ -1,6 +1,6 @@ /* eslint-disable consistent-return */ import produce from 'immer'; -import { pull } from 'lodash'; +import pull from 'lodash/pull'; import { transformPermissionsData } from './utils'; export const initialState = { diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js index 6576c63306..c6a8e5b8cb 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js @@ -1,5 +1,3 @@ -import { flatten } from 'lodash'; - const transformPermissionsData = (data) => { const layout = { allActionsIds: [], @@ -9,11 +7,11 @@ const transformPermissionsData = (data) => { layout.permissions = Object.keys(data).map((apiId) => ({ apiId, label: apiId.split('::')[1], - controllers: flatten( - Object.keys(data[apiId].controllers).map((controller) => ({ + controllers: Object.keys(data[apiId].controllers) + .map((controller) => ({ controller, - actions: flatten( - data[apiId].controllers[controller].map((action) => { + actions: data[apiId].controllers[controller] + .map((action) => { const actionId = `${apiId}.${controller}.${action}`; if (apiId.includes('api::')) { @@ -25,9 +23,9 @@ const transformPermissionsData = (data) => { actionId, }; }) - ), + .flat(), })) - ), + .flat(), })); return layout; diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js index 3220543dc7..8d30cb1c66 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js @@ -1,4 +1,4 @@ -import { get } from 'lodash'; +import get from 'lodash/get'; const createConditionsForm = (conditions, valueObject) => { return conditions.reduce((acc, current) => { diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js index 3131a86150..1aed3b9d54 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js @@ -1,4 +1,5 @@ -import { get, isEmpty } from 'lodash'; +import get from 'lodash/get'; +import isEmpty from 'lodash/isEmpty'; import { createArrayOfValues, getCheckboxState } from '../../../utils'; const generateCheckboxesActions = (availableActions, modifiedData, pathToData) => { diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js index eb2d13531b..3b5241901a 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js @@ -1,4 +1,5 @@ -import { get } from 'lodash'; +import get from 'lodash/get'; + import { getCheckboxState } from '../../../../utils'; /** diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js index 3dab39bca5..36c5222936 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js @@ -1,4 +1,4 @@ -import { get } from 'lodash'; +import get from 'lodash/get'; import { getCheckboxState, removeConditionKeyFromData } from '../../utils'; const getActionsIds = (array) => array.map(({ actionId }) => actionId); diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js index c10431d304..75f00cb306 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js @@ -1,5 +1,10 @@ import produce from 'immer'; -import { cloneDeep, has, isObject, get, set } from 'lodash'; +import cloneDeep from 'lodash/cloneDeep'; +import has from 'lodash/has'; +import isObject from 'lodash/isObject'; +import get from 'lodash/get'; +import set from 'lodash/set'; + import updateConditionsToFalse from './utils/updateConditionsToFalse'; import updateValues from './utils/updateValues'; diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js index b1ac896f87..317ad7bc18 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js @@ -1,4 +1,8 @@ -import { merge, get, isEmpty, set } from 'lodash'; +import get from 'lodash/get'; +import isEmpty from 'lodash/isEmpty'; +import merge from 'lodash/merge'; +import set from 'lodash/set'; + import findMatchingPermission from './findMatchingPermissions'; /** * Creates the default condition form: { [conditionId]: false } diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js index 982d994515..abc665a375 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js @@ -1,4 +1,3 @@ -import { get } from 'lodash'; import { createDefaultConditionsForm } from './createDefaultCTFormFromLayout'; import findMatchingPermission from './findMatchingPermissions'; @@ -12,7 +11,7 @@ const createSubCategoryForm = (actions, conditions, permissions) => { }, conditions: createDefaultConditionsForm( conditions, - get(foundMatchingPermission, 'conditions', []) + foundMatchingPermission?.conditions ?? [] ), }; diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js index e514a99071..b1d48cbb33 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js @@ -1,4 +1,4 @@ -import { has, isObject } from 'lodash'; +import isObject from 'lodash/isObject'; import { createArrayOfValues } from '../../utils'; import { createConditionsArray } from './formatSettingsPermissionsToAPI'; @@ -77,7 +77,7 @@ const createSubjectPermissions = (subject, actions) => { return acc; } - if (!has(permissions, 'properties.enabled')) { + if (!permissions?.properties?.enabled) { const createdPermissionsArray = createPermissionWithProperties( actionName, subject, diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js index 1afb7cd178..19fbabcf88 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js @@ -1,4 +1,7 @@ -import { isObject, has, omit } from 'lodash'; +import isObject from 'lodash/isObject'; +import has from 'lodash/has'; +import omit from 'lodash/omit'; + import { createArrayOfValues } from '../../utils'; /** diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js index 63a7e19511..c27f445f69 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js @@ -1,4 +1,4 @@ -import { isObject } from 'lodash'; +import isObject from 'lodash/isObject'; /** * Sets all the none object values of an object to the given one diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js index 198ca8de67..ba202954db 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js @@ -1,4 +1,4 @@ -import { get } from 'lodash'; +import get from 'lodash/get'; import { createArrayOfValues } from '../../../utils'; /** diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js index bb3eb3c67a..cafd2516a9 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js @@ -1,4 +1,5 @@ -import { flattenDeep, isObject } from 'lodash'; +import flattenDeep from 'lodash/flattenDeep'; +import isObject from 'lodash/isObject'; const createArrayOfValues = (obj) => { if (!isObject(obj)) { diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js index ee1f34eb17..03344b1863 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js @@ -26,7 +26,7 @@ import { Typography, VisuallyHidden, } from '@strapi/design-system'; -import { get } from 'lodash'; +import get from 'lodash/get'; import matchSorter from 'match-sorter'; import { useIntl } from 'react-intl'; import { useHistory } from 'react-router-dom'; diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js index 365faf2300..5e0357d693 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js @@ -1,7 +1,7 @@ import React, { useEffect, useMemo } from 'react'; import { useRBAC, LoadingIndicatorPage, useNotification } from '@strapi/helper-plugin'; import { Redirect, useLocation } from 'react-router-dom'; -import { get } from 'lodash'; + import adminPermissions from '../../../../../permissions'; import EditPage from '../EditPage'; @@ -19,7 +19,7 @@ const ProtectedEditPage = () => { allowedActions: { canRead, canUpdate }, } = useRBAC(permissions); const { state } = useLocation(); - const from = get(state, 'from', '/'); + const from = state?.from ?? '/'; useEffect(() => { if (!isLoading) { diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js index 14ca73ad35..2f0fd0675e 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js @@ -1,11 +1,5 @@ -import { set } from 'lodash'; - const cleanData = (data) => { - const webhooks = { ...data }; - - set(webhooks, 'headers', unformatHeaders(data.headers)); - - return webhooks; + return { ...data, headers: unformatHeaders(data.headers) }; }; const unformatHeaders = (headers) => { diff --git a/packages/core/admin/admin/src/permissions/index.js b/packages/core/admin/admin/src/permissions/index.js index 29aba7a65c..83742a9995 100644 --- a/packages/core/admin/admin/src/permissions/index.js +++ b/packages/core/admin/admin/src/permissions/index.js @@ -1,4 +1,4 @@ -import { merge } from 'lodash'; +import merge from 'lodash/merge'; import customPermissions from 'ee_else_ce/permissions/customPermissions'; import defaultPermissions from './defaultPermissions'; diff --git a/packages/core/admin/admin/src/utils/getAttributesToDisplay.js b/packages/core/admin/admin/src/utils/getAttributesToDisplay.js index 6a3650420c..2ac27ccce0 100644 --- a/packages/core/admin/admin/src/utils/getAttributesToDisplay.js +++ b/packages/core/admin/admin/src/utils/getAttributesToDisplay.js @@ -1,13 +1,11 @@ -import { get } from 'lodash'; - const getAttributesToDisplay = (contentType) => { - const timestamps = get(contentType, ['options', 'timestamps']); + const timestamps = contentType?.options?.timestamps; // Sometimes timestamps is false let timestampsArray = Array.isArray(timestamps) ? timestamps : []; const idsAttributes = ['id', '_id']; // For both SQL and mongo const unwritableAttributes = [...idsAttributes, ...timestampsArray, 'publishedAt']; - const schemaAttributes = get(contentType, ['attributes'], {}); + const schemaAttributes = contentType?.attributes ?? {}; return Object.keys(schemaAttributes).reduce((acc, current) => { if (!unwritableAttributes.includes(current)) { diff --git a/packages/core/admin/admin/src/utils/getExistingActions.js b/packages/core/admin/admin/src/utils/getExistingActions.js index 7c6919c4ec..e403e15885 100644 --- a/packages/core/admin/admin/src/utils/getExistingActions.js +++ b/packages/core/admin/admin/src/utils/getExistingActions.js @@ -1,5 +1,3 @@ -import { get } from 'lodash'; - const getExistingActions = (permissions) => { return Array.from( new Set( @@ -23,7 +21,7 @@ const getExistingActions = (permissions) => { ...acc, ...getActionsPermission([ ...Object.values(current[1].attributes || {}), - get(current[1], 'contentTypeActions', {}), + current[1]?.contentTypeActions ?? {}, ]), ]; }, []) diff --git a/packages/core/admin/admin/src/utils/sortLinks.js b/packages/core/admin/admin/src/utils/sortLinks.js index df85ceb298..8c40708874 100644 --- a/packages/core/admin/admin/src/utils/sortLinks.js +++ b/packages/core/admin/admin/src/utils/sortLinks.js @@ -1,4 +1,4 @@ -import { sortBy } from 'lodash'; +import sortBy from 'lodash/sortBy'; const sortLinks = (links) => sortBy(links, (object) => object.name); diff --git a/packages/core/content-type-builder/admin/src/components/DataManagerProvider/index.js b/packages/core/content-type-builder/admin/src/components/DataManagerProvider/index.js index 7083477f34..4866f709ef 100644 --- a/packages/core/content-type-builder/admin/src/components/DataManagerProvider/index.js +++ b/packages/core/content-type-builder/admin/src/components/DataManagerProvider/index.js @@ -1,6 +1,9 @@ import React, { memo, useEffect, useMemo, useRef } from 'react'; import PropTypes from 'prop-types'; -import { get, groupBy, set, size } from 'lodash'; +import get from 'lodash/get'; +import groupBy from 'lodash/groupBy'; +import set from 'lodash/set'; +import size from 'lodash/size'; import { LoadingIndicatorPage, useTracking, diff --git a/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/cleanData.js b/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/cleanData.js index 1b07bb0034..5e31863aa9 100644 --- a/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/cleanData.js +++ b/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/cleanData.js @@ -1,4 +1,8 @@ -import { get, isEqual, omit, sortBy, camelCase } from 'lodash'; +import get from 'lodash/get'; +import isEqual from 'lodash/isEqual'; +import omit from 'lodash/omit'; +import sortBy from 'lodash/sortBy'; +import camelCase from 'lodash/camelCase'; import pluginId from '../../../pluginId'; import makeUnique from '../../../utils/makeUnique'; diff --git a/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/retrieveNestedComponents.js b/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/retrieveNestedComponents.js index 30d224b1b7..8398a24939 100644 --- a/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/retrieveNestedComponents.js +++ b/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/retrieveNestedComponents.js @@ -1,9 +1,8 @@ -import { get } from 'lodash'; import makeUnique from '../../../utils/makeUnique'; const retrieveNestedComponents = (appComponents) => { const nestedComponents = Object.keys(appComponents).reduce((acc, current) => { - const componentAttributes = get(appComponents, [current, 'schema', 'attributes'], []); + const componentAttributes = appComponents?.[current]?.schema?.attributes ?? []; const currentComponentNestedCompos = getComponentsFromComponent(componentAttributes); return [...acc, ...currentComponentNestedCompos]; diff --git a/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js b/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js index ac1e8bdc77..e5185ea2eb 100644 --- a/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js +++ b/packages/core/content-type-builder/admin/src/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js @@ -1,4 +1,4 @@ -import { get } from 'lodash'; +import get from 'lodash/get'; import makeUnique from '../../../utils/makeUnique'; const retrieveSpecificInfoFromComponents = (allComponents, keysToRetrieve) => { diff --git a/packages/core/content-type-builder/admin/src/components/FormModal/attributes/validation/common.js b/packages/core/content-type-builder/admin/src/components/FormModal/attributes/validation/common.js index 7fe3c05f66..d71fc1b0a9 100644 --- a/packages/core/content-type-builder/admin/src/components/FormModal/attributes/validation/common.js +++ b/packages/core/content-type-builder/admin/src/components/FormModal/attributes/validation/common.js @@ -1,6 +1,7 @@ import * as yup from 'yup'; -import { get, toNumber } from 'lodash'; +import toNumber from 'lodash/toNumber'; import { translatedErrors as errorsTrads } from '@strapi/helper-plugin'; + import getTrad from '../../../../utils/getTrad'; const NAME_REGEX = /^[A-Za-z][_0-9A-Za-z]*$/; @@ -20,7 +21,7 @@ const alreadyUsedAttributeNames = (usedNames) => { }; const getUsedContentTypeAttributeNames = (ctShema, isEdition, attributeNameToEdit) => { - const attributes = get(ctShema, ['schema', 'attributes'], {}); + const attributes = ctShema?.schema?.attributes ?? {}; return Object.keys(attributes).filter((attr) => { if (isEdition) { diff --git a/packages/core/content-type-builder/admin/src/components/FormModal/category/createCategorySchema.js b/packages/core/content-type-builder/admin/src/components/FormModal/category/createCategorySchema.js index 5e2931c3ba..7c081f3369 100644 --- a/packages/core/content-type-builder/admin/src/components/FormModal/category/createCategorySchema.js +++ b/packages/core/content-type-builder/admin/src/components/FormModal/category/createCategorySchema.js @@ -1,6 +1,6 @@ import * as yup from 'yup'; -import { toLower } from 'lodash'; import { translatedErrors as errorsTrads } from '@strapi/helper-plugin'; + import CATEGORY_NAME_REGEX from './regex'; const createCategorySchema = (usedCategoryNames) => { @@ -16,7 +16,7 @@ const createCategorySchema = (usedCategoryNames) => { return false; } - return !usedCategoryNames.includes(toLower(value)); + return !usedCategoryNames.includes(value?.toLowerCase()); }, }) .required(errorsTrads.required), diff --git a/packages/core/content-type-builder/admin/src/components/FormModal/component/createComponentSchema.js b/packages/core/content-type-builder/admin/src/components/FormModal/component/createComponentSchema.js index 0afa953a94..3a6b6f14e9 100644 --- a/packages/core/content-type-builder/admin/src/components/FormModal/component/createComponentSchema.js +++ b/packages/core/content-type-builder/admin/src/components/FormModal/component/createComponentSchema.js @@ -1,6 +1,6 @@ import * as yup from 'yup'; -import { toLower, trim } from 'lodash'; import { translatedErrors as errorsTrads } from '@strapi/helper-plugin'; + import getTrad from '../../../utils/getTrad'; import { createComponentUid } from '../utils/createUid'; import { CATEGORY_NAME_REGEX } from '../category'; @@ -30,7 +30,7 @@ const createComponentSchema = (usedComponentNames, reservedNames, category) => { return false; } - return !reservedNames.includes(toLower(trim(value))); + return !reservedNames.includes(value?.trim()?.toLowerCase()); }, }) .required(errorsTrads.required), diff --git a/packages/core/content-type-builder/admin/src/components/FormModal/contentType/createContentTypeSchema.js b/packages/core/content-type-builder/admin/src/components/FormModal/contentType/createContentTypeSchema.js index 7cb0c0f229..7914e530b7 100644 --- a/packages/core/content-type-builder/admin/src/components/FormModal/contentType/createContentTypeSchema.js +++ b/packages/core/content-type-builder/admin/src/components/FormModal/contentType/createContentTypeSchema.js @@ -1,6 +1,6 @@ import * as yup from 'yup'; -import { toLower, trim } from 'lodash'; import { translatedErrors as errorsTrads } from '@strapi/helper-plugin'; + import getTrad from '../../../utils/getTrad'; import { createUid } from '../utils/createUid'; @@ -34,7 +34,7 @@ const createContentTypeSchema = ({ return false; } - return !reservedModels.includes(toLower(trim(value))); + return !reservedModels.includes(value?.trim()?.toLowerCase()); }, }) .required(errorsTrads.required), @@ -70,7 +70,7 @@ const createContentTypeSchema = ({ return false; } - return !reservedModels.includes(toLower(trim(value))); + return !reservedModels.includes(value?.trim()?.toLowerCase()); }, }) .required(errorsTrads.required), @@ -106,7 +106,7 @@ const createContentTypeSchema = ({ return false; } - return !reservedModels.includes(toLower(trim(value))); + return !reservedModels.includes(value?.trim()?.toLowerCase()); }, }) .required(errorsTrads.required), diff --git a/packages/core/content-type-builder/admin/src/components/FormModal/index.js b/packages/core/content-type-builder/admin/src/components/FormModal/index.js index 5506a561cc..3700c3f24a 100644 --- a/packages/core/content-type-builder/admin/src/components/FormModal/index.js +++ b/packages/core/content-type-builder/admin/src/components/FormModal/index.js @@ -27,7 +27,7 @@ import { TabPanel, Flex, } from '@strapi/design-system'; -import { isEqual } from 'lodash'; +import isEqual from 'lodash/isEqual'; import pluginId from '../../pluginId'; import useDataManager from '../../hooks/useDataManager'; import useFormModalNavigation from '../../hooks/useFormModalNavigation'; diff --git a/packages/core/content-type-builder/admin/src/components/FormModal/reducer.js b/packages/core/content-type-builder/admin/src/components/FormModal/reducer.js index b791b89ac7..c85f4e8898 100644 --- a/packages/core/content-type-builder/admin/src/components/FormModal/reducer.js +++ b/packages/core/content-type-builder/admin/src/components/FormModal/reducer.js @@ -2,7 +2,7 @@ import produce from 'immer'; import pluralize from 'pluralize'; import set from 'lodash/set'; import snakeCase from 'lodash/snakeCase'; -import _ from 'lodash'; + import getRelationType from '../../utils/getRelationType'; import nameToSlug from '../../utils/nameToSlug'; import { createComponentUid } from './utils/createUid'; @@ -312,7 +312,7 @@ const reducer = (state = initialState, action) => if (optionDefaults.length) { optionDefaults.forEach(({ name, defaultValue }) => - _.set(draftState.modifiedData, name, defaultValue) + set(draftState.modifiedData, name, defaultValue) ); } diff --git a/packages/plugins/documentation/admin/src/utils/openWithNewTab.js b/packages/plugins/documentation/admin/src/utils/openWithNewTab.js index 277426c54e..cc101759b1 100755 --- a/packages/plugins/documentation/admin/src/utils/openWithNewTab.js +++ b/packages/plugins/documentation/admin/src/utils/openWithNewTab.js @@ -1,11 +1,10 @@ -import { startsWith } from 'lodash'; - const openWithNewTab = (path) => { const url = (() => { - if (startsWith(path, '/')) { + if (path.startsWith('/')) { return `${strapi.backendURL}${path}`; } - if (startsWith(path, 'https') || startsWith(path, 'http')) { + + if (path.startsWith('http')) { return path; } diff --git a/packages/plugins/i18n/admin/src/components/CMEditViewInjectedComponents/CMEditViewCopyLocale/utils/removePasswordAndRelationsFieldFromData.js b/packages/plugins/i18n/admin/src/components/CMEditViewInjectedComponents/CMEditViewCopyLocale/utils/removePasswordAndRelationsFieldFromData.js index 3e89f2e41a..9602296b23 100644 --- a/packages/plugins/i18n/admin/src/components/CMEditViewInjectedComponents/CMEditViewCopyLocale/utils/removePasswordAndRelationsFieldFromData.js +++ b/packages/plugins/i18n/admin/src/components/CMEditViewInjectedComponents/CMEditViewCopyLocale/utils/removePasswordAndRelationsFieldFromData.js @@ -1,4 +1,4 @@ -import { get } from 'lodash'; +import get from 'lodash/get'; import { getType, getOtherInfos } from '@strapi/helper-plugin'; const removePasswordAndRelationsFieldFromData = (data, contentTypeSchema, componentSchema) => { diff --git a/packages/plugins/i18n/admin/src/middlewares/extendCTBInitialDataMiddleware.js b/packages/plugins/i18n/admin/src/middlewares/extendCTBInitialDataMiddleware.js index b3e4d88da9..3e09b7ba25 100644 --- a/packages/plugins/i18n/admin/src/middlewares/extendCTBInitialDataMiddleware.js +++ b/packages/plugins/i18n/admin/src/middlewares/extendCTBInitialDataMiddleware.js @@ -1,5 +1,3 @@ -import { has } from 'lodash'; - const extendCTBInitialDataMiddleware = () => { return () => (next) => (action) => { if ( @@ -20,7 +18,7 @@ const extendCTBInitialDataMiddleware = () => { // Override the action if the pluginOption config does not contain i18n // In this case we need to set the proper initialData shape - if (!has(action.data.pluginOptions, 'i18n.localized')) { + if (!action.data.pluginOptions?.i18n?.localized) { return next({ ...action, data }); } } diff --git a/packages/plugins/i18n/admin/src/utils/mutateCTBContentTypeSchema.js b/packages/plugins/i18n/admin/src/utils/mutateCTBContentTypeSchema.js index 53a7e3ce11..e0e80d8832 100644 --- a/packages/plugins/i18n/admin/src/utils/mutateCTBContentTypeSchema.js +++ b/packages/plugins/i18n/admin/src/utils/mutateCTBContentTypeSchema.js @@ -1,4 +1,7 @@ -import { has, get, omit } from 'lodash'; +import get from 'lodash/get'; +import has from 'lodash/has'; +import omit from 'lodash/omit'; + import LOCALIZED_FIELDS from './localizedFields'; const localizedPath = ['pluginOptions', 'i18n', 'localized']; diff --git a/packages/plugins/users-permissions/admin/src/components/Permissions/PermissionRow/SubCategory.js b/packages/plugins/users-permissions/admin/src/components/Permissions/PermissionRow/SubCategory.js index 5fedb4a202..1ecc9b7d57 100644 --- a/packages/plugins/users-permissions/admin/src/components/Permissions/PermissionRow/SubCategory.js +++ b/packages/plugins/users-permissions/admin/src/components/Permissions/PermissionRow/SubCategory.js @@ -1,5 +1,5 @@ import React, { useCallback, useMemo } from 'react'; -import { get } from 'lodash'; +import get from 'lodash/get'; import styled from 'styled-components'; import PropTypes from 'prop-types'; import { Box, Checkbox, Flex, Typography, Grid, GridItem } from '@strapi/design-system'; diff --git a/packages/plugins/users-permissions/admin/src/components/Policies/index.js b/packages/plugins/users-permissions/admin/src/components/Policies/index.js index 815c747e1f..4ab6111a4e 100644 --- a/packages/plugins/users-permissions/admin/src/components/Policies/index.js +++ b/packages/plugins/users-permissions/admin/src/components/Policies/index.js @@ -1,7 +1,10 @@ import React from 'react'; import { useIntl } from 'react-intl'; import { Typography, Flex, GridItem } from '@strapi/design-system'; -import { get, isEmpty, without } from 'lodash'; +import get from 'lodash/get'; +import isEmpty from 'lodash/isEmpty'; +import without from 'lodash/without'; + import { useUsersPermissions } from '../../contexts/UsersPermissionsContext'; import BoundRoute from '../BoundRoute'; diff --git a/packages/plugins/users-permissions/admin/src/components/UsersPermissions/reducer.js b/packages/plugins/users-permissions/admin/src/components/UsersPermissions/reducer.js index 536974cb43..8a03a180ef 100644 --- a/packages/plugins/users-permissions/admin/src/components/UsersPermissions/reducer.js +++ b/packages/plugins/users-permissions/admin/src/components/UsersPermissions/reducer.js @@ -1,6 +1,8 @@ /* eslint-disable consistent-return */ import produce from 'immer'; -import { set, get, take } from 'lodash'; +import get from 'lodash/get'; +import set from 'lodash/set'; +import take from 'lodash/take'; export const initialState = { initialData: {}, diff --git a/packages/plugins/users-permissions/admin/src/hooks/usePlugins/index.js b/packages/plugins/users-permissions/admin/src/hooks/usePlugins/index.js index e6722a652a..efa0389cb6 100644 --- a/packages/plugins/users-permissions/admin/src/hooks/usePlugins/index.js +++ b/packages/plugins/users-permissions/admin/src/hooks/usePlugins/index.js @@ -1,6 +1,6 @@ import { useCallback, useEffect, useReducer } from 'react'; import { useNotification, useFetchClient } from '@strapi/helper-plugin'; -import { get } from 'lodash'; +import get from 'lodash/get'; import init from './init'; import pluginId from '../../pluginId'; import { cleanPermissions } from '../../utils'; diff --git a/packages/plugins/users-permissions/admin/src/hooks/useRolesList/index.js b/packages/plugins/users-permissions/admin/src/hooks/useRolesList/index.js index ec07d750c7..d760e60588 100644 --- a/packages/plugins/users-permissions/admin/src/hooks/useRolesList/index.js +++ b/packages/plugins/users-permissions/admin/src/hooks/useRolesList/index.js @@ -1,6 +1,6 @@ import { useEffect, useReducer, useRef } from 'react'; import { request, useNotification } from '@strapi/helper-plugin'; -import { get } from 'lodash'; +import get from 'lodash/get'; import init from './init'; import pluginId from '../../pluginId'; import reducer, { initialState } from './reducer'; diff --git a/packages/plugins/users-permissions/admin/src/pages/Providers/reducer.js b/packages/plugins/users-permissions/admin/src/pages/Providers/reducer.js index 95e5686fa9..fe6f7d5473 100644 --- a/packages/plugins/users-permissions/admin/src/pages/Providers/reducer.js +++ b/packages/plugins/users-permissions/admin/src/pages/Providers/reducer.js @@ -1,5 +1,5 @@ import produce from 'immer'; -import { set } from 'lodash'; +import set from 'lodash/set'; const initialState = { formErrors: {}, diff --git a/packages/plugins/users-permissions/admin/src/pages/Providers/utils/createProvidersArray.js b/packages/plugins/users-permissions/admin/src/pages/Providers/utils/createProvidersArray.js index 547e82d413..4e4be3de10 100644 --- a/packages/plugins/users-permissions/admin/src/pages/Providers/utils/createProvidersArray.js +++ b/packages/plugins/users-permissions/admin/src/pages/Providers/utils/createProvidersArray.js @@ -1,4 +1,4 @@ -import { sortBy } from 'lodash'; +import sortBy from 'lodash/sortBy'; const createProvidersArray = (data) => { return sortBy( diff --git a/packages/plugins/users-permissions/admin/src/utils/cleanPermissions.js b/packages/plugins/users-permissions/admin/src/utils/cleanPermissions.js index 1eedc7858e..b50159a2ab 100644 --- a/packages/plugins/users-permissions/admin/src/utils/cleanPermissions.js +++ b/packages/plugins/users-permissions/admin/src/utils/cleanPermissions.js @@ -1,4 +1,4 @@ -import { isEmpty } from 'lodash'; +import isEmpty from 'lodash/isEmpty'; const cleanPermissions = (permissions) => Object.keys(permissions).reduce((acc, current) => {