The First Vue.js Sprint — Summary

Damian Dulisz
The Vue Point
Published in
7 min readAug 15, 2018

Vue.js Sprint is a new initiative that aims to physically bring together members of the Vue team to work on core projects for at least several days.

Quick facts:

For the first sprint, organised by Guillaume and me, we ended up picking Wrocław for the location. It’s a pretty special city for us. It’s here where most of us met for the very first time during VueConf EU last year. Another reason for picking Poland was that it’s more on the cheaper side on the cost-of-living-spectrum. This becomes quite important if you plan a stay for 8 people. More details on the total costs later.

Before diving to what we have been working on, in the name of the whole team I would like to say thanks to all those that made it happen.

Biggest thanks goes to the incredible backers on Open Collective — know that all this wouldn’t be possible without your continuous support!

I would also like to thank Divante and Monterail who hosted us for 5 days in their offices and provided us with everything we needed to do our work.

Okay, so now let’s get through the main topics we focused on during the week:

Vue.js Devtools

Involved: Guillaume CHAU, Rahul Kadyan, Alex Kyriakidis, Damian Dulisz, Michał Sajnóg, Chris Fritz, Denis Karabaza

Probably the most prominent project we worked on did during the sprint. Main focus: performance. In terms of devtools performance itself as well as the new performance tab, that should make it possible to benchmark your app and look for possible bottlenecks.

  • Overall performance improvements (much lower memory usage, faster scrolling, jumping between Vuex mutations).
  • Performance Tab: Track your app performance (measured by frames per second) and correlate it with different events happening inside the application like Vuex mutations, router changes, events.
  • Router Tab: Preview Vue-Router history along with params as well as the list of all currently available routes. This feature is heavily based on the awesome work contributed by Armano and Markus Sorg.
  • Improvements to the Vuex tab: You can now edit Vuex state from within the devtools.
  • Improved support for remote debugging for Cordova and NativeScript based applications by making the devtools backend platform agnostic.
  • Support for displaying functional components inside the component tree.
  • Improved component name detection for 3rd-party components
  • High density display support.

ESLint-Plugin-Vue

Involved: Michał Sajnóg, Chris Fritz

  • Support for several new rules.
  • Integration with Vue CLI 3.0 UI – You can now change your ESLint configuration using the GUI. Try it out by installing: @vue/cli-plugin-eslint.

JSX plugin

Involved: Nick Messing, Rahul Kadyan, Chris Fritz

Great news for all those that prefer to use JSX instead of templates. Now you will be able to use directives, like v-model when writing JSX!

  • Support for Vue directives inside JSX.
  • Support for arguments and modifiers for directives.
  • Updated documentation.

News.vuejs.org

Involved: Damian Dulisz, Chris Fritz

  • Search functionality for published stories, transforming the website from weekly-news oriented to a potentially, searchable knowledge source.
  • Stories now have tags and can be browsed/searched based on those.
  • Support for additional story types: images, tweets.

Fixes and features in other libraries

Involved: Denis Karabaza, Alex Kyriakidis, Chris Fritz, Damian Dulisz

  • Improved mutation tracking in Vuex.
  • Accessing name-spaced getters in Vuex.
  • SSR Documentation improvements.
  • Investigating existing issues in Vue core.

The first Vue.js Core Team Summit

We couldn’t miss the occasion that we were all in one place. That’s why we decided to organise a very special meetup. One that we would like to repeat in the future, whenever we’re doing a Vue sprint. That’s how the first Vue.js Core Team Summit was born. We aimed for it to be a free, for-the-community, close-and-personal kind of event and I think we succeeded in doing that. More than 130 people came to the event, which was taking place in the awesome Monterail’s office. Once again thanks to Monterail and Divante for helping us with the hard work of organising the event! ❤️

Photo by Piotr Małecki-Jurek

The event consisted of two talks and a Q&A session with the team.

Sorry about the quality of the 2nd recording — Chris took us all by surprise, when he asked the whole team to join him on stage 2 minutes before the start. Chris really used his background as a teacher and asked the team tough questions on how we use Vue in our work. Sadly we were not ready for that kind of a twist — recording-wise at least. The talk was extremely fun and educational at the same time!

Photo by Piotr Małecki-Jurek

Breakdown of the total costs of the sprint

  • Two-way flights: $4 635,79
  • 2 four-bed AirBnb apartments: $1 291,83
  • Food, stickers and other expenses: ~$1 100,00
  • Total: $7 027,62

Those are all the expenses that we kept track of. Food includes breakfast and lunch that we ate on our way to work or had it delivered to the office. It also includes some of the additional travel and accommodation costs (transport from and to the airport, home utilities that were needed in the apartments. etc).

Summary

This was far from what we got used to when working on Vue related projects (and open source projects in general). Usually the feedback loop is much longer, things have to be written down properly and the decision making process can take days.

Apart from what we’ve managed to accomplish during the sprint I’m really happy that we finally got to know each other. Spending time with people that share similar values and excitement about doing open source software as you do is a big motivator and a great ice breaker. I feel super encouraged to work on things that I didn’t had a chance to work on before. Can’t wait to meet the rest of the team!
— Michał Sajnóg

During the sprint it was the complete opposite. I think all of us were kind of surprised by how smooth the work was going. It was refreshing how much we can accomplish thanks to having the right people to talk to the very moment we needed them. It made a huge difference.

We were able to brainstorm a lot and maybe some of the ideas we thought of will be implemented in the near future. 😊

We spent a lot of time increasing our future contribution capacities through pairing, open discussion, and informal training. Even when we’re not together, it’ll now be easier for any of us to contribute to a greater variety of projects, in a greater variety of ways!
— Chris Fritz

Hopefully we will be able to have another sprint in the coming months. If you have any suggestions where we should be traveling next — let us know in the comments section!

The Vue.js Sprint was a unique and productive experience. We got the chance to collaborate in person, brainstorm, and pair code. In my opinion, we produced a value that would normally have taken months. I think moves like this prove that supporting the framework you use and love is a great investment. I will be happy to contribute to the Vue Ecosystem again in the next Sprint we will hopefully have.
— Alex Kyriakidis

Once again — big thanks to all the Open Collective supporters! 💚

If you would like to help make the next sprint happen — consider becoming a backer!

--

--