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 packages #183

Merged
merged 4 commits into from
Nov 14, 2022
Merged

Split packages #183

merged 4 commits into from
Nov 14, 2022

Conversation

frandiox
Copy link
Contributor

I'm proposing here a slightly different way to organize our packages:

  • packages/remix-oxygen (maybe released as @remix-run/oxygen, eventually owned by the Oxygen or Remix folks): Oxygen adapter for Remix. It contains a createRequestHandler for Oxygen.
  • packages/hydrogen (released as @shopify/hydrogen@2): core package for Hydrogen utilities. It exports cache utilities (CacheShort, CacheLong, etc) and a createStorefrontClient that returns the storefront utility and a fetch with server caching capabilities. This is pure JS so it can be used with any framework. Probably some of our Hydrogen UI utilities (e.g. getPublicTokenHeaders, etc.) should also live in this core package.
  • packages/hydrogen-remix (released as @shopify/hydrogen-remix): This is a wrapper around hydrogen and remix-oxygen. It exports a createRequestHandler that knows how to create the storefront object and inject it in Remix context. It also re-exports everything from those two packages so that developers who use Remix, Hydrogen and Oxygen only need to import stuff from @shopify/hydrogen-remix. Optionally, we can include @shopify/hydrogen-remix/node to support raw Node runtimes (e.g. Stackblitz).
  • cli (should be merged with the official Shopify CLI package at some point): builds for Remix+Hydrogen+Oxygen; develops for Remix+Hydrogen+Oxygen; previews for Oxygen (worker bundle can use any framework since this is just a wrapper around mini-oxygen).

Scenarios:

  • App building with Remix and Hydrogen, deploying to Oxygen: depends on @shopify/hydrogen-remix and @shopify/hydrogen-react.
  • App building with Remix and Hydrogen, deploying to a 3p provider: depends on @shopify/hydrogen, @remix-run/{provider} and @shopify/hydrogen-react.
  • App building with Next.js: depends on @shopify/hydrogen and @shopify/hydrogen-react.
  • App building with Nuxt (Vue): depends on @shopify/hydrogen and ??.

Thoughts? @jplhomer @frehner

@frehner
Copy link
Contributor

frehner commented Nov 11, 2022

packages/hydrogen (released as @shopify/hydrogen@2): core package for Hydrogen utilities. It exports cache utilities (CacheShort, CacheLong, etc) and a createStorefrontClient that returns the storefront utility and a fetch with server caching capabilities. This is pure JS so it can be used with any framework. Probably some of our Hydrogen UI utilities (e.g. getPublicTokenHeaders, etc.) should also live in this core package.

Is this a duplication of the hydrogen-ui package? In other words, hydrogen-ui will soon be a place for framework-agnostic utilities (probably @shopify/hydrogen-core or something like that) as we extract out the pure-JS functions from the React package, and then use them to build other framework adaptors. It seems like, rather than make another one of those libraries, that these should just be in hydrogen-ui instead? It would potentially be pretty confusing to know where a pure-JS function should go, right?

@frandiox
Copy link
Contributor Author

hydrogen-ui will soon be a place for framework-agnostic utilities (probably @shopify/hydrogen-core or something like that)

I think we are basically talking about the same package, it's just an issue around naming. Somehow I thought that the @shopify/hydrogen-core you are mentioning would be released directly as @shopify/hydrogen @2.0.0.
I guess my question is, if we are releasing @shopify/hydrogen-core, then what's going to happen to @shopify/hydrogen? Do we keep it for Hydrogen 1.x forever? 🤔

Copy link
Contributor

@jplhomer jplhomer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm good with this distinction. While one could argue that @shopify/hydrogen is now agnostic to all React meta-frameworks, I don't think we should think of it like that and continue to lean into the idea that this is the opinionated way to create a Hydrogen storefront out of the box.

@shopify/hydrogen-ui etc should continue to lean into the agnostic aspects.

@blittle
Copy link
Contributor

blittle commented Nov 14, 2022

@frandios where do you think the routing abstraction should live? It is specific to remix, not necessarily Oxygen. packages/hydrogen-remix ?

@frandiox
Copy link
Contributor Author

@blittle I think it would make sense in @shopify/hydrogen-remix, yes.
One thing about this package that I was considering is that we can support Node targets as well.

Basically, we can provide @shopify/hydrogen-remix/node as an entry point for non-Oxygen environments, or even rely on Node export conditions during build. Something like this:

"exports": {
  "worker": {"./*": "./dist/oxygen/*"},
  "default": {"./*": "./dist/node/*"},
}

Remix is already adding worker condition when building for CFW/Oxygen and we can do the same by default, unless the user pass "target: Node" somewhere (CLI flag or remix.config.js).

This way we can keep supporting Stackblitz for reporting issues and quick examples without changing the app, just a flag and perhaps the worker/server entry file.

@blittle
Copy link
Contributor

blittle commented Nov 14, 2022

@frandiox thoughts on where the demostore template should live? We could do the same as hydrogen 1, and put it inside a templates directory. @benjaminsehl also has an issue to create a hello world starter template

@frandiox
Copy link
Contributor Author

@blittle Already did exactly that in #186 :)

@benjaminsehl
Copy link
Member

@frandiox thoughts on where the demostore template should live? We could do the same as hydrogen 1, and put it inside a templates directory. @benjaminsehl also has an issue to create a hello world starter template

@juanpprieto has been playing with the idea of a /templates folder inside a Hydrogen project. If we do move forward with that, would maybe be weird to have that name re-used.

What about /starters?

@frandiox
Copy link
Contributor Author

I'm going to be merging this to prevent more conflicts. We can change the package folders easier if we decide so.

@frandiox frandiox merged commit d3290e5 into main Nov 14, 2022
@frandiox frandiox deleted the fd-split-packages branch November 14, 2022 15:01
@frandiox
Copy link
Contributor Author

frandiox commented Nov 14, 2022

would maybe be weird to have that name re-used.

@benjaminsehl Not sure what you mean with having it re-used. It's just a templates directory at the root, and then templates/demo-store, just like we have in H1, no?

@benjaminsehl
Copy link
Member

@frandiox — yeah, didn't know if that was confusing or not for people … just taking the opportunity to rethink that naming.

On the topic of naming the packages … +1 to @jplhomer's commend: @shopify/hydrogen should be the opinionated take. Everything else we'll put into hydrogen-ui unless we arrive at a place where our "full stack" tooling goes agnostic.

So …

Scenarios:
App building with Remix and Hydrogen, deploying to Oxygen: depends on @shopify/hydrogen-remix and @shopify/hydrogen-react.
Ideally importing just @shopify/hydrogen, and any @remix-run/* packages (and obviously react)
App building with Remix and Hydrogen, deploying to a 3p provider: depends on @shopify/hydrogen, @remix-run/{provider} and @shopify/hydrogen-react.
I'd just merge this point with the above one and have @remix-run/oxygen as you said.
App building with Next.js: depends on @shopify/hydrogen and @shopify/hydrogen-react.
Would just be `@shopify/hydrogen-ui
App building with Nuxt (Vue): depends on @shopify/hydrogen and ??.

@dalmaer has some friends at NPM/Github and we can potentially get our issue pushed forward to get hydrogen and @hydrogen/* … ultimately that's the route I'd prefer to go long term.

  • @hydrogen/core for what you're proposing as @shopify/hydrogen
  • hydrogen for what you proposed as @shopify/hydrogen-remix

I'd also suggest that in addition to @hydrogen/react we eventually add a package like @hydrogen/next — that could provide specific functionality for those metaframeworks (and ideally just re-exporting @hydrogen/react) … for example, a Next package would provide a "loader configuration" for Imagery: https://nextjs.org/docs/api-reference/next/image#loader-configuration.

@rennyG
Copy link
Contributor

rennyG commented Nov 14, 2022

@benjaminsehl given the list of repos and options for building, do you think partners would benefit from guidance? Like a What do you want to do? Or I want to and then we list the build options and the repos for each.

Apologies if I'm getting ahead of myself here!

frehner added a commit that referenced this pull request Feb 27, 2023
* Fix two small docs issues

* fix the source and run the build-docs command
frehner added a commit that referenced this pull request Mar 3, 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 (#6)

* provide guidance on setting the header content type

* language lint

* change pkg name

* Update README (#7)

* update readme

* fix links

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

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

* CI action for publishing the next version automatically

* remove output to file

* Publish next2 (#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 (#10)

* Go into dir so script can find package.json (#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. (#19)

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

* [ci] release 2022-7 (#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. (#22)

* Convert project to CJS with ESM files ending in .mjs (#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 (#24)

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

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

* externalize the deps (#29)

* externalize the deps

* Add changelog

* wrap comments

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

* metafieldParser() (#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 (#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 (#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 (#57)

* Add <AddToCartButton /> component (#58)

* Add component

* Add tests

* add changeset

* fix typo

* Update AddToCartButton.tsx

* Move base button (#59)

* Cart checkout button (#60)

* Add CartCheckoutButton

* Create curly-turtles-itch.md

* use basebutton on checkoutbutton (#61)

* Buy now button (#62)

* buy now button

* minor fixusps and change set

* include xstate in builds (#64)

* include xstate in builds

* Fix NextJS issues by including files with sideeffects

See vitejs/vite#10866 for more details

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

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

* Add node-specific builds using Vite's --ssr flag (#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 (#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 (#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 (#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 (#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 (#70)

* [ci] release 2022-10 (#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 (#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 (#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 (#78)

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

* `CartLinePrice` component (#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 (#77)

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

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

* Update the types for <Money/>

* fix test

* Show development warnings only once (#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 (#90)

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

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

* remove file that prevents publishing

* Fix/cart optimistic (#93)

* fix optimistic UI for CartProvider

* Add changeset

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

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

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

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

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

* Add final changelog (#109)

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

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

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

* [ci] release 2022-10 (#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. (#118)

* Readme cleanup a bit

* Update all possible deps

* [React Storefront Kit]: Rename product, `npm` package, and GitHub repo references (#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 (#101)

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

* updated to v 0.2.7 generate-docs

* New docs system (#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 (#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 (#123)

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

* Small changelog updates

* add additional note to contributing

* Shopify analytics (#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 (#117)

* add analytic-utils tests and refactor

* fix name

* fix test

* add test for coverage

* fix no product payload test

* @juanpprieto/fix-failing-tests (#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 (#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 (#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. (#125)

Update the nextjs app to reflect that

Fix issue with latest graphql codegen needing ts-node

Add tests

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

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

* Update docs and cleanup references (#127)

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

* Updating the docs links to work (#131)

Cleaning up naming and editorial stuff.

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

* generate docs

Cleanup package.json

Update contributing.md

* AddToCartButton

* Add BuyNowButton

* Update README.md

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

* Add cart checkout docs and rearrange index.ts

* Add cartcost component

* Add CartLinePrice

* format readme

* Update README.md

* Adding docs for cartlineprovider (#141)

* getting cartprovider docs up (#142)

* getting cartprovider docs up

* update name

* Graphql ts docs (#143)

* Add some graphql and TypeScript related docs for utilities

* Delete generated_docs_data.json

* Add docs for flatten connection (#144)

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

* Add parse-metafield docs (#149)

* Add parse-metafield docs

* Add storefront-client docs as well

* fix ci for now

* Adding analytics docs (#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 (#151)

* Add useMoney docs (#152)

* Add useMoney docs

* Revert Money.doc changes

* remove ts error in jsx file

* Update README.md

* update reference landing page (#146)

* update landing page (#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 (#154)

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

* Update ShopifyProvider with flattened props (#156)

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

Hopefully the last time... :)

* [ci] release 2023-01 (#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 (#159)

* Update the umd global variable name

* add changeset

* Tweak docs (#161)

* Make better button docs (#164)

* Tweak docs 2 (#163)

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

* Last bit of small cleanup (#166)

* Fix flattenConnection doc (#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 (#169)

* fix links to storefront schema

* update generated file

* storefront-api-types link

* landing page typo (#170)

* Update README.md

* Deprecate CartLinePrice (#173)

* Deprecate CartLinePrice

* cleanup changelog

* Fix some docs (#175)

* Lint updates (#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 (#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 (#160)

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

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

* Fix two small docs issues (#183)

* Fix two small docs issues

* fix the source and run the build-docs command

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

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

* Fix issue with props on cartlinequantityadjustbutton (#196)

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

* Update all the deps besides model-viewer

* Create lazy-dolphins-develop.md

* Npm migration (#201)

* use package-lock

* Migrate tooling to use npm

* Fix some commands to use npx; add changelog

* [ci] release 2023-01 (#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 7ef939e.

* 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 d85ba01.

* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants