-
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
Optimization priorities [1.12rc1] #3949
Comments
@andrzejewsky @cewald @ResuBaka @gibkigonzo @haelbichalex @grimasod - please feel free to pick up some of these tasks as well as just share your comments/feedback/other ideas? We decided to have the 1.12rc1 just all about the performance optimization |
There is no doubt that these are highly needed changes and will be a great improvement to vue storefront but I can already see the hell of upgrading a customized projected to 1.12 :/ A comprehensive guide and preferably some migration accelerating tools would be welcomed. Personally I would add https://github.com/DivanteLtd/vue-storefront/issues/3819 as high priority to that list and it's something I will try to take care of. |
@lukeromanowicz cool - putting #3819 on the list; which tasks from the list you're afraid of regarding the upgrade path? I guess the |
Mainly I am afraid of:
It might be safe for some projects where no custom es structures/mappings/filters are done but in other scenarios, it's gonna be a pain |
@lukeromanowicz understandable, we'll try to minimize BC-breaks / use deprecates instead. @pkarw I think this one: #3919 should be on that list because it's also part of 1.12, maybe it's not optimization itself but there are changes in webpack that might also reduce a bundle sizes etc.. and I think that will be the first thing what we will be working on when it comes to 1.12rc1. |
You’re tight we need to be careful- I guess we should have - as awkward it sounds - config vars to enable this new behavior / or implement it as switchable modules / or at last have a upgrade docs with a notes how to get the prev. behavior up and running Anyway - I’m almost sure we can achieve 100% backward compatibility with the current Vuex actions. There will be a case - as you described - if anyone override any action we’ll affect during the optimization. There should be docs for that case But on the other hand I’ve got a feeling we can optimize VSF bundle size and page speed results at least by 30% without any major architecture changes (the listed changes are minor or medium impact changes still based on current general approach - Vuex etc) so I guess it’s worth doing? |
Removing the bodybuilder package should not be so hard as we can just send the contend of content of But a better way would be that we move that change to a new adapter package and then have a config on the API side to enable the |
Another idea for optimization: optimization: {
splitChunks: {
chunks: 'all'
}
}, |
@gibkigonzo we need to make sure that https://github.com/DivanteLtd/magento2-vsbridge-indexer and https://github.com/DivanteLtd/magento1-vsbridge-indexer are ready for #3948 - check it with @afirlejczyk please |
What is the motivation for adding / enhancing this feature?
I've just decided to put a short note on the priorities over-optimization tasks we've planned for 1.12rc1. Not all of them have the same impact - therefore the same priority:
High priority - high impact, no breaking changes, pretty obvious things to do
storefront-api
orvue-storefront-api
or both); potentially will save up to 500kb bundle size (bodybuilder package); it should be potentially a separate package as both:storefront-api
andvue-storefront-api
projects are using the sameSearchQuery
+SearchAdapter
interfacesdefault-optimized
theme based ondefault
#3963 - Create adefault-optimized
theme with limited feature set - related to Optimize the bundle size #2232 -> this theme is https://github.com/DivanteLtd/vsf-capybaragraphql
to by dynamically loaded +bodybuilder
to be removed are key priorities; remove unused importsrequest_cache
parameter support for Elastic storefront-api#33 - Addrequest_cache
forvue-storefront-api
orstorefront-api
callsMedium priority - lower, or unknown impact, potentially breaking changes or need analysis
attribute/list
call around the codebase #3948 - Remove theattribute/list
call and remove the usage ofattribute
metada dictionary on the frontend.translation.processor
#3950 - Optimize thetranslation.processor
to process only the language files that are in useproduct
vuex store #3952 - Simplify thecatalog
business logic - not sure if there will be a direct performance benefit from this simplification but it should be pretty ok to simplify the core codebase making it easier to maintain VSF - the other thing is that we should be very careful of the backward compatibility of this changeOther - other tasks, sometimes not 100% related to the performance ;)
setupBreadcrumbs
for the PDP #3951 - Optimize the waybreadcrumbs
are set - mostly for the PDP but probably for PLP as wellThe text was updated successfully, but these errors were encountered: