Failed to resolve import
[plugin:vite:import-analysis] Failed to resolve import "../../../../src/admin/dashboards/analytics/AnalyticsDashboardPage" from "src/router.tsx". Does the file exist?
/home/rootall/apps/minisaas-boilerplate/app/.wasp/out/web-app/src/router.tsx:9:35
5 | import { LoginPage } from "../../../../src/auth/LoginPage";
6 | import { TooGradedPage } from "../../../../src/toograded/TooGradedPage";
7 | import AnalyticsDashboardPage from "../../../../src/admin/dashboards/analytics/AnalyticsDashboardPage";
| ^
8 | import { SGPACalculatorPage } from "../../../../src/sgpa-calculator/SGPACalculatorPage";
9 | import { CGPACalculatorPage } from "../../../../src/cgpa-calculator/CGPACalculatorPage";
what's wrong???
20 Replies
Hi @NEROX. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
This error is related to a common issue in Wasp projects where the import paths in the generated
router.tsx
file don't match the actual file structure of your project. Based on the information provided in the knowledge sources, here's what might be wrong:
1. File path mismatch: The error suggests that the file AnalyticsDashboardPage
cannot be found at the specified path. This could be because the file doesn't exist or the path is incorrect. Github Issue #1664 (https://github.com/wasp-lang/wasp/issues/1664)
2. Incorrect import in Wasp file: The error might be caused by an incorrect import statement in your main .wasp
file. The path to the component in your Wasp file might be missing the pages/
part of the path. Github Issue #1527 (https://github.com/wasp-lang/wasp/issues/1527)
To resolve this issue, you can try the following:
1. Check if the file AnalyticsDashboardPage
exists in the specified directory structure: src/admin/dashboards/analytics/
.
2. If the file exists, make sure the import statement in your .wasp
file is correct. Look for a declaration like page AnalyticsDashboardPage
in your .wasp
file and ensure the component:
part includes the correct path, including any necessary pages/
part.
3. If the file doesn't exist, you need to create it at the correct location or update the import path in your .wasp
file to match the actual location of the file.
4. After making these changes, try running wasp start
again to see if the error is resolved.
If you continue to face issues, you might want to check the other import statements as well, as they all seem to follow a similar pattern that might be incorrect.
Remember, Wasp is still in development, and there are known issues with error reporting and import path handling. If you can't resolve the issue, you might want to seek help on the Wasp Discord channel (https://discord.com/channels/686873244791210014/1219134547711758416) where the community can provide more specific assistance.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @NEROX, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?Solved, I forgot that I had commented those files, don't ask me why.
@kapa.ai Fixed but now I have other errors:
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(106,17): error TS2322: Type '{ children: (string | Element)[]; to: string; isActive: (_match: any, location: any) => boolean; className: (isActive: NavLinkRenderProps) => string; }' is not assignable to type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] Property 'isActive' does not exist on type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(282,25): error TS2322: Type '{ children: (string | Element)[]; to: string; isActive: (_match: any, location: any) => any; className: (isActive: NavLinkRenderProps) => string; onClick: (e: MouseEvent<...>) => void; }' is not assignable to type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] Property 'isActive' does not exist on type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(420,25): error TS2322: Type '{ children: (string | Element)[]; to: string; isActive: (_match: any, location: any) => any; className: (isActive: NavLinkRenderProps) => string; onClick: (e: MouseEvent<...>) => void; }' is not assignable to type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] Property 'isActive' does not exist on type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] ext-src/messages/MessageButton.tsx(8,9): error TS2322: Type '"/admin/messages"' is not assignable to type '"/login" | "/" | "/admin" | "/sgpa-calculator" | "/cgpa-calculator" | "/sgpa-to-percentage-calculator" | "/cgpa-to-percentage-calculator" | "/sgpa-to-cgpa-calculator" | ... 21 more ... | "/dua-to-pass-driving-exam"'.
[ Wasp ] ext-src/user/DropdownUser.tsx(4,31): error TS2307: Cannot find module './UserMenuItems' or its corresponding type declarations.
❌ --- [Error] Your wasp project failed to compile: ------------------------------- - SDK build failed with exit code: 2
❌ --- [Error] Your wasp project failed to compile: ------------------------------- - SDK build failed with exit code: 2
Let me check the knowledge base for you again. One moment! :books:
----------------------
These new errors are related to TypeScript type checking issues in your Wasp project. Let's break them down and suggest some solutions:
1. NavLink prop errors:
The first three errors are about the
isActive
prop on NavLink
components. It seems that the NavLink
component from the version of react-router-dom
you're using doesn't expect an isActive
prop. This could be due to a version mismatch or changes in the API. To fix this:
- Remove the isActive
prop from your NavLink
components in ext-src/admin/layout/Sidebar.tsx
.
- If you need custom active link logic, consider using the className
prop with a function that receives { isActive }
as an argument.
2. Route path error:
This error suggests that the route /admin/messages
is not defined in your Wasp file. To fix this:
- Add the /admin/messages
route to your .wasp
file if it's missing.
- If the route is already defined, make sure it's spelled correctly in both the .wasp
file and the MessageButton.tsx
file.
3. Module import error:
This error indicates that the file UserMenuItems
is missing or not in the expected location. To fix this:
- Check if the file UserMenuItems.tsx
(or .js
) exists in the same directory as DropdownUser.tsx
.
- If it doesn't exist, create it or update the import statement to point to the correct file.
These errors are typical TypeScript issues that can occur when working with Wasp projects. They're not directly related to Wasp itself but rather to the TypeScript configuration and the React components you're using.
To resolve these issues:
1. Update your NavLink
usage in Sidebar.tsx
to match the expected props.
2. Check your route definitions in the .wasp
file and ensure they match your component usage.
3. Verify the existence and correct import path of the UserMenuItems
file.
After making these changes, run wasp start
again to see if the errors are resolved. If you continue to face issues, you might want to check your TypeScript and react-router-dom
versions to ensure compatibility.
For more detailed assistance, you can refer to the Wasp documentation (https://wasp-lang.dev/docs) or ask for help in the Wasp Discord channel (https://discord.com/channels/686873244791210014/1219134547711758416).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @NEROX, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?@kapa.ai And to solve these?:
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(106,17): error TS2322: Type '{ children: (string | Element)[]; to: string; isActive: (_match: any, location: any) => boolean; className: (isActive: NavLinkRenderProps) => string; }' is not assignable to type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] Property 'isActive' does not exist on type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(282,25): error TS2322: Type '{ children: (string | Element)[]; to: string; isActive: (_match: any, location: any) => any; className: (isActive: NavLinkRenderProps) => string; onClick: (e: MouseEvent<...>) => void; }' is not assignable to type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] Property 'isActive' does not exist on type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(420,25): error TS2322: Type '{ children: (string | Element)[]; to: string; isActive: (_match: any, location: any) => any; className: (isActive: NavLinkRenderProps) => string; onClick: (e: MouseEvent<...>) => void; }' is not assignable to type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] Property 'isActive' does not exist on type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] ext-src/messages/MessageButton.tsx(8,9): error TS2322: Type '"/admin/messages"' is not assignable to type '"/login" | "/" | "/admin" | "/sgpa-calculator" | "/cgpa-calculator" | "/sgpa-to-percentage-calculator" | "/cgpa-to-percentage-calculator" | "/sgpa-to-cgpa-calculator" | ... 21 more ... | "/dua-to-pass-driving-exam"'.
[ Wasp ] ext-src/user/UserMenuItems.tsx(26,13): error TS2322: Type '"/account"' is not assignable to type '"/admin" | "/login" | "/" | "/sgpa-calculator" | "/cgpa-calculator" | "/sgpa-to-percentage-calculator" | "/cgpa-to-percentage-calculator" | "/sgpa-to-cgpa-calculator" | ... 21 more ... | "/dua-to-pass-driving-exam"'.
Let me check the knowledge base for you again. One moment! :books:
----------------------
These errors are TypeScript type checking issues related to your Wasp project. Let's address them one by one:
1. NavLink prop errors (first three errors):
These errors suggest that the
NavLink
component from react-router-dom
doesn't expect an isActive
prop. This could be due to a version mismatch between your TypeScript types and the actual react-router-dom
version. To fix this:
- Remove the isActive
prop from your NavLink
components in ext-src/admin/layout/Sidebar.tsx
.
- Instead, use the className
prop with a function that receives { isActive }
as an argument. For example:
2. Route path errors:
These errors indicate that the routes /admin/messages
and /account
are not defined in your Wasp file. To fix this:
1. Open your main .wasp
file.
2. Add these routes to your route
declarations. For example:
3. Make sure you have created the corresponding React components for these pages.
After making these changes, run wasp start
again to rebuild your project. This should resolve the TypeScript errors you're encountering.
If you continue to face issues, you might want to check your TypeScript and react-router-dom
versions to ensure compatibility. You can also refer to the Wasp documentation (https://wasp-lang.dev/docs) for more information on routing and TypeScript support in Wasp projects.
Remember, Wasp is still in development, and there might be some inconsistencies between TypeScript types and the actual implementation. If these issues persist, you might want to reach out to the Wasp community on their Discord channel (https://discord.com/channels/686873244791210014/1219134547711758416) for more specific assistance.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @NEROX, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?@kapa.ai done but:
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(289,25): error TS2322: Type '{ children: (string | Element)[]; to: string; isActive: (_match: any, location: any) => any; className: (isActive: NavLinkRenderProps) => string; onClick: (e: MouseEvent<...>) => void; }' is not assignable to type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] Property 'isActive' does not exist on type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(427,25): error TS2322: Type '{ children: (string | Element)[]; to: string; isActive: (_match: any, location: any) => any; className: (isActive: NavLinkRenderProps) => string; onClick: (e: MouseEvent<...>) => void; }' is not assignable to type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] Property 'isActive' does not exist on type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
❌ --- [Error] Your wasp project failed to compile: -------------------------------
Let me check the knowledge base for you again. One moment! :books:
----------------------
These errors are still related to the
isActive
prop on the NavLink
component that we discussed earlier. It seems that you might have missed updating a couple of instances in your Sidebar.tsx
file. Let's address these remaining issues:
The error messages indicate that the NavLink
component doesn't expect an isActive
prop. This is likely due to changes in the React Router API in recent versions. To fix this, you need to remove the isActive
prop and update how you handle active link styling.
Here's how you can modify the NavLink
components in ext-src/admin/layout/Sidebar.tsx
:
1. Remove the isActive
prop.
2. Update the className
prop to use a function that receives { isActive }
as an argument.
For example, change this:
To this:
Make sure to apply this change to both instances mentioned in the error messages (lines 289 and 427 in Sidebar.tsx
).
If you need custom logic for determining whether a link is active, you can use the end
prop on NavLink
or create a custom wrapper component that uses the useMatch
hook from react-router-dom
to determine if a link should be considered active.
After making these changes, run wasp start
again to rebuild your project. This should resolve the remaining TypeScript errors related to the NavLink
components.
If you continue to face issues or need more specific help, you might want to share the relevant parts of your Sidebar.tsx
file or ask for assistance in the Wasp Discord channel (https://discord.com/channels/686873244791210014/1219134547711758416), where the community can provide more tailored support.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @NEROX, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?@kapa.ai thanks and [ Wasp ] ext-src/admin/layout/Sidebar.tsx(288,29): error TS2304: Cannot find name 'path'.
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(293,102): error TS2304: Cannot find name 'path'.
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(297,34): error TS2552: Cannot find name 'onClick'. Did you mean 'onclick'?
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(299,26): error TS2304: Cannot find name 'children'.
[ Wasp ] ext-src/admin/layout/Sidebar.tsx(377,25): error TS2322: Type '{ children: (string | Element)[]; to: string; isActive: (_match: any, location: any) => any; className: (isActive: NavLinkRenderProps) => string; onClick: (e: MouseEvent<...>) => void; }' is not assignable to type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
[ Wasp ] Property 'isActive' does not exist on type 'IntrinsicAttributes & NavLinkProps & RefAttributes<HTMLAnchorElement>'.
Let me check the knowledge base for you again. One moment! :books:
----------------------
Thank you for providing the updated error messages. Let's address these new TypeScript errors in your
ext-src/admin/layout/Sidebar.tsx
file:
1. Cannot find name 'path' errors:
These errors suggest that you're using a variable named path
that hasn't been defined. Make sure you've imported or defined path
correctly. If it's supposed to be a prop, make sure it's included in your component's props type definition.
2. Cannot find name 'onClick' error:
This error indicates that onClick
is not recognized. It should be onClick
(with a capital C) if you're using it as a prop or event handler. Make sure you're using the correct casing.
3. Cannot find name 'children' error:
The children
prop should be available by default in React components. Make sure you're using it correctly within the component's props type definition.
4. Type error with NavLink:
This error is similar to what we discussed earlier. You need to remove the isActive
prop from the NavLink component.
To fix these issues, try the following:
1. If path
is a prop, make sure it's defined in your component's props interface:
2. Correct the onClick
casing:
3. For the children
error, make sure you're using it correctly within your component:
4. Remove the isActive
prop from NavLink and use the className
prop with a function:
After making these changes, run wasp start
again to rebuild your project. This should resolve the TypeScript errors in your Sidebar.tsx
file.
If you continue to face issues, you might want to share the relevant parts of your Sidebar.tsx
file or ask for more specific assistance in the Wasp Discord channel (https://discord.com/channels/686873244791210014/1219134547711758416).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @NEROX, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?@kapa.ai
I have new project:
[ Wasp ] ext-src/WingBackAi/WingBackAiPage.tsx(6,61): error TS2558: Expected 2 type arguments, but got 1.
[ Wasp ] ext-src/WingBackAi/WingBackAiPage.tsx(30,56): error TS2339: Property 'data' does not exist on type 'unknown'.
❌ --- [Error] Your wasp project failed to compile: ------------------------------- - SDK build failed with exit code: 2 ❌ --- [Error] Compilation of wasp project failed: -------------------------------- My operations: import type { GetWingBackData } from 'wasp/server/operations' export type WingBackDataPayload = { status: string data: { message: string } } // The query function needs both args and context types export const getWingBackData: GetWingBackData<void, WingBackDataPayload> = async (_args, context) => { try { return { status: 'success', data: { message: 'Welcome to WingBack AI!' } } } catch (error: any) { throw new Error(error.message) } } My page: import { useQuery } from 'wasp/client/operations' import { getWingBackData } from './operations' import type { WingBackDataPayload } from './operations' export function WingBackAiPage() { const { data: wingBackData, isLoading, error } = useQuery<void, WingBackDataPayload>(getWingBackData) if (isLoading) { return ( <div className="flex justify-center items-center min-h-screen"> <div className="animate-spin rounded-full h-8 w-8 border-t-2 border-b-2 border-gray-900"></div> </div> ) } if (error) { return ( <div className="min-h-screen flex items-center justify-center"> <div className="text-red-500">Error: {error.message}</div> </div> ) } return ( <div className="min-h-screen bg-gray-100"> <main className="container mx-auto px-4 py-8"> <h1 className="text-4xl font-bold text-gray-900 mb-8">WingBack AI</h1> {wingBackData && ( <div className="bg-white rounded-lg shadow p-6"> <p className="text-gray-700">{wingBackData.data.message}</p> </div> )} </main> </div> ) } My main wasp: route WingBackAiRoute { path: "/wingback", to: WingBackAiPage } page WingBackAiPage { component: import { WingBackAiPage } from "@src/WingBackAi/WingBackAiPage" } query getWingBackData { fn: import { getWingBackData } from "@src/WingBackAi/operations", entities: [] }
❌ --- [Error] Your wasp project failed to compile: ------------------------------- - SDK build failed with exit code: 2 ❌ --- [Error] Compilation of wasp project failed: -------------------------------- My operations: import type { GetWingBackData } from 'wasp/server/operations' export type WingBackDataPayload = { status: string data: { message: string } } // The query function needs both args and context types export const getWingBackData: GetWingBackData<void, WingBackDataPayload> = async (_args, context) => { try { return { status: 'success', data: { message: 'Welcome to WingBack AI!' } } } catch (error: any) { throw new Error(error.message) } } My page: import { useQuery } from 'wasp/client/operations' import { getWingBackData } from './operations' import type { WingBackDataPayload } from './operations' export function WingBackAiPage() { const { data: wingBackData, isLoading, error } = useQuery<void, WingBackDataPayload>(getWingBackData) if (isLoading) { return ( <div className="flex justify-center items-center min-h-screen"> <div className="animate-spin rounded-full h-8 w-8 border-t-2 border-b-2 border-gray-900"></div> </div> ) } if (error) { return ( <div className="min-h-screen flex items-center justify-center"> <div className="text-red-500">Error: {error.message}</div> </div> ) } return ( <div className="min-h-screen bg-gray-100"> <main className="container mx-auto px-4 py-8"> <h1 className="text-4xl font-bold text-gray-900 mb-8">WingBack AI</h1> {wingBackData && ( <div className="bg-white rounded-lg shadow p-6"> <p className="text-gray-700">{wingBackData.data.message}</p> </div> )} </main> </div> ) } My main wasp: route WingBackAiRoute { path: "/wingback", to: WingBackAiPage } page WingBackAiPage { component: import { WingBackAiPage } from "@src/WingBackAi/WingBackAiPage" } query getWingBackData { fn: import { getWingBackData } from "@src/WingBackAi/operations", entities: [] }
Let me check the knowledge base for you again. One moment! :books:
----------------------
Based on the information you've provided, it seems you're encountering TypeScript errors in your Wasp project. Let's address these issues one by one:
1. Error in WingBackAiPage.tsx(6,61):
This error is occurring because the
useQuery
hook expects two type arguments, but you're only providing one. To fix this, update your useQuery
call as follows:
2. Error in WingBackAiPage.tsx(30,56):
This error is likely because TypeScript doesn't recognize the type of wingBackData
. To fix this, you can add a type assertion:
However, a better approach would be to use optional chaining and nullish coalescing:
3. In your operations file, make sure you're importing the correct type from Wasp:
Ensure that GetWingBackData
is the correct type exported by Wasp for your query.
4. In your main.wasp file, the query definition looks correct:
After making these changes, try running wasp start
again. If you still encounter issues, you might want to check the following:
1. Ensure that your Wasp version is up to date.
2. Verify that all imports in your TypeScript files are correct.
3. Make sure that the WingBackDataPayload
type is correctly defined and exported from your operations file.
If the problems persist, you might want to seek further assistance on the Wasp Discord channel (https://discord.com/channels/686873244791210014/1219134547711758416), where the community can provide more specific help based on your project setup.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @NEROX, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?@kapa.ai now it gives me:
[ Wasp ] ext-src/WingBackAi/WingBackAiPage.tsx(6,89): error TS2345: Argument of type 'GetWingBackData<void, WingBackDataResponse>' is not assignable to parameter of type 'Query<void, WingBackDataResponse>'.
[ Wasp ] Type 'GetWingBackData<void, WingBackDataResponse>' is not assignable to type '() => Promise<WingBackDataResponse>'.
[ Wasp ] Target signature provides too few arguments. Expected 2 or more, but got 0.
After the changes
Let me check the knowledge base for you again. One moment! :books:
----------------------
It seems that the error is related to a type mismatch between what
useQuery
expects and what getWingBackData
is defined as. Let's address this issue:
The error suggests that GetWingBackData
is not directly compatible with the Query
type that useQuery
expects. This is likely because GetWingBackData
is a server-side type, while useQuery
expects a client-side query function.
To resolve this, you need to import the client-side version of your query. In Wasp, client-side query functions are automatically generated and can be imported from wasp/client/operations
. Here's how you can fix this:
1. Update your imports in WingBackAiPage.tsx
:
2. Then, use getWingBackData
directly in your useQuery
call:
You don't need to specify the generic types for useQuery
in this case, as they will be inferred from the getWingBackData
function.
3. If you still need to specify the types explicitly, you can do so like this:
These changes should resolve the type mismatch error you're encountering.
Remember, in Wasp, there's a distinction between server-side query implementations (which you define in your operations.ts
file) and client-side query functions (which Wasp generates for you). When using useQuery
in your React components, you should always use the client-side version of the query.
If you continue to face issues after making these changes, you might want to double-check your main.wasp
file to ensure the query is correctly defined there, and that all your file paths are correct. If problems persist, consider reaching out to the Wasp Discord community (https://discord.com/channels/686873244791210014/1219134547711758416) for more specific assistance.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @NEROX, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?@kapa.ai New problem. Forget completely our conversation, we start again:
[ Server!] [!] RollupError: src/auth/providers/config/email.ts (14:9): "getEmailUserFields" is not exported by "../../../src/auth/userSignupFields.ts", imported by "src/auth/providers/config/email.ts".
[ Server!] https://rollupjs.org/troubleshooting/#error-name-is-not-exported-by-module
[ Server!] src/auth/providers/config/email.ts (14:9)
[ Server!] 12: import { handleRejection } from "wasp/server/utils";
[ Server!] 13:
[ Server!] 14: import { getEmailUserFields } from '../../../../../../../src/auth/userSignupFields'
[ Server!] ^
[ Server!] 15: const _waspUserSignupFields = getEmailUserFields
Rollup
The JavaScript module bundler
Let me check the knowledge base for you again. One moment! :books:
----------------------
I understand you're facing a new issue with your Wasp project. Let's analyze the error message and provide a solution:
The error you're seeing is a RollupError, which is related to module bundling. Specifically, it's saying that "getEmailUserFields" is not exported from the file "../../../src/auth/userSignupFields.ts". This typically happens when there's a mismatch between what's being imported and what's actually exported from a file.
Here's how we can address this issue:
1. First, check your "src/auth/userSignupFields.ts" file. Make sure you're exporting the
getEmailUserFields
function. It should look something like this:
Or if it's a named export:
2. If the function is there and properly exported, the issue might be with the import path. The error message shows a very long relative path:
This path seems unusually long and might be incorrect. In Wasp projects, you typically import from "@src" instead of using relative paths. Try changing the import to:
3. If you've made these changes and the error persists, double-check that the file name and location are correct. It should be at "src/auth/userSignupFields.ts" relative to your project root.
4. Also, ensure that the function name is exactly getEmailUserFields
in both the export and import statements. TypeScript is case-sensitive, so even a small difference in casing could cause this error.
5. If you're still having issues, you might want to check your tsconfig.json
file to ensure that the paths are correctly set up, especially if you're using path aliases.
After making these changes, try running wasp start
again to see if the error is resolved.
If you continue to face issues, it might be helpful to share the contents of your "src/auth/userSignupFields.ts" file and the relevant parts of your "src/auth/providers/config/email.ts" file. This would allow for a more detailed diagnosis of the problem.
Remember, if you need further assistance, the Wasp Discord channel (https://discord.com/channels/686873244791210014/1219134547711758416) is a great place to get help from the community and the Wasp team directly.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @NEROX, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?@kapa.ai
My file is this:
import { defineUserSignupFields } from 'wasp/server/auth'
export const getGoogleUserFields = defineUserSignupFields({
username: (data: any) => data.profile.email,
email: (data: any) => data.profile.email
})
export const getGoogleAuthConfig = () => ({
scopes: ['profile', 'email']
})
What's wrong
Let me check the knowledge base for you again. One moment! :books:
----------------------
Based on the file content you've provided and the previous error message, it seems that the issue is related to a mismatch between what's being exported from your file and what's being imported elsewhere in your Wasp project. Let's analyze the problem:
1. Your file is exporting
getGoogleUserFields
and getGoogleAuthConfig
, but the error message mentions getEmailUserFields
.
2. The error suggests that the system is looking for getEmailUserFields
, but this function is not defined or exported in the file you've shown.
To resolve this issue, you have a few options:
1. If you intended to use getGoogleUserFields
for email authentication:
Rename getGoogleUserFields
to getEmailUserFields
:
2. If you're using Google authentication and the import in another file is incorrect:
Find the file that's trying to import getEmailUserFields
(likely "src/auth/providers/config/email.ts" based on the error message) and update the import to:
3. If you need separate functions for Google and Email authentication:
Add a new export for email authentication:
After making one of these changes, make sure to update any other files that might be importing these functions to use the correct names.
Also, ensure that the file name and location are correct. The error message suggests it should be at "src/auth/userSignupFields.ts" relative to your project root.
If you continue to face issues after making these changes, you might want to check your main.wasp
file to ensure that the auth configuration is correctly set up for the authentication methods you're using (Google, Email, or both).
For more specific assistance, you could share the relevant parts of your main.wasp
file and the file where you're trying to import getEmailUserFields
. This would allow for a more precise diagnosis of the problem.
Remember, if you need further help, the Wasp Discord channel (https://discord.com/channels/686873244791210014/1219134547711758416) is a great place to get assistance from the Wasp community and developers.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @NEROX, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?Hey @NEROX, did you resolve the issue?
If not, could you give a human readable summary of the problem to spare me from reading the bot conversation?
Thanks!
yeah! When I put the ✅ Solved tag it means all its ok ;)
Perfect, thanks!