-
Notifications
You must be signed in to change notification settings - Fork 119
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
chore: fix all remaining eslint errors #1010
Conversation
There are now 2 tsconfigs: one (.eslint.json) that tells eslint which files to scan, and tsconfig.json which is related to building the library If you try to lint a file that's not part of any TS project, ESLint will complain that it needs to be part of some TS project - it can't be "exclude"d etc. But at the same time, I don't want to mess with the types distributed by the api-client package (ie. I want to lin .spec.ts files but I don't want them to appear in the library's dist). Hence the .eslint.tsconfig.json file was created
this is after these packages started being linted properly, so new errors appearred
(no good formatting available)
6bcc3da
to
93c3b86
Compare
@@ -1,4 +1,8 @@ | |||
**/node_modules/**/* | |||
**/lib/* | |||
packages/api-client/src/types/GraphQL.ts | |||
packages/api-client/server |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(build output dirs)
@@ -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'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a new .tsconfig file solely for eslint because typescript-eslint won't scan files unless a file is part of a typescript project. But some files are intentionally ignored by the regular tsconfig.json (when you don't want to include some types in the library dist published on NPM)
@@ -48,6 +48,12 @@ module.exports = { | |||
"promise/catch-or-return": "off", // conflicts with Cypress.Chainable | |||
"promise/always-return": "off", | |||
} | |||
}, | |||
{ | |||
"files": ["internals/**/*"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't want to figure out whether I can use regular imports in eslint because I'll be removing the "many small internal eslint packages" soon
@@ -20,6 +20,7 @@ const factoryParams: UseCategorySearchFactory<Category, CategorySearchQueryVaria | |||
}, | |||
}; | |||
|
|||
// eslint-disable-next-line max-len |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
couldn't find a formatting that looks good - no autofix offered either
74102a2
to
05d9146
Compare
this is necessary because typescript-eslint requires packages to be built to check for errors
f20cb9c
to
775b026
Compare
* chore(M2-261): refactor getters from composables to theme (#730) * fix(homepage): fixed new products carousel ssr rendering issues (#736) * fix(composables): revert getters (#739) - copy getters back to the legacy composables for a backward compatibility package and mark all as deprecated Co-authored-by: Marcin Kwiatkowski <[email protected]> * chore: update @vue-storefront packages to 2.5.6 (#740) * refactor(theme): copy composable helpers to theme (#734) * refactor(theme): move composable helpers to theme * refactor(theme): remove type dependency on monorepo api * refactor(theme): remove getVueContext * feat(api-client): improve performance of node HTTP calls (#737) * refactor(composable): refactor useReview (#729) * refactor(composable): refactor useReview squash this * refactor(theme): change to new refactored usereview composable * refactor(composable): deprecate useReview factory aswell * refactor(theme): move commands into separate files and change naming convention * refactor(theme): add spaces for readability * refactor(theme): add typings for commands * refactor(theme): fix useReview imports * fix(theme): fix TypeScript errors after adding context.d.ts $magento types * refactor(theme): adjust to lack of state refs in composable * refactor(composable): remove unused params also use local types, not magento-api ones * refactor(composables): add composable command types * refactor(composable): refactor useBilling (#744) * refactor(composables): refactor usePaymentProvider (#745) * refactor: refactored useAddresses (#743) * refactor(composables): refactor useMakeOrder composable - move composable to the Theme package - mark composable as deprecated * refactor(theme): refactored useUpsellProducts composable (#738) * refactor(theme): refactored useUpsellProducts composable, fixed product page ssr issues * refactor: cr fixes for upsell products * Update packages/theme/composables/useUpsellProducts/index.ts Co-authored-by: Bartosz Herba <[email protected]> * Update packages/theme/composables/useUpsellProducts/index.ts Co-authored-by: Bartosz Herba <[email protected]> * Update packages/theme/composables/useUpsellProducts/useUpsellProducts.d.ts Co-authored-by: Bartosz Herba <[email protected]> * refactor: refactored useUrlResolver (#747) * refactor(theme): refactored HeaderLogo component to use the new useConfig composable (#750) * refactor: refactored useUserOrder composable (#748) * refactor(theme): refactored SearchBar component to use new composables (#749) * refactor(composable): refactor useUserShipping (#751) - move useUserShipping to the theme - mark useUserShipping in composable package as deprecated * refactor(theme): disable @vue-storefront/core $vsf context plugin (#741) see https://github.com/vuestorefront/vue-storefront/pull/6641/ the abillity to do this is new in @vue-storefront/[email protected] (version bump made earlier today) suqsh this feat(theme): maybe remove later add semi-debuggable server-side source-maps checkpoint: homepage loads after using own context refactor(theme): checkpoint 2 - shim $vsf add sharedContextMap refactor(theme): move context shim to module because of loading precedence stop using useVSFContext copy integrationPlugin from core to theme $magento -> $vsf.magento (in components for now) refactor(theme): use theme getters over composable ones refactor(theme): convert code comments to task see https://vsf.atlassian.net/browse/M2-328 * chore: add concurrency control to GitHub actions (#754) * refactor: refactores types and composables to new ones from theme (#752) * refactor(composables): refactor useUserBilling (#756) - mark useUserBilling as deprecated in composables package - rework checkout to use useUserAddress theme composable instead * chore: auto-assign team members to pull requests * refactor: refactored useCOuntrySearch composable (#757) * refactor(theme): @vue-storefront types dependency refactoring (#758) - remove types dependency on package @vue-storefront/magento-api * fix(checkout): fix issue with blocked payment method step (#764) - selecting billing address will now unlock move to next step action * refactor: move magento nuxt integration plugin to theme (#755) * refactor(composable): add missing depercated annotations (#767) * chore: remove @vue-storefront/magento dependency from theme * fix(notification): remove notification cookie once the message is displayed (#775) * fix(myaccount): fix error handling for customer data and email update action (#777) * refactor: removed links from order's product (#778) * chore: fix pre-commit hook warning for {.vue} fixes M2-322 it's a .lintstagedrc warning - the {} is usually used to match many extensions in regex, while we just use a single term - ".vue" after this commit the warning is gone * fix: fixed adding/removing address funcionality (#776) * refactor(theme): update Storefront-UI to 0.13.0 (#781) * build: disabled nuxt modern mode (#762) * chore: add more GitHub environments for more detailed Jira deployments (#771) Partially addresses M2-341 chore: use reusable workflow in deployment .yml file fix interpolation spacing remove commented out previous pipeline don't use startsWith where not necessary add target_urls the enterprise env is unused for a business purpose for now so I'm using it as testing grounds can't have secrets for types both secrets and inputs are on the same level revert to using secrets add secrets keyword remove debug branch references * fix: remove prepare-commit-msg hook before this commit running git commit ran commitizen instead of showing the traditional git commit message prompt doing that was too much of an intrusion into the workflow so we've decided to keep cz, but make it optional to use instead of required * fix(theme): remove placeholder for a sorting mechanism in the category navbar (#782) - because we have default sorting value, additional placeholder is not required * fix(theme): billing address is cleared while returning to billing step on checkout (#783) - add billing address persistence by loading once the step is mounted - add selection of default address if none is selected * refactor(theme): refactored bundle and grouped products (#784) * chore: hide yarn-specific output in precommit hook (#788) lint-staged output is still shown, just hide the "yarn run v1.2.2" etc. * chore: run eslint only 1 time instead of 3 times (#787) M2-345 * refactor: disabled sfui core plugin (#785) * chore: lint-staged should be run only once (#789) M2-323 https://github.com/okonet/lint-staged/tree/d327873b1c0b6fbdeb6fd276e523043d51d6de37#how-to-use-lint-staged-in-a-multi-package-monorepo * fix: M2-298. fixed broken my account pages, removed onSSR hooks (#790) * refactor: replace @vue-storefront/core logger plugin M2-294 refactor(logger): add new rewritten logger refactor(logger): remove console.log move logger from plugins to helpers refactor(logger): replace core Logger imports with our own change path from plugins to helpers * chore: remove context shim (#791) M2-328 this was necessary when we still had the @vue-storefront/core composables in packages/theme disabling the @vue-storefront/core context plugin was not possible without the shim from this commit since we've already migrated all composables this is ok to remove * refactor: remove dependencies on @vue-storefront/core types M2-299 * fix: add missing magentoConfig property * fix: setCurrency can take customQuery * refactor: refactored i18n plugins (#794) * M2-295. Refactored i18n plugins * M2-300. Removed @vue-storefront/core dependency * fix: M2-222. fixed my account issues (#795) * fix: fixed my account buttons (#799) * ci: add commit sha as redis prefix before this commit you always needed to curl /invalidate-cache after PR manually after this commit this will hopefully be done by default M2-342 * fix(category): move products loading to onMount hook to avoid caching prices (#793) * refactor(prices): make prices non cachable - add usePrice composable in catalog module - rework category page to load prices onMounted lifecycle to avoid caching * refactor(home): make new product carousel non cachable - load products data onMounted to avoid price caching * fix(theme): mobile store banner - replace SfButton with SfLink so we can have images inside elements without breaking hydration * refactor(theme): change the way related and upsell products are loaded - upsell/related products on the PDP will be now loaded onMounted hook M2-306 * refactor: unify cookie retrieval (#797) * refactor: refactor cookie API M2-331 reduce code duplication refactor: remove unneeded type assertion refactor: refactor cookies to use the new cookie API refactor: checkpoint refactor: i18n plugin refactor: improve typings LocaleObject[] | string[] unions refactor: i18n plugin refactor: refactor middleware to typescript update cookies aswell refactor: don't return void refactor: use storefront ui colors for UiNotification refactor: more cookie refactors refactor: refactor i18n plugin refactor: fix unit tests post-refactor * refactor: add remove method add optional opts * refactor: add proper typing for nuxtplugin + integration * refactor: add remove method to state * refactor: use new remove methods where applicable * refactor: re-add getters and simplify i18n ternary * ci!: simplify env config (#813) * ci: simplify env config BREAKING: rename certain env vars MAGENTO_GRAPHQL -> MAGENTO_GRAPHQL_URL REDIS__* (HOST etc.) -> REDIS_* MAGENTO_EXTERNAL_CHECKOUT -> MAGENTO_EXTERNAL_CHECKOUT_ENABLED _ENABLED env vars will only enable things if you set their value to "true" (MY_ENV_VAR=true) remove convict and related format package because convict cannot be used in a browser - BREAKING: use .env in packages/theme instead of packages/theme/config/[env].json remove dotenv because nuxt already uses dotenv under the hood stop using GitHub repository secrets that are not actually secrets refactor: remove convict and dotenv dotenv is already used by nuxt under the hood remove leftover config import add sentry_dsn to dockerfile args * ci!: add VSF_ prefix to environment variables add VSF_ prefix where omitted * chore: add PWA icon removes the warning when running yarn dev:theme * chore: fix staging .yml crashing precommit hook there's no point in having 3 .lintstagedrc files that all do the same thing this commit also fixes the issue where comitting ANY file that is not in packages/**/* would crash the precommit hook and abort git commit this was happening (Configuration not found error) because there was no .lintstagedrc file in the repo root, so `npx lint-staged` did not know what to do * docs: M2-371. generate composables doc from jsdoc comments (#800) * fix: fix useContent jsdoc examples (#820) * fix: vsf has no redis on localhost * ci: invalidate cache after 1 day with key prefixes, this is so that redis does not contain thousands of super old keys for old deployments forever M2-342 * fix(checkout): accept one-digit house numbers (#824) M2-332 * chore: fix some "yarn install" peer dependency warnings (#818) * chore: add graphql peer dependency restore newer graphql version * chore: add vue as hard dependency this gives us direct control over the vue version rather than relying on whatever a subdependency installs * chore: fix eslint-config-typescript not in internal eslint pkg * chore: fix @nuxt/typescript-build conflict between 'latest' & '2.1.0' * refactor(filter): rework filters (#815) - move category filters to the separate component - add filters renderers and filter config resolver - move configuration from middleware to catalog module - partially add UT, add todo for missing tests * refactor: refactored useCategory for better dx experience (#829) * refactor: refactored useCategory for better dx experience * Update packages/theme/composables/useCategory/index.ts Co-authored-by: Artur Tagisow <[email protected]> * refactor. refactored useCategory errors object to use load instead of search Co-authored-by: Artur Tagisow <[email protected]> * feat(catalog): breadcrumbs (#819) * feat(catalog): breadcrumbs feat(catalog): breadcrumbs refactor: make CategoryTree use common logic refactor: add props to breadcrumbs refactor: destructure ancestors refactor: fix isCategoryTreeLoaded conditions refactor: move breadcrumbs outside categories refactor: use app.localePath instead of cookies chore: comments refactor: destructure context for app * fix: store cookie not set during first page load This was tested after clearing all the cookies in the browser * docs: add JSDoc comments to useAddress composable, its types and the related API methods (#821) * chore: change useAddress to a function declaration * feat: add useAddress jsdocs * docs: add jsdoc comments to useAddress * docs: add JSDoc comments to customer address API methods * docs: add JSDoc comments to the interfaces used by useAddresses * fix: rollback a miss replace * fix: fix useAddress methods' examples * docs: fix list formatting in useAddresses * docs: list useAddresses and the related API methods in documentation * docs: explain in useAddresses were the addresses can be used * docs: remove list of places that use useAddresses * docs: break line between section directive and content * docs: document useCategory composable, its types and related API methods using TSDocs (#828) * chore: transform categoryList API method into function declaration * docs: add TSDocs to categoryList API method and its GraphQL Query * chore: standardize useCategory and its types * docs: add TSDocs to useCategory and its types * docs: change how types are exported to fix TSDoc links * fix: fix categoryList item in the API Methods menu in the docs * fix: use Category type instead of any in useCategory Co-authored-by: Marcin Kwiatkowski <[email protected]> * docs: update Environments document (#832) * refactor(filters): add information about selected filters in filters sidebar (#830) * refactor(filter): rework filters - move category filters to the separate component - add filters renderers and filter config resolver - move configuration from middleware to catalog module - partially add UT, add todo for missing tests * refactor(filters): add selected filters component M2-406 * refactor: update category page after merge develop * refactor: on filters/sorting/pagination change only products will be reloaded * docs: update Supported features document (#833) * fix: image provider options (#838) - fix env typo * feat!: make `error`, `loading`, and `result` properties readonly on `useCategorySearch` composable (#848) * feat!: rename UseCategorySearch type to UseCategorySearchInterface * chore: transform categorySearch to function declaration * docs: add docs for categorySearch API method * chore: convert useCategorySearch to function declaration * feat: export useCategorySeach types and improve its definitions * docs: add docs for useCategorySearch composable * feat!: make error, loading and result readonly in useCategorySearch * docs: improve useCategorySearch description * feat!: rename the errors interface of useCategory to UseCategorySearchErrors * feat: export useCategorySearch types * refactor: removed size guide (#840) * fix: fixed review submittion on PDP (#841) * fix: fixed useCategorySearch issues (#849) * refactor: move graphql client to context (#839) * refactor: remove cookie instead of empty set test: fix tests * refactor: move graphqlclient from useApi to context M2-354 this is so you can query graphql endpoints in plugins refactor: useApi to use client from context refactor: move dynamic headers to client instance I don't want to keep the append the headers in useApi because if someone wants to pull the graphql clients from the context - e.g. when requesting something in a plugin - they'll have to reimplement the cookie logic again this commit is a checkpoint commit - the '' fallback in graphqlClient isn't ideal because the header shouldn't be appended to the request if it's empty. Getters are limited int this way. I'll try something with Proxy refactor: proxy workaround for dynamic headers refactor: use proxies as workaround for dynamic headers refactor: add template types to useApi refactor: remove references to customApolloHttpLinkOptions fix: fix spread refactor: code review changes * feat!: define a type for billingDetails and make refs readonly in the useBilling composable (#844) * chore: transform useBilling to a function declaration * feat: add types and interfaces for useBilling * docs: add TSDoc comments to useBilling and its types * feat!: make useBilling error and loading refs readonly * feat!: define an interface for billingDetails in useBilling save method * docs: remove the "remarks" section in useBilling * docs: list useBilling in docs' composables menu * docs: remove placement in loading ref * docs: fix useBilling load params arg that shouldn't be require * feat: add more support for cloudinary images (#850) - add nuxt-img support on cart and product page - fix images proportions in all places where nuxt-img is used * fix: tags resolving on pdp * feat!: make `loading` and `error` properties readonly in the `useUserOrder` composable (#845) * feat!: make `loading` and `error` properties readonly in the `useUserOrder` composable * docs: add JSDoc to the `customerOrders` API handler * chore: pinia `this.` shouldn't be `any` M2-496 https://github.com/vuejs/pinia/issues/981 fix: ts errors because of now enabled noImplicitAny: true * chore: display types for pinia's nuxt context plugin M2-496 `this.$nuxt` is only valid when using tsserver (TypeSCript language server), but not with Volar. Volar is for Vue 3 by default while for Vue 2 some extra config is needed, so that's probably why * refactor: pull out api client from pinia's nuxt context M2-496 * feat!: make `loading` and `error` properties readonly in the `useCart` composable (#827) * refactor: change useCart declaration from const to function * refactor: addConfigurableProductstoCart docs and function notation - add JSDoc - refactor to use function instead of arrow function * refactor: addConfigurableProducts to cart JSDoc and function notation - add JSDoc - refactor from arrow function to function notation * refactor: addProductsToCart JSDoc and function notation - add JSDoc comments - refactor from arrow function to function notation * refactor: addVirtualProductsToCart JSDoc and function notation - add JSDoc comments - refactor from arrow function to function notation * refactor: applyCouponToCart JSDoc and notation - add JSDoc comment - refactor from arrow function to function notation * refactor: cart JSDoc and notation - add JSDoc comment - refactor from arrow function to function notation * refactor: customerCart JSDoc and notation - add JSDoc comment - refactor from arrow function to function notation * refactor: removeCouponFromCart JSDoc and notation - add JSDoc comment - refactor from arrow function to function notation * refactor: removeItemFromCart JSDoc and notation - add JSDoc comment - refactor from arrow function to function notation * refactor: updateCartItems JSDoc and notation - add JSDoc comment - refactor from arrow function to function notatio * feat: add link to useCart documentation * docs: add documentation for useCart composable * docs: add documentation for UseCartInterface#load * docs: add documentation for useCart interfaces * feat!: make UseCartErrors properties nullable BREAKING CHANGE: all properties of the UseCartErrors interface are converted to a union with null. The new type is `Error | null` for all properties * docs: add UseCartInterface's loadTotalQty JSDoc * docs: add UseCartInterface's addItem JSDoc * docs: simplify `useCart` JSDoc * refactor: cleanup useCart types and JSDoc * docs: simplify `useCart` composable docs * docs: update useCart JSDoc * refactor: replace imports with `import type` Co-authored-by: Marcin Kwiatkowski <[email protected]> * docs: add API methods to sidebar Co-authored-by: Marcin Kwiatkowski <[email protected]> * chore: removed cache-control settings from product and category page (#836) * feat!: make `loading` and `error` properties readonly in the `useWishlist` composable (#843) * feat!: make `loading` property readonly in the `useConfig` composable (#846) * refactor!: rename UseConfig to UseConfigInterface * refactor: make UseConfigInterface a typescript interface * feat!: make loading `useConfig#loading` readonly * docs: add useConfig composable JSDoc * docs: add storeConfig API JSDoc Co-authored-by: Marcin Kwiatkowski <[email protected]> * feat!: make `error` and `loading` properties readonly on `useCountrySearch` composable (#847) * feat: create `UseCountrySearchInterface` * feat!: readonly properties on useCountrySearch BREAKING CHANGE: `loading` and `error` properties from the `UseCountrySearchInterface` are now readonly * docs: add `useCountrySearch` JSDoc * docs: add country and countries API JSDoc Co-authored-by: Marcin Kwiatkowski <[email protected]> * feat!: make `loading` and `error` readonly in useExternalCheckout composable (#856) * docs: add useExternalCheckout JSDoc * feat!: make `loading` and `error` readonly BREAKING CHANGE: useExternalCheckout `loading` and `error` properties are now readonly Co-authored-by: Marcin Kwiatkowski <[email protected]> * refactor: refactored useCurrency `load` and `change` methods (#857) * refactor: removed unnecessary loading changes from useCurrency.change method * refactor: updated useCurrency.load method to use correct customQuery params * Update packages/theme/composables/useCurrency/index.ts Co-authored-by: Vitor L Cavalcanti <[email protected]> * Update packages/theme/composables/useCurrency/index.ts Co-authored-by: Vitor L Cavalcanti <[email protected]> Co-authored-by: Vitor L Cavalcanti <[email protected]> * feat!: make `useForgotPassword` properties readonly (#860) * docs: add JSDoc to API client's `resetPassword` * docs: add JSDoc to `requestPasswordResetEmail` * docs: add `useForgotPassword` JSDoc * feat!: make `useForgotPassword` properties readonly BREAKING CHANGE: `error`, `loading` and `result` properties are now readonly on the `UseForgotPasswordInterface` type returned by `useForgotPassword` * refactor: remove category getters call from app header (#853) * refactor: remove category getters call from app header M2-415 * refactor: remove category getters call from app header - apply suggestions from code review Co-authored-by: Artur Tagisow <[email protected]> Co-authored-by: Artur Tagisow <[email protected]> * feat!: make `error` and `loading` properties readonly on `useCurrency` composable (#864) * chore: convert useCurrency to function declaration * feat!: rename UseCurrency interface to UseCurrencyInterface * feat: define types for useCurrency methods' params * feat: named export useCurrency and its types * docs: add docs for useCurrency composable * docs: add docs for currency API Method * chore: convert currency API method to function declaration * chore: rollback a type change in load method's params * feat!: make error and loading readonly in useCurrency * fix: remove unused cacheControl in category and product pages * docs: improve TSDocs descriptions for useCurrency types' properties * refactor: search results (#867) - remove category results from search results M2-418 * chore: include e2e tsconfig for ts-eslint (#869) M2-237 * refactor: store config query (#862) * refactor: store config query - move loading of the store config to the plugin - docs: add store config usage docs - remove usage of storeGetters and storeConfigGetters M2-414 * Apply suggestions from code review Co-authored-by: Artur Tagisow <[email protected]> Co-authored-by: Artur Tagisow <[email protected]> * perf!: load whole user object only when necessary (#859) * perf!: load full user data only when necessary login no longer loads the customer store register no longer loads the customer store * fix: myaccount crash when wishlist empty * perf: run speedcurve tests after deployment * fix: fix wrong ref path and use speedcurve action 1.2.2 * ci: github tokens don't launch deployment_status events I wanted to create a workflow that runs after a deployment is reported as successful through the chrnorm/deployment-action But turns out that—if you use the default github.token—workflows can't trigger other workflows. The token in the secret is *my* personal access token with *just* the repo_deployment scope (I don't know if it'll work yet) See https://github.com/chrnorm/deployment-action/issues/7 * ci: fix speedcurve workflow condition false negative see https://github.com/vuestorefront/magento2/actions/runs/2188091619 - this shouldn't happen i looked through the events sent by github's webhooks and indeed the path should be deployment, not deployment_status * ci: fix empty speedcurve note * feat!: make `error` and `loading` properties readonly on `useUserAddress` composable (M2-401) (#885) * feat!: make `error` and `loading` properties readonly in the `useGetShippingMethods` composable (#874) * docs: add getAvailableCustomerShippingMethods docs * docs: add `useGetShippingMethods` composable JSDoc * feat!: make `useGetShippingMethods` properties readonly BREAKING CHANGE: `error` and `loading` properties from `useGetShippingMethods` composable are made readonly Co-authored-by: Marcin Kwiatkowski <[email protected]> * feat!: make `error` and `loading` properties readonly in `useGuestUser` composable (#875) * docs: add `setGuestEmailOnCart` JSDoc * docs: add JSDoc to `useGuestUser` composable * feat!: make properties readonly on `useGuestUser` BREAKING CHANGE: make `error` and `loading` properties of `useGuestUser` composable readonly Co-authored-by: Marcin Kwiatkowski <[email protected]> * refactor: remove category getters (#886) M2-445 * docs: add `useImage` composable JSDoc (#876) Co-authored-by: Marcin Kwiatkowski <[email protected]> * feat!: make `error` and `loading` properties readonly on `useFacet` composable (#877) * chore: rename FacetSearchResult generic type param * feat!: rename UseFacet interface to UseFacetInterface * feat!: make error, result and loading properties readonly on useFacet * feat: use type inference and remove unused object on useFacet * feat!: make result mutable again on useFacet * feat!: rename FacetSearchResult to UseFacetSearchResult * feat: export useFacet types and SearchData * chore: fix formatting issues on useFacet * docs: add TSDocs for useFacet and its types * docs: add docs to products API method * chore: convert useFacet and its module functions to function declarations * docs: list useFacet and products API method in docs menu * docs: fix copypaste in useFacet description Co-authored-by: Marcin Kwiatkowski <[email protected]> * ci: improve speedcurve note readability if you go to https://app.speedcurve.com/vsf/favorite/?cs=md&d=31&db=856943&dc=2&de=1&df=%7B%7D&ds=1 you'll see that the notes for each data point on the graph are very long and obscure the actual graphs this commit was made to resolve that readability problem I removed the gh actions link (links in speedcurve notes aren't clickable) and shortened the github sha, as the default one is way too long * feat!: make `error` and `loading` properties readonly on `useUser` composable (#887) * feat!: make `error` and `loading` properties readonly on `useUser` composable (M2-400) * chore: fix build * feat!: make `error` and `loading` properties readonly on `useUpsellProducts` composable (#894) * refactor: make everything in catalog module use TypeScript (#872) * chore: force lang="ts" in vue script blocks * refactor: add lang="ts" to leftover catalog components * chore: eslint errors chore: fix eslint error chore: eslint; don't destructure props (reactivity loss) * chore: move spec file to .ts also some eslint chore: move spec file to .ts chore: move .spec file to ts chore: move spec file to js + eslint * chore: move catalog index file to .ts chore: type catalog module root * refactor: remove any from buildCategoryTree refactor: improve category store typing * refactor: add prop types to CategoryNavbar.vue * chore: remove unnecessary component names * refactor: typedef any params * refactor: move desktop category filters from SfSidebar to the main layout column (#884) refactor: change removable filters behavior - removable filters will be now updated only on the explict filter selection action - actions are now sticky so it will be easier to apply filters refactor: fix CR issues M2-425 * feat!: make `error` and `loading` properties readonly on `useMakeOrder` composable (#878) * fix: add context type to placeOrderCommand and fix it * chore: convert useMakeOrder to function declaration * chore: remove unused gql import in placeOrder API method * chore: convert placeOrder to function declaration * docs: write docs for placeOrder API method * feat: add UseMakeOrderInterface and export it with the composable * feat!: make error and loading properties readonly on useMakeOrder * docs: add docs for useMakeOrder and its types * chore: receive context.app as arg in useMakeOrder command * fix: rollback useMakeOrder command argument to context Co-authored-by: Marcin Kwiatkowski <[email protected]> * feat: show category title below breadcrumbs (#892) M2-427 * refactor: helpers in catalog module - get rid of buildCategoryTree helper and CategoryTreeInterface - split helpers into meaningfull files - add UT for all helpers M2-444 * feat!: make `error` and `loading` properties readonly on `usePaymentProvider` composable (#881) * feat!: rename SetPaymentMethodOnCartInputs to PaymentMethodParams and simplify it * chore: move PaymentMethodParams to its own module * feat: define types for usePaymentProvider composable * fix: usePaymentProvider commands should use context.app and return an array * feat!: make error and loading properties readonly on usePaymentProvider * chore: convert usePaymentProvider to function declaration * docs: write docs for usePaymentProvider * docs: write docs for getAvailablePaymentMethods * chore: convert getAvailablePaymentMethods to function declaration * docs: write docs for setPaymentMethodOnCart * chore: convert setPaymentMethodOnCart to function declaration * docs: fix typo on usePaymentProvider docs * chore: use 'import type' in getAvailablePaymentMethods Co-authored-by: Bartosz Herba <[email protected]> * chore: use 'import type' in setPaymentMethodOnCart Co-authored-by: Bartosz Herba <[email protected]> * fix: use context.app instead of context in usePaymentProvider commands * fix: rollback usePaymentProvider commands arguments to context Co-authored-by: Bartosz Herba <[email protected]> * feat!: make `error` and `loading` properties readonly on `useNewsletter` composable (#879) * feat!: rename UseNewsletter to UseNewsletterInterface * fix: fix error and loading types in useNewsletter * feat!: make error and loading properties readonly on useNewsletter * feat: add UseNewsletterUpdateSubscriptionParams type * chore: convert useNewsletter to function declaration * docs: write docs for useNewsletter * feat: export useNewsletter and its types in ~/composables * feat: use a real enum in SubscriptionStatusesEnum * chore: convert subscribeEmailToNewsletter to function declaration * docs: write docs for subscribeEmailToNewsletter * feat: remove repeated SubscriptionStatusesEnum * chore: use 'import type' on subscribeEmailToNewsletter Co-authored-by: Bartosz Herba <[email protected]> * feat: define types for updateSubscriptionCommand * fix: rollback useNewsletter command argument to context Co-authored-by: Bartosz Herba <[email protected]> Co-authored-by: Marcin Kwiatkowski <[email protected]> * docs: `useUpsellProducts` composable (M2-398) (#902) * docs: `useUiNotification` composable (M2-397) (#904) * feat!: make `error` and `loading` properties readonly on `useStore` composble (#905) * feat!: make `error` and `loading` properties readonly on `useStore` composable * docs: add description to the api Co-authored-by: Marcin Kwiatkowski <[email protected]> * fix: password reset issue (#909) - update button type to properly trigger form submit action M2-499 * docs: remove API methods from sidebar (#919) * feat!: make `error` and `loading` properties readonly on `useReview` composable (M2-392) (#906) Co-authored-by: Marcin Kwiatkowski <[email protected]> * fix: wishlist sidebar (#918) - fix issue with refreshig sidebar wishlist - fix issue with wishlist sidebar transition - fix issue with cart sidebar transition M2-539 * feat!: refactor `useProduct` composable `error` and make its refs readonly (#889) * feat: define types and use context.app on useProduct commands * feat: define types for useProduct * feat!: remove GetProductSearchParams repeated declaration on useProduct * feat!: make error and loading properties readonly on useProduct * chore: convert useProduct to function declaration * docs: write docs for useProduct * feat!: set useProduct's method names as its error properties * docs: write docs for productDetail API method * fix: import GetProductSearchParams from ~/composables/types * fix: rollback useProduct commands argument to context * fix: fixed build issues Co-authored-by: Marcin Kwiatkowski <[email protected]> * feat: Home Page - Changed products carousel to products section (#914) Co-authored-by: Alexander Devitsky <[email protected]> * build: fixed build errors and warnings (#920) * feat!: make `error` and `loading` properties readonly on `useRelatedProducts` composable (#916) * chore: convert useRelatedProducts to function * feat: create UseRelatedProductsSearchParams type * feat!: rename RelatedProducts to RelatedProduct for useRelatedProducts * feat: export useRelatedProducts types in '~/composables' * docs: write docs for useRelatedProducts * docs: write docs for relatedProducts * chore: convert relatedProduct to function declaration * feat!: make error and loading properties readonly on useRelatedProducts * feat!: rename UseRelatedProductsError to UseRelatedProductsErrors * feat!: make `error` and `loading` properties readonly on `useShipping` composable (#921) * feat!: refactor useShipping types * feat!: make error and loading properties readonly on useShipping * docs: write useShipping docs * docs: write TSDocs for setShippingAddressesOnCart * docs: fix typo on resetPassword TSDocs * chore: convert setShippingAddressesOnCart to function declaration * feat: export useShipping types on ~/composables * feat!: make `error` and `loading` properties readonly on `useShippingProvider` composable (#922) * feat!: make error and loading readonly on useShippingProvider * feat: add UseShippingProviderSaveParams type * feat!: remove unused types from useShippingProvider * feat: add UseShippingProviderLoadParams type * feat: export useShippingProvider types on ~/composables * feat: define types for useShippingProvider command * docs: write the docs for useShippingProvider composable * docs: write docs for setShippingMethodsOnCart * chore: convert setShippingMethodsOnCart to function declaration * chore: use 'import type' statements Co-authored-by: Marcin Kwiatkowski <[email protected]> * feat: define types and write docs for `useUiHelpers` composable (#923) * chore: convert top-level arrows to function declarations on useUiHelpers * feat: define types for reduceFilters * docs: write docs for useUiHelpers params interfaces and group them * feat: define UseUiHelpersInterface type and export it * docs: write the docs for useUiHelpers composable * feat: export useUiHelpers as named too * fix: replace broken params type in useUiHelpers * docs: fix broken reference in changeSearchTerm method * feat!: standardize `useMagentoConfiguration` composable (#924) * feat!: move useMagentoConfiguration to its own folder * feat!: refactor useMagentoConfiguration types * docs: write docs for useMagentoConfiguration * chore: convert useMagentoConfiguration to function declaration and format * feat: export useMagentoConfiguration and its types from ~/composables * docs: fix copypasted description * feat!: standardize `useUrlResolver` composable and make its properties readonly (#925) * feat!: move useUrlResolver to its own folder * feat: define types for useUrlResolver composable * feat!: make error and loading properties readonly on useUrlResolver * chore: convert useUrlResolver to function declaration * docs: write docs for urlResolver API method * docs: write the docs for useUrlResolver * feat: export useUrlResolver and its types from ~/composables * chore: convert urlResolver to function declaration and format it * docs: fix order of useUrlResolver in the composables menu * refactor: components for product list/grid M2-447 refactor: split product list and grid components refactor: move common props to composition function fix: paths fix: don't show empty when isShowProducts = false fix: don't set width on skeletons fix: wishlist icons appearing when not supposed to fix: can't add to cart in grid view refactor: squash this * test: add global vue/nuxt mocks for unit tests * feat: Homepage - Lazy load offscreen components (#915) Co-authored-by: Alexander Devitsky <[email protected]> * fix: make color swatch visible on mobile (#926) M2-456 * fix: product wrong swipe icon direction (#927) M2-513 * feat: homepage - changed slider to hero section (#928) Co-authored-by: Alexander Devitsky <[email protected]> * feat: Added preconnect link to site head for cloudinary (#929) Co-authored-by: Alexander Devitsky <[email protected]> * fix: product tab click should scroll to tab content (#931) M2-514 before this commit, the behavior would scroll in a way that'd make the tab's contents be cut off in the middle, rather than shown fully I suspect this was happening because the process is like this: 1. tabs container has description open (default state) 2. click another tab (eg. "Read reviews" tab) 3. the tab container's DOM size did not update yet, but scrollIntoView({ block: "end" }) is called 4. the tab opens, but the view is scrolled to the end of the OLD size of the tab block (when reviews was open) You could probably do some Vue.$nextTick magic here but it's easier to just scroll to top * fix: various categoryTree bugs (#932) * refactor: improve findActiveCategory typedefs * fix: useTraverseCategory uses wrong findBy property M2-552 * fix: looking for "gear/bags" shouldn't match "gear" M2-552 * fix: mobile cat sidebar hide menu items that Magento wants hidden * feat: header categories (#903) * feat: header categories - add multilevel categories navigation - add unit tests for new components - upgrade @testing-library/user-event @13.5 -> @14.1.1 M2-424 * refactor: fix CR issues * fix: prevent content jump when variant is selected on PDP M2-365 * fix: resolve CR issues * feat: write docs and export useApi and its type from ~/composables (#930) * refactor: move products related code to the module spaces * refactor: customer module (#937) * refactor: move remaining composables to the category module M2-555 * refactor: use localeroute instead of string path (#940) * test: CategoryEmptyResults component (#934) * refactor: create wishlist module M2-507 * feat: add skeleton loaders in category navbar M2-450 * refactor: move checkout related scripts to the module space - create checkout module - move composables to the checkout module - move getters to the checkout module * docs: update vuepress and fix error during a build (#954) * fix: add missing error state for coupon code M2-559 refactored the whole component logic as it was too magical with the watch() * refactor: category page - move breadcrumbs logic to the breadcrumbs component - rework useFacet composable M2-430 * fix: invalid prices on grouped and configurable product - fix issue with initial grouped product price resolving - add configurable product price calculation M2-361 * feat: replaced images from cdn.shopify by images from cloudinary * refactor: using sf-image component to render cloudinary images * docs: update `useAddresses` API reference (M2-553) (#935) * fix: filter by category issue - rework category filter resolving to always include root category id M2-570 * perf: make mobile store banner lazy loaded on PDP M2-521 * perf: make related and upsell products lazy loaded when visible M2-517 * perf: make PDP instagram feed section loaded when visible M2-520 * perf: make read reviews loaded on request - change loading revies behavior, now will be loaden on explicit action M2-519 * perf: prevent loading all main images on the mobile PDP gallery M2-578 * fix: remove unwanted authorization errors in the console - mute all graphql-authorization errors to avoid unwanted authorization errors in console M2-542 * refactor: move myaccount to subroutes (#991) * fix: sfcontentpages style missing on myaccount develop * test: category-breadcrumbs component * refactor: category-breadcrumbs test refactoring * fix: entities on filters are not displayed properly M2-574 * feat: updated order details totals section styling * refactor: revert the previous logic for the order number * fix: fixed errors during wishlist loading * feat: show configurable option values in order history M2-510 * feat: more order details in order history single order view M2-509 * docs: add Asciinema component * docs: refactor Creating a Store docs * docs: add more sections to Creating a Store * docs: update the 'Configuring Magento' and 'Configuring Vue Storefront' documents * docs: remove unused images * docs: update code example * docs: improve landing page * docs: remove Asciinema recordings * docs: update installation guide based on PR feedback * docs: fix typos in installation guides * docs: update composables docs * docs: update composable docs * docs: update composable navigation * fix: update type of the property * Revert "fix: update type of the property" This reverts commit 6158da3b7ad3fc11b7615b22ded9284f0619cf49. * fix: wrong warning announcement on modal window to login M2-563 * chore: fix ~240 eslint errors/warnings (#1005) * chore: use order.number instead of deprecated order.order_number (#1000) * fix: empty wishlist implementation * refactor: improve typing of vue-outside-click * refactor: fix eslint errors in cypress entrypoint * chore: split cypress classes into 4 separate files * chore: disable eslint rules that don't work well in cypress * refactor: safely spread nullish coalescing * chore: fix import order * refactor: handle nullish coalescing case * chore: do not use module * chore: remove useless async * chore: explicitly add bodyParser dependencies * refactor: add integration properties types * chore: remove unused cacheControl.js * refactor: integrationPlugin types fix * chore: fix unsafe arguments * chore: disable prefer-module for pm2 * refactor: add specific type for htmlDecoder * refactor: improve asyncLocalStorage typing * fix: coupon code invalid error message - rework coupon code component to handle GraphQL errors M2-559 * fix: category page - equal mount of product for a row M2-585 * chore: fix all remaining eslint errors (#1010) * test: categorynavbar component * refactor: move stores to related modules * feat: add skeleton loaders/loading statue for addressedit and addressesdetails M2-576 feat: add addressesdetails skeleton loader feat: add address edit form loading state The types here aren't very good - see M2-591 add button skeletons * refactor: remove useless order getters (#1016) * refactor: remove useless order getters refactor: remove getItems aswell * chore: set getPagination type * refactor: pr fixes * chore: implement overlooked additional tasks (#1023) * chore: remove returns tab from order history * chore: remove list view from my wishlist view M2-549 chore: remove unused uiState * chore: remove product counts from my wishlist M2-549 This looks funny without the grid/list buttons * fix: prevent SfSidebar disableBodyScroll triggering on desktop M2-571 See https://github.com/vuestorefront/storefront-ui/pull/619 * refactor: create renderers for each product type - split root product page into a separate components - move styles to shared file - reduce the amount of unused code in different component types - add useGallery composable - add useProductTabs composable - add canAddToCart method on useCart composable * fix: useProductGallery reactivity * refactor: improve TopBar typing * perf: remove top bar layout shift M2-611 * fix: add html content purify for the selected filters M2-574 * chore: fix .vue eslint errors M2-327 * refactor: remove eslint errors from ResetPassword.vue * refactor: fix eslint errors in Page.vue * fix: detect "this." types in vue-meta head() See https://github.com/nuxt/typescript/issues/426 * chore: fix all remaining .vue lang="ts" errors (#1043) * fix: fetch new orders on each orders history visit M2-600 * fix: move order information from table to a separate section * test: added tests for cmscontent component * fix: fixed order summary styles * chore: updated graphql-request (#1058) * fix: issue with displaying product price od PDP and PLP M2-573 * fix: issue with displaying product price od PDP and PLP - CR issue resolve * chore: align develop branch with the main branch after rc.7 release (#1054) * Fix useFacet(...) customQuery implemention (#413) * chore: release 1.0.0-rc.5.3 (#437) * chore: add gitflow actions (#379) * chore: added base gitflow actions * chore: added base gitflow actions * chore: fixed versioning process * docs: added roadmap to the docs (#380) closes #323 * fix(theme): refactor and fix store switcher (#383) - update nuxt.config.js to handle de translation - fix issue with flag icon #362 - refactor store switcher component - add store name next to the language icon flag - add translation info in docs Co-authored-by: Bartosz Herba <[email protected]> * fix(theme): fix preselection sort order when query param is available (#385) Co-authored-by: Bartosz Herba <[email protected]> * fix: broken cart after placing order as guest (#386) * fix(theme): passing the email instead of the user-object for creating a guest-cart * fix(composables): remove empty params in array, fails on Magento * test(theme): updated test for attaching guest email address to cart * Update packages/composables/src/composables/useShipping/index.ts Co-authored-by: Heitor Ramon Ribeiro <[email protected]> Co-authored-by: Marcin Kwiatkowski <[email protected]> Co-authored-by: Heitor Ramon Ribeiro <[email protected]> * fix(theme): fix flashing category page (#387) Co-authored-by: Bartosz Herba <[email protected]> * fix(theme): fix flashing category page (#388) Co-authored-by: Bartosz Herba <[email protected]> * fix: default billing information does not appear on address (#382) * fix(theme): added badge for default-shipping and default-sbilling address * fix(composables): sort addresses, put default shipping and billing address to top * fix(theme): default billing and shipping text can be translated * chore(theme): added translations * fix(composables): removed console.log * chore: upgraded vsf core to 2.5.4 (#389) * chore: updated VSF core version to 2.5.4 * build: updated test GH action * fix(composables): update url resolver clearing patter to remove locale prefix (#390) Co-authored-by: Bartosz Herba <[email protected]> * fix(theme): fix links to catch current locale (#391) * fix(theme): M2-25 fix links to catch current locale * Apply suggestions from code review Co-authored-by: Heitor Ramon Ribeiro <[email protected]> * test(test-utils): added localePath global mock to the test-utils Co-authored-by: Bartosz Herba <[email protected]> Co-authored-by: Heitor Ramon Ribeiro <[email protected]> Co-authored-by: Marcin Kwiatkowski <[email protected]> * style(theme): aligned titles in my account menu (#400) * feat(middleware): added i18n route middleware (#408) * feat(middleware): added i18n route middleware closes #378 * refactor(middleware): i18n middleware: adjustements * fix(theme): update localisation for all :link bindings (#416) Co-authored-by: Bartosz Herba <[email protected]> * docs(theme): update custom queries documentation to be more friendly and explicit (#418) Co-authored-by: Bartosz Herba <[email protected]> * chore(theme): removed html-validator (#414) * refactor: update dependencies (#420) * refactor(eslint): updated dependencies - Updated `eslint-plugin-unicorn` to `40.0.0` * refactor(eslint-import): updated dependencies - Updated `eslint-plugin-import` to `2.25.4` * refactor(eslint-jest): updated dependencies - Updated `eslint-plugin-jest` to `25.3.4` * refactor(eslint-typescript): updated dependencies - Updated `@typescript-eslint/eslint-plugin` to `5.9.1` - Updated `@typescript-eslint/parser` to `5.9.1` * refactor(eslint-vue): updated dependencies - Updated `eslint-plugin-vue` to `8.3.0` * refactor(api-client): updated dependencies - Updated `@apollo/client` to `3.5.7` - Updated `dotenv` to `12.0.1` * refactor(theme): updated dependencies - Updated `@babel/core` to `7.16.7` - Updated `babel-jest` to `27.4.6` - Updated `cypress` to `9.2.1` - Updated `dotenv` to `12.0.1` - Updated `jest` to `27.4.7` - Updated `jest-environment-jsdom` to `27.4.6` - Updated `lint-staged` to `12.1.7` - Updated `mocha` to `9.1.4` - Updated `npm-check-updates` to `12.1.0` - Updated `ts-jest` to `27.1.3` * refactor: updated dependencies - Updated `@babel/core` to `7.16.7` - Updated `@babel/plugin-proposal-private-methods` to `7.16.7` - Updated `@commitlint/cli` to `16.0.2` - Updated `@commitlint/config-conventional` to `16.0.0` - Updated `@commitlint/config-lerna-scopes` to `16.0.0` - Updated `@graphql-codegen/cli` to `2.3.1` - Updated `@graphql-codegen/typescript` to `2.4.2` - Updated `@graphql-codegen/typescript-operations` to `2.2.2` - Updated `@graphql-tools/utils` to `8.6.1` - Updated `@rollup/plugin-node-resolve` to `13.1.3` - Updated `@types/jest` to `27.4.0` - Updated `@types/node` to `17.0.8` - Updated `@typescript-eslint/parser` to `5.9.1` - Updated `@vue/eslint-config-typescript` to `10.0.0` - Updated `eslin` to `8.6.0` - Updated `jest` to `27.4.7` - Updated `lint-staged` to `12.1.7` - Updated `npm-check-updates` to `12.1.0` - Updated `rollup` to `2.64.0` - Updated `shx` to `0.3.4` - Updated `ts-jest` to `27.1.3``` * refactor(theme): enables currency switcher on TopBar.vue (#421) * fix(theme): fix 404 issue when redirecting to address details page (#424) Co-authored-by: Bartosz Herba <[email protected]> * test: scaffold unit tests in composables and api client package (#419) * test(composables): added jest config * tests(composables): rewritten test + fix in productGetter * tests(composables): updated configuration in jest.config.js * tests(api-client): added tests for api-client + move general config to jest.base.config.js * tests(api-client): added jest configuration + simple test * chore: removed jest-environment-jsdom-sixteen * tests(theme): reverted back and removed jest.base.config.json * test(composables): reverted back and removed jest.base.config.json * test(api-client): reverted back and removed jest.base.config.json * chore: removed jest.base.config.json Co-authored-by: Marcin Kwiatkowski <[email protected]> * fix(theme): fix disappearing category sidebar filter change (#423) Co-authored-by: Bartosz Herba <[email protected]> * fix(theme): out of stock product will no longer break cart (#404) * fix(theme): out of stock product will no longer break cart * fix(theme): remove cart load from layout * docs(theme): update tests for CartSidebar Co-authored-by: Bartosz Herba <[email protected]> * Revert "refactor(theme): enables currency switcher on TopBar.vue (#421)" (#426) This reverts commit fbb1598ae7d78ebe3319e0d9d3c1a8dacc2de402. * refactor(i18n): changed i18n middleware to plugin and fix store switc… (#425) * refactor(i18n): changed i18n middleware to plugin and fix store switcher by url issues * refactor: cR fixes for i18n * refactor(theme): changed i18n midl. to plugin & fix store switcher by url (#431) * refactor(i18n): changed i18n middleware to plugin and fix store switcher by url issues * refactor: cR fixes for i18n * refactor(composables): added `ConfigState` to export API * chore: updated yarn.lock * refactor(theme): updated i18n middleware to fix URL redirect * docs: updated API-Extractor Co-authored-by: Marcin Kwiatkowski <[email protected]> * fix(api-client): update default mutation error handling for apollo client (#429) Co-authored-by: Bartosz Herba <[email protected]> * fix: expired user token (#392) * fix(theme): disabled checkbox on login-modal * feat(theme): log customer out when customer-token is expired * feat: added token expired notification, clear cart and customer token when customer is not logged in * feat: logged out notification * refactor: removed console log * refactor: added improvements for token-expired plugin, added unit tests * refactor: changed log out notification message * test: fixed token-expired plugin test * test: added cookies mock to test-utils Co-authored-by: Marcin Kwiatkowski <[email protected]> * refactor(theme): enable the currency switcher on `TopBar.vue` (#430) * refactor(theme): enables currency switcher on TopBar.vue * refactor(theme): add safe checking on Currency Selector * Fix useFacet(...) customQuery implemention (#413) * chore: updated version number to rc.5.3, updated yarn.lock, fixed cloud action * fix(theme): update localisation for all :link bindings (#449) Co-authored-by: Bartosz Herba <[email protected]> Co-authored-by: Heitor Ramon Ribeiro <[email protected]> Co-authored-by: Bartosz Herba <[email protected]> Co-authored-by: Bartosz Herba <[email protected]> Co-authored-by: Kevin Gorjan <[email protected]> Co-authored-by: Aliaaaam <[email protected]> * chore: release/1.0.0-rc.5.4 (#530) * chore: add gitflow actions (#379) * chore: added base gitflow actions * chore: added base gitflow actions * chore: fixed versioning process * docs: added roadmap to the docs (#380) closes #323 * fix(theme): refactor and fix store switcher (#383) - update nuxt.config.js to handle de translation - fix issue with flag icon #362 - refactor store switcher component - add store name next to the language icon flag - add translation info in docs Co-authored-by: Bartosz Herba <[email protected]> * fix(theme): fix preselection sort order when query param is available (#385) Co-authored-by: Bartosz Herba <[email protected]> * fix: broken cart after placing order as guest (#386) * fix(theme): passing the email instead of the user-object for creating a guest-cart * fix(composables): remove empty params in array, fails on Magento * test(theme): updated test for attaching guest email address to cart * Update packages/composables/src/composables/useShipping/index.ts Co-authored-by: Heitor Ramon Ribeiro <[email protected]> Co-authored-by: Marcin Kwiatkowski <[email protected]> Co-authored-by: Heitor Ramon Ribeiro <[email protected]> * fix(theme): fix flashing category page (#387) Co-authored-by: Bartosz Herba <[email protected]> * fix(theme): fix flashing category page (#388) Co-authored-by: Bartosz Herba <[email protected]> * fix: default billing information does not appear on address (#382) * fix(theme): added badge for default-shipping and default-sbilling address * fix(composables): sort addresses, put default shipping and billing address to top * fix(theme): default billing and shipping text can be translated * chore(theme): added translations * fix(composables): removed console.log * chore: upgraded vsf core to 2.5.4 (#389) * chore: updated VSF core version to 2.5.4 * build: updated test GH action * fix(composables): update url resolver clearing patter to remove locale prefix (#390) Co-authored-by: Bartosz Herba <[email protected]> * fix(theme): fix links to catch current locale (#391) * fix(theme): M2-25 fix links to catch current locale * Apply suggestions from code review Co-authored-by: Heitor Ramon Ribeiro <[email protected]> * test(test-utils): added localePath global mock to the test-utils Co-authored-by: Bartosz Herba <[email protected]> Co-authored-by: Heitor Ramon Ribeiro <[email protected]> Co-authored-by: Marcin Kwiatkowski <[email protected]> * style(theme): aligned titles in my account menu (#400) * feat(middleware): added i18n route middleware (#408) * feat(middleware): added i18n route middleware closes #378 * refactor(middleware): i18n middleware: adjustements * fix(theme): update localisation for all :link bindings (#416) Co-authored-by: Bartosz Herba <[email protected]> * docs(theme): update custom queries documentation to be more friendly and explicit (#418) Co-authored-by: Bartosz Herba <[email protected]> * chore(theme): removed html-validator (#414) * refactor: update dependencies (#420) * refactor(eslint): updated dependencies - Updated `eslint-plugin-unicorn` to `40.0.0` * refactor(eslint-import): updated dependencies - Updated `eslint-plugin-import` to `2.25.4` * refactor(eslint-jest): updated dependencies - Updated `eslint-plugin-jest` to `25.3.4` * refactor(eslint-typescript): updated dependencies - Updated `@typescript-eslint/eslint-plugin` to `5.9.1` - Updated `@typescript-eslint/parser` to `5.9.1` * refactor(eslint-vue): updated dependencies - Updated `eslint-plugin-vue` to `8.3.0` * refactor(api-client): updated dependencies - Updated `@apollo/client` to `3.5.7` - Updated `dotenv` to `12.0.1` * refactor(theme): updated dependencies - Updated `@babel/core` to `7.16.7` - Updated `babel-jest` to `27.4.6` - Updated `cypress` to `9.2.1` - Updated `dotenv` to `12.0.1` - Updated `jest` to `27.4.7` - Updated `jest-environment-jsdom` to `27.4.6` - Updated `lint-staged` to `12.1.7` - Updated `mocha` to `9.1.4` - Updated `npm-check-updates` to `12.1.0` - Updated `ts-jest` to `27.1.3` * refactor: updated dependencies - Updated `@babel/core` to `7.16.7` - Updated `@babel/plugin-proposal-private-methods` to `7.16.7` - Updated `@commitlint/cli` to `16.0.2` - Updated `@commitlint/config-conventional` to `16.0.0` - Updated `@commitlint/config-lerna-scopes` to `16.0.0` - Updated `@graphql-codegen/cli` to `2.3.1` - Updated `@graphql-codegen/typescript` to `2.4.2` - Updated `@graphql-codegen/typescript-operations` to `2.2.2` - Updated `@graphql-tools/utils` to `8.6.1` - Updated `@rollup/plugin-node-resolve` to `13.1.3` - Updated `@types/jest` to `27.4.0` - Updated `@types/node` to `17.0.8` - Updated `@typescript-eslint/parser` to `5.9.1` - Updated `@vue/eslint-config-typescript` to `10.0.0` - Updated `eslin` to `8.6.0` - Updated `jest` to `27.4.7` - Updated `lint-staged` to `12.1.7` - Updated `npm-check-updates` to `12.1.0` - Updated `rollup` to `2.64.0` - Updated `shx` to `0.3.4` - Updated `ts-jest` to `27.1.3``` * refactor(theme): enables currency switcher on TopBar.vue (#421) * fix(theme): fix 404 issue when redirecting to address details page (#424) Co-authored-by: Bartosz Herba <[email protected]> * test: scaffold unit tests in composables and api client package (#419) * test(composables): added jest config * tests(composables): rewritten test + fix in productGetter * tests(composables): updated configuration in jest.config.js * tests(api-client): added tests for api-client + move general config to jest.base.config.js * tests(api-client): added jest configuration + simple test * chore: removed jest-environment-jsdom-sixteen * tests(theme): reverted back and removed jest.base.config.json * test(composables): reverted back and removed jest.base.config.json * test(api-client): reverted back and removed jest.base.config.json * chore: removed jest.base.config.json Co-authored-by: Marcin Kwiatkowski <[email protected]> * fix(theme): fix disappearing category sidebar filter change (#423) Co-authored-by: Bartosz Herba <[email protected]> * fix(theme): out of stock product will no longer break cart (#404) * fix(theme): out of stock product will no longer break cart * fix(theme): remove cart load from layout * docs(theme): update tests for CartSidebar Co-authored-by: Bartosz Herba <[email protected]> * Revert "refactor(theme): enables currency switcher on TopBar.vue (#421)" (#426) This reverts commit fbb1598ae7d78ebe3319e0d9d3c1a8dacc2de402. * refactor(i18n): changed i18n middleware to plugin and fix store switc… (#425) * refactor(i18n): changed i18n middleware to plugin and fix store switcher by url issues * refactor: cR fixes for i18n * refactor(theme): changed i18n midl. to plugin & fix store switcher by url (#431) * refactor(i18n): changed i18n middleware to plugin and fix store switcher by url issues * refactor: cR fixes for i18n * refactor(composables): added `ConfigState` to export API * chore: updated yarn.lock * refactor(theme): updated i18n middleware to fix URL redirect * docs: updated API-Extractor Co-authored-by: Marcin Kwiatkowski <[email protected]> * fix(api-client): update default mutation error handling for apollo client (#429) Co-authored-by: Bartosz Herba <[email protected]> * fix: expired user token (#392) * fix(theme): disabled checkbox on login-modal * feat(theme): log customer out when customer-token is expired * feat: added token expired notification, clear cart and customer token when customer is not logged in * feat: logged out notification * refactor: removed console log * refactor: added improvements for token-expired plugin, added unit tests * refactor: changed log out notification message * test: fixed to…
I'm not going to fix the warnings since they're intentional about skipped tests and harmless orderGetters mismatches. I don't want to fix tests in an eslint task.
Don't forget to add GitHub action