-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Spree Commerce Provider #484
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We reached to an end! If you can resolve those last comments we can merge and I will set up the deploy for spree.vercel.store 🙌
Co-authored-by: Gonzalo Pozzo <[email protected]>
Co-authored-by: Gonzalo Pozzo <[email protected]>
Co-authored-by: Gonzalo Pozzo <[email protected]>
@goncy Links updated. Thanks for CRs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @tniezg ! I was trying all other deploys and I found out that you are importing from framework in some files, I left a comment in every file to replace framework alias imports with relative paths to avoid breaking other providers, just let me know!
Use only relative paths to /framework/spree from itself
Hi @goncy, For future reference: Use |
🎉 🕺 |
* Include @spree/storefront-api-v2-sdk * Add basic Spree framework structure * Add Spree as allowed Framework * Fetch product images, standardize API fetch using Spree SDK * Include slug and path in products * Fetch single product during build time * PLP with searching by category * Fetch Spree Categories and Brands * Sort PLP * Search products by name * Fix option values collection * Fix hasNonMasterVariants * Sort Categories and Brands * Add configuration to show product options when there's one variant available * Enable text search for the Spree Framework * Allow removing line items * Allow updating line item quantity * Add __typename to variant options to allow adding the selected variant to the cart * Use fetch and Request from node-fetch in Spree SDK * Update Spree SDK fetcher * Show placeholder message for /chechout and adjust api fetcher type * Use kebab case instead of camel case * Remove outdated comments * Remove outdated comment * Resolve isColorProductOption duplication * Type Spree variants and line items and temporarily remove height, width and depth * Remove outdated comment * Update comments about cart discounts * Remove 'spree' prefix from isomorphicConfig and add lastUpdatedProductsPrerenderCount * Implement getAllProductPaths to prerender some products during build time * Adjust fetchers to the latest Spree SDK interface * Add types to Spree taxons mapping * Revert port change in package.json scripts * Add basic README describing Spree installation * Expand README's installation section * Upgrade Spree SDK to 4.7.0 and add node-fetch to dependencies * Order providers alphanumerically Co-authored-by: Damian Legawiec <[email protected]> * Sort products by available_on when using the Trending sorting in useSearch * Change the default Spree port to 4000 and update README in sync with Spree Starter changes * Save primary variant's SKU when normalizing a product from Spree * Create a new cart if Spree can't find the current using a token * Add separator to README * Add missing Error subclass * Allow placeholder images for products and line items without images * Add image * Reset tsconfig.json paths to originla values * Search taxonomies by permalinks instead of IDs * Upgrade Spree SDK to version 4.7.1 * Remove references to @framework and use relative paths instead * Generalize TypeScript and add typings to getPage * Update fetcher to avoid parsing non-JSON responses * Use original product image by default instead of resized * Link to an online demo of the Spree integration in the README * Flatten fetcher responses * Include Spree in the list of supported ecommerce backends in README * Update README.md * Format Spree's README * Add link to the Spree demo site in the main README * Update README.md * Update README.md * Allow setting a taxon id for getAllProducts * Use Spree SDK's JSON:API helpers * Sort getAllProducts by -updated_at when using a taxonomy * Remove slash '/' from line item's paths * Allow filtering variant images by option type * Upgrade checkout behavior in line with core NextJS Commerce changes * Remove dummy submitCheckout function * [NX-24] Display PDP option types sorted by position from Spree * Supply Spree primary variant if a product has no option variants * Do not throw an error if a product doesn't have NEXT_PUBLIC_SPREE_IMAGES_OPTION_FILTER * [NX-43] Uses image transformations when fetching products images * Use bind to properly call Spree SDK methods and update SDK fetcher in line with SDK 4.12.0 * Fix ESLint issues in useHook * Support account sign up, login and logout Also - Converts the guest cart to a persisted cart tied to the logged in user after log in. - Fixes issues with use-remove-item. The cart will now properly refresh after an item is removed. - Uses the logged in user's token to adjust the cart and make other authenticated requests. - Transparently refreshed the access token of the logged in user with a refresh token. Replays requests to Spree which fail with a 401 error after refreshing the access token. * Fetch logged in user's cart after login or signup but associate guest cart only after signup * Support Spree default wishlist show, add and remove wished items operations * Fetch Spree CMS Pages * Fix login, handle critical token errors and fix WishlistCard Fix to WishlistCard changes its props to be consistent with WishlistButton when calling useRemoveItem * Fix variable name (vercel#574) Variable name should be `ChevronRight` * Update get-cart.ts (vercel#474) include digital items Co-authored-by: Gonzalo Pozzo <[email protected]> * Update normalize.ts (vercel#475) add missing options property to `normalizeLineItem` Co-authored-by: Gonzalo Pozzo <[email protected]> * Update add-item.ts (vercel#473) * Update add-item.ts include digital items * Update add-item.ts include digital items Co-authored-by: Gonzalo Pozzo <[email protected]> * fix typo (vercel#572) Co-authored-by: Gonzalo Pozzo <[email protected]> * Fix authentication.refreshToken arguments * Remove redundant comments and logs * Fix createEmptyCart request to Spree and add option to disable auto login * Fix formatting issues * Apply image transformation when fetching images for products in cart * Replace call to qs with Spree SDK built-in helper * Upgrade Spree SDK to 5.0.1 * Rename zeitFetch import to vercelFetch * Abstract fetcher JSON Content-Type checking into separate function * Rename imageUrl to url getMediaGallery already provides context for the constant * Remove return type for getProductPath The return type can be trivially determined from the returned value. * Change URL to Spree demo store in root README Co-authored-by: Gonzalo Pozzo <[email protected]> * Change label for link to Spree demo store in Spree's README Co-authored-by: Gonzalo Pozzo <[email protected]> * Change URL to Spree demo store in Spree's README Co-authored-by: Gonzalo Pozzo <[email protected]> * Use only relative paths to /framework/spree from itself Co-authored-by: tniezg <[email protected]> Co-authored-by: Damian Legawiec <[email protected]> Co-authored-by: Robert Nowakowski <[email protected]> Co-authored-by: Grey <[email protected]> Co-authored-by: pfcodes <[email protected]> Co-authored-by: Gonzalo Pozzo <[email protected]> Co-authored-by: Konrad Kruk <[email protected]>
Demo (uses this PR): https://spree.vercel.app/
Status
vendors
query still a WIP PR on Reaction)