Hello and welcome to This Week in JavaScript—a lovingly curated collection of links relating to what’s new and exciting in the world of JS. The complete list is tagged jsweekly. (Don’t forget to check out our weekly .NET and front end roundups too!)
Before we get started today, a general service announcement:
#It’s competition time! Post in June and win big!
All you have to do is post the most valuable new topic or response in the Month of June. Seriously. That easy.
Week three is for General Web Dev, Ruby, Community and Showcase, so get along to those forums this week and make the best posts you can.
And now it’s on with the show …
Top of the Hour
- Building a JavaScript Autocompelete Widget with Awesomplete — A tutorial on implementing Lea Verou’s lightweight autocomplete library
- Writing a Non-blocking JavaScript Quicksort — Heavy lifting with JavaScript
- 7 Essential JavaScript Functions — Functions each developer should have in their arsenal
- JavaScript prototypes: Guys, I just got it — “Objects are just like onions”
- Prototypes are Objects (and why that matters) — Reginald Braithwaite with the lowdown
- What is Code? — A story devoted to demystifying code and the culture of the people who make it
- Importing CSS Breakpoints Into Javascript — A simpler way to keep your project’s CSS and JS in sync
Testing / Debugging
- AngularJS Testing: Bootstrap Blocks, Routes, Events, and Animations — Ravi Kiran with some useful tips and tricks
- Testing JavaScript with Jasmine, Travis, and Karma — A quick tutorial on the process of testing JavaScript code using a continuous integration service and the Karma testing framework.
- Heroes of JavaScript and Testing — In 1995, Earth has become a JavaScript faring Federation. While colonizing new web technologies, humans have encountered an insectoid species known as “Bugs”.
- Useful JavaScript debugging tips you didn’t know — Knowing your tools can make a major difference when it comes to getting things done.
- Tutorial: debugging Node.js apps on Passenger — Passenger is compatible with Node.js debugging tools such as the builtin Node.js debugger and node-inspector.
- Testing, the way it should be — Cypress is a test engine that runs unit and integration tests in your browser.
- Wallaby.js - an intelligent test runner — Wallaby runs your tests as you type and displays various results
Node.js
- Building a User Avatar Component With Node.js & TransloadIt — Implementing image resizing with a third party service.
- How to Implement Node + React Isomorphic JavaScript & Why it Matters — Rendering your application markup on the server & piping it down as the complete html to the browser
- Rapid Local Development with Vagrant, Docker and Node.js —Using a cascade of Vagrant shared directories, Docker volumes and cleverly placed symlinks, you can rig Vagrant and Docker to instantly reflect your local application code updates.
- How I Survived My Baptism Of Fire With Node.js — A developer shares his experiences of being thrown into a fast-paced Node, Seneca and Angular-based project for a client
- Building With Node.js At The New York Times — An Interview with Felipe Silva
- How to Speed Up Meteor Development — By using scaffolding and automatic form generation
- New io.js Features You May Not Be Using — Includes ES6 features, simpler stream construction, Buffer#indexOf, module preloading, and more.
Task Runners
- A Simple Gulp’y Workflow For Sass — Speeding up a Rails app by embracing the speed of LibSass
- Grunt.js: Custom Tasks — While there are a lot of great plugins for grunt sometimes you need something custom.
- Introduction to Grunt.js — Why use Grunt? In one word? Automation.
- grunt-purifycss — A useful grunt plugin to remove unused CSS from your files
- Get up and running with Gulp for beginners — This post assumes that the reader has never used a task runner before, so it will walk through each step required to get started with Gulp.
- Brunch?! What’s Brunch? — Part of The Brunch.io Guide. Replace gulp / grunt and increase your dev speed.
ES6
- Setting up an ES6 Project Using Babel and Browserify — Ritesh Kumar shows us how
- Six Steps for Approaching the Next JavaScript — Coming sooner than you think to a production environment near you!
- ES6 In Depth: Symbols — Part of Mozilla’s ES6 series
- ES6 In Depth: Arrow functions — Part of Mozilla’s ES6 series
- Why Destructuring is a Terrible Idea in ES6 — Destructuring is a concept introduced in ES6 that allows developers to destructure objects into variables without explicitly setting a variable to the object key/val
- ECMAScript 6 Power Tutorial: Class and Inheritance — From the guys at MicroSoft
- ES6 Promises with Firebase — How to handle data transaction and storage with a remote flat-file database in today’s promising ES6 world
- Announcing “Exploring ES6” —A new book by Dr. Axel Rauschmayer. The complete contents of the book are available online, for free.
I hope you’ve enjoyed working through these links. If you want more links like this and to keep up-to-date with the latest goings on in JS land, you can follow SitePoint’s JavaScript channel on Twitter.
Please PM us if you have anything of interest for the next issue or if there is anything you would like to see featured. Paul and Pullo.