wavezync / vue3-google-signin

Google OAuth2 plugin for Vue3 Apps. This uses latest Google Identity Service Library. It also provides set of composables which can be used easily to implement different authentication strategies
https://vue3-google-signin.wavezync.com/
MIT License
161 stars 17 forks source link

Incorrect 'module' Field and Missing 'types' Field in 'exports' Causing TypeScript Errors in ES Environment #57

Closed zuhno closed 6 months ago

zuhno commented 10 months ago

Describe the bug When trying to import the 'vue3-google-signin' library in an ES environment, I encountered a type error indicating the absence of a declaration file for the module. The detailed error message is as follows:

Could not find a declaration file for module 'vue3-google-signin'. '/Users/junolee/Documents/mine/google-news-rss-pusher/node_modules/.pnpm/vue3-google-signin@1.3.2_vue@3.3.4/node_modules/vue3-google-signin/dist/index.es.js' implicitly has an 'any' type.
  There are types at '/Users/junolee/Documents/mine/google-news-rss-pusher/apps/@front/client/node_modules/vue3-google-signin/dist/plugin.d.ts', but this result could not be resolved when respecting package.json "exports". The 'vue3-google-signin' library may need to update its package.json or typings. ts(7016)

To Reproduce Steps to reproduce the behavior:

  1. Set up a project with the 'vue3-google-signin' package.
  2. Attempt to import the package in an ES module environment.
  3. Observe the TypeScript error related to type declarations.

Reproducible Example Currently, I do not have a reproducible example on platforms like StackBlitz or CodeSandbox. I will update this section if I am able to create one.

Expected behaviour The expected behavior is for the module to be imported without any type errors, with TypeScript being able to find and use the declaration files correctly.

Additional context To resolve this issue, the types field should be added under "exports" > "." in the package.json. Additionally, the module field is incorrectly pointing to a CJS module. It should instead specify the entry point for an ES module, typically using a .mjs or .js extension.

Contribution Proposal I am considering contributing to the 'vue3-google-signin' library to address this issue. I would like to propose corrections to the package.json file, particularly adding the types field under "exports" > ".", and correcting the module field to accurately point to an ES module entry point. I wanted to inquire if contributing these changes would be appropriate.

kasvith commented 10 months ago

Hi @zuhno thanks for reporting the issue. you can create a pr if you like to contribute to the project

zuhno commented 10 months ago

@kasvith I am interested in contributing, so I have opened a PR(https://github.com/wavezync/vue3-google-signin/pull/59). Please review it :)

kasvith commented 10 months ago

Closed by #59

coverrt commented 10 months ago

@kasvith the latest release with #59 has not been published to npm yet.

zuhno commented 10 months ago

@coverrt I have noted your comments as additional context in the issue(https://github.com/wavezync/vue3-google-signin/issues/60). Thank you for reminding again.

kasvith commented 9 months ago

Hi @zuhno can we get this fix on a separate PR?

zuhno commented 9 months ago

@kasvith Hi I have submitted the PR(https://github.com/wavezync/vue3-google-signin/pull/62) for version 1.3.4. This is because version 1.3.3 has already been released.

kasvith commented 6 months ago

this should be fixed by now