-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[RFC] Cart Revamp #2522
Comments
I'm OK with this plan as we discussed it before :) |
Looks awesome and It's a really good plan! Please start first with an abstract overview of how every action should look like before doing actual implementation. We should also keep c ;) I don't agree with two points though:
Right now it's not DX friendly due to massive number of mutations happening on every action therefore Logger is more useful right now. I really like the examples from the article you sent tho but we need to keep in mind that mutations and actions will be merged in the future versions of Vuex. I suggest making use of action subscribing in Logger as the extension to vue devtools mutations time traveling but this is totally separate topic to discuss. Also thing that is really important is consistency in names and params of mutations/actions across different modules responsible for similar operations (like listing single product/category, reading/writing cache, receiving the data without mutating state etc). We should have dedicated helpers for such typical use cases and common name/param conventions so every Vuex module is similar on some level of abstraction Overally great job! I'm really looking forward to see first results! |
Some news on the Code Style/Rules. Because i would like to implement prettier. When you have information about it. I would be glad to implement it. |
@ResuBaka it's not done in 1.9 and there is only a slight chance that I will find enough time to discuss and do it in 1.10. |
I have made a small POC where i need some feedback of how the eslint settings should look like. One of the settings that could be changed is space-before-function-paren. This setting could be changed to ["warn", "never"] or ["error", "never"] as prettier removes all spaces between function name and the opening paren. |
@lukeromanowicz we need you in here I guess :) |
…inistic cart sync behaviors + refactor to async/await #2964
Partially done within https://github.com/DivanteLtd/vue-storefront/pull/2887/files:
|
Feature Name: Cart Revamp
Start Date: 2019-03-01
RFC PR: -
Summary:
Rewrite Cart to meet modern standards and good practices while keeping the backward compatibility.
With this module revamp we'd like to implement also some architectural and coding standards changes to keep the project feature-reach, tough flexible and easy to analyze.
Motivation
Because of the fast growth of Vue Storefront and adding multiple features over time, the core Cart module became extremely unmaintainable. It's not following many of basic standard, it is hard to test and finally, the code is hard both to read and unpredictable. It's a high time to redesign it and implement best practices which can be later spread across other modules.
Action plan:
Architecture changes
Code quality changes:
const
instead oflet
wherelet
is not necessaryCode style and dev environment
Please share your thoughts as every input is welcome and needed. Feel free to propose any changes that should be implemented in next-gen VSF modules. If you want to discuss the technical details regarding each point with a linked issue, please, post your thoughts in that issue instead of this topic to keep it clear. I'll update this RFC with conclusions as the discussion goes on.
The text was updated successfully, but these errors were encountered: