Skip to content
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

Split hydrogen-ui and hydrogen #66

Closed
3 tasks
jplhomer opened this issue Aug 26, 2021 · 25 comments
Closed
3 tasks

Split hydrogen-ui and hydrogen #66

jplhomer opened this issue Aug 26, 2021 · 25 comments
Assignees
Labels
framework Related to framework aspects of Hydrogen hydrogen-ui Components, hooks, and utilities

Comments

@jplhomer
Copy link
Contributor

jplhomer commented Aug 26, 2021

Let's split Hydrogen into two packages:

  • @shopify/hydrogen: Includes entrypoints, Vite plugins, RSC/hydration things,
  • @shopify/hydrogen-ui: Includes React components and hooks, Server Components (CartServerProvider, Localization etc)

TODO:

  • As a migration path, start by duplicating code into hydrogen-framework without deleting it from hydrogen
  • Update dev template to reference framework-specific package
  • As a follow-up, remove framework-specific code from hydrogen

See Shopify/hydrogen-archive#41 for an older discussion.

@zkoch
Copy link

zkoch commented Aug 26, 2021

hey, can we actually reverse that to be: hydrogen and hydrogen-components?

and im assuming that when you go to run/install/setup hydrogen, it's actually hydrogen the superset (i.e., framework + components). is that right?

@jplhomer
Copy link
Contributor Author

jplhomer commented Sep 1, 2021

when you go to run/install/setup hydrogen, it's actually hydrogen the superset (i.e., framework + components)

The combo of these two (framework + components) will always be pulling from two separate packages. Throughout various files in the project you create (from whatever starter template), you will see references to both the framework package and the components package.

My initial proposal was to use @shopify/hydrogen as the package for components because:

  • It's slightly shorter and easier to refer to in all of our docs & examples for using components
  • It's likely to be used more than hydrogen-framework since the components can be added elsewhere (Next.js, etc)

But I like your proposal with a slight variation:

  • @shopify/hydrogen is the React meta-framework
  • @shopify/hydrogen-react is the React SDK (components + hooks)

This obviously leaves the door open for @shopify/hydrogen-vue.

What do you think?

@michenly
Copy link
Contributor

michenly commented Sep 7, 2021

The proposal of @shopify/hydrogen + @shopify/hydrogen-react was clear to me till @shopify/hydrogen-vue is in the mix. In the world where @shopify/hydrogen-vue exist, it feels very strange that @shopify/hydrogen is React dependent?

@jplhomer
Copy link
Contributor Author

The proposal of @shopify/hydrogen + @shopify/hydrogen-react was clear to me till @shopify/hydrogen-vue is in the mix. In the world where @shopify/hydrogen-vue exist, it feels very strange that @shopify/hydrogen is React dependent?

I can see the source of confusion there. However, I'm OK with hydrogen being the reserved namespace for the original "Shopify Hydrogen framework," where React happens to be an implementation detail. I think folks will see their specific language/framework (e.g. vue) and gravitate towards that without wondering too much about what hydrogen proper is.

@morganmccunn
Copy link
Contributor

A couple questions/comments:

  • I agree with the statement above. If the framework is the foundational piece I agree with calling this @shopify/hydrogen
  • However, one concern with ^ is that when someone uses npm init @shopify/hydrogen aren't they are getting both /hydrogen and /hydrogen-react to get the full "playground" ? Perhaps we need to rename this?
  • I would think that @shopify/hydrogen-react-sdk is more specific, and potentially less confusing since /hydrogen is also react-specific. I would vote for this over /hydrogen-react. Is the concern with the above simply the length of typing it out?

@jplhomer
Copy link
Contributor Author

jplhomer commented Sep 20, 2021

However, one concern with ^ is that when someone uses npm init @shopify/hydrogen aren't they are getting both /hydrogen and /hydrogen-react to get the full "playground" ? Perhaps we need to rename this?

Right. They're getting both hydrogen-react-framework and hydrogen-react. Short of a major rename for the framework part, I think folks are just going to "get" this after it happens. It's tough to envision now, but it makes sense to me as a developer, especially if we add the additional context to what hydrogen-react-sdk is.

Is the concern with the above simply the length of typing it out?

Yeah haha. It's a major bummer typing this out as a developer, especially since it's already namespaced with @shopify/. Typing e.g. next is super super nice when you're working in Next.js, and I wouldn't be opposed to finding a package name someday that doesn't have @shopify/ prefixed, since this needs to be repeated in code examples, tutorials, starter templates — everywhere.

