---
title: "This week's JavaScript news, issue 284"
publication: "JavaScript Weekly"
issue: 284
published_at: "2016-05-20"
canonical_url: "https://javascriptweekly.com/issues/284"
---

This week's JavaScript news, issue 284

This week's JavaScript news — [Read this e-mail on the Web](http://javascriptweekly.com/issues/284)

JavaScript WeeklyIssue 284 — May 20, 2016[Martin Fowler on Refactoring JavaScript](http://martinfowler.com/articles/refactoring-video-store-js/)A great read from the renowned author of _Refactoring_ where he reimplements an example from the book in ES6, and shows off four refactoring approaches. Martin Fowler 
[How to Write a Google Maps Component with React](https://www.fullstackreact.com/articles/how-to-write-a-google-maps-react-component/)A very extensive walkthrough of using ES6 to build a React component that uses the Google Maps API. Ari Lerner 
[nlp_compromise: Natural Language Processing in JS](https://github.com/nlp-compromise/nlp_compromise)Packed with interesting features. Can parse English into syntax trees, conjugate verbs, replace elements of sentences, etc. NLP Compromise 
[![Mailgun\](https://copm.s3.amazonaws.com/8cff7037.png)](https://documentation.mailgun.com/quickstart-sending.html?utm_source=cooperspress&utm_medium=javascriptweeklyMay19&utm_content=plugemail&utm_campaign=startsending)[Plug Email Into Your App with Mailgun](https://documentation.mailgun.com/quickstart-sending.html?utm_source=cooperspress&utm_medium=javascriptweeklyMay19&utm_content=plugemail&utm_campaign=startsending)Send email in your language of choice like Java using SMTP or Mailgun's RESTful API. The first 10,000 emails are free. Read our documentation and start testing now. MailgunSponsor
[Untangling Spaghetti Code: Writing Maintainable JavaScript](https://www.sitepoint.com/write-maintainable-javascript/)Refactoring a legacy code base? Moritz Kröger shows you how to achieve maintainable JavaScript with tests, linting and modularization.  Moritz Kröger 
[Easier Webapp Debugging with the Command Line API](http://developer.telerik.com/content-types/tutorials/easier-web-application-debugging-command-line-api/)Aurelio De Rosa explains how the command line API (as in DevTools) allows you to perform debugging tasks from the browser console. Telerik Developer Network 
[Node.js Releases: How Do They Work? (video)](https://www.youtube.com/watch?v=5un1I2qkojg&index=21&list=PLleHIBVx1SeSz1Ti0jpXl4Zt7ZtWOk49x)Stable, major, minor, LTS - what does it all mean? Myles Borins 
[Lebab Turns ES5 Code Into Readable ES6](https://github.com/mohebifar/lebab)Lebab - it’s the opposite of Babel.. get it? It’s not magic but tries its best to generate ES6 equivalents of ES5 patterns. Mohamad Mohebifar 
[Horizon 1.0: A Realtime, Open-Source JavaScript Backend](http://horizon.io/#1.0-release)Built by the RethinkDB team, Horizon brings together RethinkDB and a toolkit for rapidly prototyping and deploying JavaScript apps into a single framework. Horizon 


Jobs

- [(Senior) Software Engineer - Engine/Static Analysis](https://codiscope.com/company/careers/senior-software-engineer-enginestatic-analysis?utm_source=javascriptweekly&utm_medium=email)Our (senior) software engineer will develop approaches to detect program vulnerabilities, assist in automatic generation of secure code, redefine how developers write secure code and work with experts on some of the toughest code analysis problems in the industry. [Apply here today.](https://codiscope.com/company/careers/senior-software-engineer-enginestatic-analysis) Codiscope
- [JavaScript Developer at Sky Betting and Gaming](http://skybetcareers.com/technical-and-software#R000338?utm_source=javascriptweekly&utm_medium=email)We’re looking for JS Developers with experience and a sense of what works. We create Rich Internet Applications in React with PHP/Node.js backends. There’s plenty more great tech to play with — come and find out more. Sky Betting and Gaming
- [Job Offers. No resume necessary.](https://hired.com/?utm_source=newsletters&utm_medium=petercooperpress&utm_term=cat-tech-javascript&utm_content=noresume&utm_campaign=q2-16-jsweekly&utm_location=us)Create your Hired profile to get top companies to start applying to hire you. Get offers from $75,000 - $250,000 on the platform in 1 week. Hired.com

In Brief

[Microsoft Edge (Preview) Supports ES6 Modules](https://blogs.windows.com/msedgedev/2016/05/17/es6-modules-and-beyond/) news 
The JS engine in the latest Preview builds of Edge supports most ES6 features, including modules.
Microsoft

[jQuery Migrate 1.4.1 Released, and The Path to jQuery 3.0](http://blog.jquery.com/2016/05/19/jquery-migrate-1-4-1-released-and-the-path-to-jquery-3-0/) news
jQuery Foundation

[JavaScript Conquered the Web. Now It’s Taking Over the Desktop](http://www.wired.com/2016/05/javascript-conquered-web-now-taking-desktop/) news
WIRED

[Create a Custom Component in Angular 2: Class Inheritance or Aggregation?](http://wijmo.com/blog/creating-custom-components-in-angular-2-inheritance-or-aggregation/?utm_source=jsweekly&utm_medium=sponsoredlink&utm_content=5.18.custom.components.tutorial&utm_campaign=wijmo) tutorial 
Look at two primary methods for creating a reusable custom component in Angular 2. Sample w/source.
WijmoSponsor

[How to Make Accessible Web Components — A Brief Guide](http://www.sitepoint.com/accessible-web-components/) tutorial 
Via ARIA attributes, keyboard support and validating visual accessibility.
Artem Tabalin

[Setting up Node.js on Windows 10](https://blog.risingstack.com/node-js-windows-10-tutorial/) tutorial node
Szabolcs Kurdi

[Custom PDF Rendering with Mozilla's PDF.js](https://www.sitepoint.com/custom-pdf-rendering/) tutorial
Imran Latif

[Build a React + Flux App with User Authentication](https://scotch.io/tutorials/build-a-react-flux-app-with-user-authentication) tutorial
Ryan Chenkie

[Upgrade Your App to Angular 1.5 Components and Beyond](https://www.sitepoint.com/upgrade-to-angular-components/) tutorial 
A look at how to refactor your app to use Angular 1.5 components in preparation for eventual migration to Angular 2.
Jay Raj

[How ES6 Makes Strings Easier to Assemble](https://www.oreilly.com/learning/javascript-string-interpolations) video
Kyle Simpson

[Learn Redux: A Free Video Series From Wes Bos](https://learnredux.com/) video
Wes Bos

[12 Videos from Node Conf London 2016](https://www.youtube.com/playlist?list=PL0CdgOSSGlBYnHAl_DZoy9BWvdVQjNKE2#nodeconflondon2016) video node
YouTube

[5 JavaScript 'Bad' Parts That Are Fixed In ES6](https://medium.com/@rajaraodv/5-javascript-bad-parts-that-are-fixed-in-es6-c7c45d44fd81) opinion
Raja Rao DV

[Why Did React Update? A Tool to Identify Unnecessary Updates by React](https://github.com/garbles/why-did-you-update) tools
Gabe Scholz

[Timedropper: A Time Selection jQuery Plugin](http://felicegattuso.com/projects/timedropper/) tools 
Well designed, and great project page too.
Felice Gattuso

[Bublé: A Fast, 'Batteries-Included' ES2015 Compiler](https://buble.surge.sh/guide/) tools 
Lighter and more opinionated than Babel.
Rich Harris

[Help your team build amazing things — use true package management](https://www.npmjs.com/enterprise?utm_source=jsweekly&utm_medium=email&utm_campaign=20160519) tools 
npm Enterprise helps teams share, discover, and re-use code behind the corporate firewall. [Free trial.](https://www.npmjs.com/enterprise?utm_source=jsweekly&utm_medium=email&utm_campaign=20160519)
npmSponsor

[React Boilerplate: A Scalable, Offline-First React App Foundation](https://github.com/mxstbr/react-boilerplate) code 
Quickly start your next React project. Optimized for a good developer experience.
Max Stoiber

[10 jQuery Text Highlighter Plugins](https://www.sitepoint.com/10-jquery-text-highlighter-plugins/) code
Julian Motz

[push.js: A Compact, Cross-Browser Solution for Desktop Notifications](https://github.com/Nickersoft/push.js) code
Tyler Nickerson

[Tribute.js: A New, Easy-to-Use @Mention Plugin from ZURB](http://zurb.com/article/1435/tribute-js-a-new-lightweight-and-easy-to-) code
ZURB

[pg-promise: An Advanced Access Layer to PostgreSQL via Promises](https://github.com/vitaly-t/pg-promise) code node
Vitaly Tomilov

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

Like this? You may also enjoy: [FrontEnd Focus](http://frontendfocus.co/) : [Node Weekly](http://nodeweekly.com/) : [React Status](http://react.statuscode.com/)

[Stop getting JavaScript Weekly](*|UNSUB|*) : [Change email address](*|UPDATE_PROFILE|*) : [Read this issue on the Web](http://javascriptweekly.com/issues/284)

© Cooperpress Ltd. Fairfield Enterprise Centre, Lincoln Way, Louth, LN11 0LS, UK
