unimport icon indicating copy to clipboard operation
unimport copied to clipboard

error with @vueuse/core preset

Open amaury-tobias opened this issue 3 years ago • 0 comments

I using this lib with Vite as

  const ctx = createUnimport({
    presets: ['vue', '@vueuse/core'],
    addons: { vueTemplate: true },
  })

and this configuration gives me

Error
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received undefined
  at __node_internal_captureLargerStackTrace (node:internal/errors:477:5)
  at new NodeError (node:internal/errors:388:5)
  at __node_internal_ (node:internal/fs/utils:673:11)
  at __node_internal_ (node:internal/fs/utils:685:3)
  at Object.openSync (node:fs:591:10)
  at Object.readFileSync (node:fs:467:35)
  at vueuseCore (/Users/amaurytobias/garsa/garsa-pdf/node_modules/.pnpm/[email protected][email protected]/node_modules/unimport/dist/chunks/context.cjs:311:41)
  at /Users/amaurytobias/garsa/garsa-pdf/node_modules/.pnpm/[email protected][email protected]/node_modules/unimport/dist/chunks/context.cjs:547:16
  at Array.flatMap (<anonymous>)
  at resolveBuiltinPresets (/Users/amaurytobias/garsa/garsa-pdf/node_modules/.pnpm/[email protected][email protected]/node_modules/unimport/dist/chunks/context.cjs:544:18)
  at createUnimport (/Users/amaurytobias/garsa/garsa-pdf/node_modules/.pnpm/[email protected][email protected]/node_modules/unimport/dist/chunks/context.cjs:629:29)
  at <anonymous> (/Users/amaurytobias/garsa/garsa-pdf/packages/builder/utils/kit.ts:324:15)
  at Object.<anonymous> (/Users/amaurytobias/garsa/garsa-pdf/node_modules/.pnpm/[email protected][email protected]/node_modules/unplugin/dist/index.js:4:688)
  at writeTypes (/Users/amaurytobias/garsa/garsa-pdf/packages/builder/utils/prepare.ts:130:32)
  at Object.invoke (/Users/amaurytobias/garsa/garsa-pdf/packages/builder/commands/prepare.ts:18:5)
  at _main (/Users/amaurytobias/garsa/garsa-pdf/packages/builder/cli.ts:18:18) {
code: 'ERR_INVALID_ARG_TYPE'
}

On unplugin-auto-import the @vueuse/core preset is different on the lines: 14:24

(unimport)[https://github.com/unjs/unimport/blob/main/src/presets/vueuse-core.ts]

 const path = resolveModule('@vueuse/core/indexes.json')
const indexesJson = JSON.parse(readFileSync(path!, 'utf-8'))
_cache = defineUnimportPreset({
    from: '@vueuse/core',
    imports: indexesJson
      .functions
      .filter((i: any) => ['core', 'shared'].includes(i.package))
      .map((i: any) => i.name as string)
      // only include functions with 4 characters or more
      .filter((i: string) => i && i.length >= 4 && !excluded.includes(i))
})

unplugin-auto-import

const corePath = resolveModule('@vueuse/core') || process.cwd()
const path = resolveModule('@vueuse/core/indexes.json')
    || resolveModule('@vueuse/metadata/index.json')
    || resolveModule('@vueuse/metadata/index.json', { paths: [corePath] })
 indexesJson = JSON.parse(readFileSync(path!, 'utf-8'))

idk if this can resolve the issue.

amaury-tobias avatar Aug 24 '22 03:08 amaury-tobias