Building JavaScript Tools You Didn't Think Were Possible
gregfranko.com
gregfranko.com
It makes it possible to use AMD modules while building a library or web app (which is utter bliss when it comes to testing and debugging - no build lag or source map nonsense), but to convert it to non-AMD JavaScript in the final step. I use it on a fairly large (~10,000 LOC) library, [Ractive.js](https://github.com/RactiveJS/Ractive), and it's transformed the way I work.
I like node-falafel better than estraverse, which is more concise to use: https://github.com/substack/node-falafel
If anyone likes this stuff and wants to write an open-source, in-browser parser from another language like Python, Haskell, or Ruby to the Mozilla AST format, we'd love to make it worth your while. See https://github.com/codecombat/codecombat/issues/72 and then email me to work out an arrangement.
It look me about 2 hours to design and write this little utility for finding and removing redundant braces in expressions using node-falafel:- http://edinburghhacklab.com/2014/02/remove-redundant-bracket...
The larger problem I am doing is static code analysis for Firebase and the JS tools for doing such stuff are delightful compared to yacc and lex and javacc etc.
Functional programming really shines in this domain. You can populate your symbol table with functions that get "called" when "CallExpressions" are encountered during parsing, or functions that expand to function declarations on "MemberExpression" are encounter during parsing (the <dot> operator). Its very easy to mirror the true structure of JS using JS if that makes sense.
I'm starting to think people just click the up arrow because they like the title.
I'm not reading these slides, this information would be presented much better as a simple webpage.
Also, to prevent the initial collage of text set everything to hidden then fade in or show after the document is ready.
edit: didn't realize you had to use the arrow keys. In which case it appears to work fine, except the second slide where the image is squished.
In terms of the converting to PDF (to upload to Speaker Deck), it is recommended to just save the webpage to PDF in chrome or another browser that supports this feature (you can do this by beginning the print process and then changing to 'Save as PDF')
Bespoke has a print stylesheet, which is why the styles are still kept.