diff --git a/CHANGELOG.en-US.md b/CHANGELOG.en-US.md index 60ea71b983..9bb11bbabb 100644 --- a/CHANGELOG.en-US.md +++ b/CHANGELOG.en-US.md @@ -1,4 +1,13 @@ ## Changelog + +### 2.5.5 + +_2024-02-03_ + +#### Bug fixes + +- Fix lodash import error (#15773 by @tolking) + ### 2.5.4 diff --git a/internal/build/src/tasks/full-bundle.ts b/internal/build/src/tasks/full-bundle.ts index a46a3eaaec..a14c2d1e69 100644 --- a/internal/build/src/tasks/full-bundle.ts +++ b/internal/build/src/tasks/full-bundle.ts @@ -8,7 +8,7 @@ import vueJsx from '@vitejs/plugin-vue-jsx' import esbuild, { minify as minifyPlugin } from 'rollup-plugin-esbuild' import { parallel } from 'gulp' import glob from 'fast-glob' -import { camelCase, upperFirst } from 'lodash' +import { camelCase, upperFirst } from 'lodash-unified' import { PKG_BRAND_NAME, PKG_CAMELCASE_LOCAL_NAME, @@ -24,6 +24,7 @@ import { writeBundles, } from '../utils' import { target } from '../build-info' +import type { TaskFunction } from 'gulp' import type { Plugin } from 'rollup' const banner = `/*! ${PKG_BRAND_NAME} v${version} */\n` @@ -154,7 +155,7 @@ async function buildFullLocale(minify: boolean) { export const buildFull = (minify: boolean) => async () => Promise.all([buildFullEntry(minify), buildFullLocale(minify)]) -export const buildFullBundle = parallel( +export const buildFullBundle: TaskFunction = parallel( withTaskName('buildFullMinified', buildFull(true)), withTaskName('buildFull', buildFull(false)) ) diff --git a/internal/eslint-config/index.js b/internal/eslint-config/index.js index 62bb77b2df..542a3cb9cb 100644 --- a/internal/eslint-config/index.js +++ b/internal/eslint-config/index.js @@ -262,6 +262,21 @@ module.exports = defineConfig({ 'import/no-named-as-default': 'off', 'import/no-named-as-default-member': 'off', 'import/named': 'off', + 'no-restricted-imports': [ + 'error', + { + paths: [ + { name: 'lodash', message: 'Use lodash-unified instead.' }, + { name: 'lodash-es', message: 'Use lodash-unified instead.' }, + ], + patterns: [ + { + group: ['lodash/*', 'lodash-es/*'], + message: 'Use lodash-unified instead.', + }, + ], + }, + ], // eslint-plugin-eslint-comments 'eslint-comments/disable-enable-pair': ['error', { allowWholeFile: true }], diff --git a/internal/metadata/src/contributor.ts b/internal/metadata/src/contributor.ts index f6cda5f8fd..d57d417815 100644 --- a/internal/metadata/src/contributor.ts +++ b/internal/metadata/src/contributor.ts @@ -4,7 +4,7 @@ import glob from 'fast-glob' import { Octokit } from 'octokit' import consola from 'consola' import chalk from 'chalk' -import { chunk, mapValues, uniqBy } from 'lodash-es' +import { chunk, mapValues, uniqBy } from 'lodash-unified' import { ensureDir, errorAndExit, diff --git a/packages/components/infinite-scroll/__tests__/infinite-scroll.test.ts b/packages/components/infinite-scroll/__tests__/infinite-scroll.test.ts index d7b7394d0b..ac7b364c14 100644 --- a/packages/components/infinite-scroll/__tests__/infinite-scroll.test.ts +++ b/packages/components/infinite-scroll/__tests__/infinite-scroll.test.ts @@ -15,8 +15,9 @@ import makeScroll from '@element-plus/test-utils/make-scroll' import tick from '@element-plus/test-utils/tick' import InfiniteScroll, { DEFAULT_DELAY, SCOPE } from '../src' -vi.mock('lodash-unified', () => { +vi.mock('lodash-unified', async () => { return { + ...((await vi.importActual('lodash-unified')) as Record), throttle: vi.fn((fn) => { fn.cancel = vi.fn() fn.flush = vi.fn() diff --git a/packages/components/tour/src/step.vue b/packages/components/tour/src/step.vue index d6d0ceb5b1..63ffe91d93 100644 --- a/packages/components/tour/src/step.vue +++ b/packages/components/tour/src/step.vue @@ -66,7 +66,7 @@