unplugin / unplugin-auto-import

Auto import APIs on-demand for Vite, Webpack and Rollup
MIT License
3.28k stars 198 forks source link

If imports receives a two-dimensional array object format implemented as a function, it will report a type error. #485

Open yveeven opened 7 months ago

yveeven commented 7 months ago

Describe the bug

CleanShot 2024-04-16 at 17 23 58@2x

code:

/src/plugins/lodash
import lodash from 'lodash'

export function lodashImports() {
  const exports = Object.keys(lodash).map(v => [v, `use${lodash.upperFirst(v)}`])

  return {
    lodash: exports,
  }
}
/vite.config.ts
import { lodashImports } from './src/plugins/lodash'
...
export default defineConfig({
  plugins: [
    AutoImport({ imports: [lodashImports()] })
  ]
})

CleanShot 2024-04-16 at 17 30 44@2x

Reproduction

https://stackblitz.com/edit/vitejs-vite-bljbqc?file=vite.config.ts

System Info

System:
    OS: macOS 14.0
    CPU: (8) arm64 Apple M1 Pro
    Memory: 284.13 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.19.0 - ~/.volta/tools/image/node/18.19.0/bin/node
    npm: 10.2.3 - ~/.volta/tools/image/node/18.19.0/bin/npm
    pnpm: 8.10.2 - ~/.volta/tools/image/pnpm/8.10.2/bin/pnpm
    bun: 1.0.11 - ~/.bun/bin/bun
  Browsers:
    Chrome: 123.0.6312.124
    Safari: 17.0

Used Package Manager

pnpm

Validations

stackblitz[bot] commented 7 months ago

Fix this issue in StackBlitz Codeflow Start a new pull request in StackBlitz Codeflow.