Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error with @vueuse/core preset #115

Closed
amaury-tobias opened this issue Aug 24, 2022 · 2 comments · Fixed by #138
Closed

error with @vueuse/core preset #115

amaury-tobias opened this issue Aug 24, 2022 · 2 comments · Fixed by #138

Comments

@amaury-tobias
Copy link
Contributor

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/unimport@0.6.7_vite@3.0.9/node_modules/unimport/dist/chunks/context.cjs:311:41)
  at /Users/amaurytobias/garsa/garsa-pdf/node_modules/.pnpm/unimport@0.6.7_vite@3.0.9/node_modules/unimport/dist/chunks/context.cjs:547:16
  at Array.flatMap (<anonymous>)
  at resolveBuiltinPresets (/Users/amaurytobias/garsa/garsa-pdf/node_modules/.pnpm/unimport@0.6.7_vite@3.0.9/node_modules/unimport/dist/chunks/context.cjs:544:18)
  at createUnimport (/Users/amaurytobias/garsa/garsa-pdf/node_modules/.pnpm/unimport@0.6.7_vite@3.0.9/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/unplugin@0.9.3_vite@3.0.9/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.

@antfu
Copy link
Member

antfu commented Aug 26, 2022

We temporarily close this due to the lack of enough information.
Please provide a minimal reproduction to reopen the issue.
Thanks.

Why reproduction is required

@antfu antfu closed this as completed Aug 26, 2022
@amaury-tobias
Copy link
Contributor Author

Sorry, the reproduction is only

const { createUnimport } = require("unimport");

const ctx = createUnimport({
  presets: ["@vueuse/core"],
});
console.log(ctx.generateTypeDeclarations());

the expected output is all the vueuse types, but this throw a

Error TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received undefined at Object.openSync (node:fs:591:10) at Object.readFileSync (node:fs:467:35) at vueuseCore (/Users/amaurytobias/unimport-iss115/node_modules/.pnpm/unimport@0.6.7/node_modules/unimport/dist/chunks/context.cjs:311:41) at /Users/amaurytobias/unimport-iss115/node_modules/.pnpm/unimport@0.6.7/node_modules/unimport/dist/chunks/context.cjs:547:16 at Array.flatMap () at resolveBuiltinPresets (/Users/amaurytobias/unimport-iss115/node_modules/.pnpm/unimport@0.6.7/node_modules/unimport/dist/chunks/context.cjs:544:18) at createUnimport (/Users/amaurytobias/unimport-iss115/node_modules/.pnpm/unimport@0.6.7/node_modules/unimport/dist/chunks/context.cjs:629:29) at Object. (/Users/amaurytobias/unimport-iss115/index.cjs:3:13) at Module._compile (node:internal/modules/cjs/loader:1112:14) at Module._extensions..js (node:internal/modules/cjs/loader:1166:10) { code: 'ERR_INVALID_ARG_TYPE' } /Users/amaurytobias/unimport-iss115/node_modules/.pnpm/unimport@0.6.7/node_modules/unimport/dist/chunks/context.cjs:318 throw new Error("[auto-import] failed to load @vueuse/core, have you installed it?"); ^

Error: [auto-import] failed to load @vueuse/core, have you installed it?
at vueuseCore (/Users/amaurytobias/unimport-iss115/node_modules/.pnpm/unimport@0.6.7/node_modules/unimport/dist/chunks/context.cjs:318:13)
at /Users/amaurytobias/unimport-iss115/node_modules/.pnpm/unimport@0.6.7/node_modules/unimport/dist/chunks/context.cjs:547:16
at Array.flatMap ()
at resolveBuiltinPresets (/Users/amaurytobias/unimport-iss115/node_modules/.pnpm/unimport@0.6.7/node_modules/unimport/dist/chunks/context.cjs:544:18)
at createUnimport (/Users/amaurytobias/unimport-iss115/node_modules/.pnpm/unimport@0.6.7/node_modules/unimport/dist/chunks/context.cjs:629:29)
at Object. (/Users/amaurytobias/unimport-iss115/index.cjs:3:13)
at Module._compile (node:internal/modules/cjs/loader:1112:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1166:10)
at Module.load (node:internal/modules/cjs/loader:988:32)
at Module._load (node:internal/modules/cjs/loader:834:12)

I think the '@vueuse/core' package don have a indexes.json and unimport preset is searching in this file and this cause error with path.

Here is the minimal reproduction repository

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants