---
title: "The 2019 State of JavaScript survey is here"
publication: "JavaScript Weekly"
issue: 465
published_at: "2019-11-29"
canonical_url: "https://javascriptweekly.com/issues/465"
---

Plus ESLint 6.7, building a Promises implementation from scratch, and generating WebAssembly binaries with Emscripten.       

#465 — November 29, 2019 

[Read on the Web](https://javascriptweekly.com/issues/465)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/iff67x875kkhihknzr68.jpg)](https://www.bram.us/2019/11/25/faster-javascript-apps-with-json-parse/)   

▶[Faster JavaScript Apps with `JSON.parse()`](https://www.bram.us/2019/11/25/faster-javascript-apps-with-json-parse/) — Did you know that JSON can be parsed more quickly than JavaScript itself? Here's how and why to consider using `JSON.parse` instead of normal object literals. 

Mathias Bynens / Bram van Damme   

[It's Time to Take the State of JavaScript 2019 Survey](https://stateofjs.com/?source=jsweekly) — Now in its fourth year, the popular State of JavaScript survey returns, seeking your responses to help find out “_which libraries developers want to learn next, which have the best satisfaction ratings, and much more_”. Of course, we’ll share the results once they’re live, as always. 

Raphaël Benitte, Sacha Greif and Michael Rambeau   [![\](https://copm.s3.amazonaws.com/f3bf7677.png)](https://2019.cascadiajs.com/getting-started) 

[Getting Started Building Apps with JavaScript](https://2019.cascadiajs.com/getting-started) — CascadiaJS just wrapped up. Take a look at the collection of articles, tutorials and podcast episodes that will help you get started building web applications with JavaScript and JS-related technologies. 

Heroku sponsor   

[ESLint 6.7 Released](https://eslint.org/blog/2019/11/eslint-v6.7.0-released) — The popular linting tool includes a new way for rule authors to make [suggestions](https://eslint.org/docs/developer-guide/working-with-rules#providing-suggestions) for non-automatic fixes, plus there are six new rules covering things like [duplicate else-ifs](https://eslint.org/docs/rules/no-dupe-else-if) and [grouping accessor pairs](https://eslint.org/docs/rules/grouped-accessor-pairs). [6.7.1](https://eslint.org/blog/2019/11/eslint-v6.7.1-released) quickly followed 6.7.0 fixing a regression. 

ESLint   

[Cockatiel: A Resilience and Transient-Fault-Handling Library](https://github.com/connor4312/cockatiel) — This is for defining common resilience or fault handling techniques like ‘backoff’, retries, circuit breakers, timeouts, etc. and is inspired by .NET’s [Polly](https://github.com/App-vNext/Polly) fault handling library. 

Connor Peet   

[The Epic List of Languages That Compile to JavaScript](https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS) — JavaScript is as much a compile target as a language in its own right these days, and this extensive list on the CoffeeScript repo has been (and continues to be) updated for _years_. The latest addition? [Fengari](https://fengari.io/), a Lua VM written in JavaScript. 

Jeremy Ashkenas et al.   

▶[Building Promises From Scratch in a Post-Apocalyptic Future](https://www.youtube.com/watch?v=4GpwM8FmVgQ) — A 20 minute screencast covering what’s involved in creating a promises implementation _from scratch_ on top of lower level primitives (e.g. callbacks). 

Low Level JavaScript     

⚡️ Quick Releases 

- [Babel 7.7.4](https://github.com/babel/babel/releases/tag/v7.7.4) — The JavaScript transpiler.
- [Ink 2.6.0](https://github.com/vadimdemedes/ink) — Like React but for building CLI apps.
- [GPU.js 2.3.0](https://github.com/gpujs/gpu.js) — GPU-accelerated JavaScript.
- [jQuery.Terminal 2.9.0](https://github.com/jcubic/jquery.terminal) — Add terminal experiences to your site/app.   

💻 Jobs  

[Senior Front-End Software Engineer (Vue, Nuxt, Apollo)](https://work.doximity.com/) — Join our distributed Front-End functional team in our quest to make doctors more effective using Vue, Nuxt, Apollo and Rails. 

Doximity   

[Vue Front End Lead at Valiant Finance - Sydney, Australia](https://valiant.finance/careers/engineering/front-end-vue-js-developer-oct-2019?utm_source=javascript-weekly&utm_medium=email&utm_campaign=29-november-2019) — FinTech based in Surry Hills looking for an experienced Vue Front End Lead to help us build our growing financial marketplace. 

Valiant Finance   

[Find a Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-javascriptweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77584) — Make a profile, name your salary, and connect with hiring managers from top employers. Vettery is completely free for job seekers. 

Vettery  

📘 Articles & Tutorials  

[An Official Style Guide for Writing Redux Code](https://redux.js.org/style-guide/style-guide) — Recommended patterns, best practices, and suggested approaches for writing Redux-based apps. 

Redux   

[An Introduction to the Picture-in-Picture Web API](https://css-tricks.com/an-introduction-to-the-picture-in-picture-web-api/) — Chrome [supports](https://caniuse.com/#feat=picture-in-picture) a ‘picture-in-picture’ mechanism for creating floating video windows that continue to play even if a user navigates to a different page. Firefox and Safari have support via proprietary APIs too. 

Ayooluwa Isaiah   

[Black Friday Sale: Quokka.js - Rapid JavaScript Prototyping in Your Editor](https://quokkajs.com/pro/?utm_source=javascript&utm_medium=javascript&utm_campaign=javascript&utm_content=javascript) — Quokka displays execution results in your editor as you type. Get it now with a 50% Black Friday discount. 

Wallaby.js sponsor   

[Understanding Streams in Node.js](https://nodesource.com/blog/understanding-streams-in-nodejs) — Streams continue to be one of the fundamental concepts that power Node applications. 

Liz Parody   

[Outside the Web: Emscripten Now Generating Standalone WebAssembly Binaries](https://v8.dev/blog/emscripten-standalone-wasm) — A key part of both asm.js and Emscripten was the idea of compiling binaries for use on the Web using JavaScript, but now Emscripten has support for emitting WebAssembly without relying on JavaScript at all. You can, of course, interact with such output from your JavaScript code, though. 

Alon Zakai   

[Building Animated Draggable Interfaces with Vue.js and Tailwind](https://www.binarcode.com/blog/building-animated-draggable-interfaces-with-vuejs-and-tailwind/) — [Tailwind CSS](https://tailwindcss.com/) is an increasingly popular CSS framework. 

Cristi Jora   

[Video Developer Report - Top Trends in Video Technology 2019](https://go.bitmovin.com/video-developer-report-2019?utm_source=cooper-java-brief-link2&utm_medium=paid-newsletter&utm_campaign=dev-report-2019) 

Bitmovin sponsor   

[Using Backreferences in JavaScript Regular Expressions](https://www.stefanjudis.com/today-i-learned/backreferences-in-javascript-regular-expressions/) — Backreferences allow you to use matches already made within a regex _within that same regex_. 

stefan judis   

[For the Sake of Your Event Listeners, Use Web Workers](https://macarthur.me/posts/use-web-workers-for-your-event-listeners) — _“Start by identifying notably intense processes and spin up a small Web Worker for them.”_ 

Alex MacArthur  

🔧 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/f82or2ilhikisz5x4jlv.jpg)](https://github.com/jagenjo/litegraph.js)   

[litegraph.js: A Graph Node Engine and Editor](https://github.com/jagenjo/litegraph.js) — This would be useful if you need to create an online system for users to create and manipulate graphs or interconnecting ‘nodes’ for things like graphics, audio or data pipelines, say. [Live demo here.](http://tamats.com/projects/litegraph/demo/) 

Javi Agenjo   

[Duktape 2.5: A Compact, Embeddable JavaScript Engine](https://github.com/svaarala/duktape) — An ES5.1-compliant JavaScript engine focused on being very compact. If you have a C/C++ project that needs a JS engine, it’s worth a look as the `duk` binary runs only 350K. 

Sami Vaarala   

[Automate and Standardize Code Reviews for JS and 29 Other Languages](https://lp.codacy.com/code-reviews?utm_source=CooperPress&utm_medium=cpm&utm_campaign=CooperPress-JSSL) — Set standards on coverage, duplication, complexity, and style issues and see real-time feedback in your Git workflow. 

Codacy sponsor   

[Scala.js 1.0.0-RC1: A Scala to JavaScript Compiler](https://www.scala-js.org/news/2019/11/26/announcing-scalajs-1.0.0-RC1/) — A final 1.0 release is due in early 2020. If this area of using Scala to build front-end apps interests you, you might also like [Slinky](https://slinky.dev/) which makes writing React apps in Scala easier. 

Scala Team   

[Ketting 5.0: A 'Generic' Hypermedia Client for JavaScript](https://github.com/evert/ketting) — Supports Hypertext Application Language, JSON:API, Siren, and HTTP link headers. Works in both the browser and Node.js. 

Evert Pot   

[WebGLStudio.js: A 3D Graphics Editor in the Browser](https://github.com/jagenjo/webglstudio.js) — It’s not _new_ but its author says it’s now mature, ready to be extended, and can be used in production (although a 1.0 release is still a little way away). 

Javi Agenjo   

[JSONCrush: Compresses JSON Into URI Friendly Strings](https://github.com/KilledByAPixel/JSONCrush) — The results are shorter than standard URI encoding. 

Frank Force         

Curated by [Cooperpress](https://cooperpress.com/) and [Peter Cooper](https://twitter.com/peterc). 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or[stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
