8.0.5 • Published 3 days ago

@graphcommerce/magento-cart v8.0.5

Weekly downloads
-
License
-
Repository
github
Last release
3 days ago

Magento Cart

How to build a proper checkout flow

  • Fragment: GraphQL Fragment
  • Query: GraphQL Query
  • Mutation: GraphQL Mutation
  • FormComponent: GraphQL Form Component
    • Contains a Mutation
    • Contains a useGqlMutationForm
  • FragmentComponent: GraphQL Fragment Component
    • Renders a Fragment

There is no such thing:

  • QueryComponent

Cart Story

We might have the following setup:

  • ProductPage
    • GraphQL Fragment Components:
      • CartCount
        • CartCountFragment.graphql
      • MyCustomInlineCart
        • MyCustomInlineCartFragment.graphql
    • GraphQL Form Components:
      • AddToCartForm
        • AddToCartFormMutation.graphql
      • AddConfigurableToCartForm
        • AddConfigurableToCartFormMutation.graphql
  • CartPage
    • GraphQL Fragment Components
      • CartItems
        • CartItemsFragment.graphql
      • CartTotals
        • CartTotalsFragment.graphql
      • MyCustomCartThingy
        • MyCustomCartThingyFragment.graphql
    • GraphQL Form Components:
      • CartDiscount
        • CartDiscountFragment.graphql
        • CartDiscountMutation.graphql
  • ShippingPage
    • GraphQL Form Components:
      • ShippingAddressForm
        • ShippingAddressFormFragment.graphql
        • ShippingAddressFormMutation.graphql

What do we want:

When calling AddToCartFormMutation or AddConfigurableToCartForm I want the CartCountFragment and MyCustomInlineCartFragment to update.

  • A Mutation must not request fields outside of the scope of the package it retains in.

Colocation of fragments

Apollo suggests to use the colocation of Fragments https://www.apollographql.com/docs/react/data/fragments/#creating-colocated-fragments

This creates a top-down dependency burden while generating components. On the top level, you need to know all Fragments that are going to be used. This requires deep knowledge of the whole data tree.

We'd like to be able to follow Depency Inversion principle "Depend upon abstractions, not concretions."

Fragment interfaces

By introducing the concept of interfaces for fragments we can merge multiple fragments into one:

@extend()
fragment AllPages on Cart {}

@extend()
fragment CartPage on Cart {}

@extend()
fragment ShippingPage on Cart {}

@extend()
fragment PaymentPage on Cart {}

On the CartHeader

@extend('AllPages')
fragment CartHeaderFragment on Cart {}

We create 'mergeable fragments', when multiple fragments with the same name are encountered, we merge those fragments into one.

Since the Fragments that are rendered differ based on a specific page we in theory can't fetch the absolute minimal.

8.1.0-canary.12

3 days ago

8.1.0-canary.11

7 days ago

8.1.0-canary.9

10 days ago

8.1.0-canary.10

10 days ago

8.1.0-canary.8

10 days ago

8.1.0-canary.6

16 days ago

8.1.0-canary.7

16 days ago

8.0.5-canary.11

17 days ago

8.1.0-canary.5

17 days ago

8.0.6-canary.0

17 days ago

8.0.6-canary.2

17 days ago

8.0.6-canary.1

17 days ago

8.0.6-canary.4

17 days ago

8.0.6-canary.3

17 days ago

8.0.5-canary.9

21 days ago

8.0.5-canary.10

20 days ago

8.0.5

20 days ago

8.0.5-canary.8

22 days ago

8.0.5-canary.7

23 days ago

8.0.5-canary.6

23 days ago

8.0.5-canary.5

28 days ago

8.0.5-canary.4

1 month ago

8.0.5-canary.3

1 month ago

8.0.5-canary.2

1 month ago

8.0.5-canary.1

1 month ago

8.0.5-canary.0

1 month ago

8.0.4-canary.1

1 month ago

8.0.4

1 month ago

8.0.3-canary.9

2 months ago

8.0.4-canary.0

2 months ago

8.0.3-canary.8

2 months ago

8.0.3-canary.7

2 months ago

8.0.3

2 months ago

8.0.3-canary.6

3 months ago

8.0.3-canary.5

3 months ago

8.0.3-canary.4

3 months ago

8.0.3-canary.2

3 months ago

8.0.3-canary.3

3 months ago

8.1.0-canary.2

3 months ago

8.1.0-canary.3

3 months ago

8.0.3-canary.0

3 months ago

8.0.3-canary.1

3 months ago

8.0.2-canary.3

3 months ago

8.0.2-canary.2

3 months ago

8.0.2-canary.0

3 months ago

8.0.2

3 months ago

8.0.1-canary.4

3 months ago

8.0.1

3 months ago

8.0.1-canary.3

3 months ago

8.0.1-canary.2

3 months ago

8.0.1-canary.1

3 months ago

8.0.1-canary.0

3 months ago

8.0.0-canary.100

3 months ago

8.0.0-canary.98

3 months ago

8.0.0-canary.99

3 months ago

8.0.0-canary.97

3 months ago

8.0.0

3 months ago

8.0.0-canary.94

4 months ago

8.0.0-canary.95

4 months ago

8.0.0-canary.93

4 months ago

8.0.0-canary.92

4 months ago

8.0.0-canary.91

4 months ago

8.0.0-canary.89

4 months ago

8.0.0-canary.90

4 months ago

8.0.0-canary.78

4 months ago

8.0.0-canary.79

4 months ago

8.0.0-canary.80

4 months ago

8.0.0-canary.81

4 months ago

8.0.0-canary.82

4 months ago

8.0.0-canary.87

4 months ago

8.0.0-canary.88

4 months ago

8.0.0-canary.83

4 months ago

8.0.0-canary.84

4 months ago

8.0.0-canary.85

4 months ago

8.0.0-canary.86

4 months ago

8.0.0-canary.76

4 months ago

8.0.0-canary.77

4 months ago

8.0.0-canary.75

4 months ago

8.0.0-canary.73

4 months ago

8.0.0-canary.74

4 months ago

8.0.0-canary.72

4 months ago

8.0.0-canary.69

4 months ago

8.0.0-canary.70

4 months ago

8.0.0-canary.71

4 months ago

7.1.0-canary.68

4 months ago

7.1.0-canary.66

4 months ago

7.1.0-canary.67

4 months ago

7.1.0-canary.65

5 months ago

7.1.0-canary.64

5 months ago

7.1.0-canary.63

5 months ago

7.0.2-canary.7

7 months ago

7.0.2-canary.6

7 months ago

7.0.2-canary.3

7 months ago

7.0.2-canary.2

7 months ago

7.0.2-canary.5

7 months ago

7.0.2-canary.4

7 months ago

7.0.2-canary.1

7 months ago

7.0.2-canary.0

8 months ago

8.0.0-canary.40

6 months ago

7.0.1-canary.15

8 months ago

7.0.1-canary.14

8 months ago

7.0.1-canary.13

8 months ago

7.0.1-canary.12

8 months ago

7.0.1-canary.11

8 months ago

7.0.1-canary.10

8 months ago

6.2.0-canary.60

10 months ago

6.2.0-canary.57

10 months ago

6.2.0-canary.59

10 months ago

6.2.0-canary.58

10 months ago

7.1.0-canary.9

7 months ago

7.1.0-canary.8

7 months ago

7.1.0-canary.36

6 months ago

7.1.0-canary.37

6 months ago

7.1.0-canary.38

6 months ago

7.1.0-canary.39

6 months ago

7.1.0-canary.32

6 months ago

7.1.0-canary.33

6 months ago

7.1.0-canary.34

6 months ago

7.1.0-canary.35

6 months ago

7.1.0-canary.30

6 months ago

7.1.0-canary.31

6 months ago

7.1.0-canary.29

6 months ago

7.1.0-canary.25

7 months ago

7.1.0-canary.26

7 months ago

7.1.0-canary.27

7 months ago

7.1.0-canary.28

7 months ago

7.1.0-canary.21

7 months ago

7.1.0-canary.22

7 months ago

7.1.0-canary.23

7 months ago

7.1.0-canary.24

7 months ago

7.1.0-canary.20

7 months ago

7.1.0-canary.18

7 months ago

7.1.0-canary.19

7 months ago

7.1.0-canary.14

7 months ago

7.1.0-canary.15

7 months ago

7.1.0-canary.16

7 months ago

7.1.0-canary.17

7 months ago

7.1.0-canary.10

7 months ago

7.0.0

8 months ago

7.1.0-canary.11

7 months ago

7.1.0-canary.12

7 months ago

7.1.0-canary.13

7 months ago

7.0.1

8 months ago

6.2.0-canary.91

8 months ago

6.2.0-canary.90

9 months ago

6.2.0-canary.93

8 months ago

6.2.0-canary.92

8 months ago

6.2.0-canary.88

9 months ago

6.2.0-canary.87

9 months ago

6.2.0-canary.89

9 months ago

6.2.0-canary.84

9 months ago

6.2.0-canary.83

9 months ago

6.2.0-canary.86

9 months ago

6.2.0-canary.85

9 months ago

6.2.0-canary.98

8 months ago

6.2.0-canary.95

8 months ago

6.2.0-canary.94

8 months ago

6.2.0-canary.97

8 months ago

6.2.0-canary.96

8 months ago

7.1.0-canary.61

5 months ago

7.1.0-canary.62

5 months ago

7.1.0-canary.60

5 months ago

6.2.0-canary.71

9 months ago

6.2.0-canary.70

9 months ago

6.2.0-canary.66

10 months ago

6.2.0-canary.65

10 months ago

6.2.0-canary.68

9 months ago

6.2.0-canary.67

10 months ago

7.1.0-canary.58

6 months ago

6.2.0-canary.62

10 months ago

7.1.0-canary.59

5 months ago

6.2.0-canary.61

10 months ago

6.2.0-canary.64

10 months ago

6.2.0-canary.63

10 months ago

7.1.0-canary.54

6 months ago

7.1.0-canary.55

6 months ago

7.1.0-canary.56

6 months ago

7.1.0-canary.57

6 months ago

7.1.0-canary.50

6 months ago

7.1.0-canary.51

6 months ago

6.2.0-canary.69

9 months ago

7.1.0-canary.52

6 months ago

7.1.0-canary.53

6 months ago

6.2.0-canary.80

9 months ago

7.0.1-canary.9

8 months ago

6.2.0-canary.82

9 months ago

6.2.0-canary.81

9 months ago

7.0.1-canary.7

8 months ago

7.0.1-canary.8

8 months ago

7.0.1-canary.5

8 months ago

7.0.1-canary.6

8 months ago

7.0.1-canary.3

8 months ago

6.2.0-canary.77

9 months ago

7.0.1-canary.4

8 months ago

6.2.0-canary.76

9 months ago

7.0.1-canary.1

8 months ago

6.2.0-canary.79

9 months ago

7.0.1-canary.2

8 months ago

6.2.0-canary.78

9 months ago

7.1.0-canary.47

6 months ago

6.2.0-canary.73

9 months ago

7.1.0-canary.48

6 months ago

7.0.1-canary.0

8 months ago

6.2.0-canary.72

9 months ago

7.1.0-canary.49

6 months ago

6.2.0-canary.75

9 months ago

6.2.0-canary.74

9 months ago

7.1.0-canary.43

6 months ago

7.1.0-canary.44

6 months ago

7.1.0-canary.45

6 months ago

7.1.0-canary.46

6 months ago

7.1.0-canary.41

6 months ago

7.1.0-canary.42

6 months ago

6.2.0-canary.56

11 months ago

6.2.0-canary.44

11 months ago

6.2.0-canary.43

11 months ago

6.2.0-canary.46

11 months ago

6.2.0-canary.45

11 months ago

6.2.0-canary.40

11 months ago

6.2.0-canary.42

11 months ago

6.2.0-canary.41

11 months ago

6.2.0-canary.48

11 months ago

6.2.0-canary.47

11 months ago

6.2.0-canary.49

11 months ago

6.2.0-canary.55

11 months ago

6.2.0-canary.54

11 months ago

6.2.0-canary.51

11 months ago

6.2.0-canary.50

11 months ago

6.2.0-canary.53

11 months ago

6.2.0-canary.52

11 months ago

6.2.0-canary.35

11 months ago

6.2.0-canary.34

11 months ago

6.2.0-canary.37

11 months ago

6.2.0-canary.36

11 months ago

6.2.0-canary.39

11 months ago

6.2.0-canary.38

11 months ago

7.0.0-canary.21

12 months ago

6.2.0-canary.22

12 months ago

6.2.0-canary.21

12 months ago

6.2.0-canary.24

12 months ago

6.2.0-canary.23

12 months ago

6.2.0-canary.20

12 months ago

6.2.0-canary.29

11 months ago

7.0.0-canary.13

1 year ago

7.0.0-canary.12

1 year ago

6.2.0-canary.26

12 months ago

6.2.0-canary.25

12 months ago

6.2.0-canary.28

12 months ago

6.2.0-canary.27

12 months ago

6.2.0-canary.33

11 months ago

6.2.0-canary.32

11 months ago

6.2.0-canary.31

11 months ago

6.2.0-canary.30

11 months ago

6.2.0-canary.11

1 year ago

6.2.0-canary.10

1 year ago

6.2.0-canary.13

1 year ago

6.2.0-canary.12

1 year ago

6.2.0-canary.19

12 months ago

6.2.0-canary.18

12 months ago

6.2.0-canary.15

12 months ago

6.2.0-canary.14

1 year ago

6.2.0-canary.17

12 months ago

6.2.0-canary.16

12 months ago

6.2.0-canary.7

1 year ago

6.2.0-canary.8

1 year ago

6.2.0-canary.6

1 year ago

6.2.0-canary.9

1 year ago

6.1.1-canary.3

1 year ago

6.1.1-canary.4

1 year ago

6.1.1-canary.5

1 year ago

6.0.0-canary.51

1 year ago

6.0.0-canary.50

1 year ago

6.0.0-canary.49

1 year ago

6.0.0-canary.44

1 year ago

6.0.0-canary.43

1 year ago

6.0.0-canary.42

1 year ago

6.0.0-canary.41

1 year ago

6.0.0-canary.48

1 year ago

6.0.0-canary.47

1 year ago

6.0.0-canary.46

1 year ago

6.0.0-canary.45

1 year ago

6.0.0-canary.54

1 year ago

6.0.0-canary.53

1 year ago

6.0.0-canary.52

1 year ago

6.0.0-canary.40

1 year ago

6.0.0-canary.39

1 year ago

6.0.0-canary.38

1 year ago

6.0.0-canary.33

1 year ago

6.0.0-canary.32

1 year ago

6.0.0-canary.37

1 year ago

6.0.0-canary.36

1 year ago

6.0.0-canary.35

1 year ago

6.0.0-canary.34

1 year ago

6.0.2-canary.8

1 year ago

6.0.2-canary.7

1 year ago

6.0.2-canary.6

1 year ago

6.0.2-canary.5

1 year ago

6.0.2-canary.9

1 year ago

6.0.2-canary.0

1 year ago

6.0.2-canary.4

1 year ago

6.0.2-canary.3

1 year ago

6.0.2-canary.2

1 year ago

6.0.2-canary.1

1 year ago

6.0.1

1 year ago

6.0.0

1 year ago

6.0.2-canary.10

1 year ago

6.0.2-canary.13

1 year ago

6.0.2-canary.12

1 year ago

6.0.2-canary.15

1 year ago

6.0.2-canary.14

1 year ago

6.0.2-canary.17

1 year ago

6.0.2-canary.16

1 year ago

6.0.2-canary.19

1 year ago

6.0.2-canary.18

1 year ago

6.1.0

1 year ago

6.0.2-canary.22

1 year ago

6.0.2-canary.21

1 year ago

6.0.1-canary.4

1 year ago

6.0.1-canary.5

1 year ago

6.0.1-canary.6

1 year ago

6.0.1-canary.7

1 year ago

6.0.1-canary.0

1 year ago

6.0.1-canary.1

1 year ago

6.0.1-canary.2

1 year ago

6.0.1-canary.3

1 year ago

6.1.1-canary.0

1 year ago

6.1.1-canary.1

1 year ago

6.1.1-canary.2

1 year ago

6.0.0-canary.29

1 year ago

6.0.0-canary.28

1 year ago

6.0.0-canary.27

1 year ago

6.0.0-canary.31

1 year ago

6.0.0-canary.30

1 year ago

6.0.0-canary.26

1 year ago

6.0.0-canary.25

1 year ago

6.0.0-canary.22

1 year ago

6.0.0-canary.21

1 year ago

6.0.0-canary.20

1 year ago

6.0.0-canary.24

1 year ago

6.0.0-canary.23

1 year ago

5.2.0-canary.13

1 year ago

5.2.0-canary.14

1 year ago

5.2.0-canary.15

1 year ago

5.2.0-canary.16

1 year ago

5.2.0-canary.17

1 year ago

5.2.0-canary.18

1 year ago

5.2.0-canary.19

1 year ago

5.2.0-canary.10

1 year ago

5.2.0-canary.11

1 year ago

5.2.0-canary.12

1 year ago

5.2.0-canary.7

1 year ago

5.2.0-canary.8

1 year ago

5.2.0-canary.9

1 year ago

4.13.2

2 years ago

4.13.3

2 years ago

5.0.0

1 year ago

4.13.1

2 years ago

5.1.1

1 year ago

5.1.0

1 year ago

5.1.0-canary.11

1 year ago

5.1.0-canary.10

1 year ago

5.0.0-canary.13

1 year ago

5.0.0-canary.14

1 year ago

4.13.2-canary.0

2 years ago

4.13.2-canary.1

2 years ago

5.2.0-canary.0

1 year ago

5.2.0-canary.1

1 year ago

5.2.0-canary.2

1 year ago

5.2.0-canary.3

1 year ago

5.2.0-canary.4

1 year ago

5.2.0-canary.5

1 year ago

5.2.0-canary.6

1 year ago

4.14.0-canary.9

1 year ago

4.14.0-canary.8

1 year ago

4.14.0-canary.3

2 years ago

4.14.0-canary.2

2 years ago

4.14.0-canary.7

1 year ago

4.14.0-canary.6

1 year ago

4.14.0-canary.5

2 years ago

4.14.0-canary.4

2 years ago

5.1.0-canary.5

1 year ago

5.1.0-canary.6

1 year ago

5.1.0-canary.3

1 year ago

5.1.0-canary.4

1 year ago

5.1.0-canary.9

1 year ago

5.1.0-canary.7

1 year ago

5.1.0-canary.8

1 year ago

5.1.0-canary.1

1 year ago

5.1.0-canary.2

1 year ago

5.1.0-canary.0

1 year ago

5.1.1-canary.0

1 year ago

5.1.1-canary.1

1 year ago

4.13.1-canary.2

2 years ago

4.9.4

2 years ago

4.9.3

2 years ago

4.9.5

2 years ago

4.9.0

2 years ago

4.9.2

2 years ago

4.9.1

2 years ago

4.8.5

2 years ago

4.8.7

2 years ago

4.8.6

2 years ago

4.13.0

2 years ago

4.13.0-canary.0

2 years ago

4.13.0-canary.1

2 years ago

4.13.0-canary.2

2 years ago

4.13.1-canary.1

2 years ago

4.13.1-canary.0

2 years ago

4.8.4

2 years ago

4.8.1

2 years ago

4.8.0

2 years ago

4.8.3

2 years ago

4.8.2

2 years ago

4.7.0

2 years ago

4.7.5

2 years ago

4.7.2

2 years ago

4.7.1

2 years ago

4.7.4

2 years ago

4.7.3

2 years ago

4.4.3

2 years ago

4.4.2

2 years ago

4.4.8

2 years ago

4.4.5

2 years ago

4.4.4

2 years ago

4.4.7

2 years ago

4.4.6

2 years ago

4.6.1

2 years ago

4.6.0

2 years ago

4.6.7

2 years ago

4.6.6

2 years ago

4.6.9

2 years ago

4.6.8

2 years ago

4.6.3

2 years ago

4.6.2

2 years ago

4.6.5

2 years ago

4.6.4

2 years ago

4.5.0

2 years ago

4.5.2

2 years ago

4.5.1

2 years ago

4.4.1

2 years ago

4.3.2

2 years ago

4.3.1

2 years ago

4.2.10

2 years ago

4.3.4

2 years ago

4.2.11

2 years ago

4.3.3

2 years ago

4.2.12

2 years ago

4.3.0

2 years ago

4.2.13

2 years ago

4.2.14

2 years ago

4.2.15

2 years ago

4.2.9

2 years ago

4.2.8

2 years ago

4.2.3

2 years ago

4.2.2

2 years ago

4.2.5

2 years ago

4.2.4

2 years ago

4.2.7

2 years ago

4.2.6

2 years ago

4.2.1

2 years ago

4.2.0

2 years ago

4.1.4

2 years ago

4.1.3

2 years ago

4.1.2

2 years ago

4.1.1

2 years ago

4.1.0

2 years ago

4.0.1

2 years ago

4.0.0

2 years ago

3.10.3

2 years ago

3.10.2

2 years ago

3.10.1

2 years ago

3.10.0

2 years ago

3.9.8

2 years ago

3.9.7

2 years ago

3.9.6

2 years ago

3.9.5

2 years ago

3.9.4

2 years ago

3.9.3

2 years ago

3.9.2

2 years ago

3.9.1

2 years ago

3.9.0

2 years ago

3.8.29

2 years ago

3.8.28

2 years ago

3.8.27

2 years ago

3.8.26

2 years ago

3.8.25

2 years ago

3.8.24

2 years ago

3.8.23

2 years ago

3.8.22

2 years ago

3.8.21

2 years ago

3.8.20

2 years ago

3.8.19

2 years ago

3.8.18

2 years ago

3.8.17

2 years ago

3.8.16

2 years ago

3.8.15

2 years ago

3.8.14

2 years ago

3.8.12

2 years ago

3.8.11

2 years ago

3.8.10

2 years ago

3.8.9

2 years ago

3.8.8

2 years ago

3.8.7

2 years ago

3.8.6

2 years ago

3.8.5

2 years ago

3.8.4

2 years ago

3.8.3

2 years ago

3.8.2

2 years ago

3.8.1

2 years ago

3.8.0

2 years ago

3.7.4

2 years ago

3.7.3

2 years ago

3.7.2

2 years ago

3.7.1

2 years ago

3.7.0

2 years ago

3.6.6

2 years ago

3.6.5

2 years ago

3.6.4

2 years ago

3.6.3

2 years ago

3.6.2

2 years ago

3.6.1

2 years ago

3.6.0

2 years ago

3.5.15

2 years ago

3.5.14

3 years ago

3.5.13

3 years ago

3.5.12

3 years ago

3.5.11

3 years ago

3.5.10

3 years ago

3.5.9

3 years ago

3.5.8

3 years ago

3.5.7

3 years ago

3.5.6

3 years ago

3.5.5

3 years ago

3.5.4

3 years ago

3.5.3

3 years ago

3.5.2

3 years ago

3.5.1

3 years ago

3.5.0

3 years ago

3.4.5

3 years ago

3.4.4

3 years ago

3.4.3

3 years ago

3.4.2

3 years ago

3.4.1

3 years ago

3.4.0

3 years ago

3.3.2

3 years ago

3.3.1

3 years ago

3.3.0

3 years ago

3.2.6

3 years ago

3.2.5

3 years ago

3.2.4

3 years ago

3.2.3

3 years ago

3.2.2

3 years ago

3.2.1

3 years ago

3.2.0

3 years ago

3.1.15

3 years ago

3.1.14

3 years ago

3.1.13

3 years ago

3.1.12

3 years ago

3.1.11

3 years ago

3.1.10

3 years ago

3.1.9

3 years ago

3.1.8

3 years ago

3.1.7

3 years ago

3.1.6

3 years ago

3.1.5

3 years ago

3.1.4

3 years ago

3.1.3

3 years ago

3.1.2

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

3.0.13

3 years ago

3.0.12

3 years ago

3.0.11

3 years ago

3.0.10

3 years ago

3.0.9

3 years ago

3.0.8

3 years ago

3.0.7

3 years ago

3.0.6

3 years ago

3.0.5

3 years ago

3.0.4

3 years ago

3.0.3

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago