replace lodash-es with es-toolkit

This commit is contained in:
hobbes7878 2025-04-18 18:11:06 +01:00
parent 8b2a6d7234
commit 929ecbe1f4
Failed to extract signature
7 changed files with 16 additions and 31 deletions

View file

@ -107,8 +107,8 @@
"@fortawesome/free-solid-svg-icons": "^6.7.2",
"@sveltejs/kit": "^2.20.7",
"dayjs": "^1.11.13",
"es-toolkit": "^1.35.0",
"journalize": "^2.6.0",
"lodash-es": "^4.17.21",
"marked": "^15.0.7",
"marked-smartypants": "^1.1.9",
"proper-url-join": "^2.1.2",

View file

@ -14,21 +14,18 @@ importers:
'@fortawesome/free-solid-svg-icons':
specifier: ^6.7.2
version: 6.7.2
'@splidejs/svelte-splide':
specifier: ^0.2.9
version: 0.2.9
'@sveltejs/kit':
specifier: ^2.20.7
version: 2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.0)(vite@6.3.2(@types/node@22.10.7)(jiti@2.4.2)(sass@1.86.3)(yaml@2.7.0)))(svelte@5.28.0)(vite@6.3.2(@types/node@22.10.7)(jiti@2.4.2)(sass@1.86.3)(yaml@2.7.0))
dayjs:
specifier: ^1.11.13
version: 1.11.13
es-toolkit:
specifier: ^1.35.0
version: 1.35.0
journalize:
specifier: ^2.6.0
version: 2.6.0
lodash-es:
specifier: ^4.17.21
version: 4.17.21
marked:
specifier: ^15.0.7
version: 15.0.7
@ -856,12 +853,6 @@ packages:
cpu: [x64]
os: [win32]
'@splidejs/splide@4.1.4':
resolution: {integrity: sha512-5I30evTJcAJQXt6vJ26g2xEkG+l1nXcpEw4xpKh0/FWQ8ozmAeTbtniVtVmz2sH1Es3vgfC4SS8B2X4o5JMptA==}
'@splidejs/svelte-splide@0.2.9':
resolution: {integrity: sha512-04ekJnDIJKEAhklKQMhkg4Yx0Ihtkk18eA9JeHPON0lDTngQxlOYdEYTJWH2UON45VxmVqoLHv04I++JphO36w==}
'@storybook/addon-actions@8.6.12':
resolution: {integrity: sha512-B5kfiRvi35oJ0NIo53CGH66H471A3XTzrfaa6SxXEJsgxxSeKScG5YeXcCvLiZfvANRQ7QDsmzPUgg0o3hdMXw==}
peerDependencies:
@ -1949,8 +1940,8 @@ packages:
resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
engines: {node: '>= 0.4'}
es-toolkit@1.31.0:
resolution: {integrity: sha512-vwS0lv/tzjM2/t4aZZRAgN9I9TP0MSkWuvt6By+hEXfG/uLs8yg2S1/ayRXH/x3pinbLgVJYT+eppueg3cM6tg==}
es-toolkit@1.35.0:
resolution: {integrity: sha512-kVHyrRoC0eLc1hWJ6npG8nNFtOG+nWfcMI+XE0RaFO0gxd6Ions8r0O/U64QyZgY7IeidUnS5oZlRZYUgMGCAg==}
es6-promise@3.3.1:
resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
@ -4931,12 +4922,6 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.40.0':
optional: true
'@splidejs/splide@4.1.4': {}
'@splidejs/svelte-splide@0.2.9':
dependencies:
'@splidejs/splide': 4.1.4
'@storybook/addon-actions@8.6.12(storybook@8.6.12(prettier@3.5.3))':
dependencies:
'@storybook/global': 5.0.0
@ -5021,7 +5006,7 @@ snapshots:
'@storybook/svelte': 8.6.12(storybook@8.6.12(prettier@3.5.3))(svelte@5.28.0)
'@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.28.0)(vite@6.3.2(@types/node@22.10.7)(jiti@2.4.2)(sass@1.86.3)(yaml@2.7.0))
dedent: 1.5.3
es-toolkit: 1.31.0
es-toolkit: 1.35.0
esrap: 1.4.3
magic-string: 0.30.17
storybook: 8.6.12(prettier@3.5.3)
@ -6253,7 +6238,7 @@ snapshots:
is-date-object: 1.1.0
is-symbol: 1.1.1
es-toolkit@1.31.0: {}
es-toolkit@1.35.0: {}
es6-promise@3.3.1: {}

View file

@ -1,7 +1,7 @@
<!-- This component manages the OneTrust prefs button, so it's not permanently fixed on page... -->
<script lang="ts">
import { onMount } from 'svelte';
import throttle from 'lodash-es/throttle';
import { throttle } from 'es-toolkit';
let lastScroll = 0;
let showManagePreferences = true;

View file

@ -1,7 +1,7 @@
<!-- @component `BeforeAfter` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-graphics-beforeafter--docs) -->
<script lang="ts">
import { type Snippet } from 'svelte';
import { throttle } from 'lodash-es';
import { throttle } from 'es-toolkit';
import Block from '../Block/Block.svelte';
import PaddingReset from '../PaddingReset/PaddingReset.svelte';

View file

@ -1,5 +1,5 @@
import React, { useState } from 'react';
import { cloneDeep, set } from 'lodash-es';
import { cloneDeep, set } from 'es-toolkit';
import ColourPicker from './ColourPicker.jsx';

View file

@ -6,7 +6,7 @@ import ThemeSwitch from './ThemeSwitch/Switch';
import { Unstyled } from '@storybook/blocks';
// @ts-ignore scss
import classes from './styles.module.scss';
import { cloneDeep } from 'lodash-es';
import { cloneDeep } from 'es-toolkit';
import darkTheme from '../../../components/Theme/themes/dark';
import lightTheme from '../../../components/Theme/themes/light';

View file

@ -1,8 +1,8 @@
import { compileString } from 'sass';
import { convert } from './css-to-js/index.js';
import { kebabCase } from 'lodash-es';
import { kebabCase } from 'es-toolkit';
export const cssStringToTableArray = (cssString, withInclude = false) => {
export const cssStringToTableArray = (cssString = '', withInclude = false) => {
const cssObj = convert(compileString(cssString).css);
return Object.entries(cssObj).map(([key, value]) => {
const className = key.replace(/_/g, '-');
@ -22,7 +22,7 @@ export const cssStringToTableArray = (cssString, withInclude = false) => {
});
};
export const scssVariablesToTableArray = (scssString) => {
export const scssVariablesToTableArray = (scssString = '') => {
const regExp = /^(\$[a-zA-Z0-9-_]+):\s*(.+)$/gm;
const matches = scssString.matchAll(regExp);
return Array.from(matches).map((match) => {
@ -30,7 +30,7 @@ export const scssVariablesToTableArray = (scssString) => {
});
};
export const extractCssColourVariables = (cssString) => {
export const extractCssColourVariables = (cssString = '') => {
const variableRegexp = /(--[a-zA-Z][a-zA-Z0-9-]+):\s*(.+);/g;
const cssVariables = [...cssString.matchAll(variableRegexp)].map(
([_, g1, g2]) => [g2, g1]