diff --git a/.travis.yml b/.travis.yml index 976b6f9fe9..4efd7f293b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,30 +9,27 @@ node_js: before_install: - if [[ `npm -v` != 4* ]]; then npm install -g npm@4; fi - "export TRAVIS_COMMIT_MSG=\"`git log --format=%B --no-merges -n 1`\"" - - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export TWBS_DO_VALIDATOR=$?; true - - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip sauce\]'; export TWBS_DO_SAUCE=$?; true - - if [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then export TWBS_DO_VALIDATOR=0; fi + - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip browser\]'; export TWBS_DO_BROWSER=$?; true install: - bundle install --deployment --jobs=3 --retry=3 - - cp grunt/npm-shrinkwrap.json ./ + - cp build/npm-shrinkwrap.json ./ - npm install +script: + - npm test + - if [ "$TWBS_TEST" = browser -a "$SAUCE_ACCESS_KEY" ]; then npm run js-test-cloud; fi after_success: - - if [ "$TWBS_TEST" = sauce-js-unit ]; then grunt/upload-preview.sh; fi + - if [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then npm run docs-upload-preview; fi cache: directories: - node_modules - vendor/bundle - - "$HOME/google-cloud-sdk" env: - TWBS_TEST=core - - TWBS_TEST=validate-html - - TWBS_TEST=sauce-js-unit + - TWBS_TEST=browser matrix: exclude: - node_js: "4" - env: TWBS_TEST=validate-html - - node_js: "4" - env: TWBS_TEST=sauce-js-unit + env: TWBS_TEST=browser notifications: slack: heybb:iz4wwosL0N0EdaX1gvgkU0NH webhooks: diff --git a/Gemfile b/Gemfile index 958c7a9cbc..1a8977f8db 100644 --- a/Gemfile +++ b/Gemfile @@ -1,8 +1,8 @@ source 'https://rubygems.org' group :development, :test do - gem 'jekyll', '~> 3.4.2' + gem 'jekyll', '~> 3.4.3' gem 'jekyll-redirect-from', '~> 0.12.1' - gem 'jekyll-sitemap', '~> 1.0.0' - gem 'scss_lint', '~> 0.52.0' + gem 'jekyll-sitemap', '~> 1.1.1' + gem 'scss_lint', '~> 0.53.0' end diff --git a/Gemfile.lock b/Gemfile.lock index 242ec495fe..4df2612fcd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,12 +1,12 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.5.0) + addressable (2.5.1) public_suffix (~> 2.0, >= 2.0.2) colorator (1.1.0) ffi (1.9.18) forwardable-extended (2.6.0) - jekyll (3.4.2) + jekyll (3.4.3) addressable (~> 2.4) colorator (~> 1.0) jekyll-sass-converter (~> 1.0) @@ -21,7 +21,7 @@ GEM jekyll (~> 3.3) jekyll-sass-converter (1.5.0) sass (~> 3.4) - jekyll-sitemap (1.0.0) + jekyll-sitemap (1.1.1) jekyll (~> 3.3) jekyll-watch (1.5.0) listen (~> 3.0, < 3.1) @@ -41,7 +41,7 @@ GEM rouge (1.11.1) safe_yaml (1.0.4) sass (3.4.23) - scss_lint (0.52.0) + scss_lint (0.53.0) rake (>= 0.9, < 13) sass (~> 3.4.20) @@ -49,10 +49,10 @@ PLATFORMS ruby DEPENDENCIES - jekyll (~> 3.4.2) + jekyll (~> 3.4.3) jekyll-redirect-from (~> 0.12.1) - jekyll-sitemap (~> 1.0.0) - scss_lint (~> 0.52.0) + jekyll-sitemap (~> 1.1.1) + scss_lint (~> 0.53.0) BUNDLED WITH 1.14.6 diff --git a/Gruntfile.js b/Gruntfile.js index 7675e2f174..e3044bf04c 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -9,151 +9,8 @@ module.exports = function (grunt) { 'use strict' - // Force use of Unix newlines - grunt.util.linefeed = '\n' - - RegExp.quote = function (string) { - return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&') - } - - var isTravis = require('is-travis') - // Project configuration. grunt.initConfig({ - - // Metadata. - pkg: grunt.file.readJSON('package.json'), - banner: '/*!\n' + - ' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' + - ' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' + - ' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' + - ' */\n', - jqueryCheck: 'if (typeof jQuery === \'undefined\') {\n' + - ' throw new Error(\'Bootstrap\\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\\'s JavaScript.\')\n' + - '}\n', - jqueryVersionCheck: '+function ($) {\n' + - ' var version = $.fn.jquery.split(\' \')[0].split(\'.\')\n' + - ' if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {\n' + - ' throw new Error(\'Bootstrap\\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0\')\n' + - ' }\n' + - '}(jQuery);\n\n', - - // Task configuration. - clean: { - dist: 'dist', - docs: 'docs/dist' - }, - - // JS build configuration - babel: { - dev: { - options: { - sourceMap: true - }, - files: { - 'js/dist/util.js' : 'js/src/util.js', - 'js/dist/alert.js' : 'js/src/alert.js', - 'js/dist/button.js' : 'js/src/button.js', - 'js/dist/carousel.js' : 'js/src/carousel.js', - 'js/dist/collapse.js' : 'js/src/collapse.js', - 'js/dist/dropdown.js' : 'js/src/dropdown.js', - 'js/dist/modal.js' : 'js/src/modal.js', - 'js/dist/scrollspy.js' : 'js/src/scrollspy.js', - 'js/dist/tab.js' : 'js/src/tab.js', - 'js/dist/tooltip.js' : 'js/src/tooltip.js', - 'js/dist/popover.js' : 'js/src/popover.js' - } - }, - dist: { - options: { - extends: '../../.babelrc' - }, - files: { - '<%= concat.bootstrap.dest %>' : '<%= concat.bootstrap.dest %>' - } - } - }, - - stamp: { - options: { - banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>\n+function () {\n', - footer: '\n}();' - }, - bootstrap: { - files: { - src: '<%= concat.bootstrap.dest %>' - } - } - }, - - concat: { - options: { - // Custom function to remove all export and import statements - process: function (src) { - return src.replace(/^(export|import).*/gm, '') - } - }, - bootstrap: { - src: [ - 'js/src/util.js', - 'js/src/alert.js', - 'js/src/button.js', - 'js/src/carousel.js', - 'js/src/collapse.js', - 'js/src/dropdown.js', - 'js/src/modal.js', - 'js/src/scrollspy.js', - 'js/src/tab.js', - 'js/src/tooltip.js', - 'js/src/popover.js' - ], - dest: 'dist/js/<%= pkg.name %>.js' - } - }, - - qunit: { - options: { - inject: 'js/tests/unit/phantom.js' - }, - files: 'js/tests/index.html' - }, - - // CSS build configuration - copy: { - docs: { - expand: true, - cwd: 'dist/', - src: [ - '**/*' - ], - dest: 'docs/dist/' - } - }, - - connect: { - server: { - options: { - port: 3000, - base: '.' - } - } - }, - - watch: { - src: { - files: '<%= concat.bootstrap.src %>', - tasks: ['babel:dev'] - }, - sass: { - files: 'scss/**/*.scss', - tasks: ['dist-css', 'docs'] - }, - docs: { - files: 'docs/assets/scss/**/*.scss', - tasks: ['dist-css', 'docs'] - } - }, - 'saucelabs-qunit': { all: { options: { @@ -162,160 +19,11 @@ module.exports = function (grunt) { maxRetries: 3, maxPollRetries: 4, urls: ['http://127.0.0.1:3000/js/tests/index.html?hidepassed'], - browsers: grunt.file.readYAML('grunt/sauce_browsers.yml') + browsers: grunt.file.readYAML('build/sauce_browsers.yml') } } - }, - - exec: { - 'clean-css': { - command: 'npm run clean-css' - }, - 'clean-css-docs': { - command: 'npm run clean-css-docs' - }, - postcss: { - command: 'npm run postcss' - }, - 'postcss-docs': { - command: 'npm run postcss-docs' - }, - htmlhint: { - command: 'npm run htmlhint' - }, - htmllint: { - command: 'npm run htmllint' - }, - jekyll: { - command: 'npm run jekyll' - }, - 'jekyll-github': { - command: 'npm run jekyll-github' - }, - sass: { - command: 'npm run sass' - }, - 'sass-docs': { - command: 'npm run sass-docs' - }, - 'scss-lint': { - command: 'npm run scss-lint' - }, - 'scss-lint-docs': { - command: 'npm run scss-lint-docs' - }, - uglify: { - command: 'npm run uglify' - }, - 'uglify-docs': { - command: 'npm run uglify-docs' - } - }, - - buildcontrol: { - options: { - dir: '_gh_pages', - commit: true, - push: true, - message: 'Built %sourceName% from commit %sourceCommit% on branch %sourceBranch%' - }, - pages: { - options: { - remote: 'git@github.com:twbs/derpstrap.git', - branch: 'gh-pages' - } - } - }, - - compress: { - main: { - options: { - archive: 'bootstrap-<%= pkg.version %>-dist.zip', - mode: 'zip', - level: 9, - pretty: true - }, - files: [ - { - expand: true, - cwd: 'dist/', - src: ['**'], - dest: 'bootstrap-<%= pkg.version %>-dist' - } - ] - } } - }) - - // These plugins provide necessary tasks. - require('load-grunt-tasks')(grunt) - require('time-grunt')(grunt) - - // Docs HTML validation task - grunt.registerTask('validate-html', ['exec:jekyll', 'exec:htmllint', 'exec:htmlhint']) - - var runSubset = function (subset) { - return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset - } - var isUndefOrNonZero = function (val) { - return val === undefined || val !== '0' - } - - // Test task. - var testSubtasks = [] - // Skip core tests if running a different subset of the test suite - if (runSubset('core') && - // Skip core tests if this is a Savage build - process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') { - testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'test-scss', 'qunit', 'docs']) - } - // Skip HTML validation if running a different subset of the test suite - if (runSubset('validate-html') && - isTravis && - // Skip HTML5 validator when [skip validator] is in the commit message - isUndefOrNonZero(process.env.TWBS_DO_VALIDATOR)) { - testSubtasks.push('validate-html') - } - // Only run Sauce Labs tests if there's a Sauce access key - if (typeof process.env.SAUCE_ACCESS_KEY !== 'undefined' && - // Skip Sauce if running a different subset of the test suite - runSubset('sauce-js-unit')) { - testSubtasks = testSubtasks.concat(['dist', 'docs-css', 'docs-js', 'clean:docs', 'copy:docs']) - // Skip Sauce on Travis when [skip sauce] is in the commit message - if (isUndefOrNonZero(process.env.TWBS_DO_SAUCE)) { - testSubtasks.push('connect') - testSubtasks.push('saucelabs-qunit') - } - } - grunt.registerTask('test', testSubtasks) - - // JS distribution task. - grunt.registerTask('dist-js', ['babel:dev', 'concat', 'babel:dist', 'stamp', 'exec:uglify']) - - grunt.registerTask('test-scss', ['exec:scss-lint']) - - // CSS distribution task. - grunt.registerTask('sass-compile', ['exec:sass', 'exec:sass-docs']) - - grunt.registerTask('dist-css', ['sass-compile', 'exec:postcss', 'exec:clean-css', 'exec:clean-css-docs']) - - // Full distribution task. - grunt.registerTask('dist', ['clean:dist', 'dist-css', 'dist-js']) - - // Default task. - grunt.registerTask('default', ['clean:dist', 'test']) - - // Docs task. - grunt.registerTask('docs-css', ['exec:clean-css-docs', 'exec:postcss-docs']) - grunt.registerTask('lint-docs-css', ['exec:scss-lint-docs']) - grunt.registerTask('docs-js', ['exec:uglify-docs']) - grunt.registerTask('docs', ['lint-docs-css', 'docs-css', 'docs-js', 'clean:docs', 'copy:docs']) - grunt.registerTask('docs-github', ['exec:jekyll-github']) - - grunt.registerTask('prep-release', ['dist', 'docs', 'docs-github', 'compress']) - - // Publish to GitHub - grunt.registerTask('publish', ['buildcontrol:pages']) + grunt.loadNpmTasks('grunt-saucelabs') } diff --git a/grunt/change-version.js b/build/change-version.js similarity index 100% rename from grunt/change-version.js rename to build/change-version.js diff --git a/grunt/gcp-key.json.enc b/build/gcp-key.json.enc similarity index 100% rename from grunt/gcp-key.json.enc rename to build/gcp-key.json.enc diff --git a/grunt/npm-shrinkwrap.json b/build/npm-shrinkwrap.json similarity index 72% rename from grunt/npm-shrinkwrap.json rename to build/npm-shrinkwrap.json index f35e330d1c..347d92658f 100644 --- a/grunt/npm-shrinkwrap.json +++ b/build/npm-shrinkwrap.json @@ -8,16 +8,10 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", "dev": true }, - "accepts": { - "version": "1.3.3", - "from": "accepts@>=1.3.3 <1.4.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "dev": true - }, "acorn": { - "version": "4.0.4", - "from": "acorn@4.0.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.4.tgz", + "version": "5.0.3", + "from": "acorn@>=5.0.1 <6.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.0.3.tgz", "dev": true }, "acorn-jsx": { @@ -34,24 +28,10 @@ } } }, - "agent-base": { - "version": "2.0.1", - "from": "agent-base@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz", - "dev": true, - "dependencies": { - "semver": { - "version": "5.0.3", - "from": "semver@>=5.0.1 <5.1.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", - "dev": true - } - } - }, "ajv": { - "version": "4.11.5", + "version": "4.11.6", "from": "ajv@>=4.7.0 <5.0.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.5.tgz", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.6.tgz", "dev": true }, "ajv-keywords": { @@ -86,7 +66,7 @@ }, "any-promise": { "version": "1.3.0", - "from": "any-promise@>=1.0.0 <2.0.0", + "from": "any-promise@>=1.3.0 <2.0.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "dev": true }, @@ -102,26 +82,6 @@ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", "dev": true }, - "archiver": { - "version": "1.3.0", - "from": "archiver@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", - "dev": true, - "dependencies": { - "async": { - "version": "2.1.5", - "from": "async@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.1.5.tgz", - "dev": true - } - } - }, - "archiver-utils": { - "version": "1.3.0", - "from": "archiver-utils@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "dev": true - }, "are-we-there-yet": { "version": "1.1.2", "from": "are-we-there-yet@>=1.1.2 <1.2.0", @@ -141,15 +101,15 @@ "dev": true }, "arr-flatten": { - "version": "1.0.1", + "version": "1.0.2", "from": "arr-flatten@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.2.tgz", "dev": true }, - "array-differ": { - "version": "1.0.0", - "from": "array-differ@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "array-filter": { + "version": "0.0.1", + "from": "array-filter@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", "dev": true }, "array-find-index": { @@ -158,6 +118,18 @@ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "dev": true }, + "array-map": { + "version": "0.0.0", + "from": "array-map@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "dev": true + }, + "array-reduce": { + "version": "0.0.0", + "from": "array-reduce@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "dev": true + }, "array-union": { "version": "1.0.2", "from": "array-union@>=1.0.1 <2.0.0", @@ -201,9 +173,9 @@ "dev": true }, "async": { - "version": "1.5.2", - "from": "async@>=1.5.2 <1.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "version": "1.4.2", + "from": "async@1.4.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.4.2.tgz", "dev": true }, "async-each": { @@ -242,90 +214,236 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", "dev": true }, + "babel-cli": { + "version": "6.24.1", + "from": "babel-cli@>=6.24.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.24.1.tgz", + "dev": true + }, "babel-code-frame": { "version": "6.22.0", - "from": "babel-code-frame@>=6.16.0 <7.0.0", + "from": "babel-code-frame@>=6.22.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", "dev": true }, "babel-core": { - "version": "6.24.0", - "from": "babel-core@>=6.0.12 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.24.0.tgz", + "version": "6.24.1", + "from": "babel-core@>=6.24.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.24.1.tgz", "dev": true }, "babel-eslint": { - "version": "7.1.1", - "from": "babel-eslint@>=7.1.1 <8.0.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.1.1.tgz", + "version": "7.2.2", + "from": "babel-eslint@>=7.2.2 <8.0.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.2.tgz", "dev": true }, "babel-generator": { - "version": "6.24.0", - "from": "babel-generator@>=6.24.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.24.0.tgz", + "version": "6.24.1", + "from": "babel-generator@>=6.24.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.24.1.tgz", + "dev": true + }, + "babel-helper-call-delegate": { + "version": "7.0.0-alpha.7", + "from": "babel-helper-call-delegate@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-7.0.0-alpha.7.tgz", "dev": true, "dependencies": { - "jsesc": { - "version": "1.3.0", - "from": "jsesc@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "babel-code-frame": { + "version": "7.0.0-alpha.3", + "from": "babel-code-frame@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "7.0.0-alpha.3", + "from": "babel-messages@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-traverse": { + "version": "7.0.0-alpha.7", + "from": "babel-traverse@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.8", + "from": "babylon@7.0.0-beta.8", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz", "dev": true } } }, - "babel-helper-call-delegate": { - "version": "6.22.0", - "from": "babel-helper-call-delegate@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz", - "dev": true - }, "babel-helper-define-map": { - "version": "6.23.0", - "from": "babel-helper-define-map@>=6.23.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-helper-define-map@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + } + } }, "babel-helper-function-name": { - "version": "6.23.0", - "from": "babel-helper-function-name@>=6.23.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-helper-function-name@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "7.0.0-alpha.3", + "from": "babel-code-frame@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "7.0.0-alpha.3", + "from": "babel-messages@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-template": { + "version": "7.0.0-alpha.7", + "from": "babel-template@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-traverse": { + "version": "7.0.0-alpha.7", + "from": "babel-traverse@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.8", + "from": "babylon@7.0.0-beta.8", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz", + "dev": true + } + } }, "babel-helper-get-function-arity": { - "version": "6.22.0", - "from": "babel-helper-get-function-arity@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-helper-get-function-arity@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + } + } }, "babel-helper-hoist-variables": { - "version": "6.22.0", - "from": "babel-helper-hoist-variables@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-helper-hoist-variables@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + } + } }, "babel-helper-optimise-call-expression": { - "version": "6.23.0", - "from": "babel-helper-optimise-call-expression@>=6.23.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-helper-optimise-call-expression@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + } + } }, "babel-helper-regex": { - "version": "6.22.0", - "from": "babel-helper-regex@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-helper-regex@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + } + } }, "babel-helper-replace-supers": { - "version": "6.23.0", - "from": "babel-helper-replace-supers@>=6.23.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-helper-replace-supers@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "7.0.0-alpha.3", + "from": "babel-code-frame@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "7.0.0-alpha.3", + "from": "babel-messages@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-template": { + "version": "7.0.0-alpha.7", + "from": "babel-template@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-traverse": { + "version": "7.0.0-alpha.7", + "from": "babel-traverse@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.8", + "from": "babylon@7.0.0-beta.8", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz", + "dev": true + } + } }, "babel-helpers": { - "version": "6.23.0", - "from": "babel-helpers@>=6.23.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.23.0.tgz", + "version": "6.24.1", + "from": "babel-helpers@>=6.24.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "dev": true }, "babel-messages": { @@ -335,171 +453,521 @@ "dev": true }, "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "from": "babel-plugin-check-es2015-constants@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-check-es2015-constants@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-arrow-functions@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-arrow-functions@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-block-scoped-functions@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-block-scoped-functions@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-es2015-block-scoping": { - "version": "6.23.0", - "from": "babel-plugin-transform-es2015-block-scoping@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-block-scoping@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "7.0.0-alpha.3", + "from": "babel-code-frame@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "7.0.0-alpha.3", + "from": "babel-messages@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-template": { + "version": "7.0.0-alpha.7", + "from": "babel-template@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-traverse": { + "version": "7.0.0-alpha.7", + "from": "babel-traverse@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.8", + "from": "babylon@7.0.0-beta.8", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-classes": { - "version": "6.23.0", - "from": "babel-plugin-transform-es2015-classes@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-classes@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "7.0.0-alpha.3", + "from": "babel-code-frame@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "7.0.0-alpha.3", + "from": "babel-messages@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-template": { + "version": "7.0.0-alpha.7", + "from": "babel-template@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-traverse": { + "version": "7.0.0-alpha.7", + "from": "babel-traverse@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.8", + "from": "babylon@7.0.0-beta.8", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-computed-properties": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-computed-properties@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-computed-properties@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "7.0.0-alpha.3", + "from": "babel-code-frame@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "7.0.0-alpha.3", + "from": "babel-messages@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-template": { + "version": "7.0.0-alpha.7", + "from": "babel-template@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-traverse": { + "version": "7.0.0-alpha.7", + "from": "babel-traverse@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.8", + "from": "babylon@7.0.0-beta.8", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "from": "babel-plugin-transform-es2015-destructuring@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-destructuring@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-duplicate-keys@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-duplicate-keys@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "from": "babel-plugin-transform-es2015-for-of@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-for-of@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-es2015-function-name": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-function-name@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-function-name@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-literals@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-literals@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.0", - "from": "babel-plugin-transform-es2015-modules-amd@>=6.24.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-modules-amd@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "7.0.0-alpha.3", + "from": "babel-code-frame@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "7.0.0-alpha.3", + "from": "babel-messages@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-template": { + "version": "7.0.0-alpha.7", + "from": "babel-template@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-traverse": { + "version": "7.0.0-alpha.7", + "from": "babel-traverse@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.8", + "from": "babylon@7.0.0-beta.8", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.24.0", - "from": "babel-plugin-transform-es2015-modules-commonjs@>=6.24.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-modules-commonjs@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "7.0.0-alpha.3", + "from": "babel-code-frame@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "7.0.0-alpha.3", + "from": "babel-messages@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-template": { + "version": "7.0.0-alpha.7", + "from": "babel-template@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-traverse": { + "version": "7.0.0-alpha.7", + "from": "babel-traverse@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.8", + "from": "babylon@7.0.0-beta.8", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-modules-strip": { - "version": "0.1.0", - "from": "babel-plugin-transform-es2015-modules-strip@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-strip/-/babel-plugin-transform-es2015-modules-strip-0.1.0.tgz", + "version": "0.1.1", + "from": "babel-plugin-transform-es2015-modules-strip@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-strip/-/babel-plugin-transform-es2015-modules-strip-0.1.1.tgz", "dev": true }, "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.23.0", - "from": "babel-plugin-transform-es2015-modules-systemjs@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-modules-systemjs@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "7.0.0-alpha.3", + "from": "babel-code-frame@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "7.0.0-alpha.3", + "from": "babel-messages@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-template": { + "version": "7.0.0-alpha.7", + "from": "babel-template@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-traverse": { + "version": "7.0.0-alpha.7", + "from": "babel-traverse@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.8", + "from": "babylon@7.0.0-beta.8", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.0", - "from": "babel-plugin-transform-es2015-modules-umd@>=6.24.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-modules-umd@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "7.0.0-alpha.3", + "from": "babel-code-frame@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "7.0.0-alpha.3", + "from": "babel-messages@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-template": { + "version": "7.0.0-alpha.7", + "from": "babel-template@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-traverse": { + "version": "7.0.0-alpha.7", + "from": "babel-traverse@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.8", + "from": "babylon@7.0.0-beta.8", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-object-super": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-object-super@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-object-super@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-es2015-parameters": { - "version": "6.23.0", - "from": "babel-plugin-transform-es2015-parameters@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-parameters@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-code-frame": { + "version": "7.0.0-alpha.3", + "from": "babel-code-frame@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-messages": { + "version": "7.0.0-alpha.3", + "from": "babel-messages@7.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.3.tgz", + "dev": true + }, + "babel-template": { + "version": "7.0.0-alpha.7", + "from": "babel-template@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-traverse": { + "version": "7.0.0-alpha.7", + "from": "babel-traverse@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.7.tgz", + "dev": true + }, + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.8", + "from": "babylon@7.0.0-beta.8", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-shorthand-properties@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-shorthand-properties@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-spread@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-spread@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-sticky-regex@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz", - "dev": true + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-sticky-regex@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + } + } }, "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-template-literals@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-template-literals@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "from": "babel-plugin-transform-es2015-typeof-symbol@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-typeof-symbol@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.22.0", - "from": "babel-plugin-transform-es2015-unicode-regex@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-es2015-unicode-regex@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-regenerator": { - "version": "6.22.0", - "from": "babel-plugin-transform-regenerator@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-regenerator@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-7.0.0-alpha.7.tgz", "dev": true }, "babel-plugin-transform-strict-mode": { - "version": "6.22.0", - "from": "babel-plugin-transform-strict-mode@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-plugin-transform-strict-mode@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-7.0.0-alpha.7.tgz", + "dev": true, + "dependencies": { + "babel-types": { + "version": "7.0.0-alpha.7", + "from": "babel-types@7.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.7.tgz", + "dev": true + } + } + }, + "babel-polyfill": { + "version": "6.23.0", + "from": "babel-polyfill@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", "dev": true }, "babel-preset-es2015": { - "version": "6.24.0", - "from": "babel-preset-es2015@>=6.24.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.0.tgz", + "version": "7.0.0-alpha.7", + "from": "babel-preset-es2015@>=7.0.0-alpha.3 <8.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-7.0.0-alpha.7.tgz", "dev": true }, "babel-register": { - "version": "6.24.0", - "from": "babel-register@>=6.24.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.0.tgz", + "version": "6.24.1", + "from": "babel-register@>=6.24.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz", "dev": true }, "babel-runtime": { @@ -509,26 +977,26 @@ "dev": true }, "babel-template": { - "version": "6.23.0", - "from": "babel-template@>=6.23.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.23.0.tgz", + "version": "6.24.1", + "from": "babel-template@>=6.24.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.24.1.tgz", "dev": true }, "babel-traverse": { - "version": "6.23.1", - "from": "babel-traverse@>=6.15.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz", + "version": "6.24.1", + "from": "babel-traverse@>=6.24.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.24.1.tgz", "dev": true }, "babel-types": { - "version": "6.23.0", - "from": "babel-types@>=6.15.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz", + "version": "6.24.1", + "from": "babel-types@>=6.24.1 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.24.1.tgz", "dev": true }, "babylon": { "version": "6.16.1", - "from": "babylon@>=6.13.0 <7.0.0", + "from": "babylon@>=6.11.0 <7.0.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.16.1.tgz", "dev": true }, @@ -538,18 +1006,6 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", "dev": true }, - "basic-auth": { - "version": "1.1.0", - "from": "basic-auth@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz", - "dev": true - }, - "batch": { - "version": "0.5.3", - "from": "batch@0.5.3", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", - "dev": true - }, "bcrypt-pbkdf": { "version": "1.0.1", "from": "bcrypt-pbkdf@>=1.0.0 <2.0.0", @@ -563,12 +1019,6 @@ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz", "dev": true }, - "bl": { - "version": "1.2.0", - "from": "bl@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.0.tgz", - "dev": true - }, "block-stream": { "version": "0.0.9", "from": "block-stream@*", @@ -577,48 +1027,10 @@ }, "bluebird": { "version": "3.5.0", - "from": "bluebird@>=3.0.6 <4.0.0", + "from": "bluebird@>=3.4.7 <4.0.0", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", "dev": true }, - "body-parser": { - "version": "1.14.2", - "from": "body-parser@>=1.14.0 <1.15.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", - "dev": true, - "dependencies": { - "debug": { - "version": "2.2.0", - "from": "debug@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "dev": true - }, - "http-errors": { - "version": "1.3.1", - "from": "http-errors@>=1.3.1 <1.4.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", - "dev": true - }, - "iconv-lite": { - "version": "0.4.13", - "from": "iconv-lite@0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "dev": true - }, - "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "dev": true - }, - "qs": { - "version": "5.2.0", - "from": "qs@5.2.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz", - "dev": true - } - } - }, "boom": { "version": "2.10.1", "from": "boom@>=2.0.0 <3.0.0", @@ -626,9 +1038,9 @@ "dev": true }, "brace-expansion": { - "version": "1.1.6", + "version": "1.1.7", "from": "brace-expansion@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", "dev": true }, "braces": { @@ -638,20 +1050,14 @@ "dev": true }, "browserslist": { - "version": "1.7.6", + "version": "1.7.7", "from": "browserslist@>=1.7.6 <2.0.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.6.tgz", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "from": "buffer-crc32@>=0.2.1 <0.3.0", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "dev": true }, "buffer-shims": { "version": "1.0.0", - "from": "buffer-shims@>=1.0.0 <2.0.0", + "from": "buffer-shims@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", "dev": true }, @@ -681,12 +1087,6 @@ } } }, - "bytes": { - "version": "2.2.0", - "from": "bytes@2.2.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", - "dev": true - }, "caller-path": { "version": "0.1.0", "from": "caller-path@>=0.1.0 <0.2.0", @@ -700,27 +1100,35 @@ "dev": true }, "camelcase": { - "version": "2.1.1", - "from": "camelcase@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "version": "3.0.0", + "from": "camelcase@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", "dev": true }, "camelcase-keys": { "version": "2.1.0", "from": "camelcase-keys@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "dev": true + "dev": true, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "from": "camelcase@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "dev": true + } + } }, "caniuse-db": { - "version": "1.0.30000637", + "version": "1.0.30000653", "from": "caniuse-db@>=1.0.30000634 <2.0.0", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000637.tgz", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000653.tgz", "dev": true }, "caseless": { - "version": "0.11.0", - "from": "caseless@>=0.11.0 <0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "version": "0.12.0", + "from": "caseless@>=0.12.0 <0.13.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "dev": true }, "center-align": { @@ -762,15 +1170,15 @@ "dev": true }, "clean-css": { - "version": "4.0.9", - "from": "clean-css@>=4.0.9 <5.0.0", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.0.9.tgz", + "version": "4.0.12", + "from": "clean-css@>=4.0.12 <5.0.0", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.0.12.tgz", "dev": true }, "clean-css-cli": { - "version": "4.0.9", - "from": "clean-css-cli@>=4.0.9 <5.0.0", - "resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-4.0.9.tgz", + "version": "4.0.12", + "from": "clean-css-cli@>=4.0.12 <5.0.0", + "resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-4.0.12.tgz", "dev": true }, "cli": { @@ -829,16 +1237,10 @@ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "dev": true }, - "coffee-script": { - "version": "1.10.0", - "from": "coffee-script@>=1.10.0 <1.11.0", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz", - "dev": true - }, "colors": { - "version": "1.1.2", - "from": "colors@>=1.1.2 <1.2.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "version": "1.0.3", + "from": "colors@1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", "dev": true }, "combined-stream": { @@ -849,16 +1251,10 @@ }, "commander": { "version": "2.9.0", - "from": "commander@>=2.0.0 <3.0.0", + "from": "commander@>=2.8.1 <3.0.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "dev": true }, - "compress-commons": { - "version": "1.2.0", - "from": "compress-commons@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.0.tgz", - "dev": true - }, "concat-map": { "version": "0.0.1", "from": "concat-map@0.0.1", @@ -871,26 +1267,6 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", "dev": true }, - "connect": { - "version": "3.6.0", - "from": "connect@>=3.4.0 <4.0.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.0.tgz", - "dev": true, - "dependencies": { - "debug": { - "version": "2.6.1", - "from": "debug@2.6.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz", - "dev": true - } - } - }, - "connect-livereload": { - "version": "0.5.4", - "from": "connect-livereload@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz", - "dev": true - }, "console-browserify": { "version": "1.1.0", "from": "console-browserify@>=1.1.0 <1.2.0", @@ -903,16 +1279,10 @@ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "dev": true }, - "content-type": { - "version": "1.0.2", - "from": "content-type@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", - "dev": true - }, "convert-source-map": { - "version": "1.4.0", + "version": "1.5.0", "from": "convert-source-map@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", "dev": true }, "core-js": { @@ -941,18 +1311,6 @@ } } }, - "crc": { - "version": "3.4.4", - "from": "crc@>=3.4.4 <4.0.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", - "dev": true - }, - "crc32-stream": { - "version": "2.0.0", - "from": "crc32-stream@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "dev": true - }, "cross-spawn": { "version": "3.0.1", "from": "cross-spawn@>=3.0.0 <4.0.0", @@ -1011,27 +1369,15 @@ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", "dev": true }, - "date-time": { - "version": "1.1.0", - "from": "date-time@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/date-time/-/date-time-1.1.0.tgz", - "dev": true - }, - "dateformat": { - "version": "1.0.12", - "from": "dateformat@>=1.0.12 <1.1.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "dev": true - }, "debug": { "version": "2.6.3", - "from": "debug@>=2.2.0 <3.0.0", + "from": "debug@>=2.1.1 <3.0.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.3.tgz", "dev": true }, "decamelize": { "version": "1.2.0", - "from": "decamelize@>=1.1.2 <2.0.0", + "from": "decamelize@>=1.1.1 <2.0.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "dev": true }, @@ -1041,6 +1387,12 @@ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "dev": true }, + "define-properties": { + "version": "1.1.2", + "from": "define-properties@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "dev": true + }, "del": { "version": "2.2.2", "from": "del@>=2.0.2 <3.0.0", @@ -1059,16 +1411,10 @@ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "dev": true }, - "depd": { - "version": "1.1.0", - "from": "depd@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", - "dev": true - }, - "destroy": { - "version": "1.0.4", - "from": "destroy@>=1.0.4 <1.1.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "dependency-graph": { + "version": "0.5.0", + "from": "dependency-graph@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.5.0.tgz", "dev": true }, "detect-file": { @@ -1127,6 +1473,12 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "dev": true }, + "duplexer": { + "version": "0.1.1", + "from": "duplexer@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "dev": true + }, "ecc-jsbn": { "version": "0.1.1", "from": "ecc-jsbn@>=0.1.1 <0.2.0", @@ -1134,28 +1486,16 @@ "dev": true, "optional": true }, - "ee-first": { - "version": "1.1.1", - "from": "ee-first@1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "dev": true - }, "electron-to-chromium": { - "version": "1.2.7", - "from": "electron-to-chromium@>=1.2.5 <2.0.0", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.2.7.tgz", + "version": "1.3.3", + "from": "electron-to-chromium@>=1.2.7 <2.0.0", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.3.tgz", "dev": true }, - "encodeurl": { - "version": "1.0.1", - "from": "encodeurl@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "dev": true - }, - "end-of-stream": { - "version": "1.4.0", - "from": "end-of-stream@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "ensure-posix-path": { + "version": "1.0.2", + "from": "ensure-posix-path@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ensure-posix-path/-/ensure-posix-path-1.0.2.tgz", "dev": true }, "entities": { @@ -1170,10 +1510,22 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "dev": true }, + "es-abstract": { + "version": "1.7.0", + "from": "es-abstract@>=1.4.3 <2.0.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.7.0.tgz", + "dev": true + }, + "es-to-primitive": { + "version": "1.1.1", + "from": "es-to-primitive@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "dev": true + }, "es5-ext": { - "version": "0.10.14", + "version": "0.10.15", "from": "es5-ext@>=0.10.14 <0.11.0", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.14.tgz", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz", "dev": true }, "es6-iterator": { @@ -1218,12 +1570,6 @@ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "dev": true }, - "escape-html": { - "version": "1.0.3", - "from": "escape-html@>=1.0.3 <1.1.0", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "dev": true - }, "escape-string-regexp": { "version": "1.0.5", "from": "escape-string-regexp@>=1.0.2 <2.0.0", @@ -1237,15 +1583,23 @@ "dev": true }, "eslint": { - "version": "3.18.0", - "from": "eslint@>=3.18.0 <4.0.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.18.0.tgz", - "dev": true + "version": "3.19.0", + "from": "eslint@>=3.19.0 <4.0.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "dev": true, + "dependencies": { + "user-home": { + "version": "2.0.0", + "from": "user-home@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "dev": true + } + } }, "espree": { - "version": "3.4.0", + "version": "3.4.1", "from": "espree@>=3.4.0 <4.0.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.0.tgz", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.1.tgz", "dev": true }, "esprima": { @@ -1286,27 +1640,27 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "dev": true }, - "etag": { - "version": "1.8.0", - "from": "etag@>=1.8.0 <1.9.0", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", - "dev": true - }, "event-emitter": { "version": "0.3.5", "from": "event-emitter@>=0.3.5 <0.4.0", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "dev": true }, - "eventemitter2": { - "version": "0.4.14", - "from": "eventemitter2@>=0.4.13 <0.5.0", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "event-stream": { + "version": "3.3.4", + "from": "event-stream@>=3.3.0 <3.4.0", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "dev": true + }, + "exists-stat": { + "version": "1.0.0", + "from": "exists-stat@1.0.0", + "resolved": "https://registry.npmjs.org/exists-stat/-/exists-stat-1.0.0.tgz", "dev": true }, "exit": { "version": "0.1.2", - "from": "exit@>=0.1.1 <0.2.0", + "from": "exit@>=0.1.0 <0.2.0", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "dev": true }, @@ -1336,7 +1690,7 @@ }, "extend": { "version": "3.0.0", - "from": "extend@>=3.0.0 <3.1.0", + "from": "extend@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", "dev": true }, @@ -1375,6 +1729,12 @@ "from": "readable-stream@>=2.0.0 <2.1.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "dev": true } } }, @@ -1390,38 +1750,12 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "dev": true }, - "faye-websocket": { - "version": "0.10.0", - "from": "faye-websocket@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "dev": true - }, "fd-slicer": { "version": "1.0.1", "from": "fd-slicer@>=1.0.1 <1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", "dev": true }, - "fg-lodash": { - "version": "0.0.2", - "from": "fg-lodash@0.0.2", - "resolved": "https://registry.npmjs.org/fg-lodash/-/fg-lodash-0.0.2.tgz", - "dev": true, - "dependencies": { - "lodash": { - "version": "2.4.2", - "from": "lodash@>=2.4.1 <3.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", - "dev": true - }, - "underscore.string": { - "version": "2.3.3", - "from": "underscore.string@>=2.3.3 <2.4.0", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", - "dev": true - } - } - }, "figures": { "version": "1.7.0", "from": "figures@>=1.3.5 <2.0.0", @@ -1434,12 +1768,6 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "dev": true }, - "file-sync-cmp": { - "version": "0.1.1", - "from": "file-sync-cmp@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", - "dev": true - }, "filename-regex": { "version": "2.0.0", "from": "filename-regex@>=2.0.0 <3.0.0", @@ -1452,20 +1780,6 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", "dev": true }, - "finalhandler": { - "version": "1.0.0", - "from": "finalhandler@1.0.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.0.tgz", - "dev": true, - "dependencies": { - "debug": { - "version": "2.6.1", - "from": "debug@2.6.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz", - "dev": true - } - } - }, "find-up": { "version": "1.1.2", "from": "find-up@>=1.0.0 <2.0.0", @@ -1473,18 +1787,10 @@ "dev": true }, "findup-sync": { - "version": "0.3.0", - "from": "findup-sync@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "dev": true, - "dependencies": { - "glob": { - "version": "5.0.15", - "from": "glob@>=5.0.0 <5.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "dev": true - } - } + "version": "0.4.3", + "from": "findup-sync@>=0.4.2 <0.5.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", + "dev": true }, "fined": { "version": "1.0.2", @@ -1516,6 +1822,12 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "dev": true }, + "foreach": { + "version": "2.0.5", + "from": "foreach@>=2.0.5 <3.0.0", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "dev": true + }, "forever-agent": { "version": "0.6.1", "from": "forever-agent@>=0.6.1 <0.7.0", @@ -1523,15 +1835,15 @@ "dev": true }, "form-data": { - "version": "2.1.2", + "version": "2.1.4", "from": "form-data@>=2.1.1 <2.2.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "dev": true }, - "fresh": { - "version": "0.5.0", - "from": "fresh@0.5.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", + "from": { + "version": "0.1.7", + "from": "from@>=0.0.0 <1.0.0", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", "dev": true }, "fs-exists-sync": { @@ -1547,9 +1859,23 @@ "dev": true }, "fs-promise": { + "version": "2.0.2", + "from": "fs-promise@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.2.tgz", + "dev": true, + "dependencies": { + "fs-extra": { + "version": "2.1.2", + "from": "fs-extra@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", + "dev": true + } + } + }, + "fs-readdir-recursive": { "version": "1.0.0", - "from": "fs-promise@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-1.0.0.tgz", + "from": "fs-readdir-recursive@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz", "dev": true }, "fs.realpath": { @@ -1564,6 +1890,12 @@ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", "dev": true }, + "function-bind": { + "version": "1.1.0", + "from": "function-bind@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", + "dev": true + }, "gauge": { "version": "2.7.3", "from": "gauge@>=2.7.1 <2.8.0", @@ -1600,12 +1932,6 @@ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", "dev": true }, - "getobject": { - "version": "0.1.0", - "from": "getobject@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", - "dev": true - }, "getpass": { "version": "0.1.6", "from": "getpass@>=0.1.1 <0.2.0", @@ -1622,7 +1948,7 @@ }, "glob": { "version": "7.1.1", - "from": "glob@>=7.0.3 <8.0.0", + "from": "glob@>=7.0.0 <8.0.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", "dev": true }, @@ -1651,9 +1977,9 @@ "dev": true }, "globals": { - "version": "9.16.0", + "version": "9.17.0", "from": "globals@>=9.0.0 <10.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.16.0.tgz", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.17.0.tgz", "dev": true }, "globby": { @@ -1688,210 +2014,22 @@ "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", "dev": true }, - "grunt": { - "version": "1.0.1", - "from": "grunt@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz", - "dev": true, - "dependencies": { - "esprima": { - "version": "2.7.3", - "from": "esprima@>=2.6.0 <3.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "dev": true - }, - "glob": { - "version": "7.0.6", - "from": "glob@>=7.0.0 <7.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", - "dev": true - }, - "grunt-cli": { - "version": "1.2.0", - "from": "grunt-cli@>=1.2.0 <1.3.0", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", - "dev": true - }, - "js-yaml": { - "version": "3.5.5", - "from": "js-yaml@>=3.5.2 <3.6.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", - "dev": true - }, - "resolve": { - "version": "1.1.7", - "from": "resolve@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "dev": true - }, - "rimraf": { - "version": "2.2.8", - "from": "rimraf@>=2.2.8 <2.3.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "dev": true - } - } - }, - "grunt-babel": { - "version": "6.0.0", - "from": "grunt-babel@>=6.0.0 <7.0.0", - "resolved": "https://registry.npmjs.org/grunt-babel/-/grunt-babel-6.0.0.tgz", - "dev": true - }, - "grunt-build-control": { - "version": "0.7.1", - "from": "grunt-build-control@>=0.7.1 <0.8.0", - "resolved": "https://registry.npmjs.org/grunt-build-control/-/grunt-build-control-0.7.1.tgz", - "dev": true, - "dependencies": { - "semver": { - "version": "4.3.6", - "from": "semver@>=4.3.3 <4.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "dev": true - }, - "shelljs": { - "version": "0.2.6", - "from": "shelljs@>=0.2.6 <0.3.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz", - "dev": true - } - } - }, - "grunt-contrib-clean": { - "version": "1.0.0", - "from": "grunt-contrib-clean@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.0.0.tgz", - "dev": true - }, - "grunt-contrib-compress": { - "version": "1.4.1", - "from": "grunt-contrib-compress@>=1.4.1 <2.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.4.1.tgz", - "dev": true - }, - "grunt-contrib-concat": { - "version": "1.0.1", - "from": "grunt-contrib-concat@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", - "dev": true - }, - "grunt-contrib-connect": { - "version": "1.0.2", - "from": "grunt-contrib-connect@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-1.0.2.tgz", - "dev": true - }, - "grunt-contrib-copy": { - "version": "1.0.0", - "from": "grunt-contrib-copy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", - "dev": true - }, - "grunt-contrib-qunit": { - "version": "1.3.0", - "from": "grunt-contrib-qunit@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-1.3.0.tgz", - "dev": true - }, - "grunt-contrib-watch": { - "version": "1.0.0", - "from": "grunt-contrib-watch@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", - "dev": true, - "dependencies": { - "lodash": { - "version": "3.10.1", - "from": "lodash@>=3.10.1 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "dev": true - } - } - }, - "grunt-exec": { - "version": "2.0.0", - "from": "grunt-exec@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-2.0.0.tgz", - "dev": true - }, - "grunt-known-options": { - "version": "1.1.0", - "from": "grunt-known-options@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz", - "dev": true - }, - "grunt-legacy-log": { - "version": "1.0.0", - "from": "grunt-legacy-log@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", - "dev": true, - "dependencies": { - "lodash": { - "version": "3.10.1", - "from": "lodash@>=3.10.1 <3.11.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "dev": true - } - } - }, - "grunt-legacy-log-utils": { - "version": "1.0.0", - "from": "grunt-legacy-log-utils@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", - "dev": true, - "dependencies": { - "lodash": { - "version": "4.3.0", - "from": "lodash@>=4.3.0 <4.4.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", - "dev": true - } - } - }, - "grunt-legacy-util": { - "version": "1.0.0", - "from": "grunt-legacy-util@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", - "dev": true, - "dependencies": { - "lodash": { - "version": "4.3.0", - "from": "lodash@>=4.3.0 <4.4.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", - "dev": true - } - } - }, - "grunt-lib-phantomjs": { - "version": "1.1.0", - "from": "grunt-lib-phantomjs@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/grunt-lib-phantomjs/-/grunt-lib-phantomjs-1.1.0.tgz", - "dev": true - }, - "grunt-saucelabs": { - "version": "9.0.0", - "from": "grunt-saucelabs@>=9.0.0 <10.0.0", - "resolved": "https://registry.npmjs.org/grunt-saucelabs/-/grunt-saucelabs-9.0.0.tgz", - "dev": true, - "dependencies": { - "lodash": { - "version": "4.13.1", - "from": "lodash@>=4.13.1 <4.14.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.13.1.tgz", - "dev": true - } - } - }, - "grunt-stamp": { - "version": "0.3.0", - "from": "grunt-stamp@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/grunt-stamp/-/grunt-stamp-0.3.0.tgz", + "har-schema": { + "version": "1.0.5", + "from": "har-schema@>=1.0.5 <2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", "dev": true }, "har-validator": { - "version": "2.0.6", - "from": "har-validator@>=2.0.6 <2.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "version": "4.2.1", + "from": "har-validator@>=4.2.1 <4.3.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "dev": true + }, + "has": { + "version": "1.0.1", + "from": "has@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "dev": true }, "has-ansi": { @@ -1942,16 +2080,10 @@ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", "dev": true }, - "hooker": { - "version": "0.2.3", - "from": "hooker@>=0.2.3 <0.3.0", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "dev": true - }, "hosted-git-info": { - "version": "2.3.1", + "version": "2.4.2", "from": "hosted-git-info@>=2.1.4 <3.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz", "dev": true }, "htmlhint": { @@ -1960,18 +2092,6 @@ "resolved": "https://registry.npmjs.org/htmlhint/-/htmlhint-0.9.13.tgz", "dev": true, "dependencies": { - "async": { - "version": "1.4.2", - "from": "async@1.4.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.4.2.tgz", - "dev": true - }, - "colors": { - "version": "1.0.3", - "from": "colors@1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "dev": true - }, "commander": { "version": "2.6.0", "from": "commander@2.6.0", @@ -2021,52 +2141,27 @@ "from": "readable-stream@>=1.1.0 <1.2.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "dev": true } } }, - "http-errors": { - "version": "1.5.1", - "from": "http-errors@>=1.5.0 <1.6.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz", - "dev": true - }, "http-signature": { "version": "1.1.1", "from": "http-signature@>=1.1.0 <1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "dev": true }, - "http2": { - "version": "3.3.6", - "from": "http2@>=3.3.4 <4.0.0", - "resolved": "https://registry.npmjs.org/http2/-/http2-3.3.6.tgz", - "dev": true - }, - "https-proxy-agent": { - "version": "1.0.0", - "from": "https-proxy-agent@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", - "dev": true - }, - "iconv-lite": { - "version": "0.4.15", - "from": "iconv-lite@>=0.4.13 <0.5.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", - "dev": true - }, "ignore": { - "version": "3.2.6", + "version": "3.2.7", "from": "ignore@>=3.2.0 <4.0.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.6.tgz", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.7.tgz", "dev": true }, - "iltorb": { - "version": "1.0.13", - "from": "iltorb@>=1.0.13 <2.0.0", - "resolved": "https://registry.npmjs.org/iltorb/-/iltorb-1.0.13.tgz", - "dev": true, - "optional": true - }, "imurmurhash": { "version": "0.1.4", "from": "imurmurhash@>=0.1.4 <0.2.0", @@ -2093,7 +2188,7 @@ }, "inherits": { "version": "2.0.3", - "from": "inherits@>=2.0.3 <3.0.0", + "from": "inherits@>=2.0.1 <3.0.0", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "dev": true }, @@ -2110,9 +2205,9 @@ "dev": true }, "interpret": { - "version": "1.0.1", + "version": "1.0.2", "from": "interpret@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.2.tgz", "dev": true }, "invariant": { @@ -2157,6 +2252,18 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "dev": true }, + "is-callable": { + "version": "1.1.3", + "from": "is-callable@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "dev": true + }, + "is-date-object": { + "version": "1.0.1", + "from": "is-date-object@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "dev": true + }, "is-dotfile": { "version": "1.0.2", "from": "is-dotfile@>=1.0.0 <2.0.0", @@ -2247,6 +2354,12 @@ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", "dev": true }, + "is-regex": { + "version": "1.0.4", + "from": "is-regex@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "dev": true + }, "is-relative": { "version": "0.2.1", "from": "is-relative@>=0.2.1 <0.3.0", @@ -2265,10 +2378,10 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "dev": true }, - "is-travis": { - "version": "1.0.0", - "from": "is-travis@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-travis/-/is-travis-1.0.0.tgz", + "is-symbol": { + "version": "1.0.1", + "from": "is-symbol@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", "dev": true }, "is-typedarray": { @@ -2297,14 +2410,14 @@ }, "isarray": { "version": "1.0.0", - "from": "isarray@>=1.0.0 <1.1.0", + "from": "isarray@1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "dev": true }, "isexe": { - "version": "1.1.2", - "from": "isexe@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", + "version": "2.0.0", + "from": "isexe@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "dev": true }, "isobject": { @@ -2333,9 +2446,9 @@ "optional": true }, "jquery": { - "version": "3.2.0", + "version": "3.2.1", "from": "jquery@>=1.9.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.0.tgz" + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz" }, "js-base64": { "version": "2.1.9", @@ -2343,6 +2456,12 @@ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", "dev": true }, + "js-reporters": { + "version": "1.2.0", + "from": "js-reporters@1.2.0", + "resolved": "https://registry.npmjs.org/js-reporters/-/js-reporters-1.2.0.tgz", + "dev": true + }, "js-tokens": { "version": "3.0.1", "from": "js-tokens@>=3.0.0 <4.0.0", @@ -2350,9 +2469,9 @@ "dev": true }, "js-yaml": { - "version": "3.8.2", + "version": "3.8.3", "from": "js-yaml@>=3.5.1 <4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.2.tgz", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.3.tgz", "dev": true }, "jsbn": { @@ -2363,9 +2482,9 @@ "optional": true }, "jsesc": { - "version": "0.5.0", - "from": "jsesc@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "version": "1.3.0", + "from": "jsesc@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "dev": true }, "jshint": { @@ -2486,12 +2605,6 @@ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", "dev": true }, - "lazystream": { - "version": "1.0.0", - "from": "lazystream@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "dev": true - }, "lcid": { "version": "1.0.0", "from": "lcid@>=1.0.0 <2.0.0", @@ -2508,26 +2621,6 @@ "version": "2.3.0", "from": "liftoff@>=2.3.0 <3.0.0", "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz", - "dev": true, - "dependencies": { - "findup-sync": { - "version": "0.4.3", - "from": "findup-sync@>=0.4.2 <0.5.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", - "dev": true - } - } - }, - "livereload-js": { - "version": "2.2.2", - "from": "livereload-js@>=2.2.0 <3.0.0", - "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz", - "dev": true - }, - "load-grunt-tasks": { - "version": "3.5.2", - "from": "load-grunt-tasks@>=3.5.2 <4.0.0", - "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz", "dev": true }, "load-json-file": { @@ -2604,12 +2697,6 @@ "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", "dev": true }, - "lodash.pickby": { - "version": "4.6.0", - "from": "lodash.pickby@>=4.6.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", - "dev": true - }, "log-symbols": { "version": "1.0.2", "from": "log-symbols@>=1.0.2 <2.0.0", @@ -2652,15 +2739,21 @@ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "dev": true }, - "media-typer": { - "version": "0.3.0", - "from": "media-typer@0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "map-stream": { + "version": "0.1.0", + "from": "map-stream@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "dev": true + }, + "matcher-collection": { + "version": "1.0.4", + "from": "matcher-collection@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.0.4.tgz", "dev": true }, "meow": { "version": "3.7.0", - "from": "meow@>=3.3.0 <4.0.0", + "from": "meow@>=3.7.0 <4.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "dev": true, "dependencies": { @@ -2674,26 +2767,20 @@ }, "micromatch": { "version": "2.3.11", - "from": "micromatch@>=2.3.7 <3.0.0", + "from": "micromatch@>=2.1.5 <3.0.0", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "dev": true }, - "mime": { - "version": "1.3.4", - "from": "mime@1.3.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "dev": true - }, "mime-db": { - "version": "1.26.0", - "from": "mime-db@>=1.26.0 <1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz", + "version": "1.27.0", + "from": "mime-db@>=1.27.0 <1.28.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", "dev": true }, "mime-types": { - "version": "2.1.14", - "from": "mime-types@>=2.1.11 <2.2.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz", + "version": "2.1.15", + "from": "mime-types@>=2.1.7 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", "dev": true }, "mimic-fn": { @@ -2716,36 +2803,16 @@ }, "mkdirp": { "version": "0.5.1", - "from": "mkdirp@>=0.5.0 <0.6.0", + "from": "mkdirp@>=0.5.1 <0.6.0", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "dev": true }, - "morgan": { - "version": "1.8.1", - "from": "morgan@>=1.6.1 <2.0.0", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.8.1.tgz", - "dev": true, - "dependencies": { - "debug": { - "version": "2.6.1", - "from": "debug@2.6.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz", - "dev": true - } - } - }, "ms": { "version": "0.7.2", "from": "ms@0.7.2", "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", "dev": true }, - "multimatch": { - "version": "2.1.0", - "from": "multimatch@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "dev": true - }, "mute-stream": { "version": "0.0.5", "from": "mute-stream@0.0.5", @@ -2754,14 +2821,14 @@ }, "mz": { "version": "2.6.0", - "from": "mz@>=2.3.1 <3.0.0", + "from": "mz@>=2.6.0 <3.0.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.6.0.tgz", "dev": true }, "nan": { - "version": "2.5.1", - "from": "nan@>=2.4.0 <3.0.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz", + "version": "2.6.2", + "from": "nan@>=2.3.2 <3.0.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", "dev": true }, "natural-compare": { @@ -2770,12 +2837,6 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "dev": true }, - "negotiator": { - "version": "0.6.1", - "from": "negotiator@0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "dev": true - }, "node-gyp": { "version": "3.6.0", "from": "node-gyp@>=3.3.1 <4.0.0", @@ -2783,27 +2844,27 @@ "dev": true }, "node-sass": { - "version": "4.5.0", - "from": "node-sass@>=4.5.0 <5.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.0.tgz", + "version": "4.5.2", + "from": "node-sass@>=4.5.2 <5.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.2.tgz", "dev": true }, "nopt": { "version": "3.0.6", - "from": "nopt@>=3.0.6 <3.1.0", + "from": "nopt@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "dev": true }, "normalize-package-data": { "version": "2.3.6", - "from": "normalize-package-data@>=2.3.4 <3.0.0", + "from": "normalize-package-data@>=2.3.2 <3.0.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.6.tgz", "dev": true }, "normalize-path": { - "version": "2.0.1", - "from": "normalize-path@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz", + "version": "2.1.1", + "from": "normalize-path@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "dev": true }, "normalize-range": { @@ -2812,6 +2873,44 @@ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "dev": true }, + "npm-run-all": { + "version": "4.0.2", + "from": "npm-run-all@>=4.0.2 <5.0.0", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.0.2.tgz", + "dev": true, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "from": "cross-spawn@>=5.0.1 <6.0.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "dev": true + }, + "load-json-file": { + "version": "2.0.0", + "from": "load-json-file@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "dev": true + }, + "lru-cache": { + "version": "4.0.2", + "from": "lru-cache@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz", + "dev": true + }, + "path-type": { + "version": "2.0.0", + "from": "path-type@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "from": "read-pkg@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "dev": true + } + } + }, "npmlog": { "version": "4.0.2", "from": "npmlog@>=4.0.0 <5.0.0", @@ -2838,28 +2937,22 @@ }, "object-assign": { "version": "4.1.1", - "from": "object-assign@>=4.0.1 <5.0.0", + "from": "object-assign@>=4.1.0 <5.0.0", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "dev": true }, + "object-keys": { + "version": "1.0.11", + "from": "object-keys@>=1.0.8 <2.0.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "dev": true + }, "object.omit": { "version": "2.0.1", "from": "object.omit@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "dev": true }, - "on-finished": { - "version": "2.3.0", - "from": "on-finished@>=2.3.0 <2.4.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "dev": true - }, - "on-headers": { - "version": "1.0.1", - "from": "on-headers@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "dev": true - }, "once": { "version": "1.4.0", "from": "once@>=1.3.0 <2.0.0", @@ -2872,12 +2965,6 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "dev": true }, - "opn": { - "version": "4.0.2", - "from": "opn@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", - "dev": true - }, "optionator": { "version": "0.8.2", "from": "optionator@>=0.8.2 <0.9.0", @@ -2885,9 +2972,9 @@ "dev": true }, "ora": { - "version": "1.1.0", + "version": "1.2.0", "from": "ora@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/ora/-/ora-1.2.0.tgz", "dev": true, "dependencies": { "cli-cursor": { @@ -2897,9 +2984,9 @@ "dev": true }, "onetime": { - "version": "2.0.0", + "version": "2.0.1", "from": "onetime@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "dev": true }, "restore-cursor": { @@ -2934,10 +3021,10 @@ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", "dev": true }, - "package": { - "version": "1.0.1", - "from": "package@>=1.0.0 <1.2.0", - "resolved": "https://registry.npmjs.org/package/-/package-1.0.1.tgz", + "output-file-sync": { + "version": "1.1.2", + "from": "output-file-sync@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", "dev": true }, "parse-filepath": { @@ -2948,7 +3035,7 @@ }, "parse-glob": { "version": "3.0.4", - "from": "parse-glob@3.0.4", + "from": "parse-glob@>=3.0.4 <4.0.0", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "dev": true }, @@ -2958,12 +3045,6 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "dev": true }, - "parse-ms": { - "version": "1.0.1", - "from": "parse-ms@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", - "dev": true - }, "parse-passwd": { "version": "1.0.0", "from": "parse-passwd@>=1.0.0 <2.0.0", @@ -2976,12 +3057,6 @@ "resolved": "https://registry.npmjs.org/parserlib/-/parserlib-0.2.5.tgz", "dev": true }, - "parseurl": { - "version": "1.3.1", - "from": "parseurl@>=1.3.1 <1.4.0", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "dev": true - }, "path-exists": { "version": "2.1.0", "from": "path-exists@>=2.0.0 <3.0.0", @@ -3024,17 +3099,61 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "dev": true }, + "pause-stream": { + "version": "0.0.11", + "from": "pause-stream@0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "dev": true + }, "pend": { "version": "1.2.0", "from": "pend@>=1.2.0 <1.3.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "dev": true }, + "performance-now": { + "version": "0.2.0", + "from": "performance-now@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "dev": true + }, "phantomjs-prebuilt": { "version": "2.1.14", - "from": "phantomjs-prebuilt@>=2.1.3 <3.0.0", + "from": "phantomjs-prebuilt@>=2.1.14 <3.0.0", "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.14.tgz", - "dev": true + "dev": true, + "dependencies": { + "caseless": { + "version": "0.11.0", + "from": "caseless@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "dev": true + }, + "har-validator": { + "version": "2.0.6", + "from": "har-validator@>=2.0.6 <2.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "dev": true + }, + "qs": { + "version": "6.3.2", + "from": "qs@>=6.3.0 <6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "dev": true + }, + "request": { + "version": "2.79.0", + "from": "request@>=2.79.0 <2.80.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "from": "tunnel-agent@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "dev": true + } + } }, "pify": { "version": "2.3.0", @@ -3054,48 +3173,24 @@ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "dev": true }, - "pkg-up": { - "version": "1.0.0", - "from": "pkg-up@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", - "dev": true - }, - "plur": { - "version": "1.0.0", - "from": "plur@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz", - "dev": true - }, "pluralize": { "version": "1.2.1", "from": "pluralize@>=1.2.1 <2.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", "dev": true }, - "portscanner": { - "version": "1.2.0", - "from": "portscanner@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-1.2.0.tgz", - "dev": true - }, "postcss": { - "version": "5.2.16", + "version": "5.2.17", "from": "postcss@>=5.2.16 <6.0.0", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.16.tgz", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz", "dev": true }, "postcss-cli": { - "version": "3.0.0", - "from": "postcss-cli@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-3.0.0.tgz", + "version": "3.1.1", + "from": "postcss-cli@>=3.1.1 <4.0.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-3.1.1.tgz", "dev": true, "dependencies": { - "camelcase": { - "version": "3.0.0", - "from": "camelcase@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "dev": true - }, "get-stdin": { "version": "5.0.1", "from": "get-stdin@>=5.0.1 <6.0.0", @@ -3109,9 +3204,9 @@ "dev": true }, "yargs": { - "version": "7.0.2", + "version": "7.1.0", "from": "yargs@>=7.0.2 <8.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.0.2.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", "dev": true }, "yargs-parser": { @@ -3123,9 +3218,9 @@ } }, "postcss-flexbugs-fixes": { - "version": "2.1.0", - "from": "postcss-flexbugs-fixes@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-2.1.0.tgz", + "version": "2.1.1", + "from": "postcss-flexbugs-fixes@>=2.1.1 <3.0.0", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-2.1.1.tgz", "dev": true }, "postcss-load-config": { @@ -3170,18 +3265,6 @@ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", "dev": true }, - "pretty-bytes": { - "version": "3.0.1", - "from": "pretty-bytes@>=3.0.1 <4.0.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", - "dev": true - }, - "pretty-ms": { - "version": "2.1.0", - "from": "pretty-ms@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz", - "dev": true - }, "private": { "version": "0.1.7", "from": "private@>=0.1.6 <0.2.0", @@ -3206,6 +3289,12 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz", "dev": true }, + "ps-tree": { + "version": "1.1.0", + "from": "ps-tree@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz", + "dev": true + }, "pseudomap": { "version": "1.0.2", "from": "pseudomap@>=1.0.1 <2.0.0", @@ -3218,16 +3307,28 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "dev": true }, - "q": { - "version": "1.4.1", - "from": "q@>=1.4.1 <1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "qs": { + "version": "6.4.0", + "from": "qs@>=6.4.0 <6.5.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", "dev": true }, - "qs": { - "version": "6.3.2", - "from": "qs@>=6.3.0 <6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "qunit-phantomjs-runner": { + "version": "2.3.0", + "from": "qunit-phantomjs-runner@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/qunit-phantomjs-runner/-/qunit-phantomjs-runner-2.3.0.tgz", + "dev": true + }, + "qunit-reporter-junit": { + "version": "1.1.1", + "from": "qunit-reporter-junit@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/qunit-reporter-junit/-/qunit-reporter-junit-1.1.1.tgz", + "dev": true + }, + "qunitjs": { + "version": "2.3.1", + "from": "qunitjs@>=2.3.1 <3.0.0", + "resolved": "https://registry.npmjs.org/qunitjs/-/qunitjs-2.3.1.tgz", "dev": true }, "randomatic": { @@ -3236,32 +3337,12 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz", "dev": true }, - "range-parser": { - "version": "1.2.0", - "from": "range-parser@>=1.2.0 <1.3.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "read-cache": { + "version": "1.0.0", + "from": "read-cache@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "dev": true }, - "raw-body": { - "version": "2.1.7", - "from": "raw-body@>=2.1.5 <2.2.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", - "dev": true, - "dependencies": { - "bytes": { - "version": "2.4.0", - "from": "bytes@2.4.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", - "dev": true - }, - "iconv-lite": { - "version": "0.4.13", - "from": "iconv-lite@0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "dev": true - } - } - }, "read-pkg": { "version": "1.1.0", "from": "read-pkg@>=1.0.0 <2.0.0", @@ -3275,9 +3356,9 @@ "dev": true }, "readable-stream": { - "version": "2.2.6", - "from": "readable-stream@>=2.2.2 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.6.tgz", + "version": "2.2.9", + "from": "readable-stream@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", "dev": true }, "readdirp": { @@ -3306,10 +3387,16 @@ }, "regenerate": { "version": "1.3.2", - "from": "regenerate@>=1.2.1 <2.0.0", + "from": "regenerate@>=1.3.2 <2.0.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", "dev": true }, + "regenerate-unicode-properties": { + "version": "5.0.3", + "from": "regenerate-unicode-properties@>=5.0.3 <6.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-5.0.3.tgz", + "dev": true + }, "regenerator-runtime": { "version": "0.10.3", "from": "regenerator-runtime@>=0.10.0 <0.11.0", @@ -3317,9 +3404,9 @@ "dev": true }, "regenerator-transform": { - "version": "0.9.8", - "from": "regenerator-transform@0.9.8", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.8.tgz", + "version": "0.9.11", + "from": "regenerator-transform@0.9.11", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz", "dev": true }, "regex-cache": { @@ -3329,21 +3416,35 @@ "dev": true }, "regexpu-core": { - "version": "2.0.0", - "from": "regexpu-core@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "version": "4.0.7", + "from": "regexpu-core@>=4.0.2 <5.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.0.7.tgz", "dev": true }, "regjsgen": { - "version": "0.2.0", - "from": "regjsgen@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "version": "0.3.0", + "from": "regjsgen@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.3.0.tgz", "dev": true }, "regjsparser": { - "version": "0.1.5", - "from": "regjsparser@>=0.1.4 <0.2.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "version": "0.2.1", + "from": "regjsparser@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.2.1.tgz", + "dev": true, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "from": "jsesc@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.0.1", + "from": "remove-trailing-separator@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz", "dev": true }, "repeat-element": { @@ -3365,9 +3466,9 @@ "dev": true }, "request": { - "version": "2.79.0", - "from": "request@>=2.79.0 <2.80.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "version": "2.81.0", + "from": "request@>=2.79.0 <3.0.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", "dev": true }, "request-progress": { @@ -3376,12 +3477,6 @@ "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", "dev": true }, - "requestretry": { - "version": "1.9.1", - "from": "requestretry@>=1.9.0 <1.10.0", - "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.9.1.tgz", - "dev": true - }, "require-directory": { "version": "2.1.1", "from": "require-directory@>=2.1.1 <3.0.0", @@ -3424,20 +3519,6 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", "dev": true }, - "resolve-pkg": { - "version": "0.1.0", - "from": "resolve-pkg@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz", - "dev": true, - "dependencies": { - "resolve-from": { - "version": "2.0.0", - "from": "resolve-from@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "dev": true - } - } - }, "restore-cursor": { "version": "1.0.1", "from": "restore-cursor@>=1.0.1 <2.0.0", @@ -3468,18 +3549,18 @@ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", "dev": true }, + "safe-buffer": { + "version": "5.0.1", + "from": "safe-buffer@>=5.0.1 <6.0.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", + "dev": true + }, "sass-graph": { "version": "2.1.2", "from": "sass-graph@>=2.1.1 <3.0.0", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.2.tgz", "dev": true, "dependencies": { - "camelcase": { - "version": "3.0.0", - "from": "camelcase@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "dev": true - }, "yargs": { "version": "4.8.1", "from": "yargs@>=4.7.1 <5.0.0", @@ -3494,76 +3575,12 @@ } } }, - "sauce-tunnel": { - "version": "2.5.0", - "from": "sauce-tunnel@>=2.5.0 <2.6.0", - "resolved": "https://registry.npmjs.org/sauce-tunnel/-/sauce-tunnel-2.5.0.tgz", - "dev": true - }, - "saucelabs": { - "version": "1.2.0", - "from": "saucelabs@>=1.2.0 <1.3.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.2.0.tgz", - "dev": true - }, "semver": { "version": "5.3.0", - "from": "semver@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0||>=4.0.0 <5.0.0||>=5.0.0 <6.0.0", + "from": "semver@>=5.3.0 <6.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "dev": true }, - "send": { - "version": "0.15.1", - "from": "send@0.15.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.15.1.tgz", - "dev": true, - "dependencies": { - "debug": { - "version": "2.6.1", - "from": "debug@2.6.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz", - "dev": true - }, - "http-errors": { - "version": "1.6.1", - "from": "http-errors@>=1.6.1 <1.7.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz", - "dev": true - }, - "setprototypeof": { - "version": "1.0.3", - "from": "setprototypeof@1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "dev": true - } - } - }, - "serve-index": { - "version": "1.8.0", - "from": "serve-index@>=1.7.1 <2.0.0", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.8.0.tgz", - "dev": true, - "dependencies": { - "debug": { - "version": "2.2.0", - "from": "debug@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "dev": true - }, - "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "dev": true - } - } - }, - "serve-static": { - "version": "1.12.1", - "from": "serve-static@>=1.10.0 <2.0.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.1.tgz", - "dev": true - }, "set-blocking": { "version": "2.0.0", "from": "set-blocking@>=2.0.0 <3.0.0", @@ -3576,10 +3593,22 @@ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", "dev": true }, - "setprototypeof": { - "version": "1.0.2", - "from": "setprototypeof@1.0.2", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.2.tgz", + "shebang-command": { + "version": "1.2.0", + "from": "shebang-command@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "dev": true + }, + "shebang-regex": { + "version": "1.0.0", + "from": "shebang-regex@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "dev": true + }, + "shell-quote": { + "version": "1.6.1", + "from": "shell-quote@>=1.6.1 <2.0.0", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", "dev": true }, "shelljs": { @@ -3663,9 +3692,9 @@ "dev": true }, "split": { - "version": "1.0.0", - "from": "split@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.0.tgz", + "version": "0.3.3", + "from": "split@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", "dev": true }, "sprintf-js": { @@ -3675,9 +3704,9 @@ "dev": true }, "sshpk": { - "version": "1.11.0", + "version": "1.13.0", "from": "sshpk@>=1.7.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.11.0.tgz", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", "dev": true, "dependencies": { "assert-plus": { @@ -3688,28 +3717,22 @@ } } }, - "statuses": { - "version": "1.3.1", - "from": "statuses@>=1.3.1 <1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "dev": true - }, "stdout-stream": { "version": "1.4.0", "from": "stdout-stream@>=1.4.0 <2.0.0", "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", "dev": true }, - "stream-buffers": { - "version": "2.2.0", - "from": "stream-buffers@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "stream-combiner": { + "version": "0.0.4", + "from": "stream-combiner@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", "dev": true }, "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "version": "1.0.0", + "from": "string_decoder@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.0.tgz", "dev": true }, "string-width": { @@ -3718,6 +3741,12 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "dev": true }, + "string.prototype.padend": { + "version": "3.0.0", + "from": "string.prototype.padend@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz", + "dev": true + }, "stringstream": { "version": "0.0.5", "from": "stringstream@>=0.0.4 <0.1.0", @@ -3780,18 +3809,6 @@ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "dev": true }, - "tar-stream": { - "version": "1.5.2", - "from": "tar-stream@>=1.5.0 <2.0.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz", - "dev": true - }, - "temporary": { - "version": "0.0.8", - "from": "temporary@>=0.0.8 <0.0.9", - "resolved": "https://registry.npmjs.org/temporary/-/temporary-0.0.8.tgz", - "dev": true - }, "tether": { "version": "1.4.0", "from": "tether@>=1.4.0 <2.0.0", @@ -3827,44 +3844,6 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "dev": true }, - "time-grunt": { - "version": "1.4.0", - "from": "time-grunt@>=1.4.0 <2.0.0", - "resolved": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.4.0.tgz", - "dev": true - }, - "time-zone": { - "version": "0.1.0", - "from": "time-zone@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-0.1.0.tgz", - "dev": true - }, - "tiny-lr": { - "version": "0.2.1", - "from": "tiny-lr@>=0.2.1 <0.3.0", - "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", - "dev": true, - "dependencies": { - "debug": { - "version": "2.2.0", - "from": "debug@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "dev": true - }, - "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "dev": true - }, - "qs": { - "version": "5.1.0", - "from": "qs@>=5.1.0 <5.2.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz", - "dev": true - } - } - }, "to-fast-properties": { "version": "1.0.2", "from": "to-fast-properties@>=1.0.1 <2.0.0", @@ -3896,9 +3875,9 @@ "dev": true }, "tunnel-agent": { - "version": "0.4.3", - "from": "tunnel-agent@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "version": "0.6.0", + "from": "tunnel-agent@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "dev": true }, "tweetnacl": { @@ -3914,12 +3893,6 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "dev": true }, - "type-is": { - "version": "1.6.14", - "from": "type-is@>=1.6.10 <1.7.0", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.14.tgz", - "dev": true - }, "typedarray": { "version": "0.0.6", "from": "typedarray@>=0.0.6 <0.0.7", @@ -3927,9 +3900,9 @@ "dev": true }, "uglify-js": { - "version": "2.8.14", - "from": "uglify-js@>=2.8.14 <3.0.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.14.tgz", + "version": "2.8.22", + "from": "uglify-js@>=2.8.22 <3.0.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.22.tgz", "dev": true, "dependencies": { "camelcase": { @@ -3968,7 +3941,8 @@ "version": "1.0.2", "from": "uglify-to-browserify@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "dev": true + "dev": true, + "optional": true }, "unc-path-regex": { "version": "0.1.2", @@ -3976,22 +3950,40 @@ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "dev": true }, - "underscore.string": { - "version": "3.2.3", - "from": "underscore.string@>=3.2.3 <3.3.0", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz", + "unicode-canonical-property-names": { + "version": "1.0.3", + "from": "unicode-canonical-property-names@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names/-/unicode-canonical-property-names-1.0.3.tgz", "dev": true }, - "unpipe": { - "version": "1.0.0", - "from": "unpipe@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "unicode-match-property": { + "version": "0.1.3", + "from": "unicode-match-property@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property/-/unicode-match-property-0.1.3.tgz", + "dev": true + }, + "unicode-match-property-value": { + "version": "1.0.2", + "from": "unicode-match-property-value@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value/-/unicode-match-property-value-1.0.2.tgz", + "dev": true + }, + "unicode-property-aliases": { + "version": "1.1.1", + "from": "unicode-property-aliases@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases/-/unicode-property-aliases-1.1.1.tgz", + "dev": true + }, + "unicode-property-value-aliases": { + "version": "1.2.2", + "from": "unicode-property-value-aliases@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-value-aliases/-/unicode-property-value-aliases-1.2.2.tgz", "dev": true }, "user-home": { - "version": "2.0.0", - "from": "user-home@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "version": "1.1.1", + "from": "user-home@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", "dev": true }, "util-deprecate": { @@ -4000,18 +3992,18 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "dev": true }, - "utils-merge": { - "version": "1.0.0", - "from": "utils-merge@1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "dev": true - }, "uuid": { "version": "3.0.1", "from": "uuid@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", "dev": true }, + "v8flags": { + "version": "2.0.12", + "from": "v8flags@>=2.0.10 <3.0.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.0.12.tgz", + "dev": true + }, "validate-npm-package-license": { "version": "3.0.1", "from": "validate-npm-package-license@>=3.0.1 <4.0.0", @@ -4024,34 +4016,16 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", "dev": true }, - "walkdir": { - "version": "0.0.11", - "from": "walkdir@>=0.0.11 <0.0.12", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", - "dev": true - }, - "websocket-driver": { - "version": "0.6.5", - "from": "websocket-driver@>=0.5.1", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "dev": true - }, - "websocket-extensions": { - "version": "0.1.1", - "from": "websocket-extensions@>=0.1.1", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", - "dev": true - }, - "when": { - "version": "3.7.8", - "from": "when@>=3.7.5 <3.8.0", - "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", + "walk-sync": { + "version": "0.3.1", + "from": "walk-sync@0.3.1", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.1.tgz", "dev": true }, "which": { - "version": "1.2.12", - "from": "which@>=1.2.1 <1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.12.tgz", + "version": "1.2.14", + "from": "which@>=1.2.12 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", "dev": true }, "which-module": { @@ -4124,41 +4098,19 @@ "version": "6.6.0", "from": "yargs@>=6.6.0 <7.0.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "dev": true, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "from": "camelcase@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "dev": true - } - } + "dev": true }, "yargs-parser": { "version": "4.2.1", "from": "yargs-parser@>=4.2.0 <5.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "dev": true, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "from": "camelcase@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "dev": true - } - } + "dev": true }, "yauzl": { "version": "2.4.1", "from": "yauzl@2.4.1", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", "dev": true - }, - "zip-stream": { - "version": "1.1.1", - "from": "zip-stream@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.1.1.tgz", - "dev": true } } } diff --git a/grunt/postcss.config.js b/build/postcss.config.js similarity index 100% rename from grunt/postcss.config.js rename to build/postcss.config.js diff --git a/grunt/sauce_browsers.yml b/build/sauce_browsers.yml similarity index 100% rename from grunt/sauce_browsers.yml rename to build/sauce_browsers.yml diff --git a/build/stamp.js b/build/stamp.js new file mode 100644 index 0000000000..c0dfdeb417 --- /dev/null +++ b/build/stamp.js @@ -0,0 +1,40 @@ +const fs = require('fs') + +fs.readFile('package.json', (err, data) => { + if (err) throw err + + const pkg = JSON.parse(data) + const year = new Date().getFullYear() + + const stampTop = +`/*! + * Bootstrap v${pkg.version} (${pkg.homepage}) + * Copyright 2011-${year} ${pkg.author} + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +if (typeof jQuery === 'undefined') { + throw new Error('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.') +} + +(function ($) { + var version = $.fn.jquery.split(' ')[0].split('.') + if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) { + throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0') + } +})(jQuery); + +(function () { +` + const stampEnd = ` +})()` + + process.stdout.write(stampTop) + + process.stdin.on('end', () => { + process.stdout.write(stampEnd); + }); + + process.stdin.pipe(process.stdout) +}) + diff --git a/build/upload-preview.sh b/build/upload-preview.sh new file mode 100755 index 0000000000..08edc35178 --- /dev/null +++ b/build/upload-preview.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# Upload built docs to preview.twbsapps.com + +# Add build metadata to version +sed -i "/^current_version:/ s/\$/+pr.${TRAVIS_COMMIT}/" _config.yml +bundle exec jekyll build --destination "$TRAVIS_COMMIT" --baseurl "/c/${TRAVIS_COMMIT}" + +openssl aes-256-cbc -K $encrypted_2b749c8e6327_key -iv $encrypted_2b749c8e6327_iv -in build/gcp-key.json.enc -out build/gcp-key.json -d +gcloud auth activate-service-account "$GCP_SERVICE_ACCOUNT" --key-file build/gcp-key.json &> /dev/null || (echo 'GCP login failed!'; exit 1) + +echo "Uploading to http://preview.twbsapps.com/c/${TRAVIS_COMMIT} ..." +time gsutil -q -m cp -z html,css,js,svg -r "./${TRAVIS_COMMIT}" gs://preview.twbsapps.com/c/ +echo 'Done.' diff --git a/grunt/upload-preview.sh b/grunt/upload-preview.sh deleted file mode 100755 index 08e7fa2efd..0000000000 --- a/grunt/upload-preview.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -# Upload built docs to preview.twbsapps.com - -if [ "$TRAVIS_REPO_SLUG" != twbs-savage/bootstrap ]; then exit 0; fi - -# Add build metadata to version -sed -i "/^current_version:/ s/\$/+pr.${TRAVIS_COMMIT}/" _config.yml -# Fix URLs since the site's root is now a subdirectory -bundle exec jekyll build --destination "$TRAVIS_COMMIT" --baseurl "/c/${TRAVIS_COMMIT}" - -# Install gcloud & gsutil -GSUTIL_VERSION=$(gsutil version | cut -d ' ' -f 3) -if [ ! -d "${HOME}/google-cloud-sdk" ] || [ "${GSUTIL_VERSION}" != '4.19' ]; then - rm -rf "${HOME}/google-cloud-sdk" # Kill Travis' outdated non-updateable preinstalled version - echo 'Installing google-cloud-sdk...' - export CLOUDSDK_CORE_DISABLE_PROMPTS=1 - time (curl -S -s https://sdk.cloud.google.com | bash &>/dev/null) - echo 'Done.' -fi -source "${HOME}/google-cloud-sdk/path.bash.inc" - -openssl aes-256-cbc -K $encrypted_2b749c8e6327_key -iv $encrypted_2b749c8e6327_iv -in grunt/gcp-key.json.enc -out grunt/gcp-key.json -d -gcloud auth activate-service-account "$GCP_SERVICE_ACCOUNT" --key-file grunt/gcp-key.json &> /dev/null || (echo 'GCP login failed!'; exit 1) - -echo "Uploading to http://preview.twbsapps.com/c/${TRAVIS_COMMIT} ..." -time gsutil -q -m cp -z html,css,js,svg -r "./${TRAVIS_COMMIT}" gs://preview.twbsapps.com/c/ -echo 'Done.' diff --git a/js/tests/unit/phantom.js b/js/tests/unit/phantom.js deleted file mode 100644 index eea7486a43..0000000000 --- a/js/tests/unit/phantom.js +++ /dev/null @@ -1,72 +0,0 @@ -/* - * grunt-contrib-qunit - * http://gruntjs.com/ - * - * Copyright (c) 2014 "Cowboy" Ben Alman, contributors - * Licensed under the MIT license. - */ - -(function () { - 'use strict' - - // Don't re-order tests. - QUnit.config.reorder = false - // Run tests serially, not in parallel. - QUnit.config.autorun = false - - // Send messages to the parent PhantomJS process via alert! Good times!! - function sendMessage() { - var args = [].slice.call(arguments) - alert(JSON.stringify(args)) - } - - // These methods connect QUnit to PhantomJS. - QUnit.log(function (obj) { - // What is this I don’t even - if (obj.message === '[object Object], undefined:undefined') { return } - - // Parse some stuff before sending it. - var actual - var expected - if (!obj.result) { - // Dumping large objects can be very slow, and the dump isn't used for - // passing tests, so only dump if the test failed. - actual = QUnit.dump.parse(obj.actual) - expected = QUnit.dump.parse(obj.expected) - } - // Send it. - sendMessage('qunit.log', obj.result, actual, expected, obj.message, obj.source) - }) - - QUnit.testStart(function (obj) { - sendMessage('qunit.testStart', obj.name) - }) - - QUnit.testDone(function (obj) { - sendMessage('qunit.testDone', obj.name, obj.failed, obj.passed, obj.total, obj.duration) - }) - - QUnit.moduleStart(function (obj) { - sendMessage('qunit.moduleStart', obj.name) - }) - - QUnit.moduleDone(function (obj) { - if (obj.failed === 0) { - console.log('\r\u221A All tests passed in "' + obj.name + '" module') - } else { - console.log('\u00D7 ' + obj.failed + ' tests failed in "' + obj.name + '" module') - } - sendMessage('qunit.moduleDone', obj.name, obj.failed, obj.passed, obj.total) - }) - - QUnit.begin(function () { - sendMessage('qunit.begin') - console.log('\n\nStarting test suite') - console.log('================================================\n') - }) - - QUnit.done(function (obj) { - sendMessage('qunit.done', obj.failed, obj.passed, obj.total, obj.runtime) - }) - -}()) diff --git a/package.json b/package.json index 7d2f2d8931..e7ec5afe0e 100644 --- a/package.json +++ b/package.json @@ -17,24 +17,40 @@ "Twitter, Inc." ], "scripts": { - "change-version": "node grunt/change-version.js", - "clean-css": "cleancss --level 1 --source-map --output dist/css/bootstrap.min.css dist/css/bootstrap.css && cleancss --level 1 --source-map --output dist/css/bootstrap-grid.min.css dist/css/bootstrap-grid.css && cleancss --level 1 --source-map --output dist/css/bootstrap-reboot.min.css dist/css/bootstrap-reboot.css", - "clean-css-docs": "cleancss --level 1 --source-map --output docs/assets/css/docs.min.css docs/assets/css/docs.min.css", - "eslint": "eslint --ignore-path .eslintignore js && eslint --config js/tests/.eslintrc.json --env node grunt Gruntfile.js && eslint --config js/tests/.eslintrc.json docs/assets/js/src docs/assets/js/ie-emulation-modes-warning.js docs/assets/js/ie10-viewport-bug-workaround.js", - "htmlhint": "htmlhint --config docs/.htmlhintrc _gh_pages/", - "htmllint": "htmllint --rc docs/.htmllintrc _gh_pages/**/*.html js/tests/visual/*.html", - "jekyll": "bundle exec jekyll build", - "jekyll-github": "shx echo 'github: true' > $npm_config_tmp/twbsjekyll.yml && npm run jekyll -- --config _config.yml,$npm_config_tmp/twbsjekyll.yml && shx rm $npm_config_tmp/twbsjekyll.yml", - "postcss": "postcss --config grunt/ --replace dist/css/*.css", - "postcss-docs": "postcss --config grunt/ --replace docs/assets/css/docs.min.css && postcss --config grunt/ --replace docs/examples/**/*.css", - "sass": "node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap.scss dist/css/bootstrap.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-grid.scss dist/css/bootstrap-grid.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-reboot.scss dist/css/bootstrap-reboot.css", - "sass-docs": "node-sass --output-style expanded --source-map true --precision 6 docs/assets/scss/docs.scss docs/assets/css/docs.min.css", - "scss-lint": "bundle exec scss-lint --config scss/.scss-lint.yml scss/*.scss", - "scss-lint-docs": "bundle exec scss-lint --config scss/.scss-lint.yml --exclude docs/assets/scss/docs.scss docs/assets/scss/*.scss", - "uglify": "uglifyjs --compress warnings=false --mangle --comments '/^!/' --output dist/js/bootstrap.min.js dist/js/bootstrap.js", - "uglify-docs": "uglifyjs --compress warnings=false --mangle --comments '/^!/' --output docs/assets/js/docs.min.js docs/assets/js/vendor/anchor.min.js docs/assets/js/vendor/clipboard.min.js docs/assets/js/vendor/holder.min.js docs/assets/js/src/application.js", - "update-shrinkwrap": "npm shrinkwrap --dev && shx mv ./npm-shrinkwrap.json ./grunt/npm-shrinkwrap.json", - "test": "npm run eslint && grunt test" + "bash": "bash", + "css": "npm-run-all css-lint css-compile css-prefix css-minify", + "css-docs": "npm-run-all css-lint-docs css-compile-docs css-prefix-docs css-minify-docs", + "css-lint": "bundle exec scss-lint --config scss/.scss-lint.yml scss/*.scss", + "css-lint-docs": "bundle exec scss-lint --config scss/.scss-lint.yml --exclude docs/assets/scss/docs.scss docs/assets/scss/*.scss", + "css-compile": "node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap.scss dist/css/bootstrap.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-grid.scss dist/css/bootstrap-grid.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-reboot.scss dist/css/bootstrap-reboot.css", + "css-compile-docs": "node-sass --output-style expanded --source-map true --precision 6 docs/assets/scss/docs.scss docs/assets/css/docs.min.css", + "css-prefix": "postcss --config build/ --replace dist/css/*.css", + "css-prefix-docs": "postcss --config build/ --no-map --replace docs/assets/css/docs.min.css docs/examples/**/*.css", + "css-minify": "cleancss --level 1 --source-map --output dist/css/bootstrap.min.css dist/css/bootstrap.css && cleancss --level 1 --source-map --output dist/css/bootstrap-grid.min.css dist/css/bootstrap-grid.css && cleancss --level 1 --source-map --output dist/css/bootstrap-reboot.min.css dist/css/bootstrap-reboot.css", + "css-minify-docs": "cleancss --level 1 --source-map --output docs/assets/css/docs.min.css docs/assets/css/docs.min.css", + "js": "npm-run-all js-compile js-minify", + "js-docs": "npm-run-all js-lint-docs js-minify-docs", + "js-lint": "eslint js/ && eslint --config js/tests/.eslintrc.json --env node build/", + "js-lint-docs": "eslint --config js/tests/.eslintrc.json docs/assets/js/", + "js-compile": "npm-run-all --parallel js-compile-*", + "js-compile-bundle": "shx cat js/src/util.js js/src/alert.js js/src/button.js js/src/carousel.js js/src/collapse.js js/src/dropdown.js js/src/modal.js js/src/scrollspy.js js/src/tab.js js/src/tooltip.js js/src/popover.js | shx sed 's/^(import|export).*//' | babel --filename js/src/bootstrap.js | node build/stamp.js > dist/js/bootstrap.js", + "js-compile-plugins": "babel js/src/ --out-dir js/dist/ --source-maps", + "js-minify": "uglifyjs --compress warnings=false --mangle --comments '/^!/' --output dist/js/bootstrap.min.js dist/js/bootstrap.js", + "js-minify-docs": "uglifyjs --compress warnings=false --mangle --comments '/^!/' --output docs/assets/js/docs.min.js docs/assets/js/vendor/anchor.min.js docs/assets/js/vendor/clipboard.min.js docs/assets/js/vendor/holder.min.js docs/assets/js/src/application.js", + "js-test": "phantomjs ./node_modules/qunit-phantomjs-runner/runner.js js/tests/index.html 60", + "js-test-cloud": "ruby -run -ehttpd . -p3000 & grunt saucelabs-qunit", + "docs": "npm-run-all docs-compile docs-lint", + "docs-lint": "htmlhint --config docs/.htmlhintrc _gh_pages/ js/tests/visual/ && htmllint --rc docs/.htmllintrc _gh_pages/*.html _gh_pages/**/*.html js/tests/visual/*.html", + "docs-clean": "shx rm -r docs/dist/* && shx cp -r dist/* docs/dist/", + "docs-compile": "npm run docs-clean && bundle exec jekyll build", + "docs-serve": "npm run docs-clean && bundle exec jekyll serve", + "docs-github": "shx echo 'github: true' > $npm_config_tmp/twbsconfig.yml && npm run docs-compile -- --config _config.yml,$npm_config_tmp/twbsconfig.yml && shx rm $npm_config_tmp/twbsconfig.yml", + "docs-upload-preview": "build/upload-preview.sh", + "maintenance-dependencies": "ncu -a -x jquery && bundle update && shx echo 'Manually update docs/assets/js/vendor/*, js/tests/vendor/*, bower.json and .travis.yml'", + "maintenance-shrinkwrap": "npm shrinkwrap --dev && shx mv npm-shrinkwrap.json build/npm-shrinkwrap.json", + "release-version": "node build/change-version.js", + "release-zip": "cd dist/ && zip -r9 bootstrap-$npm_package_version-dist.zip * && shx mv bootstrap-$npm_package_version-dist.zip ..", + "test": "npm-run-all --parallel css js && npm-run-all docs" }, "style": "dist/css/bootstrap.css", "sass": "scss/bootstrap.scss", @@ -53,42 +69,39 @@ }, "devDependencies": { "autoprefixer": "^6.7.7", - "babel-eslint": "^7.1.1", - "babel-plugin-transform-es2015-modules-strip": "^0.1.0", - "babel-preset-es2015": "^6.24.0", - "clean-css-cli": "^4.0.9", - "eslint": "^3.18.0", + "babel-cli": "^6.24.1", + "babel-eslint": "^7.2.2", + "babel-plugin-transform-es2015-modules-strip": "^0.1.1", + "babel-preset-es2015": "^7.0.0-alpha.7", + "clean-css-cli": "^4.0.12", + "eslint": "^3.19.0", "grunt": "^1.0.1", - "grunt-babel": "^6.0.0", - "grunt-build-control": "^0.7.1", - "grunt-contrib-clean": "^1.0.0", - "grunt-contrib-compress": "^1.4.1", - "grunt-contrib-concat": "^1.0.1", - "grunt-contrib-connect": "^1.0.2", - "grunt-contrib-copy": "^1.0.0", - "grunt-contrib-qunit": "^1.3.0", - "grunt-contrib-watch": "^1.0.0", - "grunt-exec": "^2.0.0", "grunt-saucelabs": "^9.0.0", - "grunt-stamp": "^0.3.0", "htmlhint": "^0.9.13", "htmllint-cli": "^0.0.6", - "is-travis": "^1.0.0", - "load-grunt-tasks": "^3.5.2", - "node-sass": "^4.5.0", - "postcss-cli": "^3.0.0", - "postcss-flexbugs-fixes": "^2.1.0", + "node-sass": "^4.5.2", + "npm-run-all": "^4.0.2", + "phantomjs-prebuilt": "^2.1.14", + "postcss-cli": "^3.1.1", + "postcss-flexbugs-fixes": "^2.1.1", + "qunit-phantomjs-runner": "^2.3.0", + "qunitjs": "^2.3.1", "shelljs": "^0.7.7", "shx": "^0.2.2", - "time-grunt": "^1.4.0", - "uglify-js": "^2.8.14" + "uglify-js": "^2.8.22" }, "engines": { "node": ">=4" }, "files": [ + ".babelrc", + ".eslintignore", + "Gruntfile.js", "dist", + "build", + "js/.eslintrc.json", "js/**/*.js", + "scss/.scss-lint.yml", "scss/**/*.scss", "LICENSE" ],