Experimental · Babel



// Array comprehensions
var results = [
  for (c of customers)
    if (c.city == "Seattle")
      { name: c.name, age: c.age }


While ES5 object literals support arbitrary expressions in the value position, ES6 classes only support literal functions as values.

What happened to Web Components?


Suite of specs to implement custom HTML elems.

  • Custom elems
  • Shadow DOM
  • Templates
  • HTML imports -still controversial, because there is much overlap with ES6 module loading. Especially Mozilla and Microsoft argue that further work on HTML Imports should wait until ES6 module loading is finished.

Flow enums

type kind = 'expression' | 'statement' | 'call'

ECMAScript 6


no new features from August 2014

ES6 introduces syntax for defining modules and declaring dependencies. I emphasize the word syntax because ES6 is not concerned with the actual implementation details of how modules are fetched or loaded.

export default function crc32(){}
import crc32 from ‘crc32’;

export function crc32(){} // named export
import { crc32 } from ‘crc32’; 
for (let i = 0; i < 10; i++) {
// `i` doesn't exist here.

When you want to ensure immutability with the same semantics as let, use const instead.

Runscope Blog


Programmatically creating and auto-generating complex tests

Swagger schemas


TIP: For beta, use just one location, for production use more to gather stats.
TIP: Add also localhost env and run test locally with Runscope agent https://www.runscope.com/docs/api-testing/agent

Each test environment has it’s own Trigger URL.

Test environments are scoped to individual tests. Shared environments are scoped to bucket.

TIP: Use uppercase for shared envs, use lowercase for test envs.

TIP: Use different notifications for Beta and Production - Slack for Beta, VictorOps for Production.