I got selected for Google Summer of Code 2018 under webpack. From knowing little about webpack before the organisations were announced, to being selected as one of the students, it has been a great ride. I can’t stress my gratitude towards the webpack community for being so helpful and welcoming to new contributors.
So, let’s take off. 🚀
Path to webpack
webpack has always been the backbone of everything I do in frontend development. I always feared to dive deeper in webpack or understand how it works internally. I got extremely thrilled and intrigued the day organisations list came out and I discovered webpack on the list. This was the first time webpack applied and got selected for GSoC. I made webpack my target goal and didn’t even bother to look for rest of the organisations.
After discovering webpack on the list, I instantly started gazing around all webpack projects, ideas, community discussions, conference talks. Soon, I discovered webpack 4 plans which wasn’t released at that time. I started contributing to webpack CLI. The CLI was introduced a year ago with a goal to improve webpack user experience by providing flexibility. Apart from compiling builds and setting up webpack for an existing/new project, it comes handy for migrating webpack configuration for version upgrades and also to add, update or remove properties from existing configurations.
After some merged PRs and contributing for a week, Even Stensberg took it to Twitter to appreciate me. This exponentially amplified and boosted me and I kept on contributing more. I also approached some of the new contributors like Jevan Chan, buoyantair. We helped each other for contributing and debugging the code.
Work To Do
During this summer, I’m going to work on webpack CLI. The plan is to cover most crucial things on the road-map like refactoring efforts to AST transformations; adding static typing and TypeScript support; rewriting scaffolding generators to make them more maintainable and testable; adding scaffolding and transformations for new commands like add, update, remove, and many other general improvements in visuals.
I’m going to kick-off this summer with the most crucial thing i.e. AST transformations which is the backbone of managing and making changes in the configuration file. Abstract Syntax Trees or ASTs are a hierarchical tree-like representation of code. It helps us understand and read relationships between different elements of code. An AST transformation is an action of modifying this tree (i.e. changing an existing AST to a new AST). The new approach is going to simplify many AST checks, uses recursion and does lots of optimisations to existing flow. The initial work has been already pulled off in a PR. The plan is to work with this new approach for other transformations and commands like add. This will make the transformation a lot easier to maintain and reduce bulky, unnecessary code.
Last but not least
This is the beginning of a new open-source story which is going to be quite commendable. It is going to be an intense summer in terms of work and the summer itself (45°C / 113°F).🔥
I’ll talk again about the other parts of the plan in the follow-up articles. Looking forward to y’all for this amazing expedition. Cheers!