ReactFoo 2019

A gathering of over 250 web and mobile developers working with React

Participate

The magical land of AST's with babel, eslint and codemods

Submitted by Vivek Nayyar (@viveknayyar09) on Wednesday, 26 December 2018

videocam_off
Section: Full talk Technical level: Intermediate

Vote on this proposal

Login to vote

Total votes:  +4

Abstract

AST’s are everywhere. They are a part of majority of our tools that we use today for development.
We use babel, eslint and AST’s power them.

Come join me in this journey of understanding the magical land of AST’s by creating babel and eslint plugins and writing custom codemods.

Outline

Being a software dev for more than 4 years now, I was always curious to understand how these
instruction’s that we give to our machine’s get understood and sometimes modified for optimizations.

It was initially scary because to me it appeared to be really complicated and would require me to understand the nuances of how machines work, which basically means understanding how a kernel works, how bits and bytes work or taking a deep dive into how compilers work.

But turns out it is not as complicated as I thought it to be.

So let me take you all to this magical journey of understanding how AST’s work and how we can all, no matter what our experience is create something really interesting using AST’s.

By understanding them we would also:-
1) Become better at writing our JS code
2) Better understand JS scopes
3) Better understand how compilers/transpilers work
4) We would be able to write our very first babel plugin
5) We would be amazed when we see how easy it is to write our first eslint plugin
6) And we would learn about this cool new thing called as codemods using jscodeshift

Outline of the talk

Brief introduction to AST’s - 5 mins
Stages of any compiler - 5 mins
Why babel, what are babel plugins and presets? - 5 mins
Creating few babel plugins - live coding - 10 mins
Creating an eslint plugin - live coding - 5 mins
Creating a codemod - live coding - 10 mins

Requirements

N/A

Speaker bio

Front-End Engineer with more than 4 year’s of experience building products for numerous domain’s like e-commerce, real estate, video-streaming and now Fin-Tech with Trusting Social.

Links

Slides

http://react-foo-talk.surge.sh

Comments

  • 1
    Zainab Bawa (@zainabbawa) Reviewer 3 months ago

    Thanks for adding this proposal, Vivek. What is it that the audience will learn from this talk which they won’t get by looking up documentation on Babel, eslint and codemods?

Login with Twitter or Google to leave a comment