-
-
Notifications
You must be signed in to change notification settings - Fork 35
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
Is this a turborepo issue? #64
Comments
Hi @dugan-dev, it could be. Can you please provide a link to a repo with a minimal reproducible example of this issue? Thanks! |
@TheEdoRan As requested here a link to a repo with the issue. https://github.com/dugan-dev/safe-action-issue-reproduction |
Sorry for the delay and thank you for providing a reproduction link. This is a very tricky one, and I still have to find a way to properly solve it. This problem affects multiple projects, and I am unsure if in this case it's caused by tsup bundling, a TypeScript config, or simply using pnpm in a monorepo. It's related (at least) to these TypeScript issues, and a number of others in multiple repos:
As a workaround, suggested by some users, setting these two options in {
"compilerOptions": {
"declaration": false,
"declarationMap": false,
}
} Let me know if this works for you as well, thanks. |
@TheEdoRan This solved my problem. Thank you so much! |
Getting same error in Vercel: Solution with
Does not work, tsconfig: https://github.com/kuskusapp/kuskus/blob/main/tsconfig.json |
I'm also having this problem when trying to upgrade to v7. When using a monorepo it is essential to use type declarations. There must be another way to fix this. @TheEdoRan I've found a temp solution, if you explicitly set the type of the store the error goes away. The only problem is that there isn't an exported type of the store so I have to do something like this, it works but we lose automatic types from the action and ctx:
|
@ilanyehez GitHub did not notify me after you edited your comment with the tag, so sorry for my late reply. By the way, thanks for finding that out! I'm going to look into it soon. |
@ilanyehez please try to install next-safe-action v7.7.1-beta.1 with: npm i next-safe-action@beta and let me know if it fixes your issue, thanks. Now the return type of |
Thank you for the fast response :) I've installed the beta but still get the same error:
I was previously on 7.6.4 when my type workaround worked, and now my workaround doesn't work, typescript has more errors... |
@ilanyehez yeah, you're right. Right now I'm testing with an actual monorepo set up with pnpm and I've just found out that setting Source: |
@TheEdoRan I already have baseUrl set to ".", this is my main setup for packages:
|
@ilanyehez is |
@TheEdoRan Yes, the baseUrl is individually set for each package or app. The most comprehensive guide about setting up typescript on a monorepo can be found here, maybe it'll give you an idea: |
🎉 This issue has been resolved in version 7.9.3 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Is there an existing issue for this?
Library version (optional)
6.1.0
Ask a question
I've been using next-safe-action since v3 and think this is a great tool. Please keep up the great work!
I recently migrated to a turborepo mono repo and am using pnpm as the package manager. In VSCode when looking at the safe-action file or the safe actions themselves code and when I try to build I get this error.
vbpay:build: Type error: The inferred type of 'action' cannot be named without a reference to '../../node_modules/next-safe-action/dist/index-7AaVMS6R.mjs'. This is likely not portable. A type annotation is necessary.
nextjs:build:
nextjs:build: 2 | import { createSafeActionClient } from "next-safe-action";
nextjs:build: 3 |
nextjs:build: > 4 | export const action = createSafeActionClient({
nextjs:build: | ^
nextjs:build: 5 | async middleware() {
nextjs:build: 6 | const { userId } = auth();
nextjs:build: 7 | if (userId === null) {
nextjs:build: ELIFECYCLE Command failed with exit code 1.
When I open ../../node_modules/next-safe-action/dist/index-7AaVMS6R.mjs I saw it had an error bc it was importing @decs/typeschema which wasn't installed so i installed that but still getting the same error.
The funny thing is everything works perfectly fine when I run in dev mode. Of course, if I have a type mismatch between my action schema and type im passing in its brutal because of these errors the typing doesn't work for me to know if its a real error or not.
Additional context
I thought maybe it was pnpm issue but I get the same error when using npm as the package manager for the turbo repo mono repo.
The text was updated successfully, but these errors were encountered: