medusajs / nextjs-starter-medusa

A performant frontend ecommerce starter template with Next.js 14 and Medusa.
https://next.medusajs.com/
MIT License
1.64k stars 450 forks source link

Fails to compile, cant deploy to Vercel either #225

Open Kainkainkain opened 9 months ago

Kainkainkain commented 9 months ago

It seems to have a problem finding '@medusajs/types' Indeed if I look at files referring to that, they are red underlined.

run dev works fine.

pnpm run build

medusa-next@1.0.3 build next build

next.config.js { "experimental": { "serverComponentsExternalPackages": [ "@medusajs/product", "@medusajs/modules-sdk" ] }, "reactStrictMode": true, "images": { "remotePatterns": [ { "protocol": "http", "hostname": "localhost" } ] }, "env": {} } ▲ Next.js 14.0.4

./src/lib/context/checkout-context.tsx 238:6 Warning: React Hook useEffect has a missing dependency: 'initPayment'. Either include it or remove the dependency array. react-hooks/exhaustive-deps

./src/modules/layout/components/footer-nav/index.tsx 23:16 Warning: Using <img> could result in slower LCP and higher bandwidth. Consider using <Image /> from next/image to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element 135:18 Warning: Using <img> could result in slower LCP and higher bandwidth. Consider using <Image /> from next/image to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element 135:18 Warning: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images. jsx-a11y/alt-text

info - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules Linting and checking validity of types ...Failed to compile.

./src/lib/util/filter-products-by-status.ts:1:28 Type error: Cannot find module '@medusajs/types/dist/product/common' or its corresponding type declarations.

1 | import { ProductDTO } from "@medusajs/types/dist/product/common" | ^ 2 | 3 | export default function filterProductsByStatus( 4 | products: ProductDTO[],

Kainkainkain commented 9 months ago

pnpm i @medusajs/types fixed that issue - but I don't know why it wasn't already in package and why npm dev works.

next issue was same thing- missing package @radix-ui/react-accordion. Also pnpm i @radix-ui/react-accordion to solve.

nino-magazinovic commented 5 months ago

Thanks for the pnpm workaround.

Compile with npm works without any additional dependencies but linting fails both on npm and pnpm:

./src/modules/products/components/product-tabs/accordion.tsx:57:8
Type error: Unused '@ts-expect-error' directive.
TimchaStudio commented 3 months ago

Is there any progress on this issue?