JavaScript Weekly
Issue 333 — May 5, 2017
Prepack optimizes JavaScript code by eliminating operations that can be done at compile-time. Imagine gcc with the optimization level turned up. Uses Babel under the hood.

‘Headless’ Chrome is basically Chrome running without any UI or visible controls, so is ideal for being remotely controlled from JavaScript for testing or taking screenshots, etc.
Eric Bidelman

Inspired by William Strunk Jr’s “The Elements of Style”, Eric Elliot adapts its principles for improving the written word to guidelines for improving your code.
Eric Elliot

Sencha, Inc.
Learn how to design, develop and test data-intensive web apps that run on desktops, tablets, and smartphones.
Sencha, Inc.   Sponsor

Native module support is now in Safari 10.1, as well as behind config settings in Chrome 60, Firefox 54 & Edge 15. Jake explains what this means for front-end development.
Jake Archibald

Want to run a Node-powered app on a system where Node isn’t installed? pkg makes it easier to distribute your apps by packaging Node and your app all in one. node-compiler is a similar project.

Write promise-based code as if it were synchronous but without blocking the main thread. Not new but well worth revisiting, I found.
Jake Archibald


  • craigslist seeks JavaScript Developers (San Francisco, CA)Web devs with JavaScript, CSS, and HTML experience wanted to design and ship new features, and see them loved (or hated) by millions. craigslist
  • Frontend ConsultantUp for the challenge of making banking fun and exciting, whilst learning and working with our global clients? Join our Amsterdam office. Backbase
  • JavaScript Engineer (Node.JS)Exciting opportunity to join Envato on their journey to evolve the tech stack of one of the biggest e-commerce sites in the world. Envato

In Brief

JSHeroes 2017 (Romania, June 8-9) Early Bird Tickets Available news

Jenn Schiffer at SIGNAL for A Tale of Glitch, Twilio, and the Power of Friendship news
Every SIGNAL talk is designed to help you hone your craft. After learning with your peers & wielding new Twilio tools, celebrate at the $bash after party.
Twilio  Sponsor

A Look at Uses for a 'flatMap' Function tutorial
Dr. Axel Rauschmayer

Getting Started with Three.js for Building a 3D Scene tutorial

Conditionally Adding Entries Inside Array and Object Literals tutorial
Dr. Axel Rauschmayer

Arrow Functions for Beginners tutorial
Brandon Morelli

Patterns for Object Inheritance in ES6 tutorial
Code reuse possibilities with ES6 classes, including implementing multiple inheritance..
Tim Severien

A 20 Minute Introduction to Flow, the Static Type Checker video
Benjamin Reid

8 Bite-Sized Videos on Async JavaScript with async/await video
Marius Schulz

It's the Future opinion
"So I just need to split my simple CRUD app into 12 microservices, each with their own APIs..."
CircleCI  Sponsor

Why I’m Moving on to Web Components and Not Looking Back opinion
Hacker Noon

Is Prepack Like Svelte? opinion
Svelte is essentially a build-time/compiled UI framework.
Rich Harris

prepack-webpack-plugin: A Webpack Plugin for Prepack tools
Gajus Kuizinas

A Curated List of 85 'Awesome' WebAssembly Links and Resources tools
Matteo Basso

Spector.js: A Framework For Troubleshooting WebGL Projects tools

Deploy a MongoDB replica set on AWS in minutes with MongoDB Atlas tools
MONGODB  Sponsor

jQuery Prove: A jQuery Plugin for Client-Side Validation of Forms code
Dan Hollenbeck

vue-infinite-loading: An Infinite Scroll Plugin for Vue.js code

Forall.js: Expressive Static Types and Invariant Checks code
Works in a run-time/macro-esque way.
Victor Hernandes Silva Maia

Typefont: An Algorithm for Recognizing the Font Used on a Text code
Vasile Pește

A 'Masonry' Image Layout Component for React Native code
Don't forget our React newsletter for more like this.
Brandon Him