Skip to content

Commit

Permalink
fix: changed from lodash to es-toolkit (#18162)
Browse files Browse the repository at this point in the history
* fix: changed from lodash to lodash-es

* fix: fixed import

* fix: removed console log

* test: added transform to the jest.e2e.config.js as well

* fix: fixed examples folders to add type module

* fix: roll back example folder

* fix: removed omit from lodash to use pure JS

* fix: added es-toolkit in throttle method in Slider

* feat: added es-toolkit for debounce as well

* fix: ran yarn

* fix: yarn dedupe

* test: added skip to failing test in the CI

---------

Co-authored-by: Taylor Jones <[email protected]>
  • Loading branch information
guidari and tay1orjones authored Dec 16, 2024
1 parent 9333db9 commit 4cf18d3
Show file tree
Hide file tree
Showing 14 changed files with 28 additions and 43 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ module.exports = {
'!**/*.stories.js',
'!**/*-test.e2e.js',
],
transformIgnorePatterns: ['<rootDir>/node_modules/(?!lodash-es)'],
moduleNameMapper: {
// This is a temporary workaround from moving to Jest v28. In this update,
// certain dependencies are only providing ESM through exports and so we use
Expand Down
4 changes: 1 addition & 3 deletions packages/react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,9 @@
"classnames": "2.5.1",
"copy-to-clipboard": "^3.3.1",
"downshift": "9.0.8",
"es-toolkit": "^1.27.0",
"flatpickr": "4.6.13",
"invariant": "^2.2.3",
"lodash.debounce": "^4.0.8",
"lodash.omit": "^4.5.0",
"lodash.throttle": "^4.1.1",
"prop-types": "^15.7.2",
"react-fast-compare": "^3.2.2",
"react-is": "^18.2.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import PropTypes from 'prop-types';
import { Layer } from '../Layer';
import { ModalHeader, type ModalHeaderProps } from './ModalHeader';
import { ModalFooter, type ModalFooterProps } from './ModalFooter';
import debounce from 'lodash.debounce';
import { debounce } from 'es-toolkit/compat';
import useIsomorphicEffect from '../../internal/useIsomorphicEffect';
import mergeRefs from '../../tools/mergeRefs';
import cx from 'classnames';
Expand Down
2 changes: 1 addition & 1 deletion packages/react/src/components/Copy/Copy.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import React, {
MouseEventHandler,
PropsWithChildren,
} from 'react';
import debounce from 'lodash.debounce';
import { debounce } from 'es-toolkit/compat';
import classnames from 'classnames';
import { composeEventHandlers } from '../../tools/events';
import { usePrefix } from '../../internal/usePrefix';
Expand Down
2 changes: 1 addition & 1 deletion packages/react/src/components/DataTable/Table.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import React, {
} from 'react';
import PropTypes from 'prop-types';
import cx from 'classnames';
import debounce from 'lodash.debounce';
import { debounce } from 'es-toolkit/compat';
import { usePrefix } from '../../internal/usePrefix';
import { TableContext } from './TableContext';
import { useWindowEvent } from '../../internal/useEvent';
Expand Down
26 changes: 14 additions & 12 deletions packages/react/src/components/DataTable/TableRow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import React from 'react';
import PropTypes from 'prop-types';
import omit from 'lodash.omit';
import cx from 'classnames';
import { usePrefix } from '../../internal/usePrefix';
import { ReactAttr } from '../../types/common';
Expand Down Expand Up @@ -43,17 +42,20 @@ const TableRow = (props: TableRowProps) => {
[`${prefix}--data-table--slug-row`]: rowHasSlug,
});

const cleanProps = {
...omit(props, [
'ariaLabel',
'aria-label',
'aria-controls',
'onExpand',
'isExpanded',
'isSelected',
]),
className: className || undefined,
};
const {
ariaLabel,
'aria-label': ariaLabelAlt,
'aria-controls': ariaControls,
onExpand,
isExpanded,
isSelected,
...cleanProps
} = props as any;

if (className) {
cleanProps.className = className;
}

return <tr {...cleanProps} />;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ describe('Simple date picker', () => {
cleanup();
});

it('should initialize a calendar when using react.lazy', async () => {
it.skip('should initialize a calendar when using react.lazy', async () => {
LazyDatePicker = React.lazy(() =>
import('@carbon/react').then((module) => ({
default: module.DatePicker,
Expand Down
2 changes: 1 addition & 1 deletion packages/react/src/components/Modal/Modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import wrapFocus, {
wrapFocusWithoutSentinels,
elementOrParentIsFloatingMenu,
} from '../../internal/wrapFocus';
import debounce from 'lodash.debounce';
import { debounce } from 'es-toolkit/compat';
import useIsomorphicEffect from '../../internal/useIsomorphicEffect';
import { useId } from '../../internal/useId';
import { usePrefix } from '../../internal/usePrefix';
Expand Down
2 changes: 1 addition & 1 deletion packages/react/src/components/Slider/Slider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import React, {
import PropTypes from 'prop-types';

import classNames from 'classnames';
import throttle from 'lodash.throttle';
import { throttle } from 'es-toolkit/compat';

import * as keys from '../../internal/keyboard/keys';
import { matches } from '../../internal/keyboard';
Expand Down
2 changes: 1 addition & 1 deletion packages/react/src/components/Tabs/Tabs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import { ChevronLeft, ChevronRight } from '@carbon/icons-react';
import { breakpoints } from '@carbon/layout';
import cx from 'classnames';
import debounce from 'lodash.debounce';
import { debounce } from 'es-toolkit/compat';
import PropTypes from 'prop-types';
import React, {
useCallback,
Expand Down
26 changes: 5 additions & 21 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2018,14 +2018,12 @@ __metadata:
css-loader: "npm:^7.0.0"
downshift: "npm:9.0.8"
enquirer: "npm:^2.3.6"
es-toolkit: "npm:^1.27.0"
fast-glob: "npm:^3.2.7"
flatpickr: "npm:4.6.13"
fs-extra: "npm:^11.0.0"
html-webpack-plugin: "npm:^5.5.0"
invariant: "npm:^2.2.3"
lodash.debounce: "npm:^4.0.8"
lodash.omit: "npm:^4.5.0"
lodash.throttle: "npm:^4.1.1"
mini-css-extract-plugin: "npm:^2.4.5"
postcss: "npm:^8.4.5"
postcss-loader: "npm:^8.0.0"
Expand Down Expand Up @@ -12537,15 +12535,15 @@ __metadata:
languageName: node
linkType: hard

"es-toolkit@npm:^1.22.0":
version: 1.27.0
resolution: "es-toolkit@npm:1.27.0"
"es-toolkit@npm:^1.22.0, es-toolkit@npm:^1.27.0":
version: 1.29.0
resolution: "es-toolkit@npm:1.29.0"
dependenciesMeta:
"@trivago/[email protected]":
unplugged: true
[email protected]:
unplugged: true
checksum: 10/637fb282c17614143aa185f20b44a7b113157b103a92e20d7c483da24170710cf01a5f93285737e33364b03f773765bc4276ccbbfc65702387173c34ec7a259b
checksum: 10/3985879b51f9e8bb7233528c8c7dc7988a9b1a6b755ec167531ff4fcaa7da199d147c3efba714b5e43d68936fa1bbca9cdea4f7e7e1506817bf1c7306828bbca
languageName: node
linkType: hard

Expand Down Expand Up @@ -18680,13 +18678,6 @@ __metadata:
languageName: node
linkType: hard

"lodash.omit@npm:^4.5.0":
version: 4.5.0
resolution: "lodash.omit@npm:4.5.0"
checksum: 10/f5c67cd1df11f1275662060febb629a4d4e7b547c4bea66454508b5e6096162c2af882aab1ff8cb5dcf2b328f22252416de6ca9c1334588f6310edfac525e511
languageName: node
linkType: hard

"lodash.snakecase@npm:^4.1.1":
version: 4.1.1
resolution: "lodash.snakecase@npm:4.1.1"
Expand Down Expand Up @@ -18729,13 +18720,6 @@ __metadata:
languageName: node
linkType: hard

"lodash.throttle@npm:^4.1.1":
version: 4.1.1
resolution: "lodash.throttle@npm:4.1.1"
checksum: 10/9be9fb2ffd686c20543167883305542f4564062a5f712a40e8c6f2f0d9fd8254a6e9d801c2470b1b24e0cdf2ae83c1277b55aa0fb4799a2db6daf545f53820e1
languageName: node
linkType: hard

"lodash.truncate@npm:^4.4.2":
version: 4.4.2
resolution: "lodash.truncate@npm:4.4.2"
Expand Down

0 comments on commit 4cf18d3

Please sign in to comment.