Web Tools Weekly
What a Tool!

Issue #193  (ES6 Abomination, JS Utils, Git/CLI, Data)03/30/17


Advertisement
Find an awesome domain name for your next side project with this Hover & Hacking UI partnership
They’re offering 10% off any domain, including hundreds of fun extensions. Plus Hover comes with the best support and domain management system.
Check it out now
Adobe XD

Is ES6 an abomination? Well, one Hacker News reader thinks so. Here is an interesting comment posted during a discussion of a new JavaScript book:

"JavaScript was a great beginner language, but it has now been 'professionalized' with ES6, requiring insane build chains, transpiling, shims, all this stuff just to run a basic web site. JavaScript has been ruined by professional programmers (mostly Rubyists) who never learned how to use the object model, or how to structure functional code well. So we get ES6 classes and promises and async and all of this junk that makes the language impossible to build and debug. And I say this as a full time JavaScript programmer of ~5 years, after ~5 years of Ruby. I love both classic JavaScript and Ruby, but ES6 is an abomination."

That's pretty harsh. I don't necessarily agree with it, but I can absolutely see where the commenter is coming from. This goes back to the overwhelming nature of tooling in the JavaScript ecosystem, so the basic concern is nothing new. But I found it interesting that this person specifically targeted ES6.

I think a lot of us who got used to writing ES5 and lower, and who figured out how to do pretty much anything long before ES6 can understand why it feels superfluous to add so many features and tools to basically accomplish some of the same things.

But I think the case for ES6 is pretty solid, especially for complex web apps that involve functionality that we wouldn't even consider building in the past. So while the sentiment of the comment above is understandable, I don't think it's correct. Especially when you consider that nobody is being forced to use ES6. We can basically pick and choose the features we want, adding new ones as we get more comfortable, and out of necessity.


Now on to this week's tools!

JavaScript Utilities

Purser
A lightweight JavaScript library for preserving user data from first website visit to signup.

Store.js
Cross-browser local storage for all use cases. Now at version 2.x.

walletjs
A little library to handle money amounts.

asynquence
Promise-style asynchronous sequence flow control.

Waypoints
The easiest way to trigger a function when you scroll to an element.

multi.js
A user-friendly replacement for select boxes with multiple attribute enabled.

gotem
Copy to clipboard for modern browsers in less than 1kb.

Diffy.js
A dependency-free motion detection library for the browser.

Rellax
A buttery smooth, super lightweight (1021bytes gzipped), vanilla JavaScript parallax library that works on mobile.

Git, GitHub, and Command Line Tools

Caporal.js
A full-featured framework for building command line applications with node.js.

gitly
Fast, self-hosted development service with unlimited private repos or use their inexpensive paid plan.

Lepton
A lean GitHub Gist client.

GVFS
Git Virtual File System. Virtualizes the file system beneath your Git repo so that Git and all tools see a fully hydrated repo, but GVFS only downloads objects as they are needed.

Teleconsole
A free service to share your terminal session with people you trust. Your friends can join via a command line via SSH or via their browser over HTTPS.

gitmoji
An emoji guide for your commit messages.

awless
A fast, powerful and easy-to-use command line interface (CLI) to manage Amazon Web Services.

axe-cli
A command-line interface for the aXe accessibility testing engine.

Databases, JSON Tools, etc.

Ragic
Data management that actually works. Build real-world enterprise applications with simple Excel-like interface.

jsonbin
A personal JSON store as a RESTful service.

RxDB
Client-Side database for browsers, Node.js, Electron, Cordova, React Native and every other JavaScript run-time.

nearley.js
Parsers turn strings of characters into meaningful data structures (like a JSON object). nearley is a fast, feature-rich, and modern parser toolkit for JavaScript.

mermaid
A simple markdown-like script language for generating charts from text via JavaScript.

Visdown
Create data visualisations using only markdown.

json.browse
Allows you to browse, prettify, filter and manipulate JSON right inside your browser.

excelJSON
Convert CSV, TSV to JSON. JSON to CSV, TSV.

A Tweet for Thought

Scott Hanselman's tweet from 2012 is still a good reminder today.
 

Suggestions / Corrections

Made something? Send links via Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

You might want to follow Intent To Ship, a Twitter account that tweets when browser makers announce their intent to ship, change, or remove features.
 


Thanks to all for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@LouisLazaris