We're making some updates to Next.js Commerce. Everything prior to this commit marks what we're calling [`v1`](https://github.com/vercel/commerce/releases/tag/v1) as a point in time to be able to reference and still use going into the future. The current architecture of Commerce is a multi-vendor, interoperable solution, including:
- [Shopify](https://shopify.vercel.store/)
- [Swell](https://swell.vercel.store/)
- [BigCommerce](https://bigcommerce.vercel.store/)
- [Vendure](https://vendure.vercel.store/)
- [Saleor](https://saleor.vercel.store/)
- [Ordercloud](https://ordercloud.vercel.store/)
- [Spree](https://spree.vercel.store/)
- [Kibo Commerce](https://kibocommerce.vercel.store/)
- [Commerce.js](https://commercejs.vercel.store/)
- [SalesForce Cloud Commerce](https://salesforce-cloud-commerce.vercel.store/)
All features can be toggled on or off, and it's easy to change between commerce providers. To support this, we needed to create a ["commerce metaframework"](d1d9e8c434/packages/commerce/new-provider.md) where providers could confirm to an API spec to add support for Next.js Commerce. While this worked and was successful for `v1`, we have different design goals and ambitions for `v2`.
**What You Need To Know**
- `v1` will not be updated moving forward. If you need to reference `v1`, you will still be able to clone and deploy the version tagged at this release.
- `v2` will be shifting to be a single provider vs. provider agnostic. Other providers are welcome to fork this repository and swap out the underlying `lib/` implementation that connects to the selected commerce provider (Shopify). This architecture was chosen to reduce the surface area of the codebase, remove the intermediate metaframework layer for provider-interoperability, and enable usage with the latest Next.js and React features.
- We will be sharing more about `v2` in the future as we continue to iterate before the marked release.
> Declaring an environment variable in "dependsOn" is deprecated, found $COMMERCE_PROVIDER. Use the "env" key or use `npx @turbo/codemod migrate-env-var-dependencies`.
main
* Fix navigation between cart and menu on mobile
On mobile when the Sidebar menu is open and you want to switch to cart, it would toggle the sidebar and close it instead of switching view.
* Adds missing openSidebar to useUI hook
* Sets correct Sidebar view when adding a product
If the last selected view on mobile was the menu, it was shown instead of the cart when adding a product.
Co-authored-by: Bel <curciobelen@gmail.com>
* new SFCC provider
* add search
* normalization + search
* categories as search results
* adress PR feedback
* Update README.md
* get all paths for SSG
* product variants and options
* Apply suggestions from code review
Co-authored-by: Luis Alvarez D. <luis@vercel.com>
* remove console log
* prettier
* clean console log
* ran prettier
* Updated readme
* remove static data and revert config changes
* set default site
Co-authored-by: Luis Alvarez D. <luis@vercel.com>
* Add lodash.debounce to package.json dependencies
Shopify provider requires `lodash.debounce` package. This package is installed in BigCommerce provider, but not in Shopify provider. After BigCommerce is removed, Shopfify provider can't be installed.
This PR fixes this error
* Install lodash debounce and its @types to providers that use this package
fix(site): prevent click-outside to close children ref
* feat: Add forwardRef for compatibility
* fix(site): remove asChild for dropdown Fragment
Co-authored-by: Dom Sip <dom@vercel.com>
* Adding Dropdown Component
* Styling Issues
* Wishlist Fix
* Fixes for Wishlist View
* Hearts now work again
* Rollback ts
* Removing extra config to disable BigCommerce
* Fixes for Wishlist View
* Remove transition/animation for mobile
* New Updates.
* New Updates.
* Dropdown fix
* Polish
* export
* export
* revert tsconfig
Co-authored-by: Luis Alvarez D. <luis@vercel.com>
Co-authored-by: Dom Sip <dom@vercel.com>
Co-authored-by: Luis Alvarez D. <luis@vercel.com>
* Updated turbo version
* Added taskr to packages/local
* Move json files
* Include missing extension
* Fixed prettierignore
* Updated swc plugin
* Moved swc plugin to its own package
* Added note
* Removed unused package
* Added watch for file changes
* Added taskr deps to every package
* Added taskfile to every package
* Updated scripts in every package
* Added 2 utiity scripts
* Fix turbo dev script
* Update swc plugin to include jsx import
* Updated build script in main package.json
* Moved everything
* Figuring out how to make imports work
* Updated exports
* Added missing exports
* Added @vercel/commerce-local to `site`
* Updated commerce config
* Updated exports and commerce config
* Updated commerce hoc
* Fixed exports in local
* Added publish config
* Updated imports in site
* It's actually working
* Don't use debugger in dev for better speeds
* Improved DX when editing packages
* Set up eslint with husky
* Updated prettier config
* Added prettier setup to every package
* Moved bigcommerce
* Moved Bigcommerce to src and package updates
* Updated setup of bigcommerce
* Moved definitions script
* Moved commercejs
* Move to src
* Fixed types in commercejs
* Moved kibocommerce
* Moved kibocommerce to src
* Added package/tsconfig to kibocommerce
* Fixed imports and other things
* Moved ordercloud
* Moved ordercloud to src
* Fixed imports
* Added missing prettier files
* Moved Saleor
* Moved Saleor to src
* Fixed imports
* Replaced all imports to @commerce
* Added prettierignore/rc to all providers
* Moved shopify to src
* Build shopify in packages
* Moved Spree
* Moved spree to src
* Updated spree
* Moved swell
* Moved swell to src
* Fixed type imports in swell
* Moved Vendure to packages
* Moved vendure to src
* Fixed imports in vendure
* Added codegen to saleor
* Updated codegen setup for shopify
* Added codegen to vendure
* Added codegen to kibocommerce
* Added all packages to site's deps
* Updated codegen setup in bigcommerce
* Minor fixes
* Updated providers' names in site
* Updated packages based on Bel's changes
* Updated turbo to latest
* Fixed ts complains
* Set npm engine in root
* New lockfile install
* remove engines
* Regen lockfile
* Switched from npm to yarn
* Updated typesVersions in all packages
* Moved dep
* Updated SWR to the just released 1.2.0
* Removed "isolatedModules" from packages
* Updated list of providers and default
* Updated swell declaration
* Removed next import from kibocommerce
* Added COMMERCE_PROVIDER log
* Added another log
* Updated turbo config
* Updated docs
* Removed test logs
Co-authored-by: Jared Palmer <jared@jaredpalmer.com>