@jplhomer
Copy link
Contributor Author

@morganmccunn and I aligned on the following:

  • @shopify/hydrogen will be the React meta framework1
  • @shopify/hydrogen-react-sdk will the the React SDK

1 We will investigate exposing the React SDK through the same package as the framework for maximum typability, e.g. @shopify/hydrogen/sdk or just re-exporting its entire contents in the framework package's index.js entrypoint.

@morganmccunn
Copy link
Contributor

We've agreed to delay this work to post v1.0.0 given that we expect these to be tightly coupled on launch. So while this work is still valuable for future growth, it can be delayed until after official launch!

cc @jplhomer @heimidal @igrigorik @zkoch

@jplhomer jplhomer transferred this issue from another repository Nov 5, 2021
@morganmccunn morganmccunn added this to the Future work milestone Nov 17, 2021
@jplhomer jplhomer added the framework Related to framework aspects of Hydrogen label Nov 22, 2021
@morganmccunn morganmccunn modified the milestones: Future work, v1.0.0 Nov 30, 2021
@morganmccunn
Copy link
Contributor

Update here: We decided we would separate the SDK and the framework before 1.0.0 to:

  • Help folks better understand “what is hydrogen”
  • Enable the community to use the parts that are relevant
  • Not delay the inevitable (and potentially make it harder for us to do this in the future)

However, I want to be clear that we are building the hydrogen happy path which is framework + SDK together. If we do something that unintentionally breaks integration where perhaps they are only using the SDK, then we it will be on that group to address. Obviously we try to keep disruptions to a minimal as best as possible! :)

cc @elisenyang

@elisenyang elisenyang added the hydrogen-ui Components, hooks, and utilities label Dec 9, 2021
@elisenyang
Copy link
Contributor

Update: We've aligned on hydrogen-ui as the name for the package containing the components, hooks, and utilities

@elisenyang elisenyang changed the title Split hydrogen-framework and hydrogen Split hydrogen-ui and hydrogen Jan 31, 2022
@frehner frehner self-assigned this Feb 4, 2022
@frehner
Copy link
Contributor

frehner commented Mar 7, 2022

As part of the work done in #786 , we got rid of our custom graphql script (because it wasn't working and it wasn't documented).

Having looked into it a bit more, one of the things that script did was to pull the raw GraphQL queries / fragments from the .graphql files and put them into a file (called graphql-constants.ts) where they could be imported as normal strings. With that script removed, however, the graphql-constants.ts file isn't kept up-to-date with the changing queries anymore.

To solve this, we have a couple of options:

  1. Finish the work to split hydrogen-ui and hydrogen, in which case we'll start using a real bundler (Vite) instead of TS to compile our code. Once that's done, we can use the Rollup graphql plugin - which coincidentally is already in our hydrogen package anyway. 🤔
  2. Remove fragments altogether, which is something still being explored and tracked in Remove all fragments #778

@jplhomer
Copy link
Contributor Author

jplhomer commented Mar 7, 2022

I thought @michenly just shipped work to export all these fragments from @shopify/hydrogen/fragments instead, which removes the need for a graphql-constants.ts file. Or am I confused?

@frehner
Copy link
Contributor

frehner commented Mar 7, 2022

I thought @michenly just shipped work to export all these fragments from @shopify/hydrogen/fragments instead, which removes the need for a graphql-constants.ts file. Or am I confused?

She's actually importing from the graphql-constants.ts file and having to manually copy over the fragments into that file in order for it to work. (Or using the existing ones in there, that are probably out of date). See #845 as an example

@frehner
Copy link
Contributor

frehner commented Apr 12, 2022

I made a list of things that could be worked on in #1060 , but let me put them here for better visibility:

@benjaminsehl
Copy link
Member

CI checks for package size? Maybe.

@cartogram — going to add this to our linting sprint.

@cartogram
Copy link
Contributor

cartogram commented Apr 13, 2022

going to add this to our linting sprint.

@benjaminsehl For storefront code, great idea! I think @frehner is referring to the framework in his point though, and would make sense that we start there. I think most OS frameworks use https://github.com/ai/size-limit

@frehner
Copy link
Contributor

frehner commented May 2, 2022

The only work left to consider this done is

@edword
Copy link

edword commented Jun 27, 2022

Congrats on 1.0 Hydrogen team 🎉

From the handy TODO list here Shopify/hydrogen#66 (comment) and the recent PRs from @frehner, I think I have a rough sense of how this effort is evolving.

Understood that the hydrogen + hydrogen-ui split is an ongoing affair, but had a few questions on general direction for this effort that weren't totally clear based on my reading of docs/decisions, PRs and issue threads. Many thanks in advance :)

  • Certain functionality of hydrogen which currently seems bound up with Vite/RSC/Oxygen context would be well-suited for Nextjs, Gatsby, CRA or other SPA integration purposes (e.g. shopifyConfig, CSR graphql client calls, cart query/state). Is it anticipated that there will be any provided interface to tap into the non-Vite/Oxygen aspects of hydrogen for such use cases?

  • Somewhat related, is it expected that hydrogen-ui will be completely stripped down presentational components or will they be handling things like cart state, queries and mutations?

  • Any chance of a hydrogen-ui sandbox/demo store being propped up in the near future?

Cheers!

@frehner
Copy link
Contributor

frehner commented Jun 27, 2022

Congrats on 1.0 Hydrogen team 🎉

Thanks!

From the handy TODO list here #66 (comment) and the recent PRs from @frehner, I think I have a rough sense of how this effort is evolving.

Understood that the hydrogen + hydrogen-ui split is an ongoing affair, but had a few questions on general direction for this effort that weren't totally clear based on my reading of docs/decisions, PRs and issue threads. Many thanks in advance :)

  • Certain functionality of hydrogen which currently seems bound up with Vite/RSC/Oxygen context would be well-suited for Nextjs, Gatsby, CRA or other SPA integration purposes (e.g. shopifyConfig, CSR graphql client calls, cart query/state). Is it anticipated that there will be any provided interface to tap into the non-Vite/Oxygen aspects of hydrogen for such use cases?

Forgive me if I don't completely understand what you're asking here, hopefully I answer it but if not feel free to ask again. But yes, we do hope to be able to pull as much as we can out of hydrogen-framework and into hydrogen-ui, including things like shopifyConfig, etc.

  • Somewhat related, is it expected that hydrogen-ui will be completely stripped down presentational components or will they be handling things like cart state, queries and mutations?

The goal is to include things like Cart State, yeah! Things like queries/mutations are hopeful as well, but we're still a little less clear at the moment how to best include these things, and what they look like.

  • Any chance of a hydrogen-ui sandbox/demo store being propped up in the near future?

I'm not sure we'll do a full-on demo store, but I do actually plan on spinning up a different framework (Remix probably?) to use as an E2E test for hydrogen-ui, in order to ensure that things work well outside of hydrogen-framework.

@edword
Copy link

edword commented Jun 27, 2022

That pretty much answers all my questions, thanks @frehner!

Would be fantastic to see some sort of example non-hydrogen sandbox at some point. If Remix, I'd wager that'd probably be of interest to @wintersieck and followers of #1718

@hi-im-si
Copy link

Would be fantastic to see some sort of example non-hydrogen sandbox at some point. If Remix, I'd wager that'd probably be of interest to @wintersieck and followers of #1718

This would be of interest 💯 We are currently using Remix and looking to begin a replatform project to Shopify and the hydrogen-ui would be something we would want to invest in.

@ryanleichty
Copy link
Contributor

  • Any chance of a hydrogen-ui sandbox/demo store being propped up in the near future?

I'm not sure we'll do a full-on demo store, but I do actually plan on spinning up a different framework (Remix probably?) to use as an E2E test for hydrogen-ui, in order to ensure that things work well outside of hydrogen-framework.

A demo of hydrogen-ui with Next.js would be helpful! Currently reading through the docs and looking to build a site with that combo.

@StewPoll
Copy link

Hey all, just having a read of this, am mostly interested in the Vue stuff mentioned earlier.

From what I can gather from the comments this is almost done, but a hydrogen-vue framework has not been started on?

@elisenyang
Copy link
Contributor

An experimental version of Hydrogen UI is available at https://github.com/Shopify/hydrogen-ui

@jplhomer
Copy link
Contributor Author

LFG 🚀 🚀 🚀 🚀 🚀 🚀

rafaelstz pushed a commit to rafaelstz/hydrogen that referenced this issue Mar 4, 2023
rafaelstz pushed a commit to rafaelstz/hydrogen that referenced this issue Mar 4, 2023
* Initial commit from Create Turborepo

* Save progress on migration

* Get storefront api schema and graphql generation working

* Update deps, add changeset, fix types with new version

* Add turbo ci checks

Add github workflows

* create the 2022-7 branch

* Change naming, update docs, move readme and contributing

* Config alex and get checks passing

* Add cla github action

* Update actions versions, and run checks before build

* Fix branch references to main

* test to see if alex is breaking ci stuff (#1)

* test to see if alex is breaking ci stuff

* add alex back, and check changeset checker

* downgrade alex, and add better words/docs on changeset reminder

* revert alex downgrade

* see if we can figure out where this is coming from

* remove testing as it didn't find anything

* remove diff command on alex

* remove comment that tests changeset checker

* add publish config

* Fix readmes (#2)

* Fix readmes

* update terminology

* Add CoC and update package description

* Fix docs

* Simplify the logic for external video urls (#3)

* Remove unnecessary tsconfig items (#4)

Add the variant source header for SFAPI calls.

* Update README.md

* Fix issues with formatting and filename

* update dependencies (#5)

* README updates for content type and pkg name (Shopify#6)

* provide guidance on setting the header content type

* language lint

* change pkg name

* Update README (Shopify#7)

* update readme

* fix links

Co-authored-by: Elise Yang <eliseyang@elises-mbp-2.lan>

* CI action for publishing the next version automatically (Shopify#8)

* CI action for publishing the next version automatically

* remove output to file

* Publish next2 (Shopify#9)

* CI action for publishing the next version automatically

* remove output to file

* Don't use the action to run these commands

* Try manually doing the publish now (Shopify#10)

* Go into dir so script can find package.json (Shopify#11)

* Try this configs

* Change ts moduleresolution (#13)

* Change TS's module resolution to 'node' instead of nodenext

* Include stories in TS checking now, and fix issues

* Feat/cart provider (#12)

* Copy CartProvider from hydrogen repo

* Add worktop lib to use the cookies package for CartProvider

* Modify CartProvider to fit hydrogen-ui

* Add CartProvider story

* add changeset

* Cart provider updates (#14)

* Change ts moduleresolution (#13)

* Change TS's module resolution to 'node' instead of nodenext

* Include stories in TS checking now, and fix issues

* Starting work on simplifying the cart code in hui

* Simply more cart-related files and remove a bunch of them

* All CI checks are passing, and types are improved.

* Better file names

* Fix mock import filename

* Remove any type

* Improve release notes, update type names, fix typo

* Correct alex config file and allow hooks

Co-authored-by: Anthony Frehner <frehner@users.noreply.github.com>

* udpate readmes (#18)

* udpate readmes

* format

* update

* Fix issue with file output not being correct (#16)

* Fix issue with file output not being correct

Also update deps, and move npmrc.

* downgrade happy-dom to pass tests

* fix publishing?

* cleanup script

* update naming for workflow

* remove from npmrc and add to script

* show an error when next publish doesn't work

* fix cd script

* Make the URLs a little more permanent. (Shopify#19)

* Fix TS typings on moduleResolution: node (Shopify#20)

* [ci] release 2022-7 (Shopify#15)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Update to 2022-10

Also, add documentation for next time.

* Update package.json version

* Fix output bundles, maybe. (Shopify#22)

* Convert project to CJS with ESM files ending in .mjs (Shopify#23)

* Convert project to CJS with ESM files ending in .mjs

Helps fix issues with the build output + dependencies processed by Vite.

* fix small typo in message

* move script to .mjs

* And update reference to mjs script

* Initial release of 2022-10 (Shopify#24)

* [ci] release 2022-10 (Shopify#25)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* externalize the deps (Shopify#29)

* externalize the deps

* Add changelog

* wrap comments

* Revert package updates as it causes issues still in nextjs (#31)

* metafieldParser() (Shopify#45)

* Save progress on a new metafield parser

* Fix type issue, and get some generics passed in

* Fix tests and add additional TS docs to the types

* handle no 'type' field, and prep for list metafields

* Save progress on metafield parser and tests

* Finished the tests and docs

* Deprecate parseMetafield; add changelog; export functions

* fix bad variable name

* Update packages/react/src/metafield-parser.test.ts

Co-authored-by: Daniel Rios <ieldanr@gmail.com>

* Clarify wording around naming and deprecation

* remove todo

Co-authored-by: Daniel Rios <ieldanr@gmail.com>

* Create CartCost (Shopify#46)

* Create CartCost

* Add changeset

* Update packages/react/src/CartCost.tsx

Co-authored-by: Anthony Frehner <frehner@users.noreply.github.com>

* Update packages/react/src/CartCost.tsx

Co-authored-by: Anthony Frehner <frehner@users.noreply.github.com>

* Fix lint

* Fix lint

Co-authored-by: Anthony Frehner <frehner@users.noreply.github.com>

* Adding NextJS as an e2e testing point / app (Shopify#49)

* save progress

* Save progress and updates

* Saving prettier output

* Cleanup the repo and get dev scripts working across packages

* Build before typecheck as nextjs relies on the output

* fix linting setup for nextjs

* add a todo note

* Fix build issues with outputting a node_modules folder

Always remove the dist folder as part of dev (and prod) to make sure that the dist folder looks accurate across starts

Move unneeded ts-expect in sourcecode and move to test

Fix some tsconfig issues with included files

* Update issue templates

* Update issue templates

* format fixing :)

* Update the types for MediaFile to allow className (Shopify#57)

* Add <AddToCartButton /> component (Shopify#58)

* Add component

* Add tests

* add changeset

* fix typo

* Update AddToCartButton.tsx

* Move base button (Shopify#59)

* Cart checkout button (Shopify#60)

* Add CartCheckoutButton

* Create curly-turtles-itch.md

* use basebutton on checkoutbutton (Shopify#61)

* Buy now button (Shopify#62)

* buy now button

* minor fixusps and change set

* include xstate in builds (Shopify#64)

* include xstate in builds

* Fix NextJS issues by including files with sideeffects

See vitejs/vite#10866 for more details

* [ci] release 2022-10 (Shopify#47)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Add node-specific builds using Vite's --ssr flag (Shopify#66)

* Add node-specific builds using Vite's --ssr flag

Should help use the correct code for each environment in places where that's important, e.g. using node-specific stuff when in node.

* add changeset

* Fix additional issues with node builds (Shopify#68)

* Fix additional issues with node builds

Tested in the standalone nextjs app for sanity's sake, and this is working

* comment update

* Cart line provider (Shopify#48)

* Initial thing

* Make old tests pass

* Adding stories

* fix up test/stories more

* remove unneeded fixtures

* Update sharp-squids-accept.md

* Update CartLineProvider.test.tsx

* remove cartlines component

* Add additional functions to ShopifyProvider (Shopify#71)

* Added new functions to shopify provider

* Update cart to use the new methods

Add changeset

* feedback updates

* Add our scalars to the package for other developers (Shopify#69)

* Add our scalars to the package for other developers

* Update .changeset/swift-olives-beam.md

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update .changeset/swift-olives-beam.md

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update apps/nextjs/codegen.ts

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update apps/nextjs/codegen.ts

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update apps/nextjs/codegen.ts

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update packages/react/codegen.ts

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update packages/react/codegen.ts

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update packages/react/README.md

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update packages/react/README.md

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update packages/react/codegen.ts

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update packages/react/codegen.ts

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update packages/react/codegen.ts

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update packages/react/codegen.ts

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Update packages/react/src/codegen.helpers.ts

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Add a new utility helper for getting the myshopify domain for the site (Shopify#70)

* [ci] release 2022-10 (Shopify#67)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Update all deps except Vitest and ModelViewer (#74)

Not vitest because of an issue with the latest version causing us to fail our tests.

* Update MediaFile types (Shopify#76)

* Update MediaFile types

* Update packages/react/src/MediaFile.tsx

Co-authored-by: Matt Seccafien <mseccafien@gmail.com>

* Update packages/react/src/MediaFile.test.tsx

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

Co-authored-by: Matt Seccafien <mseccafien@gmail.com>
Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Add stackblitz links and info to issue template (Shopify#72)

* Add stackblitz links and info to issue template

* Update .github/ISSUE_TEMPLATE/bug_report.md

Co-authored-by: Matt Seccafien <mseccafien@gmail.com>

* feedback

Co-authored-by: Matt Seccafien <mseccafien@gmail.com>

* Update ShopifyProvider to have storeDomain match (Shopify#78)

Add tests, and add some small notes to the upgrade guide.

* `CartLinePrice` component (Shopify#50)

* Improve fixture mocks merging

* Migrate `CartLineImage` component

* Migrate `CartLinePrice` component

* changesets

* fix typescript

* Update `CartLinePrice` to be consistent with `ProductPrice`

* Revert "Migrate `CartLineImage` component"

This reverts commit 096f6e57752d8bdfc1571c53856c0817dcc7d2e8.

* Update changeset

* [ci] release 2022-10 (Shopify#77)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Update the types for <Money/> (Shopify#80)

* Update the types for <Money/>

* fix test

* Show development warnings only once (Shopify#85)

* Show client warnings only once

* Changeset

* Double space

* Fix main / module fields in package.json (#87)

* update workflow files to not used deprecated apis (#88)

* Saving progress (Shopify#90)

* [ci] release 2022-10 (Shopify#81)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* remove file that prevents publishing

* Fix/cart optimistic (Shopify#93)

* fix optimistic UI for CartProvider

* Add changeset

* add graphql comments, remove duplicated query, add new field names (Shopify#94)

* Fixes issues with require() calls in non-node envs (Shopify#99)

Also remove unnecessary "production" conditions as it'll just use the default condition which is the same.

* [ci] release 2022-10 (Shopify#96)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Add final changelog (Shopify#109)

* [ci] release 2022-10 (Shopify#110)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Final for reals, but with readme updates now (Shopify#112)

* [ci] release 2022-10 (Shopify#113)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Start work on 2023-01

* Update instances in code of 2022-10

* Update the schema and types

* Update to shopifyDomain to only provide exactly what is passed in

* Deprecated the old metafield parser and updated it to the new way

* Update package.json version

* Update readmes

* Get flattenConnection return types better. (Shopify#118)

* Readme cleanup a bit

* Update all possible deps

* [React Storefront Kit]: Rename product, `npm` package, and GitHub repo references (Shopify#98)

* rename product and package

* link

* prettier

* Update package.json

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>

* Cleanup some naming things, and fix build names and repo names

* Remove unneeded note

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>
Co-authored-by: Anthony Frehner <frehner@users.noreply.github.com>

* Documentation setup (Shopify#101)

* npm script for new system and some test .doc.ts files

* updated to v 0.2.7 generate-docs

* New docs system (Shopify#75)

* add ProductPrice doc

* add ProductPrice example

* add MediaFile doc

* add MediaFile example

* add Image example

* Metafield and update to MediaFile

* Add ModelViewer

* Add Money

* fix metafield and money

* fix generation error

* add ProductProvider and ShopifyProvider

* ShopPayButton

* fix ShopifyProvider

* update ShopPayButton type and add Video

* generate data

* some cleanup

* update data

* Static page docs (Shopify#82)

* use new folder structure for docs

* move doc file

* updated some types for landing pages

* update to newer version of generate-docs and update content to React Storefront Kit

* update to newer version of generate-docs and update content to React Storefront Kit

* update to newer version of generate-docs and update content to React Storefront Kit

* Update examples to have their own extension

Config TS and ESLint so that there aren't any issues with some checks that will always fail in the example files

* Update to latest and fix various issues

* Updated docs with better names, types, and examples

* Cleanup shoppaybutton

Co-authored-by: John Collett <john.collett@shopify.com>
Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>
Co-authored-by: John Collett <92598453+johndcollett@users.noreply.github.com>
Co-authored-by: Alex Harvey <alex.harvey@shopify.com>

* Get publishing back on

* update changelog name

* Remove migration text

* [ci] release 2023-01 (Shopify#123)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Small changelog updates

* add additional note to contributing

* Shopify analytics (Shopify#108)

* working shopify analytics

* add to cart analytics

* workign all events

* file renames

* file paths

* lint

* lint

* fix nextjs app lint

* fix nextjs app lint

* test for schemas

* lint test

* fix nextjs app

* add analytic-utils tests and refactor (Shopify#117)

* add analytic-utils tests and refactor

* fix name

* fix test

* add test for coverage

* fix no product payload test

* @juanpprieto/fix-failing-tests (Shopify#120)

* add support for parsing complex gids and fix failing test

* shorten cond checks

* remove incorrect complex id parsing

* fix typo

* sendShopifyAnalytics tests

* better test naming

* lint

* some PR feedbacks

* more PR feedbacks

* lint

* more test

* more test

* better name test

* @juanpprieto/cookie util test (Shopify#121)

* fix lint complains

* fix weird ts complain

* fix format

* clean up constants

* convert ShopifyCookie to a hook

* ts clean up

* ts clean up

* more ts clean up

* more feedback

* update ShopPayButton

* make sure monorail endpoint can be updated to the shop domain alternative

* mock failed response

* add doc

* prettier

* ci browser different?

* return explicit type

* see if this works

* fix type prettier

* fix package path

* full cookie test

* prettier

* move shopify cookie constants back into cart constant

* missed a return type

* Update .changeset/plenty-moles-listen.md

Co-authored-by: Anthony Frehner <frehner@users.noreply.github.com>

* remove console log

* update exposed methods, constants, and types

* prettier

* fix file name

* fix file name again

* Small updates

Co-authored-by: Juan P. Prieto <jp@calltheguys.co>
Co-authored-by: Anthony Frehner <frehner@users.noreply.github.com>

* [ci] release 2023-01 (Shopify#124)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Update README.md

* Update README.md

* Fix bug in storefront client. (Shopify#125)

Update the nextjs app to reflect that

Fix issue with latest graphql codegen needing ts-node

Add tests

* [ci] release 2023-01 (Shopify#126)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Update docs and cleanup references (Shopify#127)

* update(packages): Updated Generate-docs package to solve errors from existing docs (Shopify#129)

* Updating the docs links to work (Shopify#131)

Cleaning up naming and editorial stuff.

* Adding docs for AddToCart and BuyNow buttons (Shopify#132)

* generate docs

Cleanup package.json

Update contributing.md

* AddToCartButton

* Add BuyNowButton

* Update README.md

* Adds CartLinePrice and CartCost components to index.ts (Shopify#134)

* Add cart checkout docs and rearrange index.ts

* Add cartcost component

* Add CartLinePrice

* format readme

* Update README.md

* Adding docs for cartlineprovider (Shopify#141)

* getting cartprovider docs up (Shopify#142)

* getting cartprovider docs up

* update name

* Graphql ts docs (Shopify#143)

* Add some graphql and TypeScript related docs for utilities

* Delete generated_docs_data.json

* Add docs for flatten connection (Shopify#144)

* Enforce alphabetical exports only in index.ts (Shopify#145)

* Add parse-metafield docs (Shopify#149)

* Add parse-metafield docs

* Add storefront-client docs as well

* fix ci for now

* Adding analytics docs (Shopify#138)

* Adding analytics docs basic setup

* Fix doc typing to use the magic generated one

* clean up eslint errors and ts errors

* break functions into each own files for documentation

* move fn back to analytics file and fix up doc

* fix up test

* add more docs

* create doc for constants

* more updates

* add changeset

* fix types

* format

* lint

* rename to shopify constants

* fix type again

* add related docs

* fix type in test

* fix types

* add type for other const

* One more fix

---------

Co-authored-by: Helen Lin <helen.lin@shopify.com>

* Update the SFAPI docs to use satisfies (Shopify#151)

* Add useMoney docs (Shopify#152)

* Add useMoney docs

* Revert Money.doc changes

* remove ts error in jsx file

* Update README.md

* update reference landing page (Shopify#146)

* update landing page (Shopify#153)

* update landing page

* edits

* update examples

* fix example

* format

* Update packages/react/docs/staticPages/hook.example.jsx

Co-authored-by: Anthony Frehner <frehner@users.noreply.github.com>

* Update packages/react/docs/staticPages/hydrogenReact.doc.ts

---------

Co-authored-by: Anthony Frehner <frehner@users.noreply.github.com>

* Fix some documentation issues (Shopify#154)

* Cleanup some docs and how they're presented (Shopify#155)

* Update ShopifyProvider with flattened props (Shopify#156)

* Renaming it again to hydrogen-react (Shopify#157)

Hopefully the last time... :)

* [ci] release 2023-01 (Shopify#135)

* [ci] release 2023-01

* [ci] release 2023-01

* Add release notes documentation

* fix link text

* Update packages/react/CHANGELOG.md

Co-authored-by: Bret Little <bret.little@shopify.com>

* Update packages/react/CHANGELOG.md

Co-authored-by: Bret Little <bret.little@shopify.com>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Anthony Frehner <frehner@users.noreply.github.com>
Co-authored-by: Bret Little <bret.little@shopify.com>

* remove duplicated info

* Update the umd global variable name (Shopify#159)

* Update the umd global variable name

* add changeset

* Tweak docs (Shopify#161)

* Make better button docs (Shopify#164)

* Tweak docs 2 (Shopify#163)

* Update the docs for any Money-related components (Shopify#165)

* Last bit of small cleanup (Shopify#166)

* Fix flattenConnection doc (Shopify#168)

* Landing page fixes (#167)

* new landing page for react hydrogen

* more changes to the landing page

* undo changes to generated_docs_data

* updated generated content with new version

* fixed some rogue commas

* updated generation

* fix links to storefront schema (Shopify#169)

* fix links to storefront schema

* update generated file

* storefront-api-types link

* landing page typo (Shopify#170)

* Update README.md

* Deprecate CartLinePrice (Shopify#173)

* Deprecate CartLinePrice

* cleanup changelog

* Fix some docs (Shopify#175)

* Lint updates (Shopify#174)

* migrate to just be in the package alone

* Ignore or fix lint errors

* Add explicit return types on functions only for source code

* Configure turbo to run eslint in each package

* Get linting working on the react package

* Get tests to pass by preserving the act behavior as it was before

* Migrate cartlinequantityadjustbutton (Shopify#180)

* Start migration of CartLineQuantityAdjustButton

Co-Authored-By: Jason Kurian <2642545+JaKXz@users.noreply.github.com>

* Get CartLineQuantity typescript tests passing

* Update tests for CartLineQuantityAdjustButton to use RTL

Fix a couple instances of unnecessary "data-testId" camel casing.

Update BuyNowButton tests to use a shared utility

Co-Authored-By: Jason Kurian <2642545+JaKXz@users.noreply.github.com>

* Add attributes to linesUpdate() so that they're not lost

When adjusting the quantity.

* Add documentation for the components

* Update docs icons

* Small update to PR template

* Allow dev to disable manually if they want.

* Make the typing DX better for these keys

---------

Co-authored-by: Jason Kurian <2642545+JaKXz@users.noreply.github.com>

* [ci] release 2023-01 (Shopify#160)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Updating the readmes to use the official docs more (Shopify#182)

* Fix two small docs issues (Shopify#183)

* Fix two small docs issues

* fix the source and run the build-docs command

* Fix UMD builds by defining process.env.NODE_ENV (Shopify#188)

* Fix bug in storefront-client checking on the server (Shopify#195)

* Fix issue with props on cartlinequantityadjustbutton (Shopify#196)

* Update all the deps besides model-viewer (Shopify#199)

* Update all the deps besides model-viewer

* Create lazy-dolphins-develop.md

* Npm migration (Shopify#201)

* use package-lock

* Migrate tooling to use npm

* Fix some commands to use npx; add changelog

* [ci] release 2023-01 (Shopify#197)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* prep for migration and renaming to hydrogen-react

* step 1: migrated hydrogen-react source code

Updated package.json

Verified that most of the package scripts in hydrogen-react work.

* Get the dev command working from monorepo root

* dev scripts working with reloads

* CI checks are passing locally for the most part

Waiting on Matt's updates to the hydrogen tests to work in other timezones before this is 100% done.

* Get ci:checks script working

* Update docs and readme for new repo location

* Update issue templates to better include hydrogen-react

And other tools, too!

* Update Hydrogen readme to make room for multiple packages

Graham did most of the work here 😄

Co-Authored-By: Graham F. Scott <gfscott@users.noreply.github.com>

* Add a versioning section

* update entry.server.tsx based on new remix template

* Revert "update entry.server.tsx based on new remix template"

This reverts commit 7ef939e2988344ecc29df07ff8d371d07acdd339.

* Update README.md

Co-authored-by: Daniel Rios <daniel.riospavia@shopify.com>

* PR feedback

* remove npm version

* triggering a revalidation maybe?

* Revert "triggering a revalidation maybe?"

This reverts commit d85ba015b88873b2b8563270570731796d57835e.

* try with turbo platform workaround?

---------

Co-authored-by: Ren Chaturvedi <63201605+rennyG@users.noreply.github.com>
Co-authored-by: Elise Yang <elise.yang@shopify.com>
Co-authored-by: Elise Yang <eliseyang@elises-mbp-2.lan>
Co-authored-by: Daniel Rios <ieldanr@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Elise Yang <elisenarai@gmail.com>
Co-authored-by: Matt Seccafien <mseccafien@gmail.com>
Co-authored-by: Bret Little <bret.little@shopify.com>
Co-authored-by: Daniel Rios <daniel.riospavia@shopify.com>
Co-authored-by: Fran Dios <frankdiox@gmail.com>
Co-authored-by: Michelle Vinci <michelle.vinci@shopify.com>
Co-authored-by: John Collett <john.collett@shopify.com>
Co-authored-by: John Collett <92598453+johndcollett@users.noreply.github.com>
Co-authored-by: Alex Harvey <alex.harvey@shopify.com>
Co-authored-by: Helen Lin <helen.lin@shopify.com>
Co-authored-by: Juan P. Prieto <jp@calltheguys.co>
Co-authored-by: Jason Kurian <2642545+JaKXz@users.noreply.github.com>
Co-authored-by: Graham F. Scott <gfscott@users.noreply.github.com>
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
framework Related to framework aspects of Hydrogen hydrogen-ui Components, hooks, and utilities
Projects
None yet
Development

No branches or pull requests