Giter Site home page Giter Site logo

ember's Introduction

General Assembly Logo

Ember

Ember is a JavaScript framework for making richly interactive front-end applications. There are many front-end frameworks out there, but Ember is one of the four most prominent (the others being Angular, Backbone, and React).

Prerequisites

Objectives

By the end of this, developers should be able to:

  • Explain what Ember is and what kinds of applications it's used for.
  • Create new applications with ga-wdi-boston/ember-template.
  • Name and describe the different layers of an Ember application.

Preparation

  1. Fork and clone this repository.
  2. Install dependencies with npm install and bower install.

Ember's Purpose

Why use a front-end framework instead of vanilla JavaScript, jQuery, and Handlebars/Moustache? Ultimately, it boils down to a couple of key features.

  • Routability

    In most of the websites you've been to, you can use your browser's "back" button to go back to a page you just visited. However, as you may have noticed, this is not possible in a single-page application with only JS and jQuery - the URL of the page never changes! Most front-end frameworks provide a way to change the URL of the page and tie it to the state of the application, allowing for the use of the "back" button, bookmarking, and many other features.

  • Less AJAX

    Having to write lots of AJAX calls can be tedious. Most front-end frameworks will abstract away the process of writing AJAX requests by creating a local copy of a back-end resource and handling all of the AJAX necessary to synchronize these two clones behind the scenes.

  • Responsiveness

    Because of the above, your back-end resources effectively get 'cached' on the front-end, so the front-end doesn't need to make as many requests in order to have the data it needs. As a result, displaying resource data is faster, and when data gets updated locally, it doesn't need to wait until it's synched up with the back-end before showing the updated data.

Naturally, no tool is the right tool for every job. But applications in which the aforementioned features are important will probably benefit from using a framework. Additionally, of course, frameworks usually make it easier for the developer by providing libraries and generators for common tasks.

Ember, in particular, has several great things going for it.

Of all of the more prominent frameworks, Ember is the oldest and most mature.

Ember was primarily created by Yehuda Katz, one of the most significant contributors to Rails. Yehuda was also actively involved in the creation of jQuery, and is the creator of Handlebars. Consequently Ember uses Handlebars (which you are already be familiar with) as its template engine for generating new HTML.

Like Rails, Ember favors convention over configuration. Although it gives you less freedom than some other frameworks (e.g. Backbone), it also provides a lot of structure, which is helpful for beginners. This also makes it possible for Ember to easily generate files when they're needed.

Ember provides a neat feature called 'data binding'; what this means is that you can define certain values to be persistently related to other values, so that if one value gets updated, all values bound to it automatically get updated.

How it does this will be briefly touched on in ga-wdi-boston/ember-object; however, binding is one of the most complex topics in Ember, and we won't be diving into it too deeply this week. That said, we absolutely welcome you to explore this topic on your own time.

NOTE: Install ember-cli and Dependencies

You should've already installed ember-cli, bower, and watchman from the ember-study. If you haven't, please do so.

Starting a New Ember Application

Similarly to rails, you can type ember new to generate new Ember applications. However, just like rails, we have several custom configurations and tasks available in ga-wdi-boston/ember-template, so you'll follow the installation instructions there to start new applications.

A new, up-to-date Ember application has been provided for you in this repository.

Ember Application Structure

If you'd like to see the basic structure of a new Ember application, run the below command:

brew install tree

If you then run tree, we see the basic structure of a new Ember application. An abbreviated version:

.
├── README.md
├── app/
│   ├── app.js
│   ├── application/
│   │   ├── adapter.js
│   │   ├── serializer.js
│   │   └── template.hbs
│   ├── components/
│   ├── helpers/
│   ├── index.html
│   ├── resolver.js
│   ├── router.js
│   └── styles/
│       └── app.scss
├── bower.json
├── config/
│   └── environment.js
├── ember-cli-build.js
├── package.json
├── public/
│   ├── crossdomain.xml
│   ├── favicon.ico
│   └── robots.txt
├── testem.js
├── tests/
└── vendor/

Lab: Become Familiar with Ember File Structure

Match the generated structure to the description of the layers found in the overview and resolver documentation.

  1. In which folder will mainly you be working?
  2. Where is the default HTML layout defined?
  3. Where will you find the ready-to-deploy files?

As with Rails, naming conventions are important. File names are linked to variable references, and if either is misspelled, you might experience frustration. Familiarize yourself with the naming conventions.

For reference:

Ember Core Concepts

Layers of an Ember Application

Don't worry about retaining all of this right now - the purpose of this section is just to give you a high-level overview over all of the different pieces of an Ember application. You should refer back to this material any time that you feel yourself losing sight of the big picture.

Ember 2.0

The key parts of an Ember application are:

  • The Ember Router (Ember.Router)
  • Routes (Ember.Route)
  • Templates
  • Models (DS.Model)
  • Components (Ember.Component)
  • Adapters (DS.RESTAdapter)

Ember Router

const Router = Ember.Router.extend({
  location: config.locationType,
});

Router.map(function () {
});

In particular, what the Router does is associate a URL path with a particular Template, through an intermediary object called a Route object.

Ember Route

app/lists/route.js

export default Ember.Route.extend({
  model () {
    return this.get('store').findAll('list');
  },
});

A Route has three jobs: (1) parsing information contained in the URL, such as an ID or a query string, (2) linking the Router to a particular Component/Template (among other things), and (3) loading the UI element's data via a method called model.

Ember Model

app/list/model.js

export default DS.Model.extend({
  title: DS.attr('string'),
  hidden: DS.attr('boolean'),
  items: DS.hasMany('item'),
});

This data can be hard-coded, but usually it is pulled from the app's central data store (provided by library called ember-data) which is accessible to each Route from that Route's store property. The resources available from that store are defined by Models, which essentially served as resource-specific schemas.

Ember Template

app/lists/template.hbs

{{#each model as |list|}}
  {{listr-list/card list=list}}
{{/each}}

The HTML content for Route or Component is provided by a corresponding Template. Each Template was written in Handlebars, and could access and manipulate properties in the Component or Route. In-built Handlebars helpers such as {{#if}} and {{#each}} are also available. Templates can reference other Components by name, and pass information from one Component to another.

Of course, an application would typically need to show many different templates. The system for determining which UI elements to show is called UI Routing, and in Ember that job is carried out by the Router.

Ember Components

A Component can be invoked from within a Template (either a normal one or another Component's Template), and unlike a View, it does not have access to the entire scope of the Route; instead its scope is explicitly defined at the location where the Component is invoked. This has the advantage of making Components very modular (and consequently, more interchangeable and re-usable).

The changeover from Controllers and Views (Ember 1.0) to Components (Ember 2.0) is in process but is not complete. Both Controllers and Views are deprecated, but Components are not yet 'routable' (though that change will probably be coming soon). The work-around is straightforward:

  1. Represent all your UI elements with a Component.
  2. If your view state needs a Route associated with it, load it in a normally-named template. All of your code will either go in a Route or the Component itself.

This newer structure is now much simpler.

Ember Adapter

Each resource can have its data stored in a different type of data storage system (e.g. localstorage, test fixtures, a back-end API), and the details of that resource-storage relationship are handled by a type of object called an Adapter.

Ember 1.0

Make sure you use docs for Ember 2.0+. If it says Ember 1.x, you're probably in the wrong place.

Additional Resources

  1. All content is licensed under a CC­BY­NC­SA 4.0 license.
  2. All software code is licensed under GNU GPLv3. For commercial use or alternative licensing, please contact [email protected].

ember's People

Contributors

ember-tomster avatar ga-meb avatar jrhorn424 avatar laurenfazah avatar micfin avatar payne-chris-r avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ember's Issues

Overlap from Study

If we have them install ember, bower, watchman, etc in the study, do we also want them to do it during the talk? Maybe we just make sure they did the study?

The image showing return of running tree is incorrect

It's not updated since the depodification. It should look like this:

├── app
│   ├── adapters
│   │   └── application.js
│   ├── app.js
│   ├── components
│   ├── helpers
│   ├── index.html
│   ├── models
│   ├── resolver.js
│   ├── router.js
│   ├── routes
│   ├── serializers
│   │   └── application.js
│   ├── services
│   │   └── auth.js
│   ├── styles
│   │   └── app.scss
│   └── templates
│       ├── application.hbs
│       └── components
├── bower.json
├── config
│   └── environment.js
├── ember-cli-build.js
├── grunt
│   ├── aliases.json
│   ├── jscs.json
│   ├── jshint.json
│   ├── jsonlint.json
│   └── paths.json
├── package.json
├── public
│   ├── crossdomain.xml
│   ├── favicon.ico
│   └── robots.txt
├── testem.js
├── tests
│   ├── helpers
│   │   ├── destroy-app.js
│   │   ├── module-for-acceptance.js
│   │   ├── resolver.js
│   │   └── start-app.js
│   ├── index.html
│   ├── integration
│   ├── test-helper.js
│   └── unit
│       ├── adapters
│       │   └── application-test.js
│       ├── serializers
│       │   └── application-test.js
│       └── services
│           └── auth-test.js
└── vendor

Check if we talk about pods vs. classic?

@jrhorn424 and I were talking about the difference between pods and classic and that codeschool does it classic, we do pods, and to talk briefly about the differences. This may be covered in a later lesson or in the template, but should at least be somewhere.

Remove ember app from this?

I don't think there's any reason to keep the actual ember app here except for the tree stuff? I kind of think the tree stuff isn't really necessary anyway though. @jrhorn424 how do you feel about removing it? I think you were the one to put it there?

use --global instead of -g

Almost everywhere else we try to show them what the flag actually is instead of the shortcut. Shortcuts are nice, but less teachable. So, I believe -g should be --global, -v should be --version

Does introducing tree add value?

Is using tree worth introducing since when we use it, it shows such a long tree that might just add confusion?

https://github.com/ga-wdi-boston/ember#ember-application-structure

$ tree
.
├── CONTRIBUTING.md
├── Gruntfile.js
├── LICENSE
├── README.md
├── STYLE.md
├── app
│   ├── app.js
│   ├── application
│   │   ├── adapter.js
│   │   ├── serializer.js
│   │   └── template.hbs
│   ├── components
│   ├── helpers
│   ├── index.html
│   ├── resolver.js
│   ├── router.js
│   └── styles
│       └── app.scss
├── bower.json
├── bower_components
│   ├── bootstrap-sass
│   │   ├── CHANGELOG.md
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── assets
│   │   │   ├── fonts
│   │   │   │   └── bootstrap
│   │   │   │       ├── glyphicons-halflings-regular.eot
│   │   │   │       ├── glyphicons-halflings-regular.svg
│   │   │   │       ├── glyphicons-halflings-regular.ttf
│   │   │   │       ├── glyphicons-halflings-regular.woff
│   │   │   │       └── glyphicons-halflings-regular.woff2
│   │   │   ├── images
│   │   │   ├── javascripts
│   │   │   │   ├── bootstrap
│   │   │   │   │   ├── affix.js
│   │   │   │   │   ├── alert.js
│   │   │   │   │   ├── button.js
│   │   │   │   │   ├── carousel.js
│   │   │   │   │   ├── collapse.js
│   │   │   │   │   ├── dropdown.js
│   │   │   │   │   ├── modal.js
│   │   │   │   │   ├── popover.js
│   │   │   │   │   ├── scrollspy.js
│   │   │   │   │   ├── tab.js
│   │   │   │   │   ├── tooltip.js
│   │   │   │   │   └── transition.js
│   │   │   │   ├── bootstrap-sprockets.js
│   │   │   │   ├── bootstrap.js
│   │   │   │   └── bootstrap.min.js
│   │   │   └── stylesheets
│   │   │       ├── _bootstrap-compass.scss
│   │   │       ├── _bootstrap-mincer.scss
│   │   │       ├── _bootstrap-sprockets.scss
│   │   │       ├── _bootstrap.scss
│   │   │       └── bootstrap
│   │   │           ├── _alerts.scss
│   │   │           ├── _badges.scss
│   │   │           ├── _breadcrumbs.scss
│   │   │           ├── _button-groups.scss
│   │   │           ├── _buttons.scss
│   │   │           ├── _carousel.scss
│   │   │           ├── _close.scss
│   │   │           ├── _code.scss
│   │   │           ├── _component-animations.scss
│   │   │           ├── _dropdowns.scss
│   │   │           ├── _forms.scss
│   │   │           ├── _glyphicons.scss
│   │   │           ├── _grid.scss
│   │   │           ├── _input-groups.scss
│   │   │           ├── _jumbotron.scss
│   │   │           ├── _labels.scss
│   │   │           ├── _list-group.scss
│   │   │           ├── _media.scss
│   │   │           ├── _mixins.scss
│   │   │           ├── _modals.scss
│   │   │           ├── _navbar.scss
│   │   │           ├── _navs.scss
│   │   │           ├── _normalize.scss
│   │   │           ├── _pager.scss
│   │   │           ├── _pagination.scss
│   │   │           ├── _panels.scss
│   │   │           ├── _popovers.scss
│   │   │           ├── _print.scss
│   │   │           ├── _progress-bars.scss
│   │   │           ├── _responsive-embed.scss
│   │   │           ├── _responsive-utilities.scss
│   │   │           ├── _scaffolding.scss
│   │   │           ├── _tables.scss
│   │   │           ├── _theme.scss
│   │   │           ├── _thumbnails.scss
│   │   │           ├── _tooltip.scss
│   │   │           ├── _type.scss
│   │   │           ├── _utilities.scss
│   │   │           ├── _variables.scss
│   │   │           ├── _wells.scss
│   │   │           └── mixins
│   │   │               ├── _alerts.scss
│   │   │               ├── _background-variant.scss
│   │   │               ├── _border-radius.scss
│   │   │               ├── _buttons.scss
│   │   │               ├── _center-block.scss
│   │   │               ├── _clearfix.scss
│   │   │               ├── _forms.scss
│   │   │               ├── _gradients.scss
│   │   │               ├── _grid-framework.scss
│   │   │               ├── _grid.scss
│   │   │               ├── _hide-text.scss
│   │   │               ├── _image.scss
│   │   │               ├── _labels.scss
│   │   │               ├── _list-group.scss
│   │   │               ├── _nav-divider.scss
│   │   │               ├── _nav-vertical-align.scss
│   │   │               ├── _opacity.scss
│   │   │               ├── _pagination.scss
│   │   │               ├── _panels.scss
│   │   │               ├── _progress-bar.scss
│   │   │               ├── _reset-filter.scss
│   │   │               ├── _reset-text.scss
│   │   │               ├── _resize.scss
│   │   │               ├── _responsive-visibility.scss
│   │   │               ├── _size.scss
│   │   │               ├── _tab-focus.scss
│   │   │               ├── _table-row.scss
│   │   │               ├── _text-emphasis.scss
│   │   │               ├── _text-overflow.scss
│   │   │               └── _vendor-prefixes.scss
│   │   ├── bower.json
│   │   ├── composer.json
│   │   ├── eyeglass-exports.js
│   │   ├── package.json
│   │   └── sache.json
│   ├── ember
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── bower.json
│   │   ├── component.json
│   │   ├── composer.json
│   │   ├── ember-docs.json
│   │   ├── ember-runtime.js
│   │   ├── ember-template-compiler.js
│   │   ├── ember-testing.js
│   │   ├── ember.debug.js
│   │   ├── ember.js
│   │   ├── ember.min.js
│   │   ├── ember.prod.js
│   │   └── package.json
│   ├── ember-cli-shims
│   │   ├── CODE_OF_CONDUCT.md
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── app-shims.js
│   │   ├── bower.json
│   │   └── test-shims.js
│   ├── ember-qunit-notifications
│   │   ├── CONTRIBUTING.md
│   │   ├── README.md
│   │   ├── bower.json
│   │   ├── failed.png
│   │   ├── index.js
│   │   └── passed.png
│   ├── jquery
│   │   ├── AUTHORS.txt
│   │   ├── LICENSE.txt
│   │   ├── README.md
│   │   ├── bower.json
│   │   ├── dist
│   │   │   ├── core.js
│   │   │   ├── jquery.js
│   │   │   ├── jquery.min.js
│   │   │   ├── jquery.min.map
│   │   │   ├── jquery.slim.js
│   │   │   ├── jquery.slim.min.js
│   │   │   └── jquery.slim.min.map
│   │   ├── external
│   │   │   └── sizzle
│   │   │       ├── LICENSE.txt
│   │   │       └── dist
│   │   │           ├── sizzle.js
│   │   │           ├── sizzle.min.js
│   │   │           └── sizzle.min.map
│   │   └── src
│   │       ├── ajax
│   │       │   ├── jsonp.js
│   │       │   ├── load.js
│   │       │   ├── parseXML.js
│   │       │   ├── script.js
│   │       │   ├── var
│   │       │   │   ├── location.js
│   │       │   │   ├── nonce.js
│   │       │   │   └── rquery.js
│   │       │   └── xhr.js
│   │       ├── ajax.js
│   │       ├── attributes
│   │       │   ├── attr.js
│   │       │   ├── classes.js
│   │       │   ├── prop.js
│   │       │   ├── support.js
│   │       │   └── val.js
│   │       ├── attributes.js
│   │       ├── callbacks.js
│   │       ├── core
│   │       │   ├── DOMEval.js
│   │       │   ├── access.js
│   │       │   ├── init.js
│   │       │   ├── parseHTML.js
│   │       │   ├── ready-no-deferred.js
│   │       │   ├── ready.js
│   │       │   ├── readyException.js
│   │       │   ├── stripAndCollapse.js
│   │       │   ├── support.js
│   │       │   └── var
│   │       │       └── rsingleTag.js
│   │       ├── core.js
│   │       ├── css
│   │       │   ├── addGetHookIf.js
│   │       │   ├── adjustCSS.js
│   │       │   ├── curCSS.js
│   │       │   ├── hiddenVisibleSelectors.js
│   │       │   ├── showHide.js
│   │       │   ├── support.js
│   │       │   └── var
│   │       │       ├── cssExpand.js
│   │       │       ├── getStyles.js
│   │       │       ├── isHiddenWithinTree.js
│   │       │       ├── rmargin.js
│   │       │       ├── rnumnonpx.js
│   │       │       └── swap.js
│   │       ├── css.js
│   │       ├── data
│   │       │   ├── Data.js
│   │       │   └── var
│   │       │       ├── acceptData.js
│   │       │       ├── dataPriv.js
│   │       │       └── dataUser.js
│   │       ├── data.js
│   │       ├── deferred
│   │       │   └── exceptionHook.js
│   │       ├── deferred.js
│   │       ├── deprecated.js
│   │       ├── dimensions.js
│   │       ├── effects
│   │       │   ├── Tween.js
│   │       │   └── animatedSelector.js
│   │       ├── effects.js
│   │       ├── event
│   │       │   ├── ajax.js
│   │       │   ├── alias.js
│   │       │   ├── focusin.js
│   │       │   ├── support.js
│   │       │   └── trigger.js
│   │       ├── event.js
│   │       ├── exports
│   │       │   ├── amd.js
│   │       │   └── global.js
│   │       ├── jquery.js
│   │       ├── manipulation
│   │       │   ├── _evalUrl.js
│   │       │   ├── buildFragment.js
│   │       │   ├── getAll.js
│   │       │   ├── setGlobalEval.js
│   │       │   ├── support.js
│   │       │   ├── var
│   │       │   │   ├── rcheckableType.js
│   │       │   │   ├── rscriptType.js
│   │       │   │   └── rtagName.js
│   │       │   └── wrapMap.js
│   │       ├── manipulation.js
│   │       ├── offset.js
│   │       ├── queue
│   │       │   └── delay.js
│   │       ├── queue.js
│   │       ├── selector-native.js
│   │       ├── selector-sizzle.js
│   │       ├── selector.js
│   │       ├── serialize.js
│   │       ├── traversing
│   │       │   ├── findFilter.js
│   │       │   └── var
│   │       │       ├── dir.js
│   │       │       ├── rneedsContext.js
│   │       │       └── siblings.js
│   │       ├── traversing.js
│   │       ├── var
│   │       │   ├── ObjectFunctionString.js
│   │       │   ├── arr.js
│   │       │   ├── class2type.js
│   │       │   ├── concat.js
│   │       │   ├── document.js
│   │       │   ├── documentElement.js
│   │       │   ├── fnToString.js
│   │       │   ├── getProto.js
│   │       │   ├── hasOwn.js
│   │       │   ├── indexOf.js
│   │       │   ├── pnum.js
│   │       │   ├── push.js
│   │       │   ├── rcssNum.js
│   │       │   ├── rnothtmlwhite.js
│   │       │   ├── slice.js
│   │       │   ├── support.js
│   │       │   └── toString.js
│   │       └── wrap.js
│   └── qunit-notifications
│       ├── CONTRIBUTING.md
│       ├── README.md
│       ├── bower.json
│       ├── index.js
│       ├── karma.conf.js
│       └── package.json
├── config
│   └── environment.js
├── ember-cli-build.js
├── grunt
│   ├── aliases.json
│   ├── jscs.json
│   ├── jshint.json
│   ├── jsonlint.json
│   └── paths.json
├── node_modules
│   ├── JSV
│   │   ├── CHANGELOG.md
│   │   ├── README.md
│   │   ├── docs
│   │   │   ├── files.html
│   │   │   ├── index.html
│   │   │   └── symbols
│   │   │       ├── Environment.html
│   │   │       ├── Error.html
│   │   │       ├── InitializationError.html
│   │   │       ├── JSONInstance.html
│   │   │       ├── JSONSchema.html
│   │   │       ├── JSV.html
│   │   │       ├── Report.html
│   │   │       ├── ValidationError.html
│   │   │       ├── _global_.html
│   │   │       └── src
│   │   │           └── jsv.js.html
│   │   ├── examples
│   │   │   └── index.html
│   │   ├── jsdoc-toolkit
│   │   │   ├── README.txt
│   │   │   ├── app
│   │   │   │   ├── frame
│   │   │   │   │   ├── Chain.js
│   │   │   │   │   ├── Dumper.js
│   │   │   │   │   ├── Hash.js
│   │   │   │   │   ├── Link.js
│   │   │   │   │   ├── Namespace.js
│   │   │   │   │   ├── Opt.js
│   │   │   │   │   ├── Reflection.js
│   │   │   │   │   ├── String.js
│   │   │   │   │   └── Testrun.js
│   │   │   │   ├── frame.js
│   │   │   │   ├── handlers
│   │   │   │   │   ├── FOODOC.js
│   │   │   │   │   ├── XMLDOC
│   │   │   │   │   │   ├── DomReader.js
│   │   │   │   │   │   ├── XMLDoc.js
│   │   │   │   │   │   └── XMLParse.js
│   │   │   │   │   └── XMLDOC.js
│   │   │   │   ├── lib
│   │   │   │   │   ├── JSDOC
│   │   │   │   │   │   ├── DocComment.js
│   │   │   │   │   │   ├── DocTag.js
│   │   │   │   │   │   ├── JsDoc.js
│   │   │   │   │   │   ├── JsPlate.js
│   │   │   │   │   │   ├── Lang.js
│   │   │   │   │   │   ├── Parser.js
│   │   │   │   │   │   ├── PluginManager.js
│   │   │   │   │   │   ├── Symbol.js
│   │   │   │   │   │   ├── SymbolSet.js
│   │   │   │   │   │   ├── TextStream.js
│   │   │   │   │   │   ├── Token.js
│   │   │   │   │   │   ├── TokenReader.js
│   │   │   │   │   │   ├── TokenStream.js
│   │   │   │   │   │   ├── Util.js
│   │   │   │   │   │   └── Walker.js
│   │   │   │   │   └── JSDOC.js
│   │   │   │   ├── main.js
│   │   │   │   ├── plugins
│   │   │   │   │   ├── commentSrcJson.js
│   │   │   │   │   ├── frameworkPrototype.js
│   │   │   │   │   ├── functionCall.js
│   │   │   │   │   ├── publishSrcHilite.js
│   │   │   │   │   ├── symbolLink.js
│   │   │   │   │   ├── tagParamConfig.js
│   │   │   │   │   └── tagSynonyms.js
│   │   │   │   ├── run.js
│   │   │   │   ├── t
│   │   │   │   │   ├── TestDoc.js
│   │   │   │   │   └── runner.js
│   │   │   │   ├── test
│   │   │   │   │   ├── addon.js
│   │   │   │   │   ├── anon_inner.js
│   │   │   │   │   ├── augments.js
│   │   │   │   │   ├── augments2.js
│   │   │   │   │   ├── borrows.js
│   │   │   │   │   ├── borrows2.js
│   │   │   │   │   ├── config.js
│   │   │   │   │   ├── constructs.js
│   │   │   │   │   ├── encoding.js
│   │   │   │   │   ├── encoding_other.js
│   │   │   │   │   ├── event.js
│   │   │   │   │   ├── exports.js
│   │   │   │   │   ├── functions_anon.js
│   │   │   │   │   ├── functions_nested.js
│   │   │   │   │   ├── global.js
│   │   │   │   │   ├── globals.js
│   │   │   │   │   ├── ignore.js
│   │   │   │   │   ├── inner.js
│   │   │   │   │   ├── jsdoc_test.js
│   │   │   │   │   ├── lend.js
│   │   │   │   │   ├── memberof.js
│   │   │   │   │   ├── memberof2.js
│   │   │   │   │   ├── memberof3.js
│   │   │   │   │   ├── memberof_constructor.js
│   │   │   │   │   ├── module.js
│   │   │   │   │   ├── multi_methods.js
│   │   │   │   │   ├── name.js
│   │   │   │   │   ├── namespace_nested.js
│   │   │   │   │   ├── nocode.js
│   │   │   │   │   ├── oblit_anon.js
│   │   │   │   │   ├── overview.js
│   │   │   │   │   ├── param_inline.js
│   │   │   │   │   ├── params_optional.js
│   │   │   │   │   ├── prototype.js
│   │   │   │   │   ├── prototype_nested.js
│   │   │   │   │   ├── prototype_oblit.js
│   │   │   │   │   ├── prototype_oblit_constructor.js
│   │   │   │   │   ├── public.js
│   │   │   │   │   ├── scripts
│   │   │   │   │   │   ├── code.js
│   │   │   │   │   │   └── notcode.txt
│   │   │   │   │   ├── shared.js
│   │   │   │   │   ├── shared2.js
│   │   │   │   │   ├── shortcuts.js
│   │   │   │   │   ├── static_this.js
│   │   │   │   │   ├── synonyms.js
│   │   │   │   │   ├── tosource.js
│   │   │   │   │   └── variable_redefine.js
│   │   │   │   └── test.js
│   │   │   ├── changes.txt
│   │   │   ├── conf
│   │   │   │   └── sample.conf
│   │   │   ├── java
│   │   │   │   ├── build.xml
│   │   │   │   ├── build_1.4.xml
│   │   │   │   ├── classes
│   │   │   │   │   └── js.jar
│   │   │   │   └── src
│   │   │   │       ├── JsDebugRun.java
│   │   │   │       └── JsRun.java
│   │   │   ├── jsdebug.jar
│   │   │   ├── jsrun.jar
│   │   │   ├── jsrun.sh
│   │   │   └── templates
│   │   │       ├── bluelabel
│   │   │       │   ├── allclasses.tmpl
│   │   │       │   ├── allfiles.tmpl
│   │   │       │   ├── class.tmpl
│   │   │       │   ├── index.tmpl
│   │   │       │   ├── publish.js
│   │   │       │   ├── static
│   │   │       │   │   └── index.html
│   │   │       │   ├── stylesheets
│   │   │       │   │   ├── blue_label.gif
│   │   │       │   │   ├── body_noise.gif
│   │   │       │   │   ├── body_wrapper_noise.gif
│   │   │       │   │   ├── box_noise.gif
│   │   │       │   │   ├── box_wrapper_noise.gif
│   │   │       │   │   ├── default.css
│   │   │       │   │   └── title_bullet.gif
│   │   │       │   └── symbol.tmpl
│   │   │       ├── codeview
│   │   │       │   ├── allclasses.tmpl
│   │   │       │   ├── allfiles.tmpl
│   │   │       │   ├── class.tmpl
│   │   │       │   ├── css
│   │   │       │   │   ├── all.css
│   │   │       │   │   ├── fonts
│   │   │       │   │   │   ├── mplus-1m-bold-webfont.eot
│   │   │       │   │   │   ├── mplus-1m-bold-webfont.svg
│   │   │       │   │   │   ├── mplus-1m-bold-webfont.ttf
│   │   │       │   │   │   ├── mplus-1m-bold-webfont.woff
│   │   │       │   │   │   ├── mplus-1m-regular-webfont.eot
│   │   │       │   │   │   ├── mplus-1m-regular-webfont.svg
│   │   │       │   │   │   ├── mplus-1m-regular-webfont.ttf
│   │   │       │   │   │   ├── mplus-1m-regular-webfont.woff
│   │   │       │   │   │   └── stylesheet.css
│   │   │       │   │   ├── handheld.css
│   │   │       │   │   └── screen.css
│   │   │       │   ├── index.tmpl
│   │   │       │   ├── javascript
│   │   │       │   │   └── wbos.csstools.mediaqueryfallback.js
│   │   │       │   ├── publish.js
│   │   │       │   ├── static
│   │   │       │   │   ├── header.html
│   │   │       │   │   └── index.html
│   │   │       │   └── symbol.tmpl
│   │   │       └── jsdoc
│   │   │           ├── allclasses.tmpl
│   │   │           ├── allfiles.tmpl
│   │   │           ├── class.tmpl
│   │   │           ├── index.tmpl
│   │   │           ├── publish.js
│   │   │           ├── static
│   │   │           │   ├── default.css
│   │   │           │   ├── header.html
│   │   │           │   └── index.html
│   │   │           └── symbol.tmpl
│   │   ├── lib
│   │   │   ├── environments.js
│   │   │   ├── json-schema-draft-01.js
│   │   │   ├── json-schema-draft-02.js
│   │   │   ├── json-schema-draft-03.js
│   │   │   ├── jsv.js
│   │   │   └── uri
│   │   │       ├── schemes
│   │   │       │   └── urn.js
│   │   │       └── uri.js
│   │   ├── package.json
│   │   ├── schemas
│   │   │   ├── json-schema-draft-01
│   │   │   │   ├── empty-schema.json
│   │   │   │   ├── hyper-schema.json
│   │   │   │   ├── json-ref.json
│   │   │   │   ├── links.json
│   │   │   │   └── schema.json
│   │   │   ├── json-schema-draft-02
│   │   │   │   ├── empty-schema.json
│   │   │   │   ├── hyper-schema.json
│   │   │   │   ├── json-ref.json
│   │   │   │   ├── links.json
│   │   │   │   └── schema.json
│   │   │   └── json-schema-draft-03
│   │   │       ├── hyper-schema.json
│   │   │       ├── json-ref.json
│   │   │       ├── links.json
│   │   │       └── schema.json
│   │   └── tests
│   │       ├── index.html
│   │       ├── index3.html
│   │       ├── index3b.html
│   │       ├── qunit.css
│   │       ├── qunit.js
│   │       ├── tests.js
│   │       ├── tests3.js
│   │       └── tests3b.js
│   ├── abbrev
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── abbrev.js
│   │   └── package.json
│   ├── accepts
│   │   ├── HISTORY.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── acorn
│   │   ├── AUTHORS
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── bin
│   │   │   └── acorn
│   │   ├── dist
│   │   │   ├── acorn.es.js
│   │   │   ├── acorn.js
│   │   │   ├── acorn_loose.es.js
│   │   │   ├── acorn_loose.js
│   │   │   ├── walk.es.js
│   │   │   └── walk.js
│   │   ├── package.json
│   │   └── src
│   │       ├── bin
│   │       │   └── acorn.js
│   │       ├── expression.js
│   │       ├── identifier.js
│   │       ├── index.js
│   │       ├── location.js
│   │       ├── locutil.js
│   │       ├── loose
│   │       │   ├── expression.js
│   │       │   ├── index.js
│   │       │   ├── parseutil.js
│   │       │   ├── state.js
│   │       │   ├── statement.js
│   │       │   └── tokenize.js
│   │       ├── lval.js
│   │       ├── node.js
│   │       ├── options.js
│   │       ├── parseutil.js
│   │       ├── state.js
│   │       ├── statement.js
│   │       ├── tokencontext.js
│   │       ├── tokenize.js
│   │       ├── tokentype.js
│   │       ├── util.js
│   │       ├── walk
│   │       │   └── index.js
│   │       └── whitespace.js
│   ├── active-model-adapter
│   │   ├── CHANGELOG.MD
│   │   ├── CODE_OF_CONDUCT.md
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   ├── active-model-adapter-source.gemspec
│   │   ├── addon
│   │   │   ├── active-model-adapter.js
│   │   │   ├── active-model-serializer.js
│   │   │   └── index.js
│   │   ├── app
│   │   │   └── initializers
│   │   │       └── active-model-adapter.js
│   │   ├── babel-options.js
│   │   ├── bin
│   │   │   ├── changelog
│   │   │   ├── check-package-version
│   │   │   ├── release
│   │   │   └── version
│   │   ├── config
│   │   │   ├── ember-try.js
│   │   │   └── environment.js
│   │   ├── ember-cli-build.js
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── ember
│   │   │   │   └── data
│   │   │   │       └── active_model
│   │   │   │           └── adapter
│   │   │   │               ├── source.rb
│   │   │   │               └── version.rb
│   │   │   ├── ember-data.js
│   │   │   ├── ember.js
│   │   │   ├── globals.js
│   │   │   └── license.js
│   │   └── package.json
│   ├── after
│   │   ├── LICENCE
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── package.json
│   │   └── test
│   │       └── after-test.js
│   ├── ajv
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── dist
│   │   │   ├── ajv.bundle.js
│   │   │   ├── ajv.min.js
│   │   │   ├── ajv.min.js.map
│   │   │   ├── nodent.min.js
│   │   │   └── regenerator.min.js
│   │   ├── lib
│   │   │   ├── ajv.d.ts
│   │   │   ├── ajv.js
│   │   │   ├── async.js
│   │   │   ├── cache.js
│   │   │   ├── compile
│   │   │   │   ├── _rules.js
│   │   │   │   ├── equal.js
│   │   │   │   ├── formats.js
│   │   │   │   ├── index.js
│   │   │   │   ├── resolve.js
│   │   │   │   ├── rules.js
│   │   │   │   ├── schema_obj.js
│   │   │   │   ├── ucs2length.js
│   │   │   │   ├── util.js
│   │   │   │   └── validation_error.js
│   │   │   ├── dot
│   │   │   │   ├── _limit.jst
│   │   │   │   ├── _limitItems.jst
│   │   │   │   ├── _limitLength.jst
│   │   │   │   ├── _limitProperties.jst
│   │   │   │   ├── allOf.jst
│   │   │   │   ├── anyOf.jst
│   │   │   │   ├── coerce.def
│   │   │   │   ├── custom.jst
│   │   │   │   ├── defaults.def
│   │   │   │   ├── definitions.def
│   │   │   │   ├── dependencies.jst
│   │   │   │   ├── enum.jst
│   │   │   │   ├── errors.def
│   │   │   │   ├── format.jst
│   │   │   │   ├── items.jst
│   │   │   │   ├── missing.def
│   │   │   │   ├── multipleOf.jst
│   │   │   │   ├── not.jst
│   │   │   │   ├── oneOf.jst
│   │   │   │   ├── pattern.jst
│   │   │   │   ├── properties.jst
│   │   │   │   ├── ref.jst
│   │   │   │   ├── required.jst
│   │   │   │   ├── uniqueItems.jst
│   │   │   │   ├── v5
│   │   │   │   │   ├── _formatLimit.jst
│   │   │   │   │   ├── constant.jst
│   │   │   │   │   ├── patternRequired.jst
│   │   │   │   │   └── switch.jst
│   │   │   │   └── validate.jst
│   │   │   ├── dotjs
│   │   │   │   ├── README.md
│   │   │   │   ├── _formatLimit.js
│   │   │   │   ├── _limit.js
│   │   │   │   ├── _limitItems.js
│   │   │   │   ├── _limitLength.js
│   │   │   │   ├── _limitProperties.js
│   │   │   │   ├── allOf.js
│   │   │   │   ├── anyOf.js
│   │   │   │   ├── constant.js
│   │   │   │   ├── custom.js
│   │   │   │   ├── dependencies.js
│   │   │   │   ├── enum.js
│   │   │   │   ├── format.js
│   │   │   │   ├── items.js
│   │   │   │   ├── multipleOf.js
│   │   │   │   ├── not.js
│   │   │   │   ├── oneOf.js
│   │   │   │   ├── pattern.js
│   │   │   │   ├── patternRequired.js
│   │   │   │   ├── properties.js
│   │   │   │   ├── ref.js
│   │   │   │   ├── required.js
│   │   │   │   ├── switch.js
│   │   │   │   ├── uniqueItems.js
│   │   │   │   └── validate.js
│   │   │   ├── keyword.js
│   │   │   ├── refs
│   │   │   │   ├── json-schema-draft-04.json
│   │   │   │   └── json-schema-v5.json
│   │   │   └── v5.js
│   │   ├── package.json
│   │   └── scripts
│   │       ├── bundle.js
│   │       ├── compile-dots.js
│   │       ├── info
│   │       ├── prepare-tests
│   │       └── travis-gh-pages
│   ├── align-text
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── alter
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── alter.js
│   │   ├── package.json
│   │   └── test
│   │       └── alter-tests.js
│   ├── amd-name-resolver
│   │   ├── index.js
│   │   └── package.json
│   ├── amdefine
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── amdefine.js
│   │   ├── intercept.js
│   │   └── package.json
│   ├── ansi-escapes
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── ansi-regex
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── ansi-styles
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── ansicolors
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── ansicolors.js
│   │   ├── package.json
│   │   └── test
│   │       └── ansicolors.js
│   ├── anymatch
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── aproba
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── are-we-there-yet
│   │   ├── CHANGES.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── node_modules
│   │   │   └── readable-stream
│   │   │       ├── CONTRIBUTING.md
│   │   │       ├── GOVERNANCE.md
│   │   │       ├── LICENSE
│   │   │       ├── README.md
│   │   │       ├── doc
│   │   │       │   └── wg-meetings
│   │   │       │       └── 2015-01-30.md
│   │   │       ├── duplex.js
│   │   │       ├── lib
│   │   │       │   ├── _stream_duplex.js
│   │   │       │   ├── _stream_passthrough.js
│   │   │       │   ├── _stream_readable.js
│   │   │       │   ├── _stream_transform.js
│   │   │       │   ├── _stream_writable.js
│   │   │       │   └── internal
│   │   │       │       └── streams
│   │   │       │           └── BufferList.js
│   │   │       ├── package.json
│   │   │       ├── passthrough.js
│   │   │       ├── readable.js
│   │   │       ├── transform.js
│   │   │       └── writable.js
│   │   ├── package.json
│   │   ├── test
│   │   │   ├── lib
│   │   │   │   └── test-event.js
│   │   │   ├── tracker.js
│   │   │   ├── trackergroup.js
│   │   │   └── trackerstream.js
│   │   ├── tracker-base.js
│   │   ├── tracker-group.js
│   │   ├── tracker-stream.js
│   │   └── tracker.js
│   ├── argparse
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── action
│   │   │   │   ├── append
│   │   │   │   │   └── constant.js
│   │   │   │   ├── append.js
│   │   │   │   ├── count.js
│   │   │   │   ├── help.js
│   │   │   │   ├── store
│   │   │   │   │   ├── constant.js
│   │   │   │   │   ├── false.js
│   │   │   │   │   └── true.js
│   │   │   │   ├── store.js
│   │   │   │   ├── subparsers.js
│   │   │   │   └── version.js
│   │   │   ├── action.js
│   │   │   ├── action_container.js
│   │   │   ├── argparse.js
│   │   │   ├── argument
│   │   │   │   ├── error.js
│   │   │   │   ├── exclusive.js
│   │   │   │   └── group.js
│   │   │   ├── argument_parser.js
│   │   │   ├── const.js
│   │   │   ├── help
│   │   │   │   ├── added_formatters.js
│   │   │   │   └── formatter.js
│   │   │   ├── namespace.js
│   │   │   └── utils.js
│   │   └── package.json
│   ├── arr-diff
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── arr-flatten
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── array-differ
│   │   ├── index.js
│   │   ├── package.json
│   │   └── readme.md
│   ├── array-equal
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── component.json
│   │   ├── index.js
│   │   └── package.json
│   ├── array-find-index
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── array-flatten
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── array-flatten.js
│   │   └── package.json
│   ├── array-to-error
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── index.jsnext.js
│   │   └── package.json
│   ├── array-to-sentence
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── index.jsnext.js
│   │   └── package.json
│   ├── array-union
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── array-uniq
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── array-unique
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── arraybuffer.slice
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── package.json
│   │   └── test
│   │       └── slice-buffer.js
│   ├── arrify
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── asn1
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── lib
│   │   │   ├── ber
│   │   │   │   ├── errors.js
│   │   │   │   ├── index.js
│   │   │   │   ├── reader.js
│   │   │   │   ├── types.js
│   │   │   │   └── writer.js
│   │   │   └── index.js
│   │   ├── package.json
│   │   └── tst
│   │       └── ber
│   │           ├── reader.test.js
│   │           └── writer.test.js
│   ├── assert-plus
│   │   ├── AUTHORS
│   │   ├── CHANGES.md
│   │   ├── README.md
│   │   ├── assert.js
│   │   └── package.json
│   ├── ast-traverse
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── ast-traverse.js
│   │   ├── package.json
│   │   └── tst
│   │       ├── tst-ast.json
│   │       └── tst.js
│   ├── ast-types
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── def
│   │   │   ├── babel.js
│   │   │   ├── babel6.js
│   │   │   ├── core.js
│   │   │   ├── e4x.js
│   │   │   ├── es6.js
│   │   │   ├── es7.js
│   │   │   ├── esprima.js
│   │   │   ├── flow.js
│   │   │   ├── jsx.js
│   │   │   └── mozilla.js
│   │   ├── fork.js
│   │   ├── lib
│   │   │   ├── equiv.js
│   │   │   ├── node-path.js
│   │   │   ├── path-visitor.js
│   │   │   ├── path.js
│   │   │   ├── scope.js
│   │   │   ├── shared.js
│   │   │   └── types.js
│   │   ├── main.js
│   │   └── package.json
│   ├── async
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── dist
│   │   │   ├── async.js
│   │   │   └── async.min.js
│   │   ├── lib
│   │   │   └── async.js
│   │   └── package.json
│   ├── async-disk-cache
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── cache-entry.js
│   │   │   └── metric.js
│   │   └── package.json
│   ├── async-foreach
│   │   ├── LICENSE-MIT
│   │   ├── README.md
│   │   ├── dist
│   │   │   ├── ba-foreach.js
│   │   │   └── ba-foreach.min.js
│   │   ├── grunt.js
│   │   ├── lib
│   │   │   └── foreach.js
│   │   ├── package.json
│   │   └── test
│   │       └── foreach_test.js
│   ├── asynckit
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── bench.js
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── abort.js
│   │   │   ├── async.js
│   │   │   ├── defer.js
│   │   │   ├── iterate.js
│   │   │   ├── readable_asynckit.js
│   │   │   ├── readable_parallel.js
│   │   │   ├── readable_serial.js
│   │   │   ├── readable_serial_ordered.js
│   │   │   ├── state.js
│   │   │   ├── streamify.js
│   │   │   └── terminator.js
│   │   ├── package.json
│   │   ├── parallel.js
│   │   ├── serial.js
│   │   ├── serialOrdered.js
│   │   └── stream.js
│   ├── autoprefixer
│   │   ├── AUTHORS
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── data
│   │   │   └── prefixes.js
│   │   ├── lib
│   │   │   ├── at-rule.js
│   │   │   ├── autoprefixer.js
│   │   │   ├── brackets.js
│   │   │   ├── browsers.js
│   │   │   ├── declaration.js
│   │   │   ├── hacks
│   │   │   │   ├── align-content.js
│   │   │   │   ├── align-items.js
│   │   │   │   ├── align-self.js
│   │   │   │   ├── background-size.js
│   │   │   │   ├── block-logical.js
│   │   │   │   ├── border-image.js
│   │   │   │   ├── border-radius.js
│   │   │   │   ├── break-props.js
│   │   │   │   ├── cross-fade.js
│   │   │   │   ├── display-flex.js
│   │   │   │   ├── display-grid.js
│   │   │   │   ├── filter-value.js
│   │   │   │   ├── filter.js
│   │   │   │   ├── flex-basis.js
│   │   │   │   ├── flex-direction.js
│   │   │   │   ├── flex-flow.js
│   │   │   │   ├── flex-grow.js
│   │   │   │   ├── flex-shrink.js
│   │   │   │   ├── flex-spec.js
│   │   │   │   ├── flex-values.js
│   │   │   │   ├── flex-wrap.js
│   │   │   │   ├── flex.js
│   │   │   │   ├── fullscreen.js
│   │   │   │   ├── gradient.js
│   │   │   │   ├── grid-end.js
│   │   │   │   ├── grid-row-align.js
│   │   │   │   ├── grid-start.js
│   │   │   │   ├── grid-template.js
│   │   │   │   ├── image-rendering.js
│   │   │   │   ├── image-set.js
│   │   │   │   ├── inline-logical.js
│   │   │   │   ├── justify-content.js
│   │   │   │   ├── justify-items.js
│   │   │   │   ├── mask-border.js
│   │   │   │   ├── order.js
│   │   │   │   ├── pixelated.js
│   │   │   │   ├── placeholder.js
│   │   │   │   ├── stretch.js
│   │   │   │   ├── text-emphasis-position.js
│   │   │   │   ├── transform-decl.js
│   │   │   │   └── writing-mode.js
│   │   │   ├── info.js
│   │   │   ├── old-selector.js
│   │   │   ├── old-value.js
│   │   │   ├── prefixer.js
│   │   │   ├── prefixes.js
│   │   │   ├── processor.js
│   │   │   ├── resolution.js
│   │   │   ├── selector.js
│   │   │   ├── supports.js
│   │   │   ├── transition.js
│   │   │   ├── utils.js
│   │   │   └── value.js
│   │   └── package.json
│   ├── aws-sign2
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── index.js
│   │   └── package.json
│   ├── aws4
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── aws4.js
│   │   ├── lru.js
│   │   └── package.json
│   ├── babel-core
│   │   ├── browser-polyfill.js
│   │   ├── browser-polyfill.min.js
│   │   ├── browser.js
│   │   ├── browser.min.js
│   │   ├── external-helpers.js
│   │   ├── external-helpers.min.js
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── README.md
│   │   │   ├── api
│   │   │   │   ├── README.md
│   │   │   │   ├── browser.js
│   │   │   │   ├── node.js
│   │   │   │   └── register
│   │   │   │       ├── browser.js
│   │   │   │       ├── cache.js
│   │   │   │       ├── node-polyfill.js
│   │   │   │       └── node.js
│   │   │   ├── babel
│   │   │   │   └── transformation
│   │   │   │       └── modules.js
│   │   │   ├── generation
│   │   │   │   ├── README.md
│   │   │   │   ├── buffer.js
│   │   │   │   ├── generators
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── base.js
│   │   │   │   │   ├── classes.js
│   │   │   │   │   ├── comprehensions.js
│   │   │   │   │   ├── expressions.js
│   │   │   │   │   ├── flow.js
│   │   │   │   │   ├── jsx.js
│   │   │   │   │   ├── methods.js
│   │   │   │   │   ├── modules.js
│   │   │   │   │   ├── statements.js
│   │   │   │   │   ├── template-literals.js
│   │   │   │   │   └── types.js
│   │   │   │   ├── index.js
│   │   │   │   ├── node
│   │   │   │   │   ├── index.js
│   │   │   │   │   ├── parentheses.js
│   │   │   │   │   ├── printer.js
│   │   │   │   │   └── whitespace.js
│   │   │   │   ├── position.js
│   │   │   │   ├── source-map.js
│   │   │   │   └── whitespace.js
│   │   │   ├── helpers
│   │   │   │   ├── README.md
│   │   │   │   ├── code-frame.js
│   │   │   │   ├── merge.js
│   │   │   │   ├── normalize-ast.js
│   │   │   │   ├── object.js
│   │   │   │   └── parse.js
│   │   │   ├── messages.js
│   │   │   ├── polyfill.js
│   │   │   ├── tools
│   │   │   │   ├── README.md
│   │   │   │   └── build-external-helpers.js
│   │   │   ├── transformation
│   │   │   │   ├── README.md
│   │   │   │   ├── file
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── index.js
│   │   │   │   │   ├── logger.js
│   │   │   │   │   ├── options
│   │   │   │   │   │   ├── README.md
│   │   │   │   │   │   ├── config.json
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   ├── option-manager.js
│   │   │   │   │   │   └── parsers.js
│   │   │   │   │   └── plugin-manager.js
│   │   │   │   ├── helpers
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── build-binary-assignment-operator-transformer.js
│   │   │   │   │   ├── build-comprehension.js
│   │   │   │   │   ├── build-conditional-assignment-operator-transformer.js
│   │   │   │   │   ├── build-react-transformer.js
│   │   │   │   │   ├── call-delegate.js
│   │   │   │   │   ├── define-map.js
│   │   │   │   │   ├── explode-assignable-expression.js
│   │   │   │   │   ├── get-function-arity.js
│   │   │   │   │   ├── memoise-decorators.js
│   │   │   │   │   ├── name-method.js
│   │   │   │   │   ├── react.js
│   │   │   │   │   ├── regex.js
│   │   │   │   │   ├── remap-async-to-generator.js
│   │   │   │   │   └── replace-supers.js
│   │   │   │   ├── index.js
│   │   │   │   ├── modules
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── _default.js
│   │   │   │   │   ├── _strict.js
│   │   │   │   │   ├── amd-strict.js
│   │   │   │   │   ├── amd.js
│   │   │   │   │   ├── common-strict.js
│   │   │   │   │   ├── common.js
│   │   │   │   │   ├── ignore.js
│   │   │   │   │   ├── index.js
│   │   │   │   │   ├── lib
│   │   │   │   │   │   ├── metadata.js
│   │   │   │   │   │   └── remaps.js
│   │   │   │   │   ├── system.js
│   │   │   │   │   ├── umd-strict.js
│   │   │   │   │   └── umd.js
│   │   │   │   ├── pipeline.js
│   │   │   │   ├── plugin-pass.js
│   │   │   │   ├── plugin.js
│   │   │   │   ├── transformer.js
│   │   │   │   └── transformers
│   │   │   │       ├── README.md
│   │   │   │       ├── aliases.json
│   │   │   │       ├── deprecated.json
│   │   │   │       ├── es3
│   │   │   │       │   ├── member-expression-literals.js
│   │   │   │       │   └── property-literals.js
│   │   │   │       ├── es5
│   │   │   │       │   └── properties.mutators.js
│   │   │   │       ├── es6
│   │   │   │       │   ├── arrow-functions.js
│   │   │   │       │   ├── block-scoping.js
│   │   │   │       │   ├── classes
│   │   │   │       │   │   ├── index.js
│   │   │   │       │   │   ├── loose.js
│   │   │   │       │   │   └── vanilla.js
│   │   │   │       │   ├── constants.js
│   │   │   │       │   ├── destructuring.js
│   │   │   │       │   ├── for-of.js
│   │   │   │       │   ├── literals.js
│   │   │   │       │   ├── modules.js
│   │   │   │       │   ├── object-super.js
│   │   │   │       │   ├── parameters
│   │   │   │       │   │   ├── default.js
│   │   │   │       │   │   ├── index.js
│   │   │   │       │   │   └── rest.js
│   │   │   │       │   ├── properties.computed.js
│   │   │   │       │   ├── properties.shorthand.js
│   │   │   │       │   ├── regex.sticky.js
│   │   │   │       │   ├── regex.unicode.js
│   │   │   │       │   ├── spec.arrow-functions.js
│   │   │   │       │   ├── spec.block-scoping.js
│   │   │   │       │   ├── spec.modules.js
│   │   │   │       │   ├── spec.symbols.js
│   │   │   │       │   ├── spec.template-literals.js
│   │   │   │       │   ├── spread.js
│   │   │   │       │   ├── tail-call.js
│   │   │   │       │   └── template-literals.js
│   │   │   │       ├── es7
│   │   │   │       │   ├── async-functions.js
│   │   │   │       │   ├── class-properties.js
│   │   │   │       │   ├── comprehensions.js
│   │   │   │       │   ├── decorators.js
│   │   │   │       │   ├── do-expressions.js
│   │   │   │       │   ├── exponentiation-operator.js
│   │   │   │       │   ├── export-extensions.js
│   │   │   │       │   ├── function-bind.js
│   │   │   │       │   ├── object-rest-spread.js
│   │   │   │       │   └── trailing-function-commas.js
│   │   │   │       ├── filters.js
│   │   │   │       ├── index.js
│   │   │   │       ├── internal
│   │   │   │       │   ├── block-hoist.js
│   │   │   │       │   ├── hoist-directives.js
│   │   │   │       │   ├── module-formatter.js
│   │   │   │       │   ├── modules.js
│   │   │   │       │   ├── shadow-functions.js
│   │   │   │       │   └── validation.js
│   │   │   │       ├── optimisation
│   │   │   │       │   ├── flow.for-of.js
│   │   │   │       │   ├── modules.system.js
│   │   │   │       │   └── react.inline-elements.js
│   │   │   │       ├── other
│   │   │   │       │   ├── async-to-generator.js
│   │   │   │       │   ├── bluebird-coroutines.js
│   │   │   │       │   ├── flow.js
│   │   │   │       │   ├── react-compat.js
│   │   │   │       │   ├── react.js
│   │   │   │       │   ├── regenerator.js
│   │   │   │       │   └── strict.js
│   │   │   │       ├── spec
│   │   │   │       │   ├── block-scoped-functions.js
│   │   │   │       │   └── function-name.js
│   │   │   │       └── validation
│   │   │   │           └── react.js
│   │   │   ├── traversal
│   │   │   │   ├── README.md
│   │   │   │   ├── context.js
│   │   │   │   ├── hub.js
│   │   │   │   ├── index.js
│   │   │   │   ├── path
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── ancestry.js
│   │   │   │   │   ├── comments.js
│   │   │   │   │   ├── context.js
│   │   │   │   │   ├── conversion.js
│   │   │   │   │   ├── evaluation.js
│   │   │   │   │   ├── family.js
│   │   │   │   │   ├── index.js
│   │   │   │   │   ├── inference
│   │   │   │   │   │   ├── README.md
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   ├── inferer-reference.js
│   │   │   │   │   │   └── inferers.js
│   │   │   │   │   ├── introspection.js
│   │   │   │   │   ├── lib
│   │   │   │   │   │   ├── hoister.js
│   │   │   │   │   │   ├── removal-hooks.js
│   │   │   │   │   │   └── virtual-types.js
│   │   │   │   │   ├── modification.js
│   │   │   │   │   ├── removal.js
│   │   │   │   │   └── replacement.js
│   │   │   │   ├── scope
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── binding.js
│   │   │   │   │   └── index.js
│   │   │   │   └── visitors.js
│   │   │   ├── types
│   │   │   │   ├── README.md
│   │   │   │   ├── converters.js
│   │   │   │   ├── definitions
│   │   │   │   │   ├── core.js
│   │   │   │   │   ├── es2015.js
│   │   │   │   │   ├── experimental.js
│   │   │   │   │   ├── flow.js
│   │   │   │   │   ├── index.js
│   │   │   │   │   ├── init.js
│   │   │   │   │   ├── jsx.js
│   │   │   │   │   └── misc.js
│   │   │   │   ├── flow.js
│   │   │   │   ├── index.js
│   │   │   │   ├── retrievers.js
│   │   │   │   └── validators.js
│   │   │   └── util.js
│   │   ├── package.json
│   │   ├── polyfill.js
│   │   ├── register-without-polyfill.js
│   │   ├── register.js
│   │   └── templates.json
│   ├── babel-plugin-constant-folding
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-dead-code-elimination
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-eval
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-feature-flags
│   │   ├── CODE_OF_CONDUCT.md
│   │   ├── index.js
│   │   ├── package.json
│   │   └── test
│   │       ├── fixtures
│   │       │   ├── else
│   │       │   │   ├── disabled
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   ├── dynamic
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   └── enabled
│   │       │   │       ├── expected.js
│   │       │   │       └── fixture.js
│   │       │   ├── if
│   │       │   │   ├── disabled
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   ├── dynamic
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   └── enabled
│   │       │   │       ├── expected.js
│   │       │   │       └── fixture.js
│   │       │   ├── import-name
│   │       │   │   ├── expected.js
│   │       │   │   └── fixture.js
│   │       │   ├── multiple-imports
│   │       │   │   ├── expected.js
│   │       │   │   └── fixture.js
│   │       │   ├── nested
│   │       │   │   ├── disabled-disabled
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   ├── disabled-dynamic
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   ├── disabled-enabled
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   ├── dynamic-disabled
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   ├── dynamic-dynamic
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   ├── dynamic-enabled
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   ├── enabled-disabled
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   ├── enabled-dynamic
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   └── enabled-enabled
│   │       │   │       ├── expected.js
│   │       │   │       └── fixture.js
│   │       │   ├── not-if
│   │       │   │   ├── disabled
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   ├── dynamic
│   │       │   │   │   ├── expected.js
│   │       │   │   │   └── fixture.js
│   │       │   │   └── enabled
│   │       │   │       ├── expected.js
│   │       │   │       └── fixture.js
│   │       │   ├── preserves-other-imports
│   │       │   │   ├── expected.js
│   │       │   │   └── fixture.js
│   │       │   └── ternary
│   │       │       ├── disabled
│   │       │       │   ├── expected.js
│   │       │       │   └── fixture.js
│   │       │       ├── dynamic
│   │       │       │   ├── expected.js
│   │       │       │   └── fixture.js
│   │       │       └── enabled
│   │       │           ├── expected.js
│   │       │           └── fixture.js
│   │       └── test.js
│   ├── babel-plugin-filter-imports
│   │   ├── CODE_OF_CONDUCT.md
│   │   ├── index.js
│   │   ├── package.json
│   │   └── test
│   │       ├── fixtures
│   │       │   ├── default
│   │       │   │   ├── expected.js
│   │       │   │   └── fixture.js
│   │       │   ├── named
│   │       │   │   ├── expected.js
│   │       │   │   └── fixture.js
│   │       │   ├── namespace
│   │       │   │   ├── expected.js
│   │       │   │   └── fixture.js
│   │       │   ├── nesting
│   │       │   │   ├── expected.js
│   │       │   │   └── fixture.js
│   │       │   ├── partial-filter-1
│   │       │   │   ├── expected.js
│   │       │   │   └── fixture.js
│   │       │   ├── partial-filter-2
│   │       │   │   ├── expected.js
│   │       │   │   └── fixture.js
│   │       │   ├── partial-filter-3
│   │       │   │   ├── expected.js
│   │       │   │   └── fixture.js
│   │       │   └── shadowing
│   │       │       ├── expected.js
│   │       │       └── fixture.js
│   │       └── test.js
│   ├── babel-plugin-htmlbars-inline-precompile
│   │   ├── CHANGELOG.md
│   │   ├── README.md
│   │   ├── index.js
│   │   ├── package.json
│   │   └── tests
│   │       └── tests.js
│   ├── babel-plugin-inline-environment-variables
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-jscript
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-member-expression-literals
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-property-literals
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-proto-to-assign
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-react-constant-elements
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-react-display-name
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-remove-console
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-remove-debugger
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-runtime
│   │   ├── README.md
│   │   ├── lib
│   │   │   ├── definitions.json
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-undeclared-variables-check
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-plugin-undefined-to-void
│   │   ├── README.md
│   │   ├── lib
│   │   │   └── index.js
│   │   └── package.json
│   ├── babel-runtime
│   │   ├── README.md
│   │   ├── core-js
│   │   │   ├── array
│   │   │   │   ├── concat.js
│   │   │   │   ├── copy-within.js
│   │   │   │   ├── entries.js
│   │   │   │   ├── every.js
│   │   │   │   ├── fill.js
│   │   │   │   ├── filter.js
│   │   │   │   ├── find-index.js
│   │   │   │   ├── find.js
│   │   │   │   ├── for-each.js
│   │   │   │   ├── from.js
│   │   │   │   ├── includes.js
│   │   │   │   ├── index-of.js
│   │   │   │   ├── join.js
│   │   │   │   ├── keys.js
│   │   │   │   ├── last-index-of.js
│   │   │   │   ├── map.js
│   │   │   │   ├── of.js
│   │   │   │   ├── pop.js
│   │   │   │   ├── push.js
│   │   │   │   ├── reduce-right.js
│   │   │   │   ├── reduce.js
│   │   │   │   ├── reverse.js
│   │   │   │   ├── shift.js
│   │   │   │   ├── slice.js
│   │   │   │   ├── some.js
│   │   │   │   ├── sort.js
│   │   │   │   ├── splice.js
│   │   │   │   ├── unshift.js
│   │   │   │   └── values.js
│   │   │   ├── asap.js
│   │   │   ├── clear-immediate.js
│   │   │   ├── error
│   │   │   │   └── is-error.js
│   │   │   ├── get-iterator.js
│   │   │   ├── is-iterable.js
│   │   │   ├── json
│   │   │   │   └── stringify.js
│   │   │   ├── map.js
│   │   │   ├── math
│   │   │   │   ├── acosh.js
│   │   │   │   ├── asinh.js
│   │   │   │   ├── atanh.js
│   │   │   │   ├── cbrt.js
│   │   │   │   ├── clz32.js
│   │   │   │   ├── cosh.js
│   │   │   │   ├── expm1.js
│   │   │   │   ├── fround.js
│   │   │   │   ├── hypot.js
│   │   │   │   ├── iaddh.js
│   │   │   │   ├── imul.js
│   │   │   │   ├── imulh.js
│   │   │   │   ├── isubh.js
│   │   │   │   ├── log10.js
│   │   │   │   ├── log1p.js
│   │   │   │   ├── log2.js
│   │   │   │   ├── sign.js
│   │   │   │   ├── sinh.js
│   │   │   │   ├── tanh.js
│   │   │   │   ├── trunc.js
│   │   │   │   └── umulh.js
│   │   │   ├── number
│   │   │   │   ├── epsilon.js
│   │   │   │   ├── is-finite.js
│   │   │   │   ├── is-integer.js
│   │   │   │   ├── is-nan.js
│   │   │   │   ├── is-safe-integer.js
│   │   │   │   ├── max-safe-integer.js
│   │   │   │   ├── min-safe-integer.js
│   │   │   │   ├── parse-float.js
│   │   │   │   └── parse-int.js
│   │   │   ├── object
│   │   │   │   ├── assign.js
│   │   │   │   ├── create.js
│   │   │   │   ├── define-properties.js
│   │   │   │   ├── define-property.js
│   │   │   │   ├── entries.js
│   │   │   │   ├── freeze.js
│   │   │   │   ├── get-own-property-descriptor.js
│   │   │   │   ├── get-own-property-descriptors.js
│   │   │   │   ├── get-own-property-names.js
│   │   │   │   ├── get-own-property-symbols.js
│   │   │   │   ├── get-prototype-of.js
│   │   │   │   ├── is-extensible.js
│   │   │   │   ├── is-frozen.js
│   │   │   │   ├── is-sealed.js
│   │   │   │   ├── is.js
│   │   │   │   ├── keys.js
│   │   │   │   ├── prevent-extensions.js
│   │   │   │   ├── seal.js
│   │   │   │   ├── set-prototype-of.js
│   │   │   │   └── values.js
│   │   │   ├── observable.js
│   │   │   ├── promise.js
│   │   │   ├── reflect
│   │   │   │   ├── apply.js
│   │   │   │   ├── construct.js
│   │   │   │   ├── define-metadata.js
│   │   │   │   ├── define-property.js
│   │   │   │   ├── delete-metadata.js
│   │   │   │   ├── delete-property.js
│   │   │   │   ├── enumerate.js
│   │   │   │   ├── get-metadata-keys.js
│   │   │   │   ├── get-metadata.js
│   │   │   │   ├── get-own-metadata-keys.js
│   │   │   │   ├── get-own-metadata.js
│   │   │   │   ├── get-own-property-descriptor.js
│   │   │   │   ├── get-prototype-of.js
│   │   │   │   ├── get.js
│   │   │   │   ├── has-metadata.js
│   │   │   │   ├── has-own-metadata.js
│   │   │   │   ├── has.js
│   │   │   │   ├── is-extensible.js
│   │   │   │   ├── metadata.js
│   │   │   │   ├── own-keys.js
│   │   │   │   ├── prevent-extensions.js
│   │   │   │   ├── set-prototype-of.js
│   │   │   │   └── set.js
│   │   │   ├── regexp
│   │   │   │   └── escape.js
│   │   │   ├── set-immediate.js
│   │   │   ├── set.js
│   │   │   ├── string
│   │   │   │   ├── at.js
│   │   │   │   ├── code-point-at.js
│   │   │   │   ├── ends-with.js
│   │   │   │   ├── from-code-point.js
│   │   │   │   ├── includes.js
│   │   │   │   ├── match-all.js
│   │   │   │   ├── pad-end.js
│   │   │   │   ├── pad-left.js
│   │   │   │   ├── pad-right.js
│   │   │   │   ├── pad-start.js
│   │   │   │   ├── raw.js
│   │   │   │   ├── repeat.js
│   │   │   │   ├── starts-with.js
│   │   │   │   ├── trim-end.js
│   │   │   │   ├── trim-left.js
│   │   │   │   ├── trim-right.js
│   │   │   │   ├── trim-start.js
│   │   │   │   └── trim.js
│   │   │   ├── symbol
│   │   │   │   ├── async-iterator.js
│   │   │   │   ├── for.js
│   │   │   │   ├── has-instance.js
│   │   │   │   ├── is-concat-spreadable.js
│   │   │   │   ├── iterator.js
│   │   │   │   ├── key-for.js
│   │   │   │   ├── match.js
│   │   │   │   ├── observable.js
│   │   │   │   ├── replace.js
│   │   │   │   ├── search.js
│   │   │   │   ├── species.js
│   │   │   │   ├── split.js
│   │   │   │   ├── to-primitive.js
│   │   │   │   ├── to-string-tag.js
│   │   │   │   └── unscopables.js
│   │   │   ├── symbol.js
│   │   │   ├── system
│   │   │   │   └── global.js
│   │   │   ├── weak-map.js
│   │   │   └── weak-set.js
│   │   ├── core-js.js
│   │   ├── helpers
│   │   │   ├── _async-generator-delegate.js
│   │   │   ├── _async-generator.js
│   │   │   ├── _async-iterator.js
│   │   │   ├── _async-to-generator.js
│   │   │   ├── _class-call-check.js
│   │   │   ├── _create-class.js
│   │   │   ├── _defaults.js
│   │   │   ├── _define-enumerable-properties.js
│   │   │   ├── _define-property.js
│   │   │   ├── _extends.js
│   │   │   ├── _get.js
│   │   │   ├── _inherits.js
│   │   │   ├── _instanceof.js
│   │   │   ├── _interop-require-default.js
│   │   │   ├── _interop-require-wildcard.js
│   │   │   ├── _jsx.js
│   │   │   ├── _new-arrow-check.js
│   │   │   ├── _object-destructuring-empty.js
│   │   │   ├── _object-without-properties.js
│   │   │   ├── _possible-constructor-return.js
│   │   │   ├── _self-global.js
│   │   │   ├── _set.js
│   │   │   ├── _sliced-to-array-loose.js
│   │   │   ├── _sliced-to-array.js
│   │   │   ├── _tagged-template-literal-loose.js
│   │   │   ├── _tagged-template-literal.js
│   │   │   ├── _temporal-ref.js
│   │   │   ├── _temporal-undefined.js
│   │   │   ├── _to-array.js
│   │   │   ├── _to-consumable-array.js
│   │   │   ├── _typeof.js
│   │   │   ├── async-generator-delegate.js
│   │   │   ├── async-generator.js
│   │   │   ├── async-iterator.js
│   │   │   ├── async-to-generator.js
│   │   │   ├── asyncGenerator.js
│   │   │   ├── asyncGeneratorDelegate.js
│   │   │   ├── asyncIterator.js
│   │   │   ├── asyncToGenerator.js
│   │   │   ├── class-call-check.js
│   │   │   ├── classCallCheck.js
│   │   │   ├── create-class.js
│   │   │   ├── createClass.js
│   │   │   ├── defaults.js
│   │   │   ├── define-enumerable-properties.js
│   │   │   ├── define-property.js
│   │   │   ├── defineEnumerableProperties.js
│   │   │   ├── defineProperty.js
│   │   │   ├── extends.js
│   │   │   ├── get.js
│   │   │   ├── inherits.js
│   │   │   ├── instanceof.js
│   │   │   ├── interop-require-default.js
│   │   │   ├── interop-require-wildcard.js
│   │   │   ├── interopRequireDefault.js
│   │   │   ├── interopRequireWildcard.js
│   │   │   ├── jsx.js
│   │   │   ├── new-arrow-check.js
│   │   │   ├── newArrowCheck.js
│   │   │   ├── object-destructuring-empty.js
│   │   │   ├── object-without-properties.js
│   │   │   ├── objectDestructuringEmpty.js
│   │   │   ├── objectWithoutProperties.js
│   │   │   ├── possible-constructor-return.js
│   │   │   ├── possibleConstructorReturn.js
│   │   │   ├── self-global.js
│   │   │   ├── selfGlobal.js
│   │   │   ├── set.js
│   │   │   ├── sliced-to-array-loose.js
│   │   │   ├── sliced-to-array.js
│   │   │   ├── slicedToArray.js
│   │   │   ├── slicedToArrayLoose.js
│   │   │   ├── tagged-template-literal-loose.js
│   │   │   ├── tagged-template-literal.js
│   │   │   ├── taggedTemplateLiteral.js
│   │   │   ├── taggedTemplateLiteralLoose.js
│   │   │   ├── temporal-ref.js
│   │   │   ├── temporal-undefined.js
│   │   │   ├── temporalRef.js
│   │   │   ├── temporalUndefined.js
│   │   │   ├── to-array.js
│   │   │   ├── to-consumable-array.js
│   │   │   ├── toArray.js
│   │   │   ├── toConsumableArray.js
│   │   │   └── typeof.js
│   │   ├── node_modules
│   │   │   └── core-js
│   │   │       ├── CHANGELOG.md
│   │   │       ├── Gruntfile.js
│   │   │       ├── LICENSE
│   │   │       ├── bower.json
│   │   │       ├── build
│   │   │       │   ├── Gruntfile.ls
│   │   │       │   ├── build.ls
│   │   │       │   ├── config.js
│   │   │       │   └── index.js
│   │   │       ├── client
│   │   │       │   ├── core.js
│   │   │       │   ├── core.min.js
│   │   │       │   ├── core.min.js.map
│   │   │       │   ├── library.js
│   │   │       │   ├── library.min.js
│   │   │       │   ├── library.min.js.map
│   │   │       │   ├── shim.js
│   │   │       │   ├── shim.min.js
│   │   │       │   └── shim.min.js.map
│   │   │       ├── core
│   │   │       │   ├── _.js
│   │   │       │   ├── delay.js
│   │   │       │   ├── dict.js
│   │   │       │   ├── function.js
│   │   │       │   ├── index.js
│   │   │       │   ├── number.js
│   │   │       │   ├── object.js
│   │   │       │   ├── regexp.js
│   │   │       │   └── string.js
│   │   │       ├── es5
│   │   │       │   └── index.js
│   │   │       ├── es6
│   │   │       │   ├── array.js
│   │   │       │   ├── date.js
│   │   │       │   ├── function.js
│   │   │       │   ├── index.js
│   │   │       │   ├── map.js
│   │   │       │   ├── math.js
│   │   │       │   ├── number.js
│   │   │       │   ├── object.js
│   │   │       │   ├── parse-float.js
│   │   │       │   ├── parse-int.js
│   │   │       │   ├── promise.js
│   │   │       │   ├── reflect.js
│   │   │       │   ├── regexp.js
│   │   │       │   ├── set.js
│   │   │       │   ├── string.js
│   │   │       │   ├── symbol.js
│   │   │       │   ├── typed.js
│   │   │       │   ├── weak-map.js
│   │   │       │   └── weak-set.js
│   │   │       ├── es7
│   │   │       │   ├── array.js
│   │   │       │   ├── asap.js
│   │   │       │   ├── error.js
│   │   │       │   ├── index.js
│   │   │       │   ├── map.js
│   │   │       │   ├── math.js
│   │   │       │   ├── object.js
│   │   │       │   ├── observable.js
│   │   │       │   ├── reflect.js
│   │   │       │   ├── set.js
│   │   │       │   ├── string.js
│   │   │       │   ├── symbol.js
│   │   │       │   └── system.js
│   │   │       ├── fn
│   │   │       │   ├── _.js
│   │   │       │   ├── array
│   │   │       │   │   ├── concat.js
│   │   │       │   │   ├── copy-within.js
│   │   │       │   │   ├── entries.js
│   │   │       │   │   ├── every.js
│   │   │       │   │   ├── fill.js
│   │   │       │   │   ├── filter.js
│   │   │       │   │   ├── find-index.js
│   │   │       │   │   ├── find.js
│   │   │       │   │   ├── for-each.js
│   │   │       │   │   ├── from.js
│   │   │       │   │   ├── includes.js
│   │   │       │   │   ├── index-of.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── is-array.js
│   │   │       │   │   ├── iterator.js
│   │   │       │   │   ├── join.js
│   │   │       │   │   ├── keys.js
│   │   │       │   │   ├── last-index-of.js
│   │   │       │   │   ├── map.js
│   │   │       │   │   ├── of.js
│   │   │       │   │   ├── pop.js
│   │   │       │   │   ├── push.js
│   │   │       │   │   ├── reduce-right.js
│   │   │       │   │   ├── reduce.js
│   │   │       │   │   ├── reverse.js
│   │   │       │   │   ├── shift.js
│   │   │       │   │   ├── slice.js
│   │   │       │   │   ├── some.js
│   │   │       │   │   ├── sort.js
│   │   │       │   │   ├── splice.js
│   │   │       │   │   ├── unshift.js
│   │   │       │   │   ├── values.js
│   │   │       │   │   └── virtual
│   │   │       │   │       ├── copy-within.js
│   │   │       │   │       ├── entries.js
│   │   │       │   │       ├── every.js
│   │   │       │   │       ├── fill.js
│   │   │       │   │       ├── filter.js
│   │   │       │   │       ├── find-index.js
│   │   │       │   │       ├── find.js
│   │   │       │   │       ├── for-each.js
│   │   │       │   │       ├── includes.js
│   │   │       │   │       ├── index-of.js
│   │   │       │   │       ├── index.js
│   │   │       │   │       ├── iterator.js
│   │   │       │   │       ├── join.js
│   │   │       │   │       ├── keys.js
│   │   │       │   │       ├── last-index-of.js
│   │   │       │   │       ├── map.js
│   │   │       │   │       ├── reduce-right.js
│   │   │       │   │       ├── reduce.js
│   │   │       │   │       ├── slice.js
│   │   │       │   │       ├── some.js
│   │   │       │   │       ├── sort.js
│   │   │       │   │       └── values.js
│   │   │       │   ├── asap.js
│   │   │       │   ├── clear-immediate.js
│   │   │       │   ├── date
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── now.js
│   │   │       │   │   ├── to-iso-string.js
│   │   │       │   │   ├── to-json.js
│   │   │       │   │   ├── to-primitive.js
│   │   │       │   │   └── to-string.js
│   │   │       │   ├── delay.js
│   │   │       │   ├── dict.js
│   │   │       │   ├── dom-collections
│   │   │       │   │   ├── index.js
│   │   │       │   │   └── iterator.js
│   │   │       │   ├── error
│   │   │       │   │   ├── index.js
│   │   │       │   │   └── is-error.js
│   │   │       │   ├── function
│   │   │       │   │   ├── bind.js
│   │   │       │   │   ├── has-instance.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── name.js
│   │   │       │   │   ├── part.js
│   │   │       │   │   └── virtual
│   │   │       │   │       ├── bind.js
│   │   │       │   │       ├── index.js
│   │   │       │   │       └── part.js
│   │   │       │   ├── get-iterator-method.js
│   │   │       │   ├── get-iterator.js
│   │   │       │   ├── is-iterable.js
│   │   │       │   ├── json
│   │   │       │   │   ├── index.js
│   │   │       │   │   └── stringify.js
│   │   │       │   ├── map.js
│   │   │       │   ├── math
│   │   │       │   │   ├── acosh.js
│   │   │       │   │   ├── asinh.js
│   │   │       │   │   ├── atanh.js
│   │   │       │   │   ├── cbrt.js
│   │   │       │   │   ├── clz32.js
│   │   │       │   │   ├── cosh.js
│   │   │       │   │   ├── expm1.js
│   │   │       │   │   ├── fround.js
│   │   │       │   │   ├── hypot.js
│   │   │       │   │   ├── iaddh.js
│   │   │       │   │   ├── imul.js
│   │   │       │   │   ├── imulh.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── isubh.js
│   │   │       │   │   ├── log10.js
│   │   │       │   │   ├── log1p.js
│   │   │       │   │   ├── log2.js
│   │   │       │   │   ├── sign.js
│   │   │       │   │   ├── sinh.js
│   │   │       │   │   ├── tanh.js
│   │   │       │   │   ├── trunc.js
│   │   │       │   │   └── umulh.js
│   │   │       │   ├── number
│   │   │       │   │   ├── constructor.js
│   │   │       │   │   ├── epsilon.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── is-finite.js
│   │   │       │   │   ├── is-integer.js
│   │   │       │   │   ├── is-nan.js
│   │   │       │   │   ├── is-safe-integer.js
│   │   │       │   │   ├── iterator.js
│   │   │       │   │   ├── max-safe-integer.js
│   │   │       │   │   ├── min-safe-integer.js
│   │   │       │   │   ├── parse-float.js
│   │   │       │   │   ├── parse-int.js
│   │   │       │   │   ├── to-fixed.js
│   │   │       │   │   ├── to-precision.js
│   │   │       │   │   └── virtual
│   │   │       │   │       ├── index.js
│   │   │       │   │       ├── iterator.js
│   │   │       │   │       ├── to-fixed.js
│   │   │       │   │       └── to-precision.js
│   │   │       │   ├── object
│   │   │       │   │   ├── assign.js
│   │   │       │   │   ├── classof.js
│   │   │       │   │   ├── create.js
│   │   │       │   │   ├── define-getter.js
│   │   │       │   │   ├── define-properties.js
│   │   │       │   │   ├── define-property.js
│   │   │       │   │   ├── define-setter.js
│   │   │       │   │   ├── define.js
│   │   │       │   │   ├── entries.js
│   │   │       │   │   ├── freeze.js
│   │   │       │   │   ├── get-own-property-descriptor.js
│   │   │       │   │   ├── get-own-property-descriptors.js
│   │   │       │   │   ├── get-own-property-names.js
│   │   │       │   │   ├── get-own-property-symbols.js
│   │   │       │   │   ├── get-prototype-of.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── is-extensible.js
│   │   │       │   │   ├── is-frozen.js
│   │   │       │   │   ├── is-object.js
│   │   │       │   │   ├── is-sealed.js
│   │   │       │   │   ├── is.js
│   │   │       │   │   ├── keys.js
│   │   │       │   │   ├── lookup-getter.js
│   │   │       │   │   ├── lookup-setter.js
│   │   │       │   │   ├── make.js
│   │   │       │   │   ├── prevent-extensions.js
│   │   │       │   │   ├── seal.js
│   │   │       │   │   ├── set-prototype-of.js
│   │   │       │   │   └── values.js
│   │   │       │   ├── observable.js
│   │   │       │   ├── parse-float.js
│   │   │       │   ├── parse-int.js
│   │   │       │   ├── promise.js
│   │   │       │   ├── reflect
│   │   │       │   │   ├── apply.js
│   │   │       │   │   ├── construct.js
│   │   │       │   │   ├── define-metadata.js
│   │   │       │   │   ├── define-property.js
│   │   │       │   │   ├── delete-metadata.js
│   │   │       │   │   ├── delete-property.js
│   │   │       │   │   ├── enumerate.js
│   │   │       │   │   ├── get-metadata-keys.js
│   │   │       │   │   ├── get-metadata.js
│   │   │       │   │   ├── get-own-metadata-keys.js
│   │   │       │   │   ├── get-own-metadata.js
│   │   │       │   │   ├── get-own-property-descriptor.js
│   │   │       │   │   ├── get-prototype-of.js
│   │   │       │   │   ├── get.js
│   │   │       │   │   ├── has-metadata.js
│   │   │       │   │   ├── has-own-metadata.js
│   │   │       │   │   ├── has.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── is-extensible.js
│   │   │       │   │   ├── metadata.js
│   │   │       │   │   ├── own-keys.js
│   │   │       │   │   ├── prevent-extensions.js
│   │   │       │   │   ├── set-prototype-of.js
│   │   │       │   │   └── set.js
│   │   │       │   ├── regexp
│   │   │       │   │   ├── constructor.js
│   │   │       │   │   ├── escape.js
│   │   │       │   │   ├── flags.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── match.js
│   │   │       │   │   ├── replace.js
│   │   │       │   │   ├── search.js
│   │   │       │   │   ├── split.js
│   │   │       │   │   └── to-string.js
│   │   │       │   ├── set-immediate.js
│   │   │       │   ├── set-interval.js
│   │   │       │   ├── set-timeout.js
│   │   │       │   ├── set.js
│   │   │       │   ├── string
│   │   │       │   │   ├── anchor.js
│   │   │       │   │   ├── at.js
│   │   │       │   │   ├── big.js
│   │   │       │   │   ├── blink.js
│   │   │       │   │   ├── bold.js
│   │   │       │   │   ├── code-point-at.js
│   │   │       │   │   ├── ends-with.js
│   │   │       │   │   ├── escape-html.js
│   │   │       │   │   ├── fixed.js
│   │   │       │   │   ├── fontcolor.js
│   │   │       │   │   ├── fontsize.js
│   │   │       │   │   ├── from-code-point.js
│   │   │       │   │   ├── includes.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── italics.js
│   │   │       │   │   ├── iterator.js
│   │   │       │   │   ├── link.js
│   │   │       │   │   ├── match-all.js
│   │   │       │   │   ├── pad-end.js
│   │   │       │   │   ├── pad-start.js
│   │   │       │   │   ├── raw.js
│   │   │       │   │   ├── repeat.js
│   │   │       │   │   ├── small.js
│   │   │       │   │   ├── starts-with.js
│   │   │       │   │   ├── strike.js
│   │   │       │   │   ├── sub.js
│   │   │       │   │   ├── sup.js
│   │   │       │   │   ├── trim-end.js
│   │   │       │   │   ├── trim-left.js
│   │   │       │   │   ├── trim-right.js
│   │   │       │   │   ├── trim-start.js
│   │   │       │   │   ├── trim.js
│   │   │       │   │   ├── unescape-html.js
│   │   │       │   │   └── virtual
│   │   │       │   │       ├── anchor.js
│   │   │       │   │       ├── at.js
│   │   │       │   │       ├── big.js
│   │   │       │   │       ├── blink.js
│   │   │       │   │       ├── bold.js
│   │   │       │   │       ├── code-point-at.js
│   │   │       │   │       ├── ends-with.js
│   │   │       │   │       ├── escape-html.js
│   │   │       │   │       ├── fixed.js
│   │   │       │   │       ├── fontcolor.js
│   │   │       │   │       ├── fontsize.js
│   │   │       │   │       ├── includes.js
│   │   │       │   │       ├── index.js
│   │   │       │   │       ├── italics.js
│   │   │       │   │       ├── iterator.js
│   │   │       │   │       ├── link.js
│   │   │       │   │       ├── match-all.js
│   │   │       │   │       ├── pad-end.js
│   │   │       │   │       ├── pad-start.js
│   │   │       │   │       ├── repeat.js
│   │   │       │   │       ├── small.js
│   │   │       │   │       ├── starts-with.js
│   │   │       │   │       ├── strike.js
│   │   │       │   │       ├── sub.js
│   │   │       │   │       ├── sup.js
│   │   │       │   │       ├── trim-end.js
│   │   │       │   │       ├── trim-left.js
│   │   │       │   │       ├── trim-right.js
│   │   │       │   │       ├── trim-start.js
│   │   │       │   │       ├── trim.js
│   │   │       │   │       └── unescape-html.js
│   │   │       │   ├── symbol
│   │   │       │   │   ├── async-iterator.js
│   │   │       │   │   ├── for.js
│   │   │       │   │   ├── has-instance.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── is-concat-spreadable.js
│   │   │       │   │   ├── iterator.js
│   │   │       │   │   ├── key-for.js
│   │   │       │   │   ├── match.js
│   │   │       │   │   ├── observable.js
│   │   │       │   │   ├── replace.js
│   │   │       │   │   ├── search.js
│   │   │       │   │   ├── species.js
│   │   │       │   │   ├── split.js
│   │   │       │   │   ├── to-primitive.js
│   │   │       │   │   ├── to-string-tag.js
│   │   │       │   │   └── unscopables.js
│   │   │       │   ├── system
│   │   │       │   │   ├── global.js
│   │   │       │   │   └── index.js
│   │   │       │   ├── typed
│   │   │       │   │   ├── array-buffer.js
│   │   │       │   │   ├── data-view.js
│   │   │       │   │   ├── float32-array.js
│   │   │       │   │   ├── float64-array.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── int16-array.js
│   │   │       │   │   ├── int32-array.js
│   │   │       │   │   ├── int8-array.js
│   │   │       │   │   ├── uint16-array.js
│   │   │       │   │   ├── uint32-array.js
│   │   │       │   │   ├── uint8-array.js
│   │   │       │   │   └── uint8-clamped-array.js
│   │   │       │   ├── weak-map.js
│   │   │       │   └── weak-set.js
│   │   │       ├── index.js
│   │   │       ├── library
│   │   │       │   ├── core
│   │   │       │   │   ├── _.js
│   │   │       │   │   ├── delay.js
│   │   │       │   │   ├── dict.js
│   │   │       │   │   ├── function.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── number.js
│   │   │       │   │   ├── object.js
│   │   │       │   │   ├── regexp.js
│   │   │       │   │   └── string.js
│   │   │       │   ├── es5
│   │   │       │   │   └── index.js
│   │   │       │   ├── es6
│   │   │       │   │   ├── array.js
│   │   │       │   │   ├── date.js
│   │   │       │   │   ├── function.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── map.js
│   │   │       │   │   ├── math.js
│   │   │       │   │   ├── number.js
│   │   │       │   │   ├── object.js
│   │   │       │   │   ├── parse-float.js
│   │   │       │   │   ├── parse-int.js
│   │   │       │   │   ├── promise.js
│   │   │       │   │   ├── reflect.js
│   │   │       │   │   ├── regexp.js
│   │   │       │   │   ├── set.js
│   │   │       │   │   ├── string.js
│   │   │       │   │   ├── symbol.js
│   │   │       │   │   ├── typed.js
│   │   │       │   │   ├── weak-map.js
│   │   │       │   │   └── weak-set.js
│   │   │       │   ├── es7
│   │   │       │   │   ├── array.js
│   │   │       │   │   ├── asap.js
│   │   │       │   │   ├── error.js
│   │   │       │   │   ├── index.js
│   │   │       │   │   ├── map.js
│   │   │       │   │   ├── math.js
│   │   │       │   │   ├── object.js
│   │   │       │   │   ├── observable.js
│   │   │       │   │   ├── reflect.js
│   │   │       │   │   ├── set.js
│   │   │       │   │   ├── string.js
│   │   │       │   │   ├── symbol.js
│   │   │       │   │   └── system.js
│   │   │       │   ├── fn
│   │   │       │   │   ├── _.js
│   │   │       │   │   ├── array
│   │   │       │   │   │   ├── concat.js
│   │   │       │   │   │   ├── copy-within.js
│   │   │       │   │   │   ├── entries.js
│   │   │       │   │   │   ├── every.js
│   │   │       │   │   │   ├── fill.js
│   │   │       │   │   │   ├── filter.js
│   │   │       │   │   │   ├── find-index.js
│   │   │       │   │   │   ├── find.js
│   │   │       │   │   │   ├── for-each.js
│   │   │       │   │   │   ├── from.js
│   │   │       │   │   │   ├── includes.js
│   │   │       │   │   │   ├── index-of.js
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   ├── is-array.js
│   │   │       │   │   │   ├── iterator.js
│   │   │       │   │   │   ├── join.js
│   │   │       │   │   │   ├── keys.js
│   │   │       │   │   │   ├── last-index-of.js
│   │   │       │   │   │   ├── map.js
│   │   │       │   │   │   ├── of.js
│   │   │       │   │   │   ├── pop.js
│   │   │       │   │   │   ├── push.js
│   │   │       │   │   │   ├── reduce-right.js
│   │   │       │   │   │   ├── reduce.js
│   │   │       │   │   │   ├── reverse.js
│   │   │       │   │   │   ├── shift.js
│   │   │       │   │   │   ├── slice.js
│   │   │       │   │   │   ├── some.js
│   │   │       │   │   │   ├── sort.js
│   │   │       │   │   │   ├── splice.js
│   │   │       │   │   │   ├── unshift.js
│   │   │       │   │   │   ├── values.js
│   │   │       │   │   │   └── virtual
│   │   │       │   │   │       ├── copy-within.js
│   │   │       │   │   │       ├── entries.js
│   │   │       │   │   │       ├── every.js
│   │   │       │   │   │       ├── fill.js
│   │   │       │   │   │       ├── filter.js
│   │   │       │   │   │       ├── find-index.js
│   │   │       │   │   │       ├── find.js
│   │   │       │   │   │       ├── for-each.js
│   │   │       │   │   │       ├── includes.js
│   │   │       │   │   │       ├── index-of.js
│   │   │       │   │   │       ├── index.js
│   │   │       │   │   │       ├── iterator.js
│   │   │       │   │   │       ├── join.js
│   │   │       │   │   │       ├── keys.js
│   │   │       │   │   │       ├── last-index-of.js
│   │   │       │   │   │       ├── map.js
│   │   │       │   │   │       ├── reduce-right.js
│   │   │       │   │   │       ├── reduce.js
│   │   │       │   │   │       ├── slice.js
│   │   │       │   │   │       ├── some.js
│   │   │       │   │   │       ├── sort.js
│   │   │       │   │   │       └── values.js
│   │   │       │   │   ├── asap.js
│   │   │       │   │   ├── clear-immediate.js
│   │   │       │   │   ├── date
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   ├── now.js
│   │   │       │   │   │   ├── to-iso-string.js
│   │   │       │   │   │   ├── to-json.js
│   │   │       │   │   │   ├── to-primitive.js
│   │   │       │   │   │   └── to-string.js
│   │   │       │   │   ├── delay.js
│   │   │       │   │   ├── dict.js
│   │   │       │   │   ├── dom-collections
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   └── iterator.js
│   │   │       │   │   ├── error
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   └── is-error.js
│   │   │       │   │   ├── function
│   │   │       │   │   │   ├── bind.js
│   │   │       │   │   │   ├── has-instance.js
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   ├── name.js
│   │   │       │   │   │   ├── part.js
│   │   │       │   │   │   └── virtual
│   │   │       │   │   │       ├── bind.js
│   │   │       │   │   │       ├── index.js
│   │   │       │   │   │       └── part.js
│   │   │       │   │   ├── get-iterator-method.js
│   │   │       │   │   ├── get-iterator.js
│   │   │       │   │   ├── is-iterable.js
│   │   │       │   │   ├── json
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   └── stringify.js
│   │   │       │   │   ├── map.js
│   │   │       │   │   ├── math
│   │   │       │   │   │   ├── acosh.js
│   │   │       │   │   │   ├── asinh.js
│   │   │       │   │   │   ├── atanh.js
│   │   │       │   │   │   ├── cbrt.js
│   │   │       │   │   │   ├── clz32.js
│   │   │       │   │   │   ├── cosh.js
│   │   │       │   │   │   ├── expm1.js
│   │   │       │   │   │   ├── fround.js
│   │   │       │   │   │   ├── hypot.js
│   │   │       │   │   │   ├── iaddh.js
│   │   │       │   │   │   ├── imul.js
│   │   │       │   │   │   ├── imulh.js
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   ├── isubh.js
│   │   │       │   │   │   ├── log10.js
│   │   │       │   │   │   ├── log1p.js
│   │   │       │   │   │   ├── log2.js
│   │   │       │   │   │   ├── sign.js
│   │   │       │   │   │   ├── sinh.js
│   │   │       │   │   │   ├── tanh.js
│   │   │       │   │   │   ├── trunc.js
│   │   │       │   │   │   └── umulh.js
│   │   │       │   │   ├── number
│   │   │       │   │   │   ├── constructor.js
│   │   │       │   │   │   ├── epsilon.js
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   ├── is-finite.js
│   │   │       │   │   │   ├── is-integer.js
│   │   │       │   │   │   ├── is-nan.js
│   │   │       │   │   │   ├── is-safe-integer.js
│   │   │       │   │   │   ├── iterator.js
│   │   │       │   │   │   ├── max-safe-integer.js
│   │   │       │   │   │   ├── min-safe-integer.js
│   │   │       │   │   │   ├── parse-float.js
│   │   │       │   │   │   ├── parse-int.js
│   │   │       │   │   │   ├── to-fixed.js
│   │   │       │   │   │   ├── to-precision.js
│   │   │       │   │   │   └── virtual
│   │   │       │   │   │       ├── index.js
│   │   │       │   │   │       ├── iterator.js
│   │   │       │   │   │       ├── to-fixed.js
│   │   │       │   │   │       └── to-precision.js
│   │   │       │   │   ├── object
│   │   │       │   │   │   ├── assign.js
│   │   │       │   │   │   ├── classof.js
│   │   │       │   │   │   ├── create.js
│   │   │       │   │   │   ├── define-getter.js
│   │   │       │   │   │   ├── define-properties.js
│   │   │       │   │   │   ├── define-property.js
│   │   │       │   │   │   ├── define-setter.js
│   │   │       │   │   │   ├── define.js
│   │   │       │   │   │   ├── entries.js
│   │   │       │   │   │   ├── freeze.js
│   │   │       │   │   │   ├── get-own-property-descriptor.js
│   │   │       │   │   │   ├── get-own-property-descriptors.js
│   │   │       │   │   │   ├── get-own-property-names.js
│   │   │       │   │   │   ├── get-own-property-symbols.js
│   │   │       │   │   │   ├── get-prototype-of.js
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   ├── is-extensible.js
│   │   │       │   │   │   ├── is-frozen.js
│   │   │       │   │   │   ├── is-object.js
│   │   │       │   │   │   ├── is-sealed.js
│   │   │       │   │   │   ├── is.js
│   │   │       │   │   │   ├── keys.js
│   │   │       │   │   │   ├── lookup-getter.js
│   │   │       │   │   │   ├── lookup-setter.js
│   │   │       │   │   │   ├── make.js
│   │   │       │   │   │   ├── prevent-extensions.js
│   │   │       │   │   │   ├── seal.js
│   │   │       │   │   │   ├── set-prototype-of.js
│   │   │       │   │   │   └── values.js
│   │   │       │   │   ├── observable.js
│   │   │       │   │   ├── parse-float.js
│   │   │       │   │   ├── parse-int.js
│   │   │       │   │   ├── promise.js
│   │   │       │   │   ├── reflect
│   │   │       │   │   │   ├── apply.js
│   │   │       │   │   │   ├── construct.js
│   │   │       │   │   │   ├── define-metadata.js
│   │   │       │   │   │   ├── define-property.js
│   │   │       │   │   │   ├── delete-metadata.js
│   │   │       │   │   │   ├── delete-property.js
│   │   │       │   │   │   ├── enumerate.js
│   │   │       │   │   │   ├── get-metadata-keys.js
│   │   │       │   │   │   ├── get-metadata.js
│   │   │       │   │   │   ├── get-own-metadata-keys.js
│   │   │       │   │   │   ├── get-own-metadata.js
│   │   │       │   │   │   ├── get-own-property-descriptor.js
│   │   │       │   │   │   ├── get-prototype-of.js
│   │   │       │   │   │   ├── get.js
│   │   │       │   │   │   ├── has-metadata.js
│   │   │       │   │   │   ├── has-own-metadata.js
│   │   │       │   │   │   ├── has.js
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   ├── is-extensible.js
│   │   │       │   │   │   ├── metadata.js
│   │   │       │   │   │   ├── own-keys.js
│   │   │       │   │   │   ├── prevent-extensions.js
│   │   │       │   │   │   ├── set-prototype-of.js
│   │   │       │   │   │   └── set.js
│   │   │       │   │   ├── regexp
│   │   │       │   │   │   ├── constructor.js
│   │   │       │   │   │   ├── escape.js
│   │   │       │   │   │   ├── flags.js
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   ├── match.js
│   │   │       │   │   │   ├── replace.js
│   │   │       │   │   │   ├── search.js
│   │   │       │   │   │   ├── split.js
│   │   │       │   │   │   └── to-string.js
│   │   │       │   │   ├── set-immediate.js
│   │   │       │   │   ├── set-interval.js
│   │   │       │   │   ├── set-timeout.js
│   │   │       │   │   ├── set.js
│   │   │       │   │   ├── string
│   │   │       │   │   │   ├── anchor.js
│   │   │       │   │   │   ├── at.js
│   │   │       │   │   │   ├── big.js
│   │   │       │   │   │   ├── blink.js
│   │   │       │   │   │   ├── bold.js
│   │   │       │   │   │   ├── code-point-at.js
│   │   │       │   │   │   ├── ends-with.js
│   │   │       │   │   │   ├── escape-html.js
│   │   │       │   │   │   ├── fixed.js
│   │   │       │   │   │   ├── fontcolor.js
│   │   │       │   │   │   ├── fontsize.js
│   │   │       │   │   │   ├── from-code-point.js
│   │   │       │   │   │   ├── includes.js
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   ├── italics.js
│   │   │       │   │   │   ├── iterator.js
│   │   │       │   │   │   ├── link.js
│   │   │       │   │   │   ├── match-all.js
│   │   │       │   │   │   ├── pad-end.js
│   │   │       │   │   │   ├── pad-start.js
│   │   │       │   │   │   ├── raw.js
│   │   │       │   │   │   ├── repeat.js
│   │   │       │   │   │   ├── small.js
│   │   │       │   │   │   ├── starts-with.js
│   │   │       │   │   │   ├── strike.js
│   │   │       │   │   │   ├── sub.js
│   │   │       │   │   │   ├── sup.js
│   │   │       │   │   │   ├── trim-end.js
│   │   │       │   │   │   ├── trim-left.js
│   │   │       │   │   │   ├── trim-right.js
│   │   │       │   │   │   ├── trim-start.js
│   │   │       │   │   │   ├── trim.js
│   │   │       │   │   │   ├── unescape-html.js
│   │   │       │   │   │   └── virtual
│   │   │       │   │   │       ├── anchor.js
│   │   │       │   │   │       ├── at.js
│   │   │       │   │   │       ├── big.js
│   │   │       │   │   │       ├── blink.js
│   │   │       │   │   │       ├── bold.js
│   │   │       │   │   │       ├── code-point-at.js
│   │   │       │   │   │       ├── ends-with.js
│   │   │       │   │   │       ├── escape-html.js
│   │   │       │   │   │       ├── fixed.js
│   │   │       │   │   │       ├── fontcolor.js
│   │   │       │   │   │       ├── fontsize.js
│   │   │       │   │   │       ├── includes.js
│   │   │       │   │   │       ├── index.js
│   │   │       │   │   │       ├── italics.js
│   │   │       │   │   │       ├── iterator.js
│   │   │       │   │   │       ├── link.js
│   │   │       │   │   │       ├── match-all.js
│   │   │       │   │   │       ├── pad-end.js
│   │   │       │   │   │       ├── pad-start.js
│   │   │       │   │   │       ├── repeat.js
│   │   │       │   │   │       ├── small.js
│   │   │       │   │   │       ├── starts-with.js
│   │   │       │   │   │       ├── strike.js
│   │   │       │   │   │       ├── sub.js
│   │   │       │   │   │       ├── sup.js
│   │   │       │   │   │       ├── trim-end.js
│   │   │       │   │   │       ├── trim-left.js
│   │   │       │   │   │       ├── trim-right.js
│   │   │       │   │   │       ├── trim-start.js
│   │   │       │   │   │       ├── trim.js
│   │   │       │   │   │       └── unescape-html.js
│   │   │       │   │   ├── symbol
│   │   │       │   │   │   ├── async-iterator.js
│   │   │       │   │   │   ├── for.js
│   │   │       │   │   │   ├── has-instance.js
│   │   │       │   │   │   ├── index.js
│   │   │       │   │   │   ├── is-concat-spreadable.js
│   │   │       │   │   │   ├── iterator.js
│   │   │       │   │   │   ├── key-for.js
│   │   │       │   │   │   ├── match.js

Missed template update (Refresh from template)

This was delivered, then ember-template was updated. I normally don't like these "refresh from template" issues 'cause they should happen anyway, but this is more important because this lesson will be AT LEAST one template behind by the time 015 delivers this material.

Have students install bower

EDIT:

instructions to install bower globally later in readme after instructions to install dependencies with bower. Consider moving before instructions to install dependencies.

Original:

bower is not install in installfest. Students should run npm install -g bower before installing dependencies: npm install && bower install

Remove CA at end

This talk often takes 1-2 units, but runs as long as time allows with whatever we want to talk about--meaning it isn't pointed, probably trails off, and could be cut shorter. If there aren't comments to this effect on #4, there should be. It's kind of a fun time to play around, but the material should probably be covered in a D/CA/L format in ember-routing instead of here.

Lauren's comment says it all:

Lecture itself was only about 60 minutes for me. We spent the rest of the time up to lunch generating both static and dynamic routes and components to play around. Put most emphasis on browser paths mapping to router mapping to routes and associated templates.

Should link directly to section of page in documentation

Change link of resolver documentation to go directly to the folder layout section with the following link:
https://ember-cli.com/user-guide/#module-directory-naming-structure

Match the generated structure to the description of the layers found in the overview and resolver documentation.

Should be

Match the generated structure to the description of the layers found in the overview and resolver documentation.

https://github.com/ga-wdi-boston/ember#lab-become-familiar-with-ember-file-structure

use tree -L 1

Using tree gives you a massive tree that isn't very helpful. Setting the flag tree -L 1 gives you the one you want. cc @raq929

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.