Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
433 commits
Select commit Hold shift + click to select a range
67fcc26
chore(M2-261): refactor getters from composables to theme (#730)
youanden Mar 15, 2022
eefb70a
fix(homepage): fixed new products carousel ssr rendering issues (#736)
Mar 16, 2022
cae48a7
fix(composables): revert getters (#739)
bartoszherba Mar 16, 2022
34431dd
chore: update @vue-storefront packages to 2.5.6 (#740)
sethidden Mar 16, 2022
b242f79
refactor(theme): copy composable helpers to theme (#734)
sethidden Mar 17, 2022
f2ffd38
feat(api-client): improve performance of node HTTP calls (#737)
marc-arnoult Mar 17, 2022
0f57da4
refactor(composable): refactor useReview (#729)
sethidden Mar 17, 2022
d4b77e2
refactor(composable): refactor useBilling (#744)
bartoszherba Mar 17, 2022
1716ae8
refactor(composables): refactor usePaymentProvider (#745)
bartoszherba Mar 17, 2022
ed1daa1
refactor: refactored useAddresses (#743)
Mar 17, 2022
17aac12
refactor(composables): refactor useMakeOrder composable
bartoszherba Mar 17, 2022
64aa552
refactor(theme): refactored useUpsellProducts composable (#738)
Mar 18, 2022
9f5fee9
refactor: refactored useUrlResolver (#747)
Mar 18, 2022
f860a6e
refactor(theme): refactored HeaderLogo component to use the new useCo…
Mar 18, 2022
c138001
refactor: refactored useUserOrder composable (#748)
Mar 18, 2022
c2f0cce
refactor(theme): refactored SearchBar component to use new composable…
Mar 18, 2022
d9c8202
refactor(composable): refactor useUserShipping (#751)
bartoszherba Mar 18, 2022
1f3268e
refactor(theme): disable @vue-storefront/core $vsf context plugin (#741)
sethidden Mar 18, 2022
52e07c9
chore: add concurrency control to GitHub actions (#754)
bloodf Mar 21, 2022
d87675b
refactor: refactores types and composables to new ones from theme (#752)
Mar 21, 2022
55cce48
refactor(composables): refactor useUserBilling (#756)
bartoszherba Mar 21, 2022
30f783b
chore: auto-assign team members to pull requests
sethidden Mar 21, 2022
cc7d50e
refactor: refactored useCOuntrySearch composable (#757)
Mar 21, 2022
a95a6b8
refactor(theme): @vue-storefront types dependency refactoring (#758)
bartoszherba Mar 22, 2022
eb8f8e1
fix(checkout): fix issue with blocked payment method step (#764)
bartoszherba Mar 22, 2022
21f254d
refactor: move magento nuxt integration plugin to theme (#755)
sethidden Mar 22, 2022
077493f
refactor(composable): add missing depercated annotations (#767)
bartoszherba Mar 23, 2022
5759dfc
chore: remove @vue-storefront/magento dependency from theme
sethidden Mar 22, 2022
e2214bd
fix(notification): remove notification cookie once the message is dis…
bartoszherba Mar 23, 2022
d15e140
fix(myaccount): fix error handling for customer data and email update…
bartoszherba Mar 23, 2022
97cb251
refactor: removed links from order's product (#778)
Mar 23, 2022
797f8a9
chore: fix pre-commit hook warning for {.vue}
sethidden Mar 23, 2022
cf45c73
fix: fixed adding/removing address funcionality (#776)
Mar 23, 2022
2a3b8b8
refactor(theme): update Storefront-UI to 0.13.0 (#781)
bloodf Mar 24, 2022
462693e
build: disabled nuxt modern mode (#762)
Mar 24, 2022
18e0855
chore: add more GitHub environments for more detailed Jira deployment…
sethidden Mar 24, 2022
cb11323
fix: remove prepare-commit-msg hook
sethidden Mar 23, 2022
3397037
fix(theme): remove placeholder for a sorting mechanism in the categor…
bartoszherba Mar 24, 2022
7887cf9
fix(theme): billing address is cleared while returning to billing ste…
bartoszherba Mar 24, 2022
b5f6fa4
refactor(theme): refactored bundle and grouped products (#784)
Mar 24, 2022
1e0791a
chore: hide yarn-specific output in precommit hook (#788)
sethidden Mar 25, 2022
ec19778
chore: run eslint only 1 time instead of 3 times (#787)
sethidden Mar 25, 2022
1459af8
refactor: disabled sfui core plugin (#785)
Mar 25, 2022
f0d7175
chore: lint-staged should be run only once (#789)
sethidden Mar 25, 2022
26b1074
fix: M2-298. fixed broken my account pages, removed onSSR hooks (#790)
Mar 25, 2022
c7f698e
refactor: replace @vue-storefront/core logger plugin
sethidden Mar 25, 2022
2ea5962
chore: remove context shim (#791)
sethidden Mar 25, 2022
adcabff
refactor: remove dependencies on @vue-storefront/core types
sethidden Mar 25, 2022
0f7db01
fix: add missing magentoConfig property
sethidden Mar 25, 2022
b9d4775
fix: setCurrency can take customQuery
sethidden Mar 25, 2022
f4817e5
refactor: refactored i18n plugins (#794)
Mar 30, 2022
bcf83a8
fix: M2-222. fixed my account issues (#795)
Mar 30, 2022
ba8b7f9
fix: fixed my account buttons (#799)
Mar 31, 2022
01cf409
ci: add commit sha as redis prefix
sethidden Mar 31, 2022
9f0e833
fix(category): move products loading to onMount hook to avoid caching…
bartoszherba Apr 1, 2022
38ea843
refactor: unify cookie retrieval (#797)
sethidden Apr 4, 2022
460a25f
ci!: simplify env config (#813)
sethidden Apr 5, 2022
fe3f793
chore: add PWA icon
sethidden Apr 5, 2022
53da861
chore: fix staging .yml crashing precommit hook
sethidden Apr 5, 2022
b1bcbe4
docs: M2-371. generate composables doc from jsdoc comments (#800)
filipsobol Apr 6, 2022
6305a34
fix: fix useContent jsdoc examples (#820)
VitorLuizC Apr 7, 2022
2ae3ce0
fix: vsf has no redis on localhost
sethidden Apr 7, 2022
15bddd7
ci: invalidate cache after 1 day
sethidden Apr 7, 2022
f9b0df0
fix(checkout): accept one-digit house numbers (#824)
sethidden Apr 8, 2022
6c7afd2
chore: fix some "yarn install" peer dependency warnings (#818)
sethidden Apr 8, 2022
999be75
refactor(filter): rework filters (#815)
bartoszherba Apr 8, 2022
b4a2c46
refactor: refactored useCategory for better dx experience (#829)
Apr 8, 2022
95cba63
feat(catalog): breadcrumbs (#819)
sethidden Apr 8, 2022
878c917
docs: add JSDoc comments to useAddress composable, its types and the …
VitorLuizC Apr 11, 2022
c7f0296
docs: document useCategory composable, its types and related API meth…
VitorLuizC Apr 11, 2022
3716c3e
docs: update Environments document (#832)
filipsobol Apr 11, 2022
aab6a62
refactor(filters): add information about selected filters in filters …
bartoszherba Apr 11, 2022
64a586b
docs: update Supported features document (#833)
filipsobol Apr 11, 2022
b88d4ca
fix: image provider options (#838)
bartoszherba Apr 12, 2022
fd0749e
feat!: make `error`, `loading`, and `result` properties readonly on `…
VitorLuizC Apr 13, 2022
e8ea5ab
refactor: removed size guide (#840)
Apr 13, 2022
0482f1c
fix: fixed review submittion on PDP (#841)
Apr 13, 2022
ef3411a
fix: fixed useCategorySearch issues (#849)
Apr 13, 2022
c43f004
refactor: move graphql client to context (#839)
sethidden Apr 13, 2022
dc296b1
feat!: define a type for billingDetails and make refs readonly in the…
VitorLuizC Apr 13, 2022
d339d4d
feat: add more support for cloudinary images (#850)
bartoszherba Apr 13, 2022
0b33726
fix: tags resolving on pdp
bartoszherba Apr 13, 2022
6b38fe0
feat!: make `loading` and `error` properties readonly in the `useUser…
filipsobol Apr 13, 2022
f30b201
chore: pinia `this.` shouldn't be `any`
sethidden Apr 13, 2022
d806afb
chore: display types for pinia's nuxt context plugin
sethidden Apr 13, 2022
fe85798
refactor: pull out api client from pinia's nuxt context
sethidden Apr 13, 2022
39046a0
feat!: make `loading` and `error` properties readonly in the `useCart…
roziscoding Apr 14, 2022
607c457
chore: removed cache-control settings from product and category page …
Apr 14, 2022
38bb44d
feat!: make `loading` and `error` properties readonly in the `useWish…
filipsobol Apr 14, 2022
d8777a0
feat!: make `loading` property readonly in the `useConfig` composable…
roziscoding Apr 14, 2022
5bb4b7f
feat!: make `error` and `loading` properties readonly on `useCountryS…
roziscoding Apr 14, 2022
83439dc
feat!: make `loading` and `error` readonly in useExternalCheckout com…
roziscoding Apr 14, 2022
1ca3938
refactor: refactored useCurrency `load` and `change` methods (#857)
Apr 14, 2022
b4ea0e5
feat!: make `useForgotPassword` properties readonly (#860)
roziscoding Apr 15, 2022
b2f26c3
refactor: remove category getters call from app header (#853)
bartoszherba Apr 15, 2022
f76df49
feat!: make `error` and `loading` properties readonly on `useCurrency…
VitorLuizC Apr 15, 2022
2be793b
refactor: search results (#867)
bartoszherba Apr 15, 2022
2275f07
chore: include e2e tsconfig for ts-eslint (#869)
sethidden Apr 15, 2022
38aa223
refactor: store config query (#862)
bartoszherba Apr 15, 2022
e89a816
perf!: load whole user object only when necessary (#859)
sethidden Apr 15, 2022
f5ccf16
perf: run speedcurve tests after deployment
sethidden Apr 15, 2022
613c41a
fix: fix wrong ref path and use speedcurve action 1.2.2
sethidden Apr 15, 2022
1f62552
ci: github tokens don't launch deployment_status events
sethidden Apr 15, 2022
caabadf
ci: fix speedcurve workflow condition false negative
sethidden Apr 19, 2022
e2b9bf9
ci: fix empty speedcurve note
sethidden Apr 19, 2022
b107ce8
feat!: make `error` and `loading` properties readonly on `useUserAddr…
filipsobol Apr 19, 2022
3148fb3
feat!: make `error` and `loading` properties readonly in the `useGetS…
roziscoding Apr 20, 2022
ee78753
feat!: make `error` and `loading` properties readonly in `useGuestUse…
roziscoding Apr 20, 2022
e085a5d
refactor: remove category getters (#886)
bartoszherba Apr 20, 2022
ade286a
docs: add `useImage` composable JSDoc (#876)
roziscoding Apr 20, 2022
101b257
feat!: make `error` and `loading` properties readonly on `useFacet` c…
VitorLuizC Apr 20, 2022
b403e6e
ci: improve speedcurve note readability
sethidden Apr 20, 2022
4ba11de
feat!: make `error` and `loading` properties readonly on `useUser` co…
filipsobol Apr 20, 2022
e1d11c5
feat!: make `error` and `loading` properties readonly on `useUpsellPr…
filipsobol Apr 20, 2022
1657629
refactor: make everything in catalog module use TypeScript (#872)
sethidden Apr 20, 2022
19a3653
refactor: move desktop category filters from SfSidebar to the main la…
bartoszherba Apr 20, 2022
b841691
feat!: make `error` and `loading` properties readonly on `useMakeOrde…
VitorLuizC Apr 21, 2022
38bc2ca
feat: show category title below breadcrumbs (#892)
sethidden Apr 21, 2022
6ea5285
refactor: helpers in catalog module
bartoszherba Apr 20, 2022
3574d85
feat!: make `error` and `loading` properties readonly on `usePaymentP…
VitorLuizC Apr 21, 2022
36a6957
feat!: make `error` and `loading` properties readonly on `useNewslett…
VitorLuizC Apr 21, 2022
4c41bca
docs: `useUpsellProducts` composable (M2-398) (#902)
filipsobol Apr 21, 2022
9024d1f
docs: `useUiNotification` composable (M2-397) (#904)
filipsobol Apr 22, 2022
bfd0018
feat!: make `error` and `loading` properties readonly on `useStore` c…
filipsobol Apr 22, 2022
4db5468
fix: password reset issue (#909)
bartoszherba Apr 22, 2022
9130b2b
docs: remove API methods from sidebar (#919)
filipsobol Apr 25, 2022
089c312
feat!: make `error` and `loading` properties readonly on `useReview` …
filipsobol Apr 25, 2022
51e1b2a
fix: wishlist sidebar (#918)
bartoszherba Apr 25, 2022
f9dd219
feat!: refactor `useProduct` composable `error` and make its refs rea…
VitorLuizC Apr 25, 2022
05e05be
feat: Home Page - Changed products carousel to products section (#914)
AlexanderDevitsky Apr 25, 2022
4b659b9
build: fixed build errors and warnings (#920)
Apr 25, 2022
c48b468
feat!: make `error` and `loading` properties readonly on `useRelatedP…
VitorLuizC Apr 26, 2022
2e19887
feat!: make `error` and `loading` properties readonly on `useShipping…
VitorLuizC Apr 26, 2022
3ea6d4b
feat!: make `error` and `loading` properties readonly on `useShipping…
VitorLuizC Apr 26, 2022
a94a755
feat: define types and write docs for `useUiHelpers` composable (#923)
VitorLuizC Apr 26, 2022
6dc0d83
feat!: standardize `useMagentoConfiguration` composable (#924)
VitorLuizC Apr 26, 2022
a8f100d
feat!: standardize `useUrlResolver` composable and make its propertie…
VitorLuizC Apr 26, 2022
29326c9
refactor: components for product list/grid
sethidden Apr 21, 2022
808cefe
test: add global vue/nuxt mocks for unit tests
sethidden Apr 25, 2022
7dcf281
feat: Homepage - Lazy load offscreen components (#915)
AlexanderDevitsky Apr 26, 2022
0a56673
fix: make color swatch visible on mobile (#926)
sethidden Apr 26, 2022
1666c06
fix: product wrong swipe icon direction (#927)
sethidden Apr 26, 2022
a1133fb
feat: homepage - changed slider to hero section (#928)
AlexanderDevitsky Apr 27, 2022
f3237a7
feat: Added preconnect link to site head for cloudinary (#929)
AlexanderDevitsky Apr 27, 2022
495fb69
fix: product tab click should scroll to tab content (#931)
sethidden Apr 27, 2022
871b9b3
fix: various categoryTree bugs (#932)
sethidden Apr 27, 2022
f802996
feat: header categories (#903)
bartoszherba Apr 28, 2022
3d0bc07
fix: prevent content jump when variant is selected on PDP
bartoszherba Apr 27, 2022
20f2212
fix: resolve CR issues
bartoszherba Apr 27, 2022
a5fe924
feat: write docs and export useApi and its type from ~/composables (#…
VitorLuizC Apr 28, 2022
4637adc
refactor: move products related code to the module spaces
bartoszherba Apr 28, 2022
80283d1
refactor: customer module (#937)
sethidden Apr 29, 2022
9d711c0
refactor: move remaining composables to the category module
bartoszherba Apr 29, 2022
f18a19b
refactor: use localeroute instead of string path (#940)
sethidden Apr 29, 2022
97dbb13
test: CategoryEmptyResults component (#934)
Diegoalbag Apr 29, 2022
2643ce1
refactor: create wishlist module
bartoszherba May 4, 2022
3db022b
feat: add skeleton loaders in category navbar
bartoszherba Apr 28, 2022
9b34427
refactor: move checkout related scripts to the module space
bartoszherba May 5, 2022
924714c
docs: update vuepress and fix error during a build (#954)
filipsobol May 6, 2022
8e1bd7f
fix: add missing error state for coupon code
sethidden May 6, 2022
4f361e6
refactor: category page
bartoszherba May 6, 2022
35589b0
fix: invalid prices on grouped and configurable product
bartoszherba May 9, 2022
794f817
feat: replaced images from cdn.shopify by images from cloudinary
Apr 28, 2022
59ba5f2
refactor: using sf-image component to render cloudinary images
Apr 29, 2022
fad0022
docs: update `useAddresses` API reference (M2-553) (#935)
filipsobol May 11, 2022
4b1a781
fix: filter by category issue
bartoszherba May 11, 2022
4fda801
perf: make mobile store banner lazy loaded on PDP
bartoszherba May 11, 2022
e66aaec
perf: make related and upsell products lazy loaded when visible
bartoszherba May 11, 2022
dc2deda
perf: make PDP instagram feed section loaded when visible
bartoszherba May 11, 2022
49044df
perf: make read reviews loaded on request
bartoszherba May 12, 2022
9053121
perf: prevent loading all main images on the mobile PDP gallery
bartoszherba May 12, 2022
ff11f22
fix: remove unwanted authorization errors in the console
bartoszherba May 11, 2022
6de85d8
refactor: move myaccount to subroutes (#991)
sethidden May 13, 2022
38888de
fix: sfcontentpages style missing on myaccount develop
sethidden May 13, 2022
4bce31b
test: category-breadcrumbs component
May 12, 2022
ef4df4a
refactor: category-breadcrumbs test refactoring
May 13, 2022
0e64308
fix: entities on filters are not displayed properly
bartoszherba May 13, 2022
ed16db8
feat: updated order details totals section styling
May 13, 2022
057c125
refactor: revert the previous logic for the order number
May 13, 2022
de4db40
fix: fixed errors during wishlist loading
May 13, 2022
b9d49a2
feat: show configurable option values in order history
sethidden May 13, 2022
921342d
feat: more order details in order history single order view
sethidden May 15, 2022
a768bbc
docs: add Asciinema component
VitorLuizC May 5, 2022
8e7246f
docs: refactor Creating a Store docs
VitorLuizC May 10, 2022
8a5b5a2
docs: add more sections to Creating a Store
VitorLuizC May 10, 2022
d3c4024
docs: update the 'Configuring Magento' and 'Configuring Vue Storefron…
filipsobol May 13, 2022
08fb565
docs: remove unused images
filipsobol May 13, 2022
ef531c6
docs: update code example
filipsobol May 13, 2022
500ed5c
docs: improve landing page
filipsobol May 13, 2022
42afd5b
docs: remove Asciinema recordings
filipsobol May 16, 2022
b9594e9
docs: update installation guide based on PR feedback
filipsobol May 16, 2022
757bb37
docs: fix typos in installation guides
filipsobol May 16, 2022
7ef9eae
docs: update composables docs
filipsobol May 11, 2022
67aced0
docs: update composable docs
filipsobol May 13, 2022
660fcea
docs: update composable navigation
filipsobol May 13, 2022
b787c5f
fix: update type of the property
filipsobol May 16, 2022
7171038
Revert "fix: update type of the property"
filipsobol May 16, 2022
5e9a8f0
fix: wrong warning announcement on modal window to login
bartoszherba May 16, 2022
1f8bf09
chore: fix ~240 eslint errors/warnings (#1005)
sethidden May 16, 2022
53abd90
chore: use order.number instead of deprecated order.order_number (#1000)
sethidden May 16, 2022
30cf12e
fix: empty wishlist implementation
May 16, 2022
a64d34e
refactor: improve typing of vue-outside-click
sethidden May 16, 2022
d7d9a66
refactor: fix eslint errors in cypress entrypoint
sethidden May 16, 2022
54e0e4e
chore: split cypress classes into 4 separate files
sethidden May 16, 2022
f9dba2c
chore: disable eslint rules that don't work well in cypress
sethidden May 16, 2022
01f7a96
refactor: safely spread nullish coalescing
sethidden May 16, 2022
8fd5054
chore: fix import order
sethidden May 16, 2022
4d51f09
refactor: handle nullish coalescing case
sethidden May 16, 2022
cc860e3
chore: do not use module
sethidden May 16, 2022
43d201a
chore: remove useless async
sethidden May 16, 2022
18af640
chore: explicitly add bodyParser dependencies
sethidden May 16, 2022
160f2ee
refactor: add integration properties types
sethidden May 16, 2022
f7ef642
chore: remove unused cacheControl.js
sethidden May 16, 2022
ecf0a52
refactor: integrationPlugin types fix
sethidden May 16, 2022
5fa6fea
chore: fix unsafe arguments
sethidden May 16, 2022
fc2582d
chore: disable prefer-module for pm2
sethidden May 16, 2022
cfbe790
refactor: add specific type for htmlDecoder
sethidden May 16, 2022
ae5f1de
refactor: improve asyncLocalStorage typing
sethidden May 17, 2022
da3543f
fix: coupon code invalid error message
bartoszherba May 17, 2022
675240b
fix: category page - equal mount of product for a row
bartoszherba May 16, 2022
5b73fda
chore: fix all remaining eslint errors (#1010)
sethidden May 17, 2022
5c95740
test: categorynavbar component
Diegoalbag May 5, 2022
99a945e
refactor: move stores to related modules
bartoszherba May 18, 2022
7ba20fb
feat: add skeleton loaders/loading statue for addressedit and address…
sethidden May 16, 2022
df56812
refactor: remove useless order getters (#1016)
sethidden May 19, 2022
b373794
chore: implement overlooked additional tasks (#1023)
sethidden May 20, 2022
c9c7716
fix: prevent SfSidebar disableBodyScroll triggering on desktop
sethidden May 19, 2022
de161f1
refactor: create renderers for each product type
bartoszherba May 18, 2022
883f253
fix: useProductGallery reactivity
bartoszherba May 20, 2022
f84f84e
refactor: improve TopBar typing
sethidden May 20, 2022
018a759
perf: remove top bar layout shift
sethidden May 20, 2022
703b5d5
fix: add html content purify for the selected filters
bartoszherba May 23, 2022
4b928e8
chore: fix .vue eslint errors
sethidden May 20, 2022
bd13f04
refactor: remove eslint errors from ResetPassword.vue
sethidden May 22, 2022
ea5112a
refactor: fix eslint errors in Page.vue
sethidden May 22, 2022
cd4ac09
fix: detect "this." types in vue-meta head()
sethidden May 23, 2022
391ede1
chore: fix all remaining .vue lang="ts" errors (#1043)
sethidden May 24, 2022
63726be
fix: fetch new orders on each orders history visit
sethidden May 23, 2022
2471f55
fix: move order information from table to a separate section
sethidden May 23, 2022
529de28
test: added tests for cmscontent component
May 24, 2022
2b6036f
fix: fixed order summary styles
May 23, 2022
12bf594
chore: updated graphql-request (#1058)
May 25, 2022
9348fa1
fix: issue with displaying product price od PDP and PLP
bartoszherba May 24, 2022
9e5b0cc
fix: issue with displaying product price od PDP and PLP
bartoszherba May 25, 2022
fa27f14
chore: align develop branch with the main branch after rc.7 release (…
May 26, 2022
7d5eb9e
feat: add product to cart from wishlist (#1026)
AlexanderDevitsky May 26, 2022
fad9117
chore: release 1.0.0-rc.8
web-flow May 26, 2022
59200c3
Merge branch 'main' into release/1.0.0-rc.8
May 26, 2022
140c124
refactor: fixed customer logging and authorization checking (#1081)
May 31, 2022
02da727
Merge branch 'main' into release/1.0.0-rc.8
Jun 2, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 6 additions & 2 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
**/node_modules/**/*
**/lib/*
packages/composables/nuxt/plugin.js
packages/api-client/types/GraphQL.ts
packages/api-client/src/types/GraphQL.ts
packages/api-client/server
packages/composables/lib
packages/api-client/lib
packages/theme/static/sw.js
.eslintrc.js
22 changes: 19 additions & 3 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ module.exports = {
parser: '@typescript-eslint/parser',
project: [
resolve(__dirname, './tsconfig.json'),
resolve(__dirname, './packages/api-client/tsconfig.json'),
resolve(__dirname, './packages/composables/tsconfig.json'),
resolve(__dirname, './packages/api-client/tsconfig.eslint.json'),
resolve(__dirname, './packages/composables/tsconfig.eslint.json'),
resolve(__dirname, './packages/theme/tsconfig.json'),
resolve(__dirname, './packages/theme/tests/e2e/tsconfig.json'),
],
Expand All @@ -39,6 +39,22 @@ module.exports = {
}
],
"no-plusplus": "off",
}
},
overrides: [
{
"files": ["packages/theme/tests/e2e/**/*"],
"rules": {
"jest/expect-expect": "off",
"promise/catch-or-return": "off", // conflicts with Cypress.Chainable
"promise/always-return": "off",
}
},
{
"files": ["internals/**/*"],
"rules": {
"unicorn/prefer-module": "off",
}
}
]
}

5 changes: 5 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,10 @@ jobs:
- name: Build packages
run: yarn build

# typescript-eslint needs all packages to be built
# to check type-related linting rules
- name: Check for linting errors
run: yarn lint

- name: Test theme
run: yarn test:theme
3 changes: 2 additions & 1 deletion commitlint.config.js
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
module.exports = {extends: ['@commitlint/config-conventional']}
// eslint-disable-next-line unicorn/prefer-module
module.exports = { extends: ['@commitlint/config-conventional'] };
14 changes: 11 additions & 3 deletions docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ module.exports = {
],
themeConfig: {
GTM_TAG,
sidebarDepth: 0,
repo: 'https://github.com/vuestorefront/magento2/',
editLinks: true,
docsDir: 'docs',
Expand All @@ -76,11 +77,18 @@ module.exports = {
],
},
{
title: 'Creating a Storefront',
title: 'Getting started',
collapsable: false,
children: [
['/guide/creating-a-store', 'Creating a Store'],
['/guide/configuration', 'Configuration'],
['/getting-started/configure-magento', 'Configuring Magento'],
['/getting-started/configure-integration', 'Configuring Vue Storefront'],
],
},
{
title: 'Guides',
collapsable: false,
children: [
['/guide/image-optimization', 'Image optimization'],
['/guide/override-queries', 'Override queries'],
['/guide/testing', 'Testing'],
['/guide/recaptcha', 'ReCaptcha'],
Expand Down
5 changes: 5 additions & 0 deletions docs/.vuepress/styles/index.styl
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,8 @@ a code {
color: $accentColor !important;
font-weight: bold;
}

div.theme-default-content:not(.custom) {
max-width: 1024px;
}

11 changes: 0 additions & 11 deletions docs/api-reference/magento-api.carttotalqty.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/api-reference/magento-api.wishlistitemscount.md

This file was deleted.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
85 changes: 85 additions & 0 deletions docs/getting-started/configure-integration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Configuring Vue Storefront for Magento 2

This guide explains the steps needed to install and set up Vue Storefront for Magento 2.

## Prerequisites

Before you can get started, you need the following:

- **Node.js 16** installed,
- Magento 2 server configured following the [Configuring Magento](/getting-started/configure-magento.html) guide.

To check the Node version you are using, run the following command:

```bash
node -v
```

## Creating the Vue Storefront for Magento 2

To install Vue Storefront, run the command below. It will ask you for the project name and the integration of your choice. Keep in mind that the project name will also be used as the folder name, and be sure to select the Magento 2 integration.

```sh
npx @vue-storefront/cli init
```

### 1. Configure environment variables

After installation, the first step is configuring the integration using the environment variables.

1. Go to the root folder of your project.
2. Make a copy of the `.env.example` file and rename it to `.env`. You can do it manually or use the following command:

```sh
cp .env.example .env
```

3. Update values in the `.env` file.

### 2. Setup store configuration

The `plugins/storeConfigPlugin.ts` plugin loads store configuration data from Magento and saves it into the Pinia store under the `$state.storeConfig` property. By default, the amount of data loaded from Magento is minimal to avoid over-fetching, but as your application grows, you might need to pull more data.

This plugin loads the store configuration data based on a query in the `plugins/query/StoreConfig.gql.ts` file. You can modify this file to change what data is loaded.

### 3. Configure multistore and localization

Each Magento store view needs a corresponding locale configuration object in the `i18n` object in the `nuxt.config.js` file.

#### 3.1 `i18n.locales`

The `i18n.locales` array contains all supported locales. Each item in this array is an object containing the following properties:

- `code` - unique identifier of the locale corresponding to Magento store view code.
- `file` - the name of the file containing translations for this locale in the `lang` folder.
- `iso` - corresponding ISO country code.

For other properties please follow official [nuxt-i18n documentation](https://i18n.nuxtjs.org/options-reference#locales).

In the example configuration below, you need to have two Magento store views with corresponding store codes: `default` and `german`.

```javascript
// nuxt.config.js

export default {
locales: [
{
code: 'default',
file: 'en.js',
iso: 'en_US',
},
{
code: 'german',
file: 'de.js',
iso: 'de_DE',
}
]
};
```

#### 3.2 Translations

When working with translation in your application, you need to:

1. Add translations in Magento for products and categories.
2. Update the `i18n.locales` array in the `nuxt.config.js` file and add translations to the corresponding files in the `lang` directory.
137 changes: 137 additions & 0 deletions docs/getting-started/configure-magento.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
# Configuring Magento store

This guide explains the step needed to install and set up Magento 2 store for Vue Storefront.

## Prerequisites

Before you can get started, you need the following:

- **Docker Desktop** to setup Magento 2 locally,
- **Magento Marketplace account** to download Magento 2. To create it, visit [this page](https://account.magento.com/customer/account/create/).

## Creating the Magento 2 store

We're going to install Magento 2 inside the `server` folder. Run the following commands to create a `server` folder first:

```sh
mkdir server
cd server
```

### 1. Get Magento Marketplace access keys

Registry that stores Magento and other third-party packages require authentication. You'll need to generate access keys in the Magento Marketplace to install them.

Follow the [Get your authentication keys](https://devdocs.magento.com/guides/v2.4/install-gde/prereq/connect-auth.html) guide to generate new access keys.

![Access keys generated in Magento Marketplace](../assets/images/magento-marketplace-access-keys.jpg)

### 2. Install Magento 2 store

To simplify the setup, let's use the [`markshust/docker-magento`](https://github.com/markshust/docker-magento) script.

Run the command below to create the store. It will ask you for the Username and Password. Use your public access key as a username and your private access key as a password from the previous step.

```sh
curl -s https://raw.githubusercontent.com/markshust/docker-magento/master/lib/onelinesetup | bash -s -- magento.test 2.4.4
```

### 3. Setup authentication

In the Magento 2 folder, copy the `src/auth.json.sample` file and rename it to `src/auth.json`. You can do it manually or use the following command:

```sh
cp src/auth.json.sample src/auth.json
```

Update the username and password values with your Magento public and private keys.

```json
{
"http-basic": {
"repo.magento.com": {
"username": "a1c69cb…",
"password": "af041560…"
}
}
}
```

Finally, copy the file to the container by running the following command:

```sh
bin/copytocontainer auth.json
```

### 4. Increase default GraphQL query complexity

For security reasons, Magento 2, by default, allows maximum GraphQL query complexity of 300 and depth of 20. You need to change these values using the [GraphQL CustomConfig module](https://github.com/caravelx/module-graphql-config), which allows configuring these values in the admin panel.

To install the Magento 2 GraphQL Config module, run the following commands on your Magento installation:

```bash
composer require caravelx/module-graphql-config
php bin/magento module:enable Caravel_GraphQlConfig
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
```

Then go to the admin panel, find the configuration panel of the `GraphQL CustomConfig` module, and set:

- **complexity** to 1500,
- **depth** to 20.

For more information, see the [GraphQL security configuration](https://devdocs.magento.com/guides/v2.4/graphql/security-configuration.html) page.

### 5. Enable CORS

You may need to enable CORS origins in your Magento store to accept requests from other domains, e.g., `magento.dev`. In the Magento 2 folder, add the package `graycore/magento2-cors` by running the command below:

```sh
bin/composer require graycore/magento2-cors
```

Then, add the following configuration at the end of `src/app/etc/env.php`:

```php
'system' => [
'default' => [
'web' => [
'graphql' => [
'cors_max_age' => 86400,
'cors_allow_credentials' => 0,
'cors_allowed_methods' => 'POST, OPTIONS, GET',
'cors_allowed_headers' => 'Content-Currency, Store, X-Magento-Cache-Id, X-Captcha, Content-Type, Authorization, DNT, TE',
'cors_allowed_origins' => '*'
]
]
]
]
```

Enable the graycore cors.

```sh
bin/magento module:enable Graycore_Cors
```

Then update the configuration:

```sh
bin/magento setup:upgrade
```

### 6. Populate store with sample data (optional)

In the Magento 2 folder, execute the commands below to add sample data to your store.

```sh
bin/magento sampledata:deploy
```

Then update the configuration:

```sh
bin/magento setup:upgrade
```
5 changes: 3 additions & 2 deletions docs/guide/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@

## Resources

- [Vue Storefront Documentation](https://docs.vuestorefront.io/v2/)
- [Magento 2 integration Documentation (WIP)](https://docs.vuestorefront.io/magento)
- [GitHub repository](https://github.com/vuestorefront/magento2/)
- [Vue Storefront website](https://www.vuestorefront.io/)
- [Core Documentation](https://docs.vuestorefront.io/v2/)
- [Community Chat](https://discord.vuestorefront.io)

## Support
Expand Down
Loading