diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..838bfe8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,42 @@ + +### Bug Report or Feature Request (mark with an `x`) +``` +- [ ] bug report -> please search issues before submitting +- [ ] feature request +``` + +### OS and Version? + + +### Versions. + + + +### Repro steps. + + + +### The log given by the failure. + + + +### Desired functionality. + + + +### Mention any other details that might be useful. + diff --git a/.gitignore b/.gitignore index 4b23705..a1c3836 100644 --- a/.gitignore +++ b/.gitignore @@ -6,30 +6,37 @@ # dependencies /node_modules -/bower_components # IDEs and editors /.idea -/.vscode .project .classpath +.c9/ *.launch .settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json # misc /.sass-cache /connect.lock -/coverage/* +/coverage /libpeerconnection.log npm-debug.log -yarn-error.log testem.log /typings +/config/gulp-tasks/README.md # e2e /e2e/*.js /e2e/*.map -#System Files +# System Files .DS_Store Thumbs.db diff --git a/.travis.yml b/.travis.yml index 8f4279c..297b5a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,12 +13,6 @@ language: node_js node_js: - "6" -before_install: - - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 0.21.3 - - export PATH="$HOME/.yarn/bin:$PATH" - - yarn config set spin false - - yarn config set progress false - before_script: - export DISPLAY=:99.0 - sh -e /etc/init.d/xvfb start diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index c92e1ca..0000000 --- a/LICENSE.md +++ /dev/null @@ -1,13 +0,0 @@ -License -------- - -The MIT License - -Copyright 2017 Tine Kondo -Copyright 2017 Julian Lloyd - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/config/gulp-tasks/favicon.js b/config/gulp-tasks/favicon.js new file mode 100644 index 0000000..89ef1af --- /dev/null +++ b/config/gulp-tasks/favicon.js @@ -0,0 +1,96 @@ +const gulp = require('gulp'); +const runSequence = require('run-sequence'); +const gulpRealFavicon = require('gulp-real-favicon'); + + +const fs = require('fs'); +const helpers = require('../helpers'); + +// File where the favicon markups are stored +const FAVICON_DATA_FILE = 'faviconData.json'; + +// Generate the icons. This task takes a few seconds to complete. +// You should run it at least once to create the icons. Then, +// you should run it whenever RealFaviconGenerator updates its +// package (see the check-for-favicon-update task below). +gulp.task('generate-favicon', cb => { + gulpRealFavicon.generateFavicon({ + masterPicture: helpers.root('demo/src/assets/logo.png'), + dest: helpers.root('demo/src/'), + iconsPath: '/', + design: { + ios: { + pictureAspect: 'noChange', + assets: { + ios6AndPriorIcons: false, + ios7AndLaterIcons: false, + precomposedIcons: false, + declareOnlyDefaultIcon: true + } + }, + desktopBrowser: {}, + windows: { + pictureAspect: 'noChange', + backgroundColor: '#003399', + onConflict: 'override', + assets: { + windows80Ie10Tile: false, + windows10Ie11EdgeTiles: { + small: false, + medium: true, + big: false, + rectangle: false + } + } + }, + androidChrome: { + pictureAspect: 'noChange', + themeColor: '#ffffff', + manifest: { + display: 'standalone', + orientation: 'notSet', + onConflict: 'override', + declared: true + }, + assets: { + legacyIcon: false, + lowResolutionIcons: false + } + } + }, + settings: { + scalingAlgorithm: 'Mitchell', + errorOnImageTooSmall: false + }, + markupFile: FAVICON_DATA_FILE + }, () => { + cb(); + }); +}); + +// Inject the favicon markups in your HTML pages. You should run +// this task whenever you modify a page. You can keep this task +// as is or refactor your existing HTML pipeline. +gulp.task('inject-favicon-markups', () => { + return gulp.src([helpers.root('demo/src/index.html')]) + .pipe(gulpRealFavicon.injectFaviconMarkups(JSON.parse(fs.readFileSync(FAVICON_DATA_FILE)).favicon.html_code)) + .pipe(gulp.dest(helpers.root('demo/src/'))); +}); + +// Check for updates on RealFaviconGenerator (think: Apple has just +// released a new Touch icon along with the latest version of iOS). +// Run this task from time to time. Ideally, make it part of your +// continuous integration system. +gulp.task('check-for-favicon-update', cb => { + let currentVersion = JSON.parse(fs.readFileSync(FAVICON_DATA_FILE)).version; + gulpRealFavicon.checkForUpdates(currentVersion, function (err) { + if (err) { + throw err; + } + }); +}); + + +gulp.task('update-favicon', (cb) => { + runSequence('generate-favicon', 'inject-favicon-markups'); +}); diff --git a/config/gulp-tasks/faviconData.json b/config/gulp-tasks/faviconData.json new file mode 100644 index 0000000..9404bde --- /dev/null +++ b/config/gulp-tasks/faviconData.json @@ -0,0 +1 @@ +{"result":{"status":"success"},"favicon":{"package_url":"https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/favicons.zip","files_urls":["https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/android-chrome-192x192.png","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/android-chrome-512x512.png","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/apple-touch-icon.png","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/browserconfig.xml","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/favicon-16x16.png","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/favicon-32x32.png","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/favicon.ico","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/manifest.json","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/mstile-144x144.png","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/mstile-150x150.png","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/mstile-310x150.png","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/mstile-310x310.png","https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/package_files/mstile-70x70.png"],"html_code":"\n\n\n\n\n\n","compression":"false","overlapping_markups":["link[rel=\"apple-touch-icon\"]","link[rel=\"shortcut\"]","link[rel=\"shortcut icon\"]","link[rel=\"icon\",sizes=\"16x16\"]","link[rel=\"icon\",sizes=\"32x32\"]","meta[name=\"msapplication-TileColor\"]","meta[name=\"msapplication-TileImage\"]","link[rel=\"manifest\"]","meta[name=\"theme-color\"]"]},"files_location":{"type":"path","path":"/"},"preview_picture_url":"https://realfavicongenerator.net/files/5050533ac001e1a1ff4792016b204e3662d48589/favicon_preview.png","version":"0.15"} \ No newline at end of file diff --git a/config/gulp-tasks/markdown.js b/config/gulp-tasks/markdown.js new file mode 100644 index 0000000..6bc837a --- /dev/null +++ b/config/gulp-tasks/markdown.js @@ -0,0 +1,51 @@ +const gulp = require('gulp'); +const helpers = require('../helpers'); + +const gulpRename = require('gulp-rename'); +const gulpReplace = require('gulp-replace'); +const gulpTap = require('gulp-tap'); +const Handlebars = require('handlebars'); +const Highlights = require('highlights'); +const MarkdownIt = require('markdown-it'); + + +const highligther = new Highlights(); +const markdowniter = new MarkdownIt({ + highlight: function (code, lang) { + let highlighted = + highligther.highlightSync({ + fileContents: code, + scopeName: 'source.js' + }); + return highlighted; + } +}); + +//Demo Tasks +gulp.task('markdown', () => { + return gulp.src(helpers.root('./demo/src/app/getting-started/getting-started.component.hbs')) + .pipe(gulpTap((file) => { + let template = Handlebars.compile(file.contents.toString()); + + return gulp.src(helpers.root('./README.md')) + .pipe(gulpTap((file) => { + // convert from markdown + let mdContents = file.contents.toString(); + file.contents = new Buffer(markdowniter.render(mdContents), 'utf-8'); + })) + .pipe(gulpTap((file) => { + // file is the converted HTML from the markdown + // set the contents to the contents property on data + let data = { README_md: file.contents.toString() }; + // we will pass data to the Handlebars template to create the actual HTML to use + let html = template(data); + // replace the file contents with the new HTML created from the Handlebars template + data object that contains the HTML made from the markdown conversion + file.contents = new Buffer(html, "utf-8"); + })) + .pipe(gulpReplace(/(

<p align="center">[^]+?)(

Dependencies<\/h2>)/, '$2'))// strips everything between start & '

' + .pipe(gulpReplace('{', "{{ '{' }}")) // escapes '{' to comply with angular parser + .pipe(gulpRename('getting-started.component.html')) + .pipe(gulp.dest(helpers.root('./demo/src/app/getting-started'))); + + })); +}); diff --git a/config/helpers.js b/config/helpers.js index adfb603..d5b41d0 100644 --- a/config/helpers.js +++ b/config/helpers.js @@ -1,7 +1,76 @@ -var path = require('path'); -var _root = path.resolve(__dirname, '..'); -function root(args) { - args = Array.prototype.slice.call(arguments, 0); - return path.join.apply(path, [_root].concat(args)); -} -exports.root = root; +const os = require('os'); +const path = require('path'); +const exec = require('child_process').exec; + +const _root = path.resolve(__dirname, '..'); + + +/** + * Plaform independant path to an executable cmd + * @param {string} path + */ +platformPath = (path) => { + return /^win/.test(os.platform()) ? `${path}.cmd` : path; +}; + +/** + * + * @param {string[]} args + */ +rootDir = (...args) => { + return path.join.apply(path, [_root].concat(...args)); +}; + +/** + * + * @param {string} cmd + */ +binPath = (cmd) => { + return platformPath(`/node_modules/.bin/${cmd}`); +}; + +/** + * Promisified child_process.exec + * + * @param cmd + * @param opts See child_process.exec node docs + * @returns {Promise} + */ +execp = (cmd, opts) => { + opts = Object.assign(opts || {},{ + stdout: process.stdout, + stderr: process.stderr + }); + return new Promise((resolve, reject) => { + const child = exec(cmd, opts, + (err, stdout, stderr) => err ? reject(err.code) : resolve(0)); + + if (opts.stdout) { + child.stdout.pipe(opts.stdout); + } + if (opts.stderr) { + child.stderr.pipe(opts.stderr); + } + }); +}; + +/** + * Install dependencies using yarn, if present, or npm otherwise. + * @param opts See child_process.exec node docs + * @returns {Promise} + */ +installDependencies = (opts) => { + return execp('yarn -v') // first try to install deps using yarn + .then(exitCode=> + (exitCode === 0 ? execp('yarn install',opts) : execp('npm install',opts)) + .then(exitCode => Promise.resolve(exitCode)) + ); +}; + +var exports = module.exports = { + root: rootDir, + execp: execp, + binPath: binPath, + platformPath: platformPath, + installDependencies: installDependencies +}; diff --git a/config/karma.conf.js b/config/karma.conf.js index 680da48..02b5822 100644 --- a/config/karma.conf.js +++ b/config/karma.conf.js @@ -1,76 +1,76 @@ var webpack = require('./webpack.test'); module.exports = function (config) { - var _config = { - basePath: '', + var _config = { + basePath: '', - frameworks: ['jasmine'], + frameworks: ['jasmine'], - plugins: [ - require('karma-jasmine'), - require('karma-webpack'), - require('karma-coverage'), - require('karma-chrome-launcher'), - require('karma-remap-coverage'), - require('karma-sourcemap-loader'), - require('karma-mocha-reporter'), - require('karma-jasmine-html-reporter'), - ], + plugins: [ + require('karma-jasmine'), + require('karma-webpack'), + require('karma-coverage'), + require('karma-chrome-launcher'), + require('karma-remap-coverage'), + require('karma-sourcemap-loader'), + require('karma-mocha-reporter'), + require('karma-jasmine-html-reporter'), + ], - customLaunchers: { - // chrome setup for travis CI - Chrome_travis_ci: { - base: 'Chrome', - flags: ['--no-sandbox'] - } - }, - files: [ - './node_modules/scrollreveal/dist/scrollreveal.js', - { pattern: './config/karma-test-shim.js', watched: false } - ], + customLaunchers: { + // chrome setup for travis CI + Chrome_travis_ci: { + base: 'Chrome', + flags: ['--no-sandbox'] + } + }, + files: [ + './node_modules/scrollreveal/dist/scrollreveal.js', + { pattern: './config/karma-test-shim.js', watched: false } + ], - preprocessors: { - './config/karma-test-shim.js': config.hasCoverage ? ['coverage', 'webpack', 'sourcemap'] : ['webpack', 'sourcemap'] - }, + preprocessors: { + './config/karma-test-shim.js': config.hasCoverage ? ['coverage', 'webpack', 'sourcemap'] : ['webpack', 'sourcemap'] + }, - webpack: webpack.getConfig(config.hasCoverage, config.autoWatch), + webpack: webpack.getConfig(config.hasCoverage, config.autoWatch), - // Webpack please don't spam the console when running in karma! - webpackMiddleware: { - // webpack-dev-middleware configuration - // i.e. - noInfo: true, - // and use stats to turn off verbose output - stats: { - // options i.e. - chunks: false - } - }, + // Webpack please don't spam the console when running in karma! + webpackMiddleware: { + // webpack-dev-middleware configuration + // i.e. + noInfo: true, + // and use stats to turn off verbose output + stats: { + // options i.e. + chunks: false + } + }, - // save interim raw coverage report in memory - coverageReporter: { - type: 'in-memory' - }, + // save interim raw coverage report in memory + coverageReporter: { + type: 'in-memory' + }, - remapCoverageReporter: { - 'text-summary': null, - lcovonly: './coverage/coverage.lcov', - html: './coverage/html' - }, + remapCoverageReporter: { + 'text-summary': null, + lcovonly: './coverage/coverage.lcov', + html: './coverage/html' + }, - mochaReporter: { - output: 'autowatch', - }, + mochaReporter: { + output: 'autowatch', + }, - reporters: config.hasCoverage ? ['mocha', 'kjhtml', 'coverage', 'remap-coverage'] : ['mocha', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - failOnEmptyTestSuite: true, - autoWatch: false, - browsers: ['Chrome'], - singleRun: true - }; + reporters: config.hasCoverage ? ['mocha', 'kjhtml', 'coverage', 'remap-coverage'] : ['mocha', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + failOnEmptyTestSuite: true, + autoWatch: false, + browsers: ['Chrome'], + singleRun: true + }; - config.set(_config); + config.set(_config); }; diff --git a/config/webpack.test.js b/config/webpack.test.js index 03cb309..9931ae8 100644 --- a/config/webpack.test.js +++ b/config/webpack.test.js @@ -1,126 +1,107 @@ const helpers = require('./helpers'); const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin'); const ContextReplacementPlugin = require('webpack/lib/ContextReplacementPlugin'); -const {CheckerPlugin} = require('awesome-typescript-loader'); +const { CheckerPlugin } = require('awesome-typescript-loader'); const getConfig = (hasCoverage, isTddMode) => { - let extraRules = []; - if (hasCoverage) { - extraRules.push( - { - enforce: 'post', - test: /\.(js|ts)$/, - loader: 'istanbul-instrumenter-loader', - include: helpers.root('src'), - exclude: [ - /\.(e2e|spec)\.ts$/, - /node_modules/ - ] - } - ); - } - - let extraPlugins = []; - if (isTddMode) { - extraPlugins.push(new CheckerPlugin());// to speed up compilation during TDD - } - - return { - - devtool: 'inline-source-map', - - resolve: { - extensions: ['.ts', '.js'], - modules: [helpers.root('src'), 'node_modules'] - + let extraRules = []; + if (hasCoverage) { + extraRules.push( + { + enforce: 'post', + test: /\.(js|ts)$/, + loader: 'istanbul-instrumenter-loader', + include: helpers.root('src'), + exclude: [ + /\.(e2e|spec)\.ts$/, + /node_modules/ + ] + } + ); + } + + let extraPlugins = []; + if (isTddMode) { + extraPlugins.push(new CheckerPlugin());// to speed up compilation during TDD + } + + return { + devtool: 'inline-source-map', + resolve: { + extensions: ['.ts', '.js'], + modules: [helpers.root('src'), 'node_modules'] + }, + module: { + rules: [ + { + enforce: 'pre', + test: /\.js$/, + loader: 'source-map-loader', + exclude: [ + // these packages have problems with their sourcemaps + helpers.root('node_modules/rxjs'), + helpers.root('node_modules/@angular') + ] }, - - module: { - - rules: [ - - { - enforce: 'pre', - test: /\.js$/, - loader: 'source-map-loader', - exclude: [ - // these packages have problems with their sourcemaps - helpers.root('node_modules/rxjs'), - helpers.root('node_modules/@angular') - ] - }, - - { - test: /\.ts$/, - use: [ - { - loader: 'awesome-typescript-loader', - query: { - // use inline sourcemaps for "karma-remap-coverage" reporter (if coverage is activated) - sourceMap: !hasCoverage, - inlineSourceMap: hasCoverage, - compilerOptions: { - - // Remove TypeScript helpers to be injected - // below by DefinePlugin - removeComments: true - - } - }, - }, - 'angular2-template-loader' - ], - exclude: [/\.e2e\.ts$/] - }, - - - { - test: /\.css$/, - loader: ['to-string-loader', 'css-loader'] - }, - { - test: /\.(scss|sass)$/, - use: ['to-string-loader', 'css-loader', 'sass-loader'], - exclude: [helpers.root('src', 'scss')] - }, - { - test: /\.html$/, - loader: 'raw-loader' + { + test: /\.ts$/, + use: [ + { + loader: 'awesome-typescript-loader', + options: { + configFileName: helpers.root('src', 'tsconfig.spec.json'), + // use inline sourcemaps for "karma-remap-coverage" reporter (if coverage is activated) + sourceMap: !hasCoverage, + inlineSourceMap: hasCoverage, + compilerOptions: { + + // Remove TypeScript helpers to be injected + // below by DefinePlugin + removeComments: true } - ].concat(extraRules) + }, + }, + 'angular2-template-loader' + ], + exclude: [/\.e2e\.ts$/] }, + { + test: /\.html$/, + loader: 'raw-loader' + } + ].concat(extraRules) + }, - plugins: [ - - new LoaderOptionsPlugin({ - debug: false, - options: { - // legacy options go here - } - }), - // Fixes linker warnings (see https://github.com/angular/angular/issues/11580) - new ContextReplacementPlugin( - // The (\\|\/) piece accounts for path separators in *nix and Windows - /angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/, - helpers.root('src'), // location of your src - {} // a map of your routes - ), - ].concat(extraPlugins), + plugins: [ - performance: { - hints: false - }, - - node: { - global: true, - process: false, - crypto: 'empty', - module: false, - clearImmediate: false, - setImmediate: false + new LoaderOptionsPlugin({ + debug: false, + options: { + // legacy options go here } - }; + }), + // Fixes linker warnings (see https://github.com/angular/angular/issues/11580) + new ContextReplacementPlugin( + // The (\\|\/) piece accounts for path separators in *nix and Windows + /angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/, + helpers.root('src'), // location of your src + {} // a map of your routes + ), + ].concat(extraPlugins), + + performance: { + hints: false + }, + node: { + global: true, + process: false, + crypto: 'empty', + module: false, + clearImmediate: false, + setImmediate: false + } + }; } module.exports.getConfig = getConfig; diff --git a/demo/.angular-cli.json b/demo/.angular-cli.json index 2455a0d..b708c0b 100644 --- a/demo/.angular-cli.json +++ b/demo/.angular-cli.json @@ -38,13 +38,16 @@ }, "lint": [ { - "project": "src/tsconfig.app.json" + "project": "src/tsconfig.app.json", + "exclude": "**/node_modules/**" }, { - "project": "src/tsconfig.spec.json" + "project": "src/tsconfig.spec.json", + "exclude": "**/node_modules/**" }, { - "project": "e2e/tsconfig.e2e.json" + "project": "e2e/tsconfig.e2e.json", + "exclude": "**/node_modules/**" } ], "test": { diff --git a/demo/.gitignore b/demo/.gitignore index 54bfd20..6b66814 100644 --- a/demo/.gitignore +++ b/demo/.gitignore @@ -32,6 +32,7 @@ npm-debug.log testem.log /typings +yarn-error.log # e2e /e2e/*.js diff --git a/demo/karma.conf.js b/demo/karma.conf.js index 84b4cd5..af139fa 100644 --- a/demo/karma.conf.js +++ b/demo/karma.conf.js @@ -1,5 +1,5 @@ // Karma configuration file, see link for more information -// https://karma-runner.github.io/0.13/config/configuration-file.html +// https://karma-runner.github.io/1.0/config/configuration-file.html module.exports = function (config) { config.set({ @@ -15,15 +15,6 @@ module.exports = function (config) { client:{ clearContext: false // leave Jasmine Spec Runner output visible in browser }, - files: [ - { pattern: './src/test.ts', watched: false } - ], - preprocessors: { - './src/test.ts': ['@angular/cli'] - }, - mime: { - 'text/x-typescript': ['ts','tsx'] - }, coverageIstanbulReporter: { reports: [ 'html', 'lcovonly' ], fixWebpackSourcePaths: true @@ -31,9 +22,7 @@ module.exports = function (config) { angularCli: { environment: 'dev' }, - reporters: config.angularCli && config.angularCli.codeCoverage - ? ['progress', 'coverage-istanbul'] - : ['progress', 'kjhtml'], + reporters: ['progress', 'kjhtml'], port: 9876, colors: true, logLevel: config.LOG_INFO, diff --git a/demo/package.json b/demo/package.json index d97996c..2d72e87 100644 --- a/demo/package.json +++ b/demo/package.json @@ -2,6 +2,7 @@ "name": "ng-scrollreveal-demo", "version": "0.0.0", "license": "MIT", + "description": "Demo app for ng-scrollreveal", "scripts": { "ng": "ng", "start": "ng serve", @@ -13,41 +14,45 @@ }, "private": true, "dependencies": { - "@angular/common": "^4.0.0", - "@angular/compiler": "^4.0.0", - "@angular/core": "^4.0.0", - "@angular/forms": "^4.0.0", - "@angular/http": "^4.0.0", - "@angular/platform-browser": "^4.0.0", - "@angular/platform-browser-dynamic": "^4.0.0", - "@angular/router": "^4.0.0", - "@ng-bootstrap/ng-bootstrap": "1.0.0-alpha.22", - "bootstrap": "4.0.0-alpha.6", + "@angular/common": "^4.2.4", + "@angular/compiler": "^4.2.4", + "@angular/core": "^4.2.4", + "@angular/forms": "^4.2.4", + "@angular/http": "^4.2.4", + "@angular/platform-browser": "^4.2.4", + "@angular/platform-browser-dynamic": "^4.2.4", + "@angular/router": "^4.2.4", + "@ng-bootstrap/ng-bootstrap": "1.0.0-beta.1", + "bootstrap": "4.0.0-beta", + "scrollreveal": "^3.3.6", "core-js": "^2.4.1", "font-awesome": "^4.7.0", "include-media": "^1.4.9", - "rxjs": "^5.1.0", - "scrollreveal": "^3.3.4", - "zone.js": "^0.8.4" + "rxjs": "^5.4.2", + "zone.js": "^0.8.14" }, "devDependencies": { - "@angular/cli": "1.0.0", - "@angular/compiler-cli": "^4.0.0", - "@types/jasmine": "2.5.38", + "@angular/cli": "1.3.0", + "@angular/compiler-cli": "^4.2.4", + "@angular/language-service": "^4.2.4", + "@types/jasmine": "~2.5.53", + "@types/jasminewd2": "~2.0.2", + "@types/scrollreveal": "~0.0.2", "@types/node": "~6.0.60", - "@types/scrollreveal": "^0.0.2", - "codelyzer": "~2.0.0", - "jasmine-core": "~2.5.2", - "jasmine-spec-reporter": "~3.2.0", - "karma": "~1.4.1", - "karma-chrome-launcher": "~2.0.0", + "codelyzer": "~3.1.1", + "jasmine-core": "~2.6.2", + "jasmine-spec-reporter": "~4.1.0", + "karma": "~1.7.0", + "karma-chrome-launcher": "~2.1.1", "karma-cli": "~1.0.1", - "karma-coverage-istanbul-reporter": "^0.2.0", + "karma-coverage-istanbul-reporter": "^1.2.1", "karma-jasmine": "~1.1.0", "karma-jasmine-html-reporter": "^0.2.2", - "protractor": "~5.1.0", - "ts-node": "~2.0.0", - "tslint": "~4.5.0", - "typescript": "~2.2.0" + "ngx-clipboard": "^8.0.4", + "ngx-color-picker": "^4.2.0", + "protractor": "~5.1.2", + "ts-node": "~3.2.0", + "tslint": "~5.3.2", + "typescript": "~2.3.3" } } diff --git a/demo/protractor.conf.js b/demo/protractor.conf.js index 1c5e1e5..7ee3b5e 100644 --- a/demo/protractor.conf.js +++ b/demo/protractor.conf.js @@ -19,12 +19,10 @@ exports.config = { defaultTimeoutInterval: 30000, print: function() {} }, - beforeLaunch: function() { + onPrepare() { require('ts-node').register({ project: 'e2e/tsconfig.e2e.json' }); - }, - onPrepare() { jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); } }; diff --git a/demo/src/app/app-routing.ts b/demo/src/app/app-routing.ts index 3bb2e43..c437174 100644 --- a/demo/src/app/app-routing.ts +++ b/demo/src/app/app-routing.ts @@ -1,23 +1,15 @@ -import { HomeComponent } from './home/home.component'; -import { AppComponent } from './app.component'; import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; -import { GettingStartedComponent } from './getting-started/getting-started.component'; - const routes: Routes = [ { path: '', redirectTo: 'home', pathMatch: 'full' }, - { - path: 'home', - component: HomeComponent - }, { path: 'getting-started', - component: GettingStartedComponent + loadChildren: 'app/getting-started/getting-started.module#GettingStartedModule' } ]; diff --git a/demo/src/app/app.component.ts b/demo/src/app/app.component.ts index a1ec07f..3e1d192 100644 --- a/demo/src/app/app.component.ts +++ b/demo/src/app/app.component.ts @@ -1,5 +1,6 @@ -import { Component } from '@angular/core'; -import { Router,NavigationEnd } from '@angular/router'; +import { Component, Inject, PLATFORM_ID } from '@angular/core'; +import { Router, NavigationEnd } from '@angular/router'; +import { isPlatformBrowser } from '@angular/common'; import 'rxjs/add/operator/filter'; @Component({ @@ -7,15 +8,14 @@ import 'rxjs/add/operator/filter'; templateUrl: './app.component.html', styleUrls: ['./app.component.scss'] }) -export class AppComponent{ +export class AppComponent { - constructor(private router: Router){ + constructor(private router: Router, @Inject(PLATFORM_ID) private platformId: Object) { - this.router.events.filter(event => event instanceof NavigationEnd).subscribe(event => { + this.router.events.filter(event => event instanceof NavigationEnd).subscribe(event => { + if (isPlatformBrowser(this.platformId)) { window.scroll(0, 0); + } }); } - - - } diff --git a/demo/src/app/app.module.ts b/demo/src/app/app.module.ts index b159f76..dac34e0 100644 --- a/demo/src/app/app.module.ts +++ b/demo/src/app/app.module.ts @@ -8,23 +8,22 @@ import { NgsRevealModule } from 'ng-scrollreveal'; import { AppRoutingModule } from './app-routing'; import { AppSharedModule } from './shared/shared.module'; import { AppComponent } from './app.component'; -import { HomeComponent } from './home/home.component'; -import { GettingStartedComponent } from './getting-started/getting-started.component'; +import { HomeModule } from './home/home.module'; + @NgModule({ declarations: [ - AppComponent, - GettingStartedComponent, - HomeComponent + AppComponent ], imports: [ BrowserModule, FormsModule, HttpModule, + NgsRevealModule.forRoot(), AppRoutingModule, AppSharedModule, - NgsRevealModule.forRoot() + HomeModule ], providers: [], bootstrap: [AppComponent] diff --git a/demo/src/app/getting-started/getting-started-routing.module.ts b/demo/src/app/getting-started/getting-started-routing.module.ts new file mode 100644 index 0000000..74bda03 --- /dev/null +++ b/demo/src/app/getting-started/getting-started-routing.module.ts @@ -0,0 +1,11 @@ +import { RouterModule } from '@angular/router'; +import { NgModule } from '@angular/core'; +import { GettingStartedComponent } from './getting-started.component'; + +@NgModule({ + imports: [RouterModule.forChild([ + { path: '', component: GettingStartedComponent } + ])], + exports: [RouterModule] + }) +export class GettingStartedRoutingModule {} \ No newline at end of file diff --git a/demo/src/app/getting-started/getting-started.module.ts b/demo/src/app/getting-started/getting-started.module.ts new file mode 100644 index 0000000..f051624 --- /dev/null +++ b/demo/src/app/getting-started/getting-started.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { GettingStartedComponent } from './getting-started.component'; +import { GettingStartedRoutingModule } from './getting-started-routing.module'; + +@NgModule({ + imports: [ + CommonModule, + GettingStartedRoutingModule + ], + declarations: [GettingStartedComponent], +}) +export class GettingStartedModule { } diff --git a/demo/src/app/home/home-routing.module.ts b/demo/src/app/home/home-routing.module.ts new file mode 100644 index 0000000..8b0b3ed --- /dev/null +++ b/demo/src/app/home/home-routing.module.ts @@ -0,0 +1,11 @@ +import { RouterModule } from '@angular/router'; +import { NgModule } from '@angular/core'; +import { HomeComponent } from './home.component'; + +@NgModule({ + imports: [RouterModule.forChild([ + { path: '', component: HomeComponent } + ])], + exports: [RouterModule] + }) +export class HomeRoutingModule {} \ No newline at end of file diff --git a/demo/src/app/home/home.module.ts b/demo/src/app/home/home.module.ts new file mode 100644 index 0000000..3bcd965 --- /dev/null +++ b/demo/src/app/home/home.module.ts @@ -0,0 +1,23 @@ +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { CommonModule } from '@angular/common'; +import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap'; +import { ColorPickerModule } from 'ngx-color-picker'; +import { ClipboardModule } from 'ngx-clipboard'; + +import { HomeRoutingModule } from './home-routing.module'; +import { HomeComponent } from './home.component'; +import { PlaygroundComponent } from './playground/playground.component'; + + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + HomeRoutingModule, + NgbAccordionModule.forRoot(), + ColorPickerModule, + ClipboardModule], + declarations: [HomeComponent, PlaygroundComponent], +}) +export class HomeModule { } diff --git a/demo/src/app/shared/content-wrapper/content-wrapper.component.html b/demo/src/app/shared/content-wrapper/content-wrapper.component.html index 98488fb..4e3913c 100644 --- a/demo/src/app/shared/content-wrapper/content-wrapper.component.html +++ b/demo/src/app/shared/content-wrapper/content-wrapper.component.html @@ -4,10 +4,10 @@

{{ component }}

-
+
-
+
\ No newline at end of file diff --git a/demo/src/app/shared/header/header.component.html b/demo/src/app/shared/header/header.component.html index 55c8600..690199a 100644 --- a/demo/src/app/shared/header/header.component.html +++ b/demo/src/app/shared/header/header.component.html @@ -1,20 +1,20 @@ \ No newline at end of file +
diff --git a/demo/src/app/shared/header/header.component.spec.ts b/demo/src/app/shared/header/header.component.spec.ts index 122cf4d..d14253c 100644 --- a/demo/src/app/shared/header/header.component.spec.ts +++ b/demo/src/app/shared/header/header.component.spec.ts @@ -3,12 +3,14 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; import { APP_BASE_HREF } from '@angular/common'; +import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; + import { HeaderComponent } from './header.component'; import { HomeComponent } from './../../home/home.component'; import { GettingStartedComponent } from './../../getting-started/getting-started.component'; import { AppRoutingModule } from './../../app-routing'; -import { NgsRevealModule } from './../../../../lib/ngs-reveal.module'; + describe('HeaderComponent', () => { let component: HeaderComponent; @@ -18,7 +20,7 @@ describe('HeaderComponent', () => { TestBed.configureTestingModule({ imports: [ AppRoutingModule, - NgsRevealModule.forRoot()], + NgbCollapseModule.forRoot()], declarations: [ HeaderComponent, GettingStartedComponent, diff --git a/demo/src/index.html b/demo/src/index.html index 7d23564..9ad3962 100644 --- a/demo/src/index.html +++ b/demo/src/index.html @@ -1,18 +1,28 @@ - - - - - - ng-scrollreveal - - - - - - - + + + + ng-scrollreveal + + + + + + + + + + + + + + + + + + + + + - Loading... - - - \ No newline at end of file + Loading... + diff --git a/demo/src/polyfills.ts b/demo/src/polyfills.ts index 53bdaf1..7831e97 100644 --- a/demo/src/polyfills.ts +++ b/demo/src/polyfills.ts @@ -31,21 +31,21 @@ // import 'core-js/es6/array'; // import 'core-js/es6/regexp'; // import 'core-js/es6/map'; +// import 'core-js/es6/weak-map'; // import 'core-js/es6/set'; /** IE10 and IE11 requires the following for NgClass support on SVG elements */ // import 'classlist.js'; // Run `npm install --save classlist.js`. -/** IE10 and IE11 requires the following to support `@angular/animation`. */ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. - - /** Evergreen browsers require these. **/ import 'core-js/es6/reflect'; import 'core-js/es7/reflect'; -/** ALL Firefox browsers require the following to support `@angular/animation`. **/ +/** + * Required to support Web Animations `@angular/animation`. + * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation + **/ // import 'web-animations-js'; // Run `npm install --save web-animations-js`. @@ -66,3 +66,7 @@ import 'zone.js/dist/zone'; // Included with Angular CLI. * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 */ // import 'intl'; // Run `npm install --save intl`. +/** + * Need to import at least one locale-data with intl. + */ +// import 'intl/locale-data/jsonp/en'; diff --git a/demo/src/styles.scss b/demo/src/styles.scss index 3e80d70..13fc9e7 100644 --- a/demo/src/styles.scss +++ b/demo/src/styles.scss @@ -39,4 +39,4 @@ $breakpoints: $grid-breakpoints; font-size: 1.4rem; } } -} \ No newline at end of file +} diff --git a/demo/src/test.ts b/demo/src/test.ts index 9bf7226..cd612ee 100644 --- a/demo/src/test.ts +++ b/demo/src/test.ts @@ -13,8 +13,8 @@ import { } from '@angular/platform-browser-dynamic/testing'; // Unfortunately there's no typing for the `__karma__` variable. Just declare it as any. -declare var __karma__: any; -declare var require: any; +declare const __karma__: any; +declare const require: any; // Prevent Karma from running prematurely. __karma__.loaded = function () {}; diff --git a/demo/src/tsconfig.app.json b/demo/src/tsconfig.app.json index 5e2507d..0b69151 100644 --- a/demo/src/tsconfig.app.json +++ b/demo/src/tsconfig.app.json @@ -3,7 +3,7 @@ "compilerOptions": { "outDir": "../out-tsc/app", "module": "es2015", - "baseUrl": "", + "baseUrl": "./", "types": [] }, "exclude": [ diff --git a/demo/src/tsconfig.spec.json b/demo/src/tsconfig.spec.json index 510e3f1..6a09273 100644 --- a/demo/src/tsconfig.spec.json +++ b/demo/src/tsconfig.spec.json @@ -4,7 +4,7 @@ "outDir": "../out-tsc/spec", "module": "commonjs", "target": "es5", - "baseUrl": "", + "baseUrl": "./", "types": [ "jasmine", "node" diff --git a/demo/tsconfig.json b/demo/tsconfig.json index a35a8ee..a6c016b 100644 --- a/demo/tsconfig.json +++ b/demo/tsconfig.json @@ -2,7 +2,6 @@ "compileOnSave": false, "compilerOptions": { "outDir": "./dist/out-tsc", - "baseUrl": "src", "sourceMap": true, "declaration": false, "moduleResolution": "node", @@ -13,7 +12,7 @@ "node_modules/@types" ], "lib": [ - "es2016", + "es2017", "dom" ] } diff --git a/demo/tslint.json b/demo/tslint.json index 9113f13..0db5751 100644 --- a/demo/tslint.json +++ b/demo/tslint.json @@ -3,6 +3,7 @@ "node_modules/codelyzer" ], "rules": { + "arrow-return-shorthand": true, "callable-types": true, "class-name": true, "comment-format": [ @@ -12,7 +13,10 @@ "curly": true, "eofline": true, "forin": true, - "import-blacklist": [true, "rxjs"], + "import-blacklist": [ + true, + "rxjs" + ], "import-spacing": true, "indent": [ true, @@ -27,8 +31,14 @@ "member-access": false, "member-ordering": [ true, - "static-before-instance", - "variables-before-functions" + { + "order": [ + "static-field", + "instance-field", + "static-method", + "instance-method" + ] + } ], "no-arg": true, "no-bitwise": true, @@ -42,16 +52,22 @@ ], "no-construct": true, "no-debugger": true, - "no-duplicate-variable": true, + "no-duplicate-super": true, "no-empty": false, "no-empty-interface": true, "no-eval": true, - "no-inferrable-types": [true, "ignore-params"], + "no-inferrable-types": [ + true, + "ignore-params" + ], + "no-misused-new": true, + "no-non-null-assertion": true, "no-shadowed-variable": true, "no-string-literal": false, "no-string-throw": true, "no-switch-case-fall-through": true, "no-trailing-whitespace": true, + "no-unnecessary-initializer": true, "no-unused-expression": true, "no-use-before-declare": true, "no-var-keyword": true, @@ -70,6 +86,7 @@ ], "radix": true, "semicolon": [ + true, "always" ], "triple-equals": [ @@ -97,9 +114,18 @@ "check-separator", "check-type" ], - - "directive-selector": [true, "attribute", "app", "camelCase"], - "component-selector": [true, "element", "app", "kebab-case"], + "directive-selector": [ + true, + "attribute", + "app", + "camelCase" + ], + "component-selector": [ + true, + "element", + "app", + "kebab-case" + ], "use-input-property-decorator": true, "use-output-property-decorator": true, "use-host-property-decorator": true, diff --git a/gulpfile.js b/gulpfile.js index ee6efdf..55f17e2 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,16 +1,14 @@ - const _ = require('lodash'); const del = require('del'); const gulp = require('gulp'); const gulpUtil = require('gulp-util'); - +const helpers = require('./config/helpers'); /** TSLint checker */ const gulpTslint = require('gulp-tslint'); /** External command runner */ const process = require('process'); -const gulpShell = require('gulp-shell'); const execSync = require('child_process').execSync; /** File Access */ @@ -27,24 +25,32 @@ const gulpCoveralls = require('gulp-coveralls'); /** To order tasks */ const runSequence = require('run-sequence'); -/** To bundle the library with Rollup */ -const gulpRollup = require('gulp-better-rollup'); -const rollupNodeResolve = require('rollup-plugin-node-resolve'); +/** To compile & bundle the library with Angular & Rollup */ +const ngc = (args) => {// Promesify version of the ngc compiler + const project = args.p || args.project || '.'; + const cmd = helpers.root(helpers.binPath('ngc')); + return helpers.execp(`${cmd} -p ${project}`); +}; +const rollup = require('rollup'); const rollupUglify = require('rollup-plugin-uglify'); +const rollupSourcemaps = require('rollup-plugin-sourcemaps'); +const rollupNodeResolve = require('rollup-plugin-node-resolve'); +const rollupCommonjs = require('rollup-plugin-commonjs'); + +/** To load templates and styles in Angular components */ +const gulpInlineNgTemplate = require('gulp-inline-ng2-template'); //Bumping, Releasing tools const gulpGit = require('gulp-git'); -const ghPages = require('angular-cli-ghpages'); const gulpBump = require('gulp-bump'); const gulpConventionalChangelog = require('gulp-conventional-changelog'); const conventionalGithubReleaser = require('conventional-github-releaser'); -const gulpRename = require('gulp-rename'); -const gulpReplace = require('gulp-replace'); -const gulpTap = require('gulp-tap'); -const Handlebars = require('handlebars'); -const Highlights = require('highlights'); -const MarkdownIt = require('markdown-it'); +/** To load gulp tasks from multiple files */ +const gulpHub = require('gulp-hub'); + +/** Documentation generation tools **/ +const gulpCompodoc = require('@compodoc/gulp-compodoc'); const yargs = require('yargs'); const argv = yargs @@ -59,31 +65,22 @@ const argv = yargs }) .argv; -const highligther = new Highlights(); -const markdowniter = new MarkdownIt({ - highlight: function (code, lang) { - let highlighted = - highligther.highlightSync({ - fileContents: code, - scopeName: 'source.js' - }); - return highlighted; - } -}); -const LIBRARY_NAME = 'ng-scrollreveal'; const config = { + libraryName: 'ng-scrollreveal', + allSrc: 'src/**/*', allTs: 'src/**/!(*.spec).ts', demoDir: 'demo/', + buildDir: 'tmp/', outputDir: 'dist/', coverageDir: 'coverage/' }; +const rootFolder = path.join(__dirname); +const buildFolder = path.join(rootFolder, `${config.buildDir}`); +const distFolder = path.join(rootFolder, `${config.outputDir}`); +const es5OutputFolder = path.join(buildFolder, 'lib-es5'); //Helper functions -const platformPath = (path) => { - return /^win/.test(os.platform()) ? `${path}.cmd` : path; -}; - const startKarmaServer = (isTddMode, hasCoverage, cb) => { const karmaServer = require('karma').Server; const travis = process.env.TRAVIS; @@ -97,21 +94,20 @@ const startKarmaServer = (isTddMode, hasCoverage, cb) => { config['hasCoverage'] = hasCoverage; new karmaServer(config, cb).start(); -} +}; const getPackageJsonVersion = () => { // We parse the json file instead of using require because require caches // multiple calls so the version number won't be updated return JSON.parse(fs.readFileSync('./package.json', 'utf8')).version; -} +}; const isOK = condition => { return condition ? gulpUtil.colors.green('[OK]') : gulpUtil.colors.red('[KO]'); }; const readyToRelease = () => { - - let isTravisPassing = /build #\d+ passed/.test(execSync('npm run check-travis').toString().trim()); + let isTravisPassing = /build #\d+ passed/.test(execSync('npm run check-travis').toString().trim()) ; let onMasterBranch = execSync('git symbolic-ref --short -q HEAD').toString().trim() === 'master'; let canBump = !!argv.version; let canGhRelease = argv.ghToken || process.env.CONVENTIONAL_GITHUB_RELEASER_TOKEN; @@ -126,68 +122,136 @@ const readyToRelease = () => { return isTravisPassing && onMasterBranch && canBump && canGhRelease && canNpmPublish; }; -// Clean Tasks +const execCmd = (name, args, opts, ...subFolders) => { + const cmd = helpers.root(subFolders, helpers.binPath(`${name}`)); + return helpers.execp(`${cmd} ${args}`, opts) + .catch(e => { + gulpUtil.log(gulpUtil.colors.red(`${name} command failed. See below for errors.\n`)); + gulpUtil.log(gulpUtil.colors.red(e)); + process.exit(1); + }); +}; + +const execExternalCmd = (name, args, opts) => { + return helpers.execp(`${name} ${args}`, opts) + .catch(e => { + gulpUtil.log(gulpUtil.colors.red(`${name} command failed. See below for errors.\n`)); + gulpUtil.log(gulpUtil.colors.red(e)); + process.exit(1); + }); +}; + + +///////////////////////////////////////////////////////////////////////////// +// Cleaning Tasks +///////////////////////////////////////////////////////////////////////////// gulp.task('clean:dist', () => { return del(config.outputDir); }); +gulp.task('clean:build', () => { + return del(config.buildDir); +}); + gulp.task('clean:coverage', () => { return del(config.coverageDir); }); -gulp.task('clean:doc', () => { +gulp.task('clean:doc', ()=>{ return del(`${config.outputDir}/doc`); }); -gulp.task('clean', ['clean:dist', 'clean:coverage']); +gulp.task('clean', ['clean:dist', 'clean:coverage', 'clean:build']); + +///////////////////////////////////////////////////////////////////////////// +// Compilation Tasks +///////////////////////////////////////////////////////////////////////////// -// TsLint the source files gulp.task('lint', (cb) => { pump([ gulp.src(config.allTs), - gulpTslint({ formatter: "verbose" }), + gulpTslint( + { + + formatter: 'verbose', + configuration: 'tslint.json' + }), gulpTslint.report() ], cb); }); +// Inline Styles and Templates into components +gulp.task('inline-templates', (cb) => { + const options = { + base: `${config.buildDir}`, + useRelativePaths: true + }; + pump( + [ + gulp.src(config.allTs), + gulpInlineNgTemplate(options), + gulp.dest(`${config.buildDir}`) + ], + cb); +}); -// Compile TS files with Angular Compiler (ngc) -gulp.task('ngc', gulpShell.task(`ngc -p ./tsconfig-aot.json`)); +// Prepare files for compilation +gulp.task('pre-compile', (cb)=>{ + pump([ + gulp.src([config.allSrc]), + gulp.dest(config.buildDir) + ], cb); +}); -// Test tasks -gulp.task('test', (cb) => { - const ENV = process.env.NODE_ENV = process.env.ENV = 'test'; - startKarmaServer(false, true, cb); +gulp.task('ng-compile',()=>{ + return Promise.resolve() + // Compile to ES5. + .then(() => ngc({ project: `${buildFolder}/tsconfig.lib.json` }) + .then(exitCode => exitCode === 0 ? Promise.resolve() : Promise.reject()) + .then(() => gulpUtil.log('ES5 compilation succeeded.')) + ) + .catch(e => { + gulpUtil.log(gulpUtil.colors.red('ng-compilation failed. See below for errors.\n')); + gulpUtil.log(gulpUtil.colors.red(e)); + process.exit(1); + }); }); -gulp.task('test:ci', ['clean'], (cb) => { - runSequence('compile', 'test'); +// Lint, Prepare Build, and Compile +gulp.task('compile', (cb) => { + runSequence('lint', 'pre-compile', 'inline-templates', 'ng-compile', cb); }); -gulp.task('test:watch', (cb) => { - const ENV = process.env.NODE_ENV = process.env.ENV = 'test'; - startKarmaServer(true, true, cb); +// Watch changes on (*.ts, *.html) and Compile +gulp.task('watch', () => { + gulp.watch([config.allTs, config.allHtml, ], ['compile']); }); -gulp.task('test:watch-no-cc', (cb) => {//no coverage (useful for debugging failing tests in browser) - const ENV = process.env.NODE_ENV = process.env.ENV = 'test'; - startKarmaServer(true, false, cb); +// Build the 'dist' folder (without publishing it to NPM) +gulp.task('build', ['clean'], (cb) => { + runSequence('compile', 'test', 'npm-package', 'rollup-bundle', cb); }); +///////////////////////////////////////////////////////////////////////////// +// Packaging Tasks +///////////////////////////////////////////////////////////////////////////// + // Prepare 'dist' folder for publication to NPM -gulp.task('package', (cb) => { +gulp.task('npm-package', (cb) => { let pkgJson = JSON.parse(fs.readFileSync('./package.json', 'utf8')); let targetPkgJson = {}; let fieldsToCopy = ['version', 'description', 'keywords', 'author', 'repository', 'license', 'bugs', 'homepage']; - targetPkgJson['name'] = LIBRARY_NAME; + targetPkgJson['name'] = config.libraryName; //only copy needed properties from project's package json fieldsToCopy.forEach((field) => { targetPkgJson[field] = pkgJson[field]; }); - targetPkgJson['main'] = `bundles/${LIBRARY_NAME}.umd.js`; - targetPkgJson['module'] = 'index.js'; - targetPkgJson['typings'] = 'index.d.ts'; + targetPkgJson['main'] = `bundles/${config.libraryName}.umd.js`; + targetPkgJson['module'] = `index.js`; + targetPkgJson['es2015'] = `${config.libraryName}.js`; + targetPkgJson['typings'] = `${config.libraryName}.d.ts`; + // defines project's dependencies as 'peerDependencies' for final users targetPkgJson.peerDependencies = {}; @@ -198,126 +262,171 @@ gulp.task('package', (cb) => { // copy the needed additional files in the 'dist' folder pump( [ - gulp.src(['README.md', 'LICENSE', 'CHANGELOG.md']), + gulp.src(['README.md', 'LICENSE', 'CHANGELOG.md', + `${config.buildDir}/lib-es5/**/*.js`, + `${config.buildDir}/lib-es5/**/*.js.map`, + `${config.buildDir}/lib-es5/**/*.d.ts`, + `${config.buildDir}/lib-es5/**/*.metadata.json`]), gulpFile('package.json', JSON.stringify(targetPkgJson, null, 2)), gulp.dest(config.outputDir) ], cb); }); -// Bundles the library as UMD bundle using RollupJS -gulp.task('bundle', (cb) => { - const globals = { - // Angular dependencies - '@angular/core': 'ng.core', - '@angular/common': 'ng.common', - - }; - - const rollupOptions = { - context: 'this', - external: Object.keys(globals), - plugins: [ - rollupNodeResolve({ module: true }), - rollupUglify() - ] - }; - - const rollupGenerateOptions = { - // Keep the moduleId empty because we don't want to force developers to a specific moduleId. - moduleId: '', - moduleName: `${_.camelCase(LIBRARY_NAME)}`, //require for 'umd' bundling, must be a valid js identifier, see rollup/rollup/issues/584 - format: 'umd', - globals, - dest: `${LIBRARY_NAME}.umd.js` - }; - - pump( - [ - gulp.src(`${config.outputDir}/index.js`), - gulpRollup(rollupOptions, rollupGenerateOptions), - gulp.dest(`${config.outputDir}/bundles`) - ], cb); +// Bundles the library as UMD bundles using RollupJS +gulp.task('rollup-bundle', (cb) => { + return Promise.resolve() + // Bundle lib. + .then(() => { + // Base configuration. + const es5Entry = path.join(es5OutputFolder, `index.js`); + const globals = { + // Angular dependencies + '@angular/core': 'ng.core', + '@angular/common': 'ng.common', + + // ATTENTION: + // Add any other dependency or peer dependency your library here. + // This is required for UMD bundle users. + 'scrollreveal': 'scrollreveal' + }; + const rollupBaseConfig = { + moduleName: _.camelCase(config.libraryName), + sourceMap: true, + globals: globals, + external: Object.keys(globals), + plugins: [ + rollupCommonjs({ + include: ['node_modules/rxjs/**'] + }), + rollupSourcemaps(), + rollupNodeResolve({ jsnext: true, module: true }) + ] + }; + + // UMD bundle. + const umdConfig = Object.assign({}, rollupBaseConfig, { + entry: es5Entry, + dest: path.join(distFolder, `bundles`, `${config.libraryName}.umd.js`), + format: 'umd', + }); + + // Minified UMD bundle. + const minifiedUmdConfig = Object.assign({}, rollupBaseConfig, { + entry: es5Entry, + dest: path.join(distFolder, `bundles`, `${config.libraryName}.umd.min.js`), + format: 'umd', + plugins: rollupBaseConfig.plugins.concat([rollupUglify({})]) + }); + + const allBundles = [ + umdConfig, + minifiedUmdConfig + ].map(cfg => rollup.rollup(cfg).then(bundle => bundle.write(cfg))); + + return Promise.all(allBundles) + .then(() => gulpUtil.log('All bundles generated successfully.')) + }) + .catch(e => { + gulpUtil.log(gulpUtil.colors.red('rollup-bundling failed. See below for errors.\n')); + gulpUtil.log(gulpUtil.colors.red(e)); + process.exit(1); + }); }); -//Demo Tasks -gulp.task('md', () => { - return gulp.src('./demo/src/app/getting-started/getting-started.component.hbs') - .pipe(gulpTap((file) => { - let template = Handlebars.compile(file.contents.toString()); - return gulp.src('./README.md') - .pipe(gulpTap((file) => { - // convert from markdown - let mdContents = file.contents.toString(); - file.contents = new Buffer(markdowniter.render(mdContents), 'utf-8'); - })) - .pipe(gulpTap((file) => { - // file is the converted HTML from the markdown - // set the contents to the contents property on data - let data = { README_md: file.contents.toString() }; - // we will pass data to the Handlebars template to create the actual HTML to use - let html = template(data); - // replace the file contents with the new HTML created from the Handlebars template + data object that contains the HTML made from the markdown conversion - file.contents = new Buffer(html, "utf-8"); - })) - .pipe(gulpReplace(/(

ng-scrollreveal[^]+?)(

Dependencies<\/h2>)/, '$2'))// strips everything between start & '

' - .pipe(gulpReplace('{', "{{ '{' }}")) // escapes '{' to comply with angular parser - .pipe(gulpRename('getting-started.component.html')) - .pipe(gulp.dest('./demo/src/app/getting-started')); +///////////////////////////////////////////////////////////////////////////// +// Documentation Tasks +///////////////////////////////////////////////////////////////////////////// +gulp.task('build:doc', (cb)=>{ + pump([ + gulp.src('src/**/*.ts'), + gulpCompodoc({ + tsconfig: 'src/tsconfig.lib.json', + hideGenerator:true, + disableCoverage: true, + output: `${config.demoDir}/dist/doc/` + }) + ], cb); +}); - })); +gulp.task('serve:doc', ['clean:doc'], (cb)=>{ + pump([ + gulp.src('src/**/*.ts'), + gulpCompodoc({ + tsconfig: 'src/tsconfig.lib.json', + serve: true, + output: `${config.outputDir}/doc/` + }) + ], cb); }); -gulp.task('test:demo', gulpShell.task('ng test', { cwd: `${config.demoDir}` })); -gulp.task('serve:demo', ['md'], gulpShell.task('ng serve --proxy-config proxy.conf.json', { cwd: `${config.demoDir}` })); -gulp.task('build:demo', ['md'], gulpShell.task(`ng build --prod --aot --base-href https://tinesoft.github.io/${LIBRARY_NAME}/`, { cwd: `${config.demoDir}` })); +///////////////////////////////////////////////////////////////////////////// +// Demo Tasks +///////////////////////////////////////////////////////////////////////////// +const execDemoCmd = (args,opts) => { + if(fs.existsSync(`${config.demoDir}/node_modules`)){ + return execCmd('ng', args, opts, `/${config.demoDir}`); + } + else{ + gulpUtil.log(gulpUtil.colors.yellow(`No 'node_modules' found in '${config.demoDir}'. Installing dependencies for you..`)); + return helpers.installDependencies({ cwd: `${config.demoDir}` }) + .then(exitCode => exitCode === 0 ? execCmd('ng', args, opts, `/${config.demoDir}`) : Promise.reject()) + .catch(e => { + gulpUtil.log(gulpUtil.colors.red(`ng command failed. See below for errors.\n`)); + gulpUtil.log(gulpUtil.colors.red(e)); + process.exit(1); + }); + } +}; + +gulp.task('test:demo', ()=>{ + return execDemoCmd('test', { cwd: `${config.demoDir}`}); +}); -gulp.task('build:doc', gulpShell.task(`compodoc -p tsconfig.json --hideGenerator --disableCoverage -d ${config.demoDir}/dist/doc/`)); +gulp.task('serve:demo', ()=>{ + return execDemoCmd('serve --preserve-symlinks --proxy-config proxy.conf.json', { cwd: `${config.demoDir}`}); +}); -gulp.task('serve:doc', ['clean:doc'], gulpShell.task(`compodoc -p tsconfig.json -s -d ${config.outputDir}/doc/`)); +gulp.task('build:demo', ()=>{ + return execDemoCmd(`build --preserve-symlinks --prod --aot --build-optimizer`, { cwd: `${config.demoDir}`}); +}); -gulp.task('push:demo', gulpShell.task(`ngh --dir ${config.demoDir}/dist --message="chore(demo): :rocket: deploy new version"`)); +gulp.task('push:demo', ()=>{ + return execCmd('ngh',`--dir ${config.demoDir}/dist --message="chore(demo): :rocket: deploy new version"`); +}); gulp.task('deploy:demo', (cb) => { runSequence('build:demo', 'build:doc', 'push:demo', cb); }); -// Link 'dist' folder (create a local 'ng-scrollreveal' package that symlinks to it) -// This way, we can have the demo project declare a dependency on 'ng-scrollreveal' (as it should) -// and, thanks to 'npm link ng-scrollreveal' on demo project, be sure to always use the latest built -// version of the library ( which is in 'dist/' folder) -gulp.task('link', gulpShell.task('npm link', { cwd: `${config.outputDir}` })); - -gulp.task('unlink', gulpShell.task('npm unlink', { cwd: `${config.outputDir}` })); - -// Upload code coverage report to coveralls.io (will be triggered by Travis CI on successful build) -gulp.task('coveralls', (cb) => { - pump( - [ - gulp.src(`${config.coverageDir}/coverage.lcov`), - gulpCoveralls() - ], cb); +///////////////////////////////////////////////////////////////////////////// +// Test Tasks +///////////////////////////////////////////////////////////////////////////// +gulp.task('test', (cb) => { + const ENV = process.env.NODE_ENV = process.env.ENV = 'test'; + startKarmaServer(false, true, cb); }); -// Lint and Compile -gulp.task('compile', (cb) => { - runSequence('lint', 'ngc', cb); +gulp.task('test:ci', ['clean'], (cb) => { + runSequence('compile', 'test'); }); -// Watch changes on (*.ts) and Compile -gulp.task('watch', () => { - gulp.watch([config.allTs], ['compile']); +gulp.task('test:watch', (cb) => { + const ENV = process.env.NODE_ENV = process.env.ENV = 'test'; + startKarmaServer(true, true, cb); }); -// Build the 'dist' folder (without publishing it to NPM) -gulp.task('build', ['clean'], (cb) => { - runSequence('compile', 'test', 'package', 'bundle', cb); +gulp.task('test:watch-no-cc', (cb) => {//no coverage (useful for debugging failing tests in browser) + const ENV = process.env.NODE_ENV = process.env.ENV = 'test'; + startKarmaServer(true, false, cb); }); +///////////////////////////////////////////////////////////////////////////// // Release Tasks +///////////////////////////////////////////////////////////////////////////// gulp.task('changelog', (cb) => { pump( [ @@ -381,6 +490,12 @@ gulp.task('create-new-tag', (cb) => { }); +// Build and then Publish 'dist' folder to NPM +gulp.task('npm-publish', ['build'], ()=>{ + return execExternalCmd('npm',`publish ${config.outputDir}`) +}); + +// Perfom pre-release checks (no actual release) gulp.task('pre-release', cb => { readyToRelease(); cb(); @@ -405,18 +520,42 @@ gulp.task('release', (cb) => { 'deploy:demo', (error) => { if (error) { - gulpUtil.log(error.message); + gulpUtil.log(gulpUtil.colors.red(error.message)); } else { gulpUtil.log(gulpUtil.colors.green('RELEASE FINISHED SUCCESSFULLY')); } cb(error); }); - } }); -// Build and then Publish 'dist' folder to NPM -gulp.task('npm-publish', ['build'], gulpShell.task(`npm publish ${config.outputDir}`)); +///////////////////////////////////////////////////////////////////////////// +// Utility Tasks +///////////////////////////////////////////////////////////////////////////// + +// Link 'dist' folder (create a local 'ng-scrollreveal' package that symlinks to it) +// This way, we can have the demo project declare a dependency on 'ng-scrollreveal' (as it should) +// and, thanks to 'npm link ng-scrollreveal' on demo project, be sure to always use the latest built +// version of the library ( which is in 'dist/' folder) +gulp.task('link', ()=>{ + return execExternalCmd('npm', 'link', { cwd: `${config.outputDir}` }); +}); + +gulp.task('unlink', ()=>{ + return execExternalCmd('npm', 'unlink', { cwd: `${config.outputDir}` }); +}); + +// Upload code coverage report to coveralls.io (will be triggered by Travis CI on successful build) +gulp.task('coveralls', (cb) => { + pump( + [ + gulp.src(`${config.coverageDir}/coverage.lcov`), + gulpCoveralls() + ], cb); +}); gulp.task('default', ['build']); + +// Load additional tasks +gulpHub(['./config/gulp-tasks/*.js']); diff --git a/package.json b/package.json index 6f64595..a651198 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "dependencies": { "@angular/common": "2.0.0", "@angular/core": "2.0.0", - "scrollreveal": "3.3.5" + "scrollreveal": "3.3.6" }, "devDependencies": { "@angular/compiler": "2.0.0", @@ -42,64 +42,69 @@ "@angular/platform-browser": "2.0.0", "@angular/platform-browser-dynamic": "2.0.0", "@angular/platform-server": "2.0.0", - "@compodoc/compodoc": "1.0.0-beta.13", + "@compodoc/gulp-compodoc": "0.0.7", "@types/jasmine": "2.5.41", - "@types/node": "8.0.0", "@types/scrollreveal": "0.0.2", - "angular-cli-ghpages": "0.5.0", - "angular2-template-loader": "0.6.0", - "awesome-typescript-loader": "3.0.0-beta.18", + "@types/node": "6.0.58", + "angular-cli-ghpages": "0.5.1", + "angular2-template-loader": "0.6.2", + "awesome-typescript-loader": "3.0.5", "codelyzer": "1.0.0-beta.0", "conventional-github-releaser": "1.1.12", "core-js": "2.4.1", "del": "2.2.2", - "greenkeeper-lockfile": "^1.6.0", + "greenkeeper-lockfile": "1.8.1", "gulp": "3.9.1", - "gulp-better-rollup": "1.0.2", - "gulp-bump": "2.5.0", - "gulp-conventional-changelog": "1.1.0", + "gulp-bump": "2.7.0", + "gulp-conventional-changelog": "1.1.3", "gulp-coveralls": "0.1.4", "gulp-file": "0.3.0", - "gulp-git": "1.12.0", + "gulp-git": "2.4.2", + "gulp-hub": "0.8.0", + "gulp-inline-ng2-template": "4.0.0", + "gulp-real-favicon": "0.2.2", "gulp-rename": "1.2.2", "gulp-replace": "0.6.1", - "gulp-shell": "0.5.2", - "gulp-tap": "0.1.3", + "gulp-tap": "1.0.1", "gulp-tslint": "6.1.1", - "gulp-util": "3.0.7", - "handlebars": "4.0.6", - "highlights": "1.4.1", - "html-loader": "0.4.4", + "gulp-util": "3.0.8", + "handlebars": "4.0.10", + "highlights": "3.0.1", + "html-loader": "0.4.5", "istanbul-instrumenter-loader": "1.2.0", "jasmine-core": "2.6.4", - "karma": "1.2.0", + "karma": "1.7.0", "karma-chrome-launcher": "2.2.0", "karma-coverage": "1.1.1", - "karma-jasmine": "1.0.2", + "karma-jasmine": "1.1.0", "karma-jasmine-html-reporter": "0.2.2", - "karma-mocha-reporter": "2.2.2", + "karma-mocha-reporter": "2.2.3", "karma-remap-coverage": "0.1.4", "karma-sourcemap-loader": "0.3.7", "karma-webpack": "2.0.4", - "lodash": "4.17.4", - "markdown-it": "8.1.0", + "markdown-it": "8.4.0", "pump": "1.0.2", "raw-loader": "0.5.1", - "rollup-plugin-node-resolve": "2.0.0", + "rollup": "0.45.2", + "rollup-plugin-commonjs": "8.0.2", + "rollup-plugin-node-resolve": "3.0.0", + "rollup-plugin-sourcemaps": "0.4.2", "rollup-plugin-uglify": "1.0.1", "run-sequence": "2.0.0", "rxjs": "5.0.0-beta.12", "source-map-loader": "0.1.5", - "to-string-loader": "1.1.5", - "travis-status": "2.0.0", + "travis-status": "1.0.0", "tslint": "3.15.1", "typescript": "2.0.3", - "webpack": "2.2.0-rc.4", - "webpack-dev-middleware": "1.6.1", - "webpack-dev-server": "2.2.0-rc.0", + "webpack": "3.5.5", + "webpack-dev-middleware": "1.12.0", + "webpack-dev-server": "2.7.1", "yargs": "6.4.0", "zone.js": "0.6.21" }, + "engines": { + "node": ">=6.0.0" + }, "greenkeeper": { "ignore": [ "@angular/core", @@ -112,9 +117,9 @@ "zone.js", "rxjs", "tslint", + "gulp-tslint", "typescript", - "codelyzer", - "gulp-tslint" + "codelyzer" ] } } diff --git a/src/directives/index.ts b/src/directives/index.ts new file mode 100644 index 0000000..0f71eff --- /dev/null +++ b/src/directives/index.ts @@ -0,0 +1,3 @@ +export * from './ngs-reveal.directive'; +export * from './ngs-reveal-set.directive'; +export * from './ngs-reveal-common.directive'; diff --git a/src/ngs-reveal-common.ts b/src/directives/ngs-reveal-common.directive.ts similarity index 71% rename from src/ngs-reveal-common.ts rename to src/directives/ngs-reveal-common.directive.ts index e6ae03a..dc9b1f7 100644 --- a/src/ngs-reveal-common.ts +++ b/src/directives/ngs-reveal-common.directive.ts @@ -1,5 +1,5 @@ -import { NgsRevealConfig } from './ngs-reveal-config'; -import { NgsRevealService } from './ngs-reveal.service'; +import { NgsRevealConfig } from '../services/ngs-reveal-config'; +import { NgsRevealService } from '../services/ngs-reveal.service'; /** * Base directive class shared by the concrete ScrollReveal directives. @@ -12,7 +12,7 @@ export abstract class AbstractNgsRevealDirective { protected _initConfig(value: string | NgsRevealConfig): void { if (value && typeof value === 'string') { - this.config = JSON.stringify(value); + this.config = JSON.parse(value); } else if (value && typeof value === 'object') { this.config = value; } diff --git a/src/directives/ngs-reveal-set.directive.spec.ts b/src/directives/ngs-reveal-set.directive.spec.ts new file mode 100644 index 0000000..10598ff --- /dev/null +++ b/src/directives/ngs-reveal-set.directive.spec.ts @@ -0,0 +1,97 @@ +/* tslint:disable:no-unused-variable */ +import { DebugElement, Component } from '@angular/core'; +import { By } from '@angular/platform-browser'; +import { TestBed, ComponentFixture, inject } from '@angular/core/testing'; + +import { NgsRevealModule } from '../ngs-reveal.module'; +import { NgsRevealConfig } from '../services/ngs-reveal-config'; +import { NgsRevealSetDirective } from '../directives/ngs-reveal-set.directive'; + +import { not, and } from '../test-helpers'; + +let fixture: ComponentFixture; +let itemsWithDirectiveOn: DebugElement[]; +let itemsWithoutDirectiveOn: DebugElement[]; + +function expectRevealedSetItems(itemSets: DebugElement[]) { + + + itemSets.map(itemSet => { + let items = itemSet.queryAll(By.css('.item')); + items.map(item => { + let dataSrIdAttr: string = item.nativeElement.getAttribute('data-sr-id'); + expect(dataSrIdAttr && +dataSrIdAttr > 0).toBe(true, 'revealed item must have "data-sr-id" attribute with > 0 value'); + }); + }); + +} + +describe('Directive: NgsRevealSetDirective', () => { + + beforeEach(() => { + fixture = TestBed.configureTestingModule({ + imports: [NgsRevealModule.forRoot()], + declarations: [TestComponent] + }) + .createComponent(TestComponent); + fixture.detectChanges(); // initial binding + // all elements with an attached NgsRevealSetDirective + itemsWithDirectiveOn = fixture.debugElement.queryAll(By.directive(NgsRevealSetDirective)); + // the item sets without the NgsRevealSetDirective + itemsWithoutDirectiveOn = fixture.debugElement.queryAll(and(By.css('.itemset'), not(By.directive(NgsRevealSetDirective)))); + }); + + + it('should have 4 items with the directive', () => { + expect(itemsWithDirectiveOn.length).toBe(4); + }); + + it('should have 1 item without the directive', () => { + expect(itemsWithoutDirectiveOn.length).toBe(1); + expect(itemsWithoutDirectiveOn[0].nativeElement.className).toEqual('itemset itemset3'); + }); + + it('should add "data-sr-id" attribute to revealed items', () => { + expectRevealedSetItems(itemsWithDirectiveOn); + }); + +}); + +@Component({ + selector: 'test-cmp', + template: ` +
+
Item 11
+
Item 12
+
Item 13
+
Item 14
+
+
+
Item 21
+
Item 22
+
Item 23
+
Item 24
+
+
+
Item 31
+
Item 32
+
Item 33
+
Item 34
+
+
+
Item 41
+
Item 42
+
Item 43
+
Item 44
+
+
+
Item 51
+
Item 52
+
Item 53
+
Item 54
+
+ ` +}) +class TestComponent { + customConfig: NgsRevealConfig = { reset: true }; +} diff --git a/src/ngs-reveal-set.directive.ts b/src/directives/ngs-reveal-set.directive.ts similarity index 91% rename from src/ngs-reveal-set.directive.ts rename to src/directives/ngs-reveal-set.directive.ts index a26ec3c..210835d 100644 --- a/src/ngs-reveal-set.directive.ts +++ b/src/directives/ngs-reveal-set.directive.ts @@ -1,7 +1,7 @@ import { Directive, OnInit, OnChanges, SimpleChange, ElementRef, Input } from '@angular/core'; -import { NgsRevealConfig } from './ngs-reveal-config'; -import { NgsRevealService } from './ngs-reveal.service'; -import { AbstractNgsRevealDirective } from './ngs-reveal-common'; +import { NgsRevealConfig } from '../services/ngs-reveal-config'; +import { NgsRevealService } from '../services/ngs-reveal.service'; +import { AbstractNgsRevealDirective } from './ngs-reveal-common.directive'; /** @@ -9,7 +9,7 @@ import { AbstractNgsRevealDirective } from './ngs-reveal-common'; * This directive is meant to be placed on the parent node that contains the child elements to reveal. * You can optionally add the `[ngsInterval]` attribute to reveal items sequentially, following the given interval(in milliseconds). * You can optionally add the `[ngsSync]` attribute to reveal new child elements that may have been added in the parent node asynchronously. - * + * */ @Directive({ selector: '[ngsRevealSet]' @@ -17,7 +17,7 @@ import { AbstractNgsRevealDirective } from './ngs-reveal-common'; export class NgsRevealSetDirective extends AbstractNgsRevealDirective implements OnInit, OnChanges { /** - * Custom configuration to use when revealing this set of elements + * Custom configuration to use when revealing this set of elements */ @Input('ngsRevealSet') set _config(value: string | NgsRevealConfig) { diff --git a/src/ngs-reveal.directive.spec.ts b/src/directives/ngs-reveal.directive.spec.ts similarity index 90% rename from src/ngs-reveal.directive.spec.ts rename to src/directives/ngs-reveal.directive.spec.ts index acb142e..15626e9 100644 --- a/src/ngs-reveal.directive.spec.ts +++ b/src/directives/ngs-reveal.directive.spec.ts @@ -3,11 +3,11 @@ import { DebugElement, Component } from '@angular/core'; import { By } from '@angular/platform-browser'; import { TestBed, ComponentFixture, inject } from '@angular/core/testing'; -import { NgsRevealModule } from './ngs-reveal.module'; -import { NgsRevealConfig } from './ngs-reveal-config'; -import { NgsRevealDirective } from './ngs-reveal.directive'; +import { NgsRevealModule } from '../ngs-reveal.module'; +import { NgsRevealConfig } from '../services/ngs-reveal-config'; +import { NgsRevealDirective } from '../directives/ngs-reveal.directive'; -import { not } from './test-helpers'; +import { not } from '../test-helpers'; let fixture: ComponentFixture; let itemsWithDirectiveOn: DebugElement[]; diff --git a/src/ngs-reveal.directive.ts b/src/directives/ngs-reveal.directive.ts similarity index 79% rename from src/ngs-reveal.directive.ts rename to src/directives/ngs-reveal.directive.ts index ecac547..1724021 100644 --- a/src/ngs-reveal.directive.ts +++ b/src/directives/ngs-reveal.directive.ts @@ -1,7 +1,7 @@ import { Directive, HostBinding, OnInit, ElementRef, Input } from '@angular/core'; -import { NgsRevealConfig } from './ngs-reveal-config'; -import { NgsRevealService } from './ngs-reveal.service'; -import { AbstractNgsRevealDirective } from './ngs-reveal-common'; +import { NgsRevealConfig } from '../services/ngs-reveal-config'; +import { NgsRevealService } from '../services/ngs-reveal.service'; +import { AbstractNgsRevealDirective } from './ngs-reveal-common.directive'; /** * Directive to add 'ScrollReveal' functionality to a single DOM element in the page. diff --git a/src/ngs-reveal-set.directive.spec.ts b/src/ngs-reveal-set.directive.spec.ts deleted file mode 100644 index 2aab61d..0000000 --- a/src/ngs-reveal-set.directive.spec.ts +++ /dev/null @@ -1,97 +0,0 @@ -/* tslint:disable:no-unused-variable */ -import { DebugElement,Component } from '@angular/core'; -import { By } from '@angular/platform-browser'; -import { TestBed, ComponentFixture, inject } from '@angular/core/testing'; - -import { NgsRevealModule } from './ngs-reveal.module'; -import { NgsRevealConfig } from './ngs-reveal-config'; -import { NgsRevealSetDirective } from './ngs-reveal-set.directive'; - -import { not, and } from './test-helpers'; - -let fixture: ComponentFixture; -let itemsWithDirectiveOn: DebugElement[]; -let itemsWithoutDirectiveOn: DebugElement[]; - -function expectRevealedSetItems(itemSets: DebugElement[]) { - - - itemSets.map(itemSet => { - let items = itemSet.queryAll(By.css('.item')); - items.map(item => { - let dataSrIdAttr: string = item.nativeElement.getAttribute('data-sr-id'); - expect(dataSrIdAttr && +dataSrIdAttr > 0).toBe(true, 'revealed item must have "data-sr-id" attribute with > 0 value'); - }); - }); - -} - -describe('Directive: NgsRevealSetDirective', () => { - - beforeEach(() => { - fixture = TestBed.configureTestingModule({ - imports: [NgsRevealModule.forRoot()], - declarations: [TestComponent] - }) - .createComponent(TestComponent); - fixture.detectChanges(); // initial binding - // all elements with an attached NgsRevealSetDirective - itemsWithDirectiveOn = fixture.debugElement.queryAll(By.directive(NgsRevealSetDirective)); - // the item sets without the NgsRevealSetDirective - itemsWithoutDirectiveOn = fixture.debugElement.queryAll(and(By.css('.itemset'), not(By.directive(NgsRevealSetDirective)))); - }); - - - it('should have 4 items with the directive', () => { - expect(itemsWithDirectiveOn.length).toBe(4); - }); - - it('should have 1 item without the directive', () => { - expect(itemsWithoutDirectiveOn.length).toBe(1); - expect(itemsWithoutDirectiveOn[0].nativeElement.className).toEqual('itemset itemset3'); - }); - - it('should add "data-sr-id" attribute to revealed items', () => { - expectRevealedSetItems(itemsWithDirectiveOn); - }); - -}); - -@Component({ - selector: 'test-cmp', - template: ` -
-
Item 11
-
Item 12
-
Item 13
-
Item 14
-
-
-
Item 21
-
Item 22
-
Item 23
-
Item 24
-
-
-
Item 31
-
Item 32
-
Item 33
-
Item 34
-
-
-
Item 41
-
Item 42
-
Item 43
-
Item 44
-
-
-
Item 51
-
Item 52
-
Item 53
-
Item 54
-
- ` -}) -class TestComponent { - customConfig: NgsRevealConfig = { reset: true }; -} diff --git a/src/ngs-reveal.module.ts b/src/ngs-reveal.module.ts index 3b716ab..25adbc9 100644 --- a/src/ngs-reveal.module.ts +++ b/src/ngs-reveal.module.ts @@ -1,26 +1,28 @@ -import { NgsRevealConfig } from './ngs-reveal-config'; -import { NgsRevealService } from './ngs-reveal.service'; import { NgModule, ModuleWithProviders } from '@angular/core'; -import { NgsRevealDirective } from './ngs-reveal.directive'; -import { NgsRevealSetDirective } from './ngs-reveal-set.directive'; import { CommonModule } from '@angular/common'; +import { WindowService, NgsRevealService, NgsRevealConfig } from './services/index'; +import { NgsRevealDirective, NgsRevealSetDirective } from './directives/index'; -export const NGS_REVEAL_DIRECTIVES = [NgsRevealDirective, NgsRevealSetDirective]; +export { WindowService, NgsRevealService, NgsRevealConfig } from './services/index'; -export { NgsRevealConfig } from './ngs-reveal-config'; +export { NgsRevealDirective, NgsRevealSetDirective } from './directives/index'; +/** + * Main module of the library + */ @NgModule({ imports: [ CommonModule ], - exports: [NGS_REVEAL_DIRECTIVES], - declarations: [NGS_REVEAL_DIRECTIVES] + exports: [NgsRevealDirective, NgsRevealSetDirective], + declarations: [NgsRevealDirective, NgsRevealSetDirective] }) export class NgsRevealModule { + static forRoot(): ModuleWithProviders { return { ngModule: NgsRevealModule, - providers: [NgsRevealConfig, NgsRevealService] + providers: [WindowService, NgsRevealService, NgsRevealConfig] }; } } diff --git a/src/services/index.ts b/src/services/index.ts new file mode 100644 index 0000000..4d31cfc --- /dev/null +++ b/src/services/index.ts @@ -0,0 +1,3 @@ +export * from './ngs-reveal.service'; +export * from './ngs-reveal-config'; +export * from './window.service'; diff --git a/src/ngs-reveal-config.spec.ts b/src/services/ngs-reveal-config.spec.ts similarity index 100% rename from src/ngs-reveal-config.spec.ts rename to src/services/ngs-reveal-config.spec.ts diff --git a/src/ngs-reveal-config.ts b/src/services/ngs-reveal-config.ts similarity index 100% rename from src/ngs-reveal-config.ts rename to src/services/ngs-reveal-config.ts diff --git a/src/ngs-reveal.service.spec.ts b/src/services/ngs-reveal.service.spec.ts similarity index 80% rename from src/ngs-reveal.service.spec.ts rename to src/services/ngs-reveal.service.spec.ts index 4c290db..696856d 100644 --- a/src/ngs-reveal.service.spec.ts +++ b/src/services/ngs-reveal.service.spec.ts @@ -3,11 +3,12 @@ import { TestBed, async, inject } from '@angular/core/testing'; import { NgsRevealService } from './ngs-reveal.service'; import { NgsRevealConfig } from './ngs-reveal-config'; +import { WindowService } from './window.service'; describe('Service: NgsReveal', () => { beforeEach(() => { TestBed.configureTestingModule({ - providers: [NgsRevealConfig, NgsRevealService] + providers: [NgsRevealConfig, NgsRevealService, WindowService] }); }); diff --git a/src/ngs-reveal.service.ts b/src/services/ngs-reveal.service.ts similarity index 56% rename from src/ngs-reveal.service.ts rename to src/services/ngs-reveal.service.ts index 949a027..25caa87 100644 --- a/src/ngs-reveal.service.ts +++ b/src/services/ngs-reveal.service.ts @@ -1,21 +1,39 @@ import { Injectable, ElementRef } from '@angular/core'; import { NgsRevealConfig } from './ngs-reveal-config'; +import { WindowService } from './window.service'; + + +/** + * Marker interface to indicate that an object (typically `window`) has `scrollreveal` property. + */ +export interface NgsHasScrollreveal { + scrollReveal: scrollReveal.ScrollRevealObject; +} /** - * Service to inject in directives to use ScrollReveal JS. - * It delegates the work to SR, when DOM manipulation is possible (i.e app is not running in a web worker for e.g). + * Service to inject in directives to use ScrollReveal JS. + * It delegates the work to SR, when DOM manipulation is possible (i.e app is not running in a web worker for e.g). * If not possible, most methods simply do nothing, as DOM elements are not available anyway. */ @Injectable() export class NgsRevealService { // the Magic Maker ! + // this objet is added to window scope when linking the scrollreveal.js library private sr: scrollReveal.ScrollRevealObject; - constructor(config: NgsRevealConfig) { - // init the scrollReveal library with injected config - let srConfig: scrollReveal.ScrollRevealObjectOptions = Object.assign({}, config || {}); - this.sr = ScrollReveal(srConfig); + // Window Object + private window: Window & NgsHasScrollreveal; + + + constructor(private config: NgsRevealConfig, private windowService: WindowService) { + this.window = windowService.nativeWindow; + + if (this.window) {// universal support + // init the scrollReveal library with injected config + let srConfig: scrollReveal.ScrollRevealObjectOptions = Object.assign({}, config || {}); + this.sr = ScrollReveal(srConfig); + } } /** @@ -24,7 +42,10 @@ export class NgsRevealService { * @param config (optional) custom configuration to use when revealing this element */ reveal(elementRef: ElementRef, config?: NgsRevealConfig): scrollReveal.ScrollRevealObject { - return elementRef.nativeElement ? // can be null, if app is running in a web worker for i.e + if (!this.window) {// universal support + return null; + } + return elementRef.nativeElement ? // can be null, if app is running in a web worker for i.e this.sr.reveal(elementRef.nativeElement, config) : this.sr; } @@ -36,17 +57,20 @@ export class NgsRevealService { * @param config (optional) custom configuration to use when revealing this set of elements */ revealSet(parentElementRef: ElementRef, selector: string, interval?: number, config?: NgsRevealConfig): scrollReveal.ScrollRevealObject { - if (parentElementRef.nativeElement) {// can be null, if app is running in a web worker for i.e - return this.sr.reveal(selector, config, interval); + if (!this.window) {// universal support + return null; } - return this.sr; + return parentElementRef.nativeElement ? // can be null, if app is running in a web worker for i.e + this.sr.reveal(selector, config, interval) : this.sr; } /** * Method to synchronize and consider newly added child elements (for e.g when child elements were added asynchronously to parent DOM) . */ sync(): void { - this.sr.sync(); + if (this.window) {// universal support + this.sr.sync(); + } } } diff --git a/src/services/window.service.spec.ts b/src/services/window.service.spec.ts new file mode 100644 index 0000000..23a6248 --- /dev/null +++ b/src/services/window.service.spec.ts @@ -0,0 +1,30 @@ +/* tslint:disable:no-unused-variable */ + +import { TestBed, async, inject } from '@angular/core/testing'; +import { WindowService } from './window.service'; + +describe('Service: Window, Angular Tests', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [WindowService] + }); + }); + + it('should inject the service instance...', inject([WindowService], (service: WindowService) => { + expect(service).toBeTruthy(); + expect(service.nativeWindow).toBeDefined(); + expect(service.nativeWindow).toBe(window); + })); +}); + +describe('Service: Window, Isolated Tests', () => { + + let service: WindowService; + + beforeEach(() => { service = new WindowService(); }); + + it('nativeWindow should be defined and equaled to "window" object', () => { + expect(service.nativeWindow).toBeDefined(); + expect(service.nativeWindow).toBe(window); + }); +}); diff --git a/src/services/window.service.ts b/src/services/window.service.ts new file mode 100644 index 0000000..ecf83d1 --- /dev/null +++ b/src/services/window.service.ts @@ -0,0 +1,17 @@ +import { Injectable } from '@angular/core'; + +/** + * Service to interact with the window object. + */ +@Injectable() +export class WindowService { + + get nativeWindow(): any { + return _window(); + } +} + +function _window(): any { + // Return the global native browser window object + return typeof window !== 'undefined' ? window : undefined; +} diff --git a/src/test-helpers.ts b/src/test-helpers.ts index 5d97caf..3abfac5 100644 --- a/src/test-helpers.ts +++ b/src/test-helpers.ts @@ -3,14 +3,14 @@ import { Predicate } from '@angular/core/src/facade/collection'; export function not(predicate: Predicate): Predicate { - return function () { - return !predicate.apply(this, arguments); - }; + return function () { + return !predicate.apply(this, arguments); + }; } export function and(predicate1: Predicate, predicate2: Predicate): Predicate { - return function () { - return predicate1.apply(this, arguments) && predicate2.apply(this, arguments); - }; + return function () { + return predicate1.apply(this, arguments) && predicate2.apply(this, arguments); + }; } diff --git a/src/tsconfig.lib.json b/src/tsconfig.lib.json new file mode 100644 index 0000000..25cdd1c --- /dev/null +++ b/src/tsconfig.lib.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "es2015", + "moduleResolution": "node", + "sourceMap": true, + "inlineSources": true, + "declaration": true, + "experimentalDecorators": true, + "noImplicitAny": true, + "suppressImplicitAnyIndexErrors": true, + "rootDir": "./", + "baseUrl": "", + "skipLibCheck": true, + "stripInternal": true, + "outDir": "../tmp/lib-es5/", + "lib": [ + "es2015", + "dom" + ] + }, + "files": [ + "./index.ts" + ], + + "angularCompilerOptions": { + "strictMetadataEmit": true, + "skipTemplateCodegen": true, + "genDir": "../tmp/lib-gen-dir/" + } +} diff --git a/src/tsconfig.spec.json b/src/tsconfig.spec.json new file mode 100644 index 0000000..ff625ec --- /dev/null +++ b/src/tsconfig.spec.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "commonjs", + "moduleResolution": "node", + "sourceMap": true, + "inlineSources": true, + "declaration": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "noImplicitAny": true, + "suppressImplicitAnyIndexErrors": true, + "rootDir": "./", + "baseUrl": "", + "skipLibCheck": true, + "stripInternal": true, + "lib": [ + "es2015", + "dom" + ], + "typeRoots": [ + "../node_modules/@types" + ] + }, + "awesomeTypescriptLoaderOptions": { + "useWebpackText": true + } +} diff --git a/tsconfig-aot.json b/tsconfig-aot.json deleted file mode 100644 index 65ab078..0000000 --- a/tsconfig-aot.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "module": "es6", - "lib": [ - "es6", - "dom" - ], - "moduleResolution": "node", - "declaration": true, - "experimentalDecorators": true, - "baseUrl": ".", - "stripInternal": true, - "outDir": "./dist", - "rootDir": "./src", - "sourceMap": true, - "inlineSources": true, - "skipLibCheck": true, - "typeRoots": [ - "node_modules/@types" - ] - }, - "files": [ - "./src/index.ts" - ], - "exclude": [ - "node_modules", - "dist", - "demo", - "config", - "coverage", - "src/**/*.spec.ts" - ], - "angularCompilerOptions": { - "strictMetadataEmit": true, - "skipTemplateCodegen": true - } -} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index d538471..dd3d06d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,36 +1,19 @@ { "compilerOptions": { "target": "es5", - "module": "commonjs", - "lib": [ - "es6", - "dom" - ], + "module": "es2015", "moduleResolution": "node", + "sourceMap": true, + "inlineSources": true, "declaration": true, - "emitDecoratorMetadata": true, - "noImplicitAny": false, "experimentalDecorators": true, - "outDir": "./dist", - "rootDir": "./src", - "sourceMap": true, - "noEmitOnError": false, - "typeRoots": [ - "node_modules/@types" + "noImplicitAny": true, + "suppressImplicitAnyIndexErrors": true, + "skipLibCheck": true, + "stripInternal": true, + "lib": [ + "es2015", + "dom" ] - }, - "include": [ - "src/**/*.ts" - ], - "exclude": [ - "node_modules", - "dist", - "demo", - "coverage", - "config", - "src/**/*.spec.ts" - ], - "awesomeTypescriptLoaderOptions": { - "useWebpackText": true } } diff --git a/yarn.lock b/yarn.lock index c79235f..25d891f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -43,44 +43,54 @@ dependencies: tsickle "^0.1.7" -"@compodoc/compodoc@1.0.0-beta.9": - version "1.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@compodoc/compodoc/-/compodoc-1.0.0-beta.9.tgz#b1ae94d6263c6f5d04442b068c970e7c20943a9a" +"@compodoc/compodoc@^1.0.0-beta.11": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@compodoc/compodoc/-/compodoc-1.0.1.tgz#6f2706ce3dc524ce6612fffbd9b557c41c74d88a" dependencies: - "@compodoc/ngd-core" "^2.0.0-alpha.1" - "@compodoc/ngd-transformer" "^2.0.0-alpha.3" - cheerio "^0.22.0" + "@compodoc/ngd-transformer" "^2.0.0-alpha.4" + cheerio "^1.0.0-rc.2" chokidar "^1.7.0" colors "^1.1.2" - commander "^2.9.0" - fs-extra "^3.0.1" - glob "^7.1.1" + commander "2.11.0" + findit "^2.0.0" + fs-extra "^4.0.1" + glob "^7.1.2" gulp-util "^3.0.8" - handlebars "^4.0.8" + handlebars "^4.0.10" html-entities "^1.2.1" - live-server "^1.2.0" + json5 "^0.5.1" + live-server "1.1.0" lodash "^4.17.3" - lunr "^1.0.0" + lunr "1.0.0" marked "^0.3.6" os-name "^2.0.1" - shelljs "^0.7.7" - typescript "2.3.2" + shelljs "^0.7.8" + typescript "2.5.2" -"@compodoc/ngd-core@2.0.0-alpha.1", "@compodoc/ngd-core@^2.0.0-alpha.1": - version "2.0.0-alpha.1" - resolved "https://registry.yarnpkg.com/@compodoc/ngd-core/-/ngd-core-2.0.0-alpha.1.tgz#2f4f9df10ccf24c208e2babaae0b438cb72fdb77" +"@compodoc/gulp-compodoc@0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@compodoc/gulp-compodoc/-/gulp-compodoc-0.0.7.tgz#ea9b0c2fad806cb946d4684f7a76f9327d32f04b" dependencies: + "@compodoc/compodoc" "^1.0.0-beta.11" + event-stream "^3.3.4" gulp-util "^3.0.7" + through2 "^2.0.1" -"@compodoc/ngd-transformer@^2.0.0-alpha.3": +"@compodoc/ngd-core@2.0.0-alpha.3": version "2.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@compodoc/ngd-transformer/-/ngd-transformer-2.0.0-alpha.3.tgz#87f6e3f4169ae1b2f8ef6e5ad960062bbdfca98f" + resolved "https://registry.yarnpkg.com/@compodoc/ngd-core/-/ngd-core-2.0.0-alpha.3.tgz#5fc28fe6b5dd13b176fdd6c8aff59692b5065745" dependencies: - "@compodoc/ngd-core" "2.0.0-alpha.1" + gulp-util "^3.0.8" + typescript "^2.4.2" + +"@compodoc/ngd-transformer@^2.0.0-alpha.4": + version "2.0.0-alpha.5" + resolved "https://registry.yarnpkg.com/@compodoc/ngd-transformer/-/ngd-transformer-2.0.0-alpha.5.tgz#f7cb05a1df81b36e79209c61bc7026b5361d99f6" + dependencies: + "@compodoc/ngd-core" "2.0.0-alpha.3" dot "^1.1.1" - fs-extra "^2.0.0" - q "^1.4.1" - viz.js "^1.6.0" + fs-extra "^4.0.1" + viz.js "^1.8.0" "@types/jasmine@2.5.41": version "2.5.41" @@ -90,6 +100,10 @@ version "6.0.58" resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.58.tgz#7b3b7065f3cdf24e2349d35b68d2795cfa874553" +"@types/node@^6.0.46": + version "6.0.88" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.88.tgz#f618f11a944f6a18d92b5c472028728a3e3d4b66" + "@types/scrollreveal@0.0.2": version "0.0.2" resolved "https://registry.yarnpkg.com/@types/scrollreveal/-/scrollreveal-0.0.2.tgz#7ab40da52442d1d4e417537f70ef5a7ee5e2bad9" @@ -105,14 +119,7 @@ abbrev@1, abbrev@1.0.x: version "1.0.9" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" -accepts@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.1.4.tgz#d71c96f7d41d0feda2c38cd14e8a27c04158df4a" - dependencies: - mime-types "~2.0.4" - negotiator "0.4.9" - -accepts@~1.3.3: +accepts@1.3.3, accepts@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" dependencies: @@ -125,29 +132,46 @@ acorn-dynamic-import@^2.0.0: dependencies: acorn "^4.0.3" -acorn@^4.0.3, acorn@^4.0.4: +acorn@^4.0.1: + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + +acorn@^4.0.3: version "4.0.11" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" +acorn@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.2.tgz#911cb53e036807cf0fa778dc5d370fbd864246d7" + add-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" -after@0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627" +after@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" -ajv-keywords@^1.1.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" +ajv-keywords@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.0.tgz#a296e17f7bfae7c1ce4f7e0de53d29cb32162df0" -ajv@^4.7.0, ajv@^4.9.1: +ajv@^4.9.1: version "4.11.5" resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.5.tgz#b6ee74657b993a01dce44b7944d56f485828d5bd" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" +ajv@^5.1.5: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.2.tgz#47c68d69e86f5d953103b0074a9430dc63da5e39" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + json-schema-traverse "^0.3.0" + json-stable-stringify "^1.0.1" + align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -156,21 +180,29 @@ align-text@^0.1.1, align-text@^0.1.3: longest "^1.0.1" repeat-string "^1.5.2" +ambi@^2.2.0, ambi@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/ambi/-/ambi-2.5.0.tgz#7c8e372be48891157e7cea01cb6f9143d1f74220" + dependencies: + editions "^1.1.1" + typechecker "^4.3.0" + amdefine@>=0.0.4, amdefine@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" -angular-cli-ghpages@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/angular-cli-ghpages/-/angular-cli-ghpages-0.5.0.tgz#5166e6eb61c1380707e512c7912f991437750c99" +angular-cli-ghpages@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/angular-cli-ghpages/-/angular-cli-ghpages-0.5.1.tgz#acaeb9932bc6b29b5a34c7a885bfacd74c4d5524" dependencies: - commander "~2.9.0" - denodeify "~1.2.1" - gh-pages "~0.12.0" + commander "2.9.0" + denodeify "1.2.1" + fs-extra "3.0.1" + gh-pages "0.12.0" -angular2-template-loader@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/angular2-template-loader/-/angular2-template-loader-0.6.0.tgz#8a7fae4cf5a2494968da512aa43152a82a0c99b6" +angular2-template-loader@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/angular2-template-loader/-/angular2-template-loader-0.6.2.tgz#c0d44e90fff0fac95e8b23f043acda7fd1c51d7c" dependencies: loader-utils "^0.2.15" @@ -180,6 +212,10 @@ ansi-cyan@^0.1.1: dependencies: ansi-wrap "0.1.0" +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + ansi-red@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" @@ -194,6 +230,10 @@ ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + ansi-styles@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" @@ -221,15 +261,15 @@ anymatch@^1.3.0: arrify "^1.0.0" micromatch "^2.1.5" -apache-crypt@^1.1.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/apache-crypt/-/apache-crypt-1.2.1.tgz#d6fc72aa6d27d99c95a94fd188d731eefffa663c" +apache-crypt@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/apache-crypt/-/apache-crypt-1.1.2.tgz#820782a33bb6a5fd2712082f0ed3a24e3c9b0214" dependencies: unix-crypt-td-js "^1.0.0" -apache-md5@^1.0.6: - version "1.1.2" - resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.1.2.tgz#ee49736b639b4f108b6e9e626c6da99306b41692" +apache-md5@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.0.6.tgz#470239d40c54e7c32dd9d6eb11bc3578ecc903c2" aproba@^1.0.3: version "1.1.1" @@ -285,6 +325,10 @@ array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" +array-flatten@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" + array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" @@ -349,7 +393,13 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async@1.x, async@^1.4.0, async@^1.5.0, async@^1.5.2: +async@*, async@^2.0.0-rc.5: + version "2.5.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" + dependencies: + lodash "^4.14.0" + +async@1.x, async@^1.4.0, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -373,16 +423,21 @@ asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" -awesome-typescript-loader@3.0.0-beta.18: - version "3.0.0-beta.18" - resolved "https://registry.yarnpkg.com/awesome-typescript-loader/-/awesome-typescript-loader-3.0.0-beta.18.tgz#7a72b1cca9a2dca59794ab2a4133f779a3a221e7" +atob@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d" + +awesome-typescript-loader@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/awesome-typescript-loader/-/awesome-typescript-loader-3.0.5.tgz#b7c6cb518fe0d0461e0b9151c3265895d32ae485" dependencies: colors "^1.1.2" - enhanced-resolve "^2.3.0" - loader-utils "^0.2.16" - lodash "^4.13.1" - object-assign "^4.1.0" - source-map-support "^0.4.0" + enhanced-resolve "^3.1.0" + loader-utils "^1.0.2" + lodash "^4.17.4" + mkdirp "^0.5.1" + object-assign "^4.1.1" + source-map-support "^0.4.11" aws-sign2@~0.6.0: version "0.6.0" @@ -471,17 +526,21 @@ balanced-match@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" -base64-arraybuffer@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz#474df4a9f2da24e05df3158c3b1db3c3cd46a154" +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-arraybuffer@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" base64-js@^1.0.2: version "1.2.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" -base64id@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f" +base64id@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" basic-auth@~1.1.0: version "1.1.0" @@ -497,18 +556,10 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -bcryptjs@^2.3.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" - beeper@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" -benchmark@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-1.0.0.tgz#2f1e2fa4c359f11122aa183082218e957e390c73" - better-assert@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" @@ -523,6 +574,13 @@ binary-extensions@^1.0.0: version "1.8.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" +binary@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" + dependencies: + buffers "~0.1.1" + chainsaw "~0.1.0" + binaryextensions@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-1.0.1.tgz#1e637488b35b58bda5f4774bf96a5212a8c90755" @@ -551,21 +609,32 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.6" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" -body-parser@^1.12.4: - version "1.17.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.2.tgz#f8892abc8f9e627d42aedafbca66bf5ab99104ee" +body-parser@^1.16.1: + version "1.18.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" dependencies: - bytes "2.4.0" - content-type "~1.0.2" - debug "2.6.7" - depd "~1.1.0" - http-errors "~1.6.1" - iconv-lite "0.4.15" + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.1" + http-errors "~1.6.2" + iconv-lite "0.4.19" on-finished "~2.3.0" - qs "6.4.0" - raw-body "~2.2.0" + qs "6.5.1" + raw-body "2.3.2" type-is "~1.6.15" +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -583,6 +652,13 @@ brace-expansion@^1.0.0: balanced-match "^0.4.1" concat-map "0.0.1" +brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + braces@^0.1.2: version "0.1.5" resolved "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6" @@ -662,6 +738,10 @@ buffer-indexof-polyfill@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz#a9fb806ce8145d5428510ce72f278bb363a638bf" +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + buffer-shims@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" @@ -678,6 +758,10 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" +buffers@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + buffertools@^2.0.0: version "2.1.6" resolved "https://registry.yarnpkg.com/buffertools/-/buffertools-2.1.6.tgz#30c19b085636b88df692aeefeea0ff156780e916" @@ -690,7 +774,7 @@ builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" -bump-regex@^2.5.0: +bump-regex@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/bump-regex/-/bump-regex-2.7.0.tgz#4a21e2537113476c026be588b8a7dddef1934641" dependencies: @@ -701,11 +785,11 @@ bytes@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070" -bytes@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" -callsite@1.0.0: +callsite@1.0.0, callsite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" @@ -735,6 +819,10 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + caseless@^0.12.0, caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -750,7 +838,13 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@*, chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1: +chainsaw@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" + dependencies: + traverse ">=0.3.0 <0.4" + +chalk@*, chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -770,7 +864,7 @@ chalk@^0.5.0: strip-ansi "^0.3.0" supports-color "^0.2.0" -cheerio@^0.22.0: +cheerio@*: version "0.22.0" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" dependencies: @@ -791,7 +885,18 @@ cheerio@^0.22.0: lodash.reject "^4.4.0" lodash.some "^4.4.0" -chokidar@^1.4.1, chokidar@^1.4.3, chokidar@^1.6.0, chokidar@^1.7.0: +cheerio@^1.0.0-rc.2: + version "1.0.0-rc.2" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db" + dependencies: + css-select "~1.2.0" + dom-serializer "~0.1.0" + entities "~1.1.1" + htmlparser2 "^3.9.1" + lodash "^4.15.0" + parse5 "^3.0.1" + +chokidar@^1.4.1, chokidar@^1.6.0, chokidar@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: @@ -834,18 +939,38 @@ cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + clone-stats@^0.0.1, clone-stats@~0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + clone@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" -clone@^1.0.0, clone@^1.0.2: +clone@^1.0.0, clone@^1.0.2, clone@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" +clone@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" + +cloneable-readable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.0.0.tgz#a6290d413f217a61232f95e458ff38418cfb0117" + dependencies: + inherits "^2.0.1" + process-nextick-args "^1.0.6" + through2 "^2.0.1" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -864,6 +989,10 @@ coffee-script@1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.9.0.tgz#7492cbbc3f0361cc5d8865aff7237552ff33e1f7" +coffee-script@^1.12.5: + version "1.12.7" + resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.12.7.tgz#c05dae0cb79591d05b3070a8433a98c9a89ccc53" + collections@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/collections/-/collections-0.2.2.tgz#1f23026b2ef36f927eecc901e99c5f0d48fa334e" @@ -886,7 +1015,11 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2.9.0, commander@2.9.x, commander@^2.9.0, commander@~2.9.0: +commander@2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + +commander@2.9.0, commander@2.9.x, commander@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -907,9 +1040,9 @@ component-emitter@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" -component-emitter@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.0.tgz#ccd113a86388d06482d03de3fc7df98526ba8efe" +component-emitter@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" component-inherit@0.0.3: version "0.0.3" @@ -948,23 +1081,23 @@ connect-history-api-fallback@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169" -connect@3.5.x: - version "3.5.1" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.5.1.tgz#6d30d7a63c7f170857a6b3aa6b363d973dca588e" +connect@3.4.x: + version "3.4.1" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.4.1.tgz#a21361d3f4099ef761cda6dc4a973bb1ebb0a34d" dependencies: debug "~2.2.0" - finalhandler "0.5.1" + finalhandler "0.4.1" parseurl "~1.3.1" utils-merge "1.0.0" -connect@^3.3.5: - version "3.6.2" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.2.tgz#694e8d20681bfe490282c8ab886be98f09f42fe7" +connect@^3.6.0: + version "3.6.5" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.5.tgz#fb8dde7ba0763877d0ec9df9dac0b4b40e72c7da" dependencies: - debug "2.6.7" - finalhandler "1.0.3" - parseurl "~1.3.1" - utils-merge "1.0.0" + debug "2.6.9" + finalhandler "1.0.6" + parseurl "~1.3.2" + utils-merge "1.0.1" console-browserify@^1.1.0: version "1.1.0" @@ -988,6 +1121,10 @@ content-type@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + conventional-changelog-angular@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.3.4.tgz#7d7cdfbd358948312904d02229a61fd6075cf455" @@ -996,18 +1133,37 @@ conventional-changelog-angular@^1.3.4: github-url-from-git "^1.4.0" q "^1.4.1" +conventional-changelog-angular@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.5.0.tgz#50b2d45008448455fdf67e06ea01972fbd08182a" + dependencies: + compare-func "^1.3.1" + q "^1.4.1" + conventional-changelog-atom@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.1.0.tgz#67a47c66a42b2f8909ef1587c9989ae1de730b92" dependencies: q "^1.4.1" +conventional-changelog-atom@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.1.1.tgz#d40a9b297961b53c745e5d1718fd1a3379f6a92f" + dependencies: + q "^1.4.1" + conventional-changelog-codemirror@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.1.0.tgz#7577a591dbf9b538e7a150a7ee62f65a2872b334" dependencies: q "^1.4.1" +conventional-changelog-codemirror@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.2.0.tgz#3cc925955f3b14402827b15168049821972d9459" + dependencies: + q "^1.4.1" + conventional-changelog-core@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.9.0.tgz#de5dfbc091847656508d4a389e35c9a1bc49e7f4" @@ -1026,24 +1182,60 @@ conventional-changelog-core@^1.9.0: read-pkg-up "^1.0.1" through2 "^2.0.0" +conventional-changelog-core@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.9.1.tgz#ddf767c405850dfc8df31726c80fa1a6a10bdc7b" + dependencies: + conventional-changelog-writer "^2.0.1" + conventional-commits-parser "^2.0.0" + dateformat "^1.0.12" + get-pkg-repo "^1.0.0" + git-raw-commits "^1.2.0" + git-remote-origin-url "^2.0.0" + git-semver-tags "^1.2.1" + lodash "^4.0.0" + normalize-package-data "^2.3.5" + q "^1.4.1" + read-pkg "^1.1.0" + read-pkg-up "^1.0.1" + through2 "^2.0.0" + conventional-changelog-ember@^0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.2.6.tgz#8b7355419f5127493c4c562473ab2fc792f1c2b6" dependencies: q "^1.4.1" +conventional-changelog-ember@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.2.7.tgz#c6aff35976284e7222649f81c62bd96ff3217bd2" + dependencies: + q "^1.4.1" + conventional-changelog-eslint@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.1.0.tgz#a52411e999e0501ce500b856b0a643d0330907e2" dependencies: q "^1.4.1" +conventional-changelog-eslint@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.2.0.tgz#b4b9b5dc09417844d87c7bcfb16bdcc686c4b1c1" + dependencies: + q "^1.4.1" + conventional-changelog-express@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.1.0.tgz#55c6c841c811962036c037bdbd964a54ae310fce" dependencies: q "^1.4.1" +conventional-changelog-express@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.2.0.tgz#8d666ad41b10ebf964a4602062ddd2e00deb518d" + dependencies: + q "^1.4.1" + conventional-changelog-jquery@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" @@ -1063,6 +1255,13 @@ conventional-changelog-jshint@^0.1.0: compare-func "^1.3.1" q "^1.4.1" +conventional-changelog-jshint@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.2.0.tgz#63ad7aec66cd1ae559bafe80348c4657a6eb1872" + dependencies: + compare-func "^1.3.1" + q "^1.4.1" + conventional-changelog-writer@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-1.4.1.tgz#3f4cb4d003ebb56989d30d345893b52a43639c8e" @@ -1078,6 +1277,21 @@ conventional-changelog-writer@^1.1.0: split "^1.0.0" through2 "^2.0.0" +conventional-changelog-writer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-2.0.1.tgz#47c10d0faba526b78d194389d1e931d09ee62372" + dependencies: + compare-func "^1.3.1" + conventional-commits-filter "^1.0.0" + dateformat "^1.0.11" + handlebars "^4.0.2" + json-stringify-safe "^5.0.1" + lodash "^4.0.0" + meow "^3.3.0" + semver "^5.0.1" + split "^1.0.0" + through2 "^2.0.0" + conventional-changelog@^1.1.0: version "1.1.4" resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.4.tgz#108bc750c2a317e200e2f9b413caaa1f8c7efa3b" @@ -1093,6 +1307,21 @@ conventional-changelog@^1.1.0: conventional-changelog-jscs "^0.1.0" conventional-changelog-jshint "^0.1.0" +conventional-changelog@^1.1.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.5.tgz#4c46fb64b2986cab19888d8c4b87ca7c0e431bfd" + dependencies: + conventional-changelog-angular "^1.5.0" + conventional-changelog-atom "^0.1.1" + conventional-changelog-codemirror "^0.2.0" + conventional-changelog-core "^1.9.1" + conventional-changelog-ember "^0.2.7" + conventional-changelog-eslint "^0.2.0" + conventional-changelog-express "^0.2.0" + conventional-changelog-jquery "^0.1.0" + conventional-changelog-jscs "^0.1.0" + conventional-changelog-jshint "^0.2.0" + conventional-commits-filter@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz#6fc2a659372bc3f2339cf9ffff7e1b0344b93039" @@ -1112,9 +1341,21 @@ conventional-commits-parser@^1.0.0: through2 "^2.0.0" trim-off-newlines "^1.0.0" -conventional-github-releaser@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/conventional-github-releaser/-/conventional-github-releaser-1.1.3.tgz#e12720aafc6fd680613d096d341e332d64d44e1b" +conventional-commits-parser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.0.0.tgz#71d01910cb0a99aeb20c144e50f81f4df3178447" + dependencies: + JSONStream "^1.0.4" + is-text-path "^1.0.0" + lodash "^4.2.1" + meow "^3.3.0" + split2 "^2.0.0" + through2 "^2.0.0" + trim-off-newlines "^1.0.0" + +conventional-github-releaser@1.1.12: + version "1.1.12" + resolved "https://registry.yarnpkg.com/conventional-github-releaser/-/conventional-github-releaser-1.1.12.tgz#064db4b5508bacd572ba303be3f37786e4e6465e" dependencies: conventional-changelog "^1.1.0" dateformat "^1.0.11" @@ -1125,6 +1366,7 @@ conventional-github-releaser@1.1.3: object-assign "^4.0.1" q "^1.4.1" semver "^5.0.1" + semver-regex "^1.0.0" through2 "^2.0.0" convert-source-map@^1.3.0: @@ -1187,6 +1429,14 @@ create-hmac@^1.1.0, create-hmac@^1.1.2: create-hash "^1.1.0" inherits "^2.0.1" +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + cryptiles@2.x.x: version "2.0.5" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" @@ -1208,6 +1458,12 @@ crypto-browserify@^3.11.0: public-encrypt "^4.0.0" randombytes "^2.0.0" +csextends@^1.0.3: + version "1.1.1" + resolved "https://registry.yarnpkg.com/csextends/-/csextends-1.1.1.tgz#cc53c1349faf7f0ae6cdf6f6c4a4d9156d3c4ec1" + dependencies: + coffee-script "^1.12.5" + cson-parser@1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/cson-parser/-/cson-parser-1.0.9.tgz#b79fc1b82a775743680f0effb8bfad31134dac74" @@ -1276,16 +1532,18 @@ dateformat@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" -debug@0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" - debug@2.2.0, debug@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: ms "0.7.1" +debug@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" + dependencies: + ms "0.7.2" + debug@2.6.1, debug@^2.0.0, debug@^2.2.0: version "2.6.1" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" @@ -1304,10 +1562,20 @@ debug@2.6.8: dependencies: ms "2.0.0" +debug@2.6.9, debug@^2.6.6: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" +deep-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + deep-extend@~0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" @@ -1334,6 +1602,17 @@ del@2.2.2: pinkie-promise "^2.0.0" rimraf "^2.2.8" +del@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.0.0" + rimraf "^2.2.8" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1342,7 +1621,7 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -denodeify@~1.2.1: +denodeify@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" @@ -1350,6 +1629,10 @@ depd@1.1.0, depd@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" +depd@1.1.1, depd@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + deprecated@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" @@ -1393,6 +1676,23 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + +dns-packet@^1.0.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.2.2.tgz#a8a26bec7646438963fc86e06f8f8b16d6c8bf7a" + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + dependencies: + buffer-indexof "^1.0.0" + dom-serialize@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" @@ -1454,12 +1754,23 @@ duplexer@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" +eachr@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/eachr/-/eachr-3.2.0.tgz#2c35e43ea086516f7997cf80b7aa64d55a4a4484" + dependencies: + editions "^1.1.1" + typechecker "^4.3.0" + ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" dependencies: jsbn "~0.1.0" +editions@^1.1.1, editions@^1.1.2, editions@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.3.tgz#0907101bdda20fac3cbe334c27cbd0688dc99a5b" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -1505,61 +1816,53 @@ end-of-stream@~0.1.5: dependencies: once "~1.3.0" -engine.io-client@1.6.9: - version "1.6.9" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.6.9.tgz#1d6ad48048a5083c95096943b29d36efdb212401" +engine.io-client@1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz#1798ed93451246453d4c6f635d7a201fe940d5ab" dependencies: - component-emitter "1.1.2" + component-emitter "1.2.1" component-inherit "0.0.3" - debug "2.2.0" - engine.io-parser "1.2.4" + debug "2.3.3" + engine.io-parser "1.3.2" has-cors "1.1.0" indexof "0.0.1" - parsejson "0.0.1" - parseqs "0.0.2" - parseuri "0.0.4" - ws "1.0.1" - xmlhttprequest-ssl "1.5.1" + parsejson "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + ws "1.1.2" + xmlhttprequest-ssl "1.5.3" yeast "0.1.2" -engine.io-parser@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.2.4.tgz#e0897b0bf14e792d4cd2a5950553919c56948c42" +engine.io-parser@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a" dependencies: - after "0.8.1" + after "0.8.2" arraybuffer.slice "0.0.6" - base64-arraybuffer "0.1.2" + base64-arraybuffer "0.1.5" blob "0.0.4" - has-binary "0.1.6" - utf8 "2.1.0" - -engine.io@1.6.10: - version "1.6.10" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.6.10.tgz#f87d84e1bd21d1a2ec7f8deef0c62054acdfb27a" - dependencies: - accepts "1.1.4" - base64id "0.1.0" - debug "2.2.0" - engine.io-parser "1.2.4" - ws "1.0.1" + has-binary "0.1.7" + wtf-8 "1.0.0" -enhanced-resolve@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-2.3.0.tgz#a115c32504b6302e85a76269d7a57ccdd962e359" +engine.io@1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4" dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.3.0" - object-assign "^4.0.1" - tapable "^0.2.3" + accepts "1.3.3" + base64id "1.0.0" + cookie "0.3.1" + debug "2.3.3" + engine.io-parser "1.3.2" + ws "1.1.2" -enhanced-resolve@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec" +enhanced-resolve@^3.1.0, enhanced-resolve@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" dependencies: graceful-fs "^4.1.2" memory-fs "^0.4.0" object-assign "^4.0.1" - tapable "^0.2.5" + tapable "^0.2.7" ent@~2.2.0: version "2.2.0" @@ -1588,7 +1891,7 @@ es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0 es6-iterator "2" es6-symbol "~3.1" -es6-iterator@2: +es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" dependencies: @@ -1604,7 +1907,28 @@ es6-iterator@~0.1.3: es5-ext "~0.10.5" es6-symbol "~2.0.1" -es6-symbol@^3.1, es6-symbol@~3.1: +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" dependencies: @@ -1618,7 +1942,7 @@ es6-symbol@~2.0.1: d "~0.1.1" es5-ext "~0.10.5" -es6-templates@^0.2.2: +es6-templates@^0.2.2, es6-templates@~0.2.2: version "0.2.3" resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" dependencies: @@ -1634,6 +1958,15 @@ es6-weak-map@^0.1.2: es6-iterator "~0.1.3" es6-symbol "~2.0.1" +es6-weak-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -1653,6 +1986,15 @@ escodegen@1.8.x: optionalDependencies: source-map "~0.2.0" +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" @@ -1661,10 +2003,25 @@ esprima@~3.1.0: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" +esrecurse@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" + dependencies: + estraverse "^4.1.0" + object-assign "^4.0.1" + estraverse@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" +estraverse@^4.1.0, estraverse@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +estree-walker@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.3.1.tgz#e6b1a51cf7292524e7237c312e5fe6660c1ce1aa" + esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -1673,11 +2030,18 @@ etag@~1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051" +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + dependencies: + d "1" + es5-ext "~0.10.14" + event-kit@^2.0.0, event-kit@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/event-kit/-/event-kit-2.2.0.tgz#29df50deae3d6d4c1c62451b10925f28641e928b" -event-stream@latest: +event-stream@^3.3.4, event-stream@latest: version "3.3.4" resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" dependencies: @@ -1689,18 +2053,6 @@ event-stream@latest: stream-combiner "~0.0.4" through "~2.3.1" -event-stream@~3.1.0: - version "3.1.7" - resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.1.7.tgz#b4c540012d0fe1498420f3d8946008db6393c37a" - dependencies: - duplexer "~0.1.1" - from "~0" - map-stream "~0.1.0" - pause-stream "0.0.11" - split "0.2" - stream-combiner "~0.0.4" - through "~2.3.1" - eventemitter3@1.x.x: version "1.2.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" @@ -1709,7 +2061,7 @@ events@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" -eventsource@~0.1.6: +eventsource@0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" dependencies: @@ -1721,6 +2073,18 @@ evp_bytestokey@^1.0.0: dependencies: create-hash "^1.1.1" +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + expand-braces@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea" @@ -1797,12 +2161,27 @@ extend@^3.0.0, extend@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" +extendr@^3.2.0, extendr@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/extendr/-/extendr-3.2.2.tgz#c6e46fe6d90b2e3e8812a6654bd6182cbf91cd06" + dependencies: + editions "^1.1.2" + typechecker "^4.3.0" + extglob@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" dependencies: is-extglob "^1.0.0" +extract-opts@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/extract-opts/-/extract-opts-3.3.1.tgz#5abbedc98c0d5202e3278727f9192d7e086c6be1" + dependencies: + eachr "^3.2.0" + editions "^1.1.1" + typechecker "^4.3.0" + extsprintf@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" @@ -1814,6 +2193,10 @@ fancy-log@^1.1.0: chalk "^1.1.1" time-stamp "^1.0.0" +fast-deep-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" + fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" @@ -1838,6 +2221,13 @@ filename-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" +fill-keys@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fill-keys/-/fill-keys-1.0.2.tgz#9a8fa36f4e8ad634e3bf6b4f3c8882551452eb20" + dependencies: + is-object "~1.0.1" + merge-descriptors "~1.0.0" + fill-range@^2.1.0: version "2.2.3" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" @@ -1848,25 +2238,24 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.1.tgz#2c400d8d4530935bc232549c5fa385ec07de6fcd" +finalhandler@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.4.1.tgz#85a17c6c59a94717d262d61230d4b0ebe3d4a14d" dependencies: debug "~2.2.0" escape-html "~1.0.3" on-finished "~2.3.0" - statuses "~1.3.1" unpipe "~1.0.0" -finalhandler@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" +finalhandler@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.6.tgz#007aea33d1a4d3e42017f624848ad58d212f814f" dependencies: - debug "2.6.7" + debug "2.6.9" encodeurl "~1.0.1" escape-html "~1.0.3" on-finished "~2.3.0" - parseurl "~1.3.1" + parseurl "~1.3.2" statuses "~1.3.1" unpipe "~1.0.0" @@ -1893,6 +2282,16 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +findit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findit/-/findit-2.0.0.tgz#6509f0126af4c178551cfa99394e032e13a4d56e" + findup-sync@^0.4.2: version "0.4.3" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" @@ -1924,22 +2323,28 @@ first-chunk-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" +first-chunk-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" + dependencies: + readable-stream "^2.0.2" + first-mate-select-grammar@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/first-mate-select-grammar/-/first-mate-select-grammar-1.0.1.tgz#2dd06a81e29df58e866768544abea9ba4243ccd8" dependencies: lodash "^3.10.1" -first-mate@^6.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/first-mate/-/first-mate-6.3.0.tgz#dea439df446de0ea0b8b4f563a834f37d0ad393e" +first-mate@^7.0.2: + version "7.0.8" + resolved "https://registry.yarnpkg.com/first-mate/-/first-mate-7.0.8.tgz#4b52263557e26b6e156f863decdf1a2be42cc242" dependencies: emissary "^1" event-kit "^2.2.0" - fs-plus "^2" + fs-plus "^3.0.0" grim "^2.0.1" - oniguruma "^6.1.0" - season "^5.0.2" + oniguruma "6.2.1" + season "^6.0.0" underscore-plus "^1" flagged-respawn@^0.3.2: @@ -1998,14 +2403,7 @@ fs-exists-sync@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" -fs-extra@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - -fs-extra@^3.0.1: +fs-extra@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" dependencies: @@ -2013,9 +2411,17 @@ fs-extra@^3.0.1: jsonfile "^3.0.0" universalify "^0.1.0" -fs-plus@2.x, fs-plus@^2, fs-plus@^2.2.6: - version "2.10.1" - resolved "https://registry.yarnpkg.com/fs-plus/-/fs-plus-2.10.1.tgz#3204781d7840611e6364e7b6fb058c96327c5aa5" +fs-extra@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-plus@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fs-plus/-/fs-plus-3.0.1.tgz#54c169c40e2884a66d352780d18dd31f91d3a10d" dependencies: async "^1.5.2" mkdirp "^0.5.1" @@ -2050,6 +2456,15 @@ fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: mkdirp ">=0.5 0" rimraf "2" +fstream@~0.1.21: + version "0.1.31" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-0.1.31.tgz#7337f058fbbbbefa8c9f561a28cab0849202c988" + dependencies: + graceful-fs "~3.0.2" + inherits "~2.0.0" + mkdirp "0.5" + rimraf "2" + gauge@~2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" @@ -2097,13 +2512,17 @@ get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + getpass@^0.1.1: version "0.1.6" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" dependencies: assert-plus "^1.0.0" -gh-pages@~0.12.0: +gh-pages@0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-0.12.0.tgz#d951e3ed98b85699d4b0418eb1a15b1a04988dc1" dependencies: @@ -2139,6 +2558,13 @@ git-semver-tags@^1.0.0, git-semver-tags@^1.2.0: meow "^3.3.0" semver "^5.0.1" +git-semver-tags@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.2.1.tgz#6ccd2a52e735b736748dc762444fcd9588e27490" + dependencies: + meow "^3.3.0" + semver "^5.0.1" + gitconfiglocal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" @@ -2214,7 +2640,7 @@ glob@^5.0.15, glob@~5.0.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -2225,6 +2651,17 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.1, glob@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@~3.1.21: version "3.1.21" resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" @@ -2288,20 +2725,20 @@ glogg@^1.0.0: dependencies: sparkles "^1.0.0" +graceful-fs@*, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + graceful-fs@4.1.10: version "4.1.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131" -graceful-fs@^3.0.0: +graceful-fs@^3.0.0, graceful-fs@~3.0.2: version "3.0.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" dependencies: natives "^1.1.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - graceful-fs@~1.2.0: version "1.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" @@ -2310,9 +2747,9 @@ graceful-fs@~1.2.0: version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" -greenkeeper-lockfile@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/greenkeeper-lockfile/-/greenkeeper-lockfile-1.6.0.tgz#cab01d7ad9795823aa13269ae423246b4598c7af" +greenkeeper-lockfile@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/greenkeeper-lockfile/-/greenkeeper-lockfile-1.8.1.tgz#c0bc2ebf8d94345f8210d35d02e03c32f86fc78a" dependencies: lodash "^4.17.4" require-relative "^0.8.7" @@ -2324,31 +2761,23 @@ grim@^2.0.1: dependencies: event-kit "^2.0.0" -gulp-better-rollup@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/gulp-better-rollup/-/gulp-better-rollup-1.0.2.tgz#9c381673895502dde471d664a5b390464bdd5d5c" - dependencies: - gulp-util "^3.0.7" - rollup "^0.36.0" - vinyl-sourcemaps-apply "^0.2.1" - -gulp-bump@2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/gulp-bump/-/gulp-bump-2.5.0.tgz#60cfeb8750bd1dea0ba755775643757200f98837" +gulp-bump@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/gulp-bump/-/gulp-bump-2.7.0.tgz#4c3750bce93c5d816fe9a154e6619dd509a852d8" dependencies: - bump-regex "^2.5.0" + bump-regex "^2.7.0" plugin-error "^0.1.2" plugin-log "^0.1.0" semver "^5.3.0" through2 "^2.0.1" -gulp-conventional-changelog@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/gulp-conventional-changelog/-/gulp-conventional-changelog-1.1.0.tgz#0aae0c02da3ec45a7b4fe258295e491b47ffa202" +gulp-conventional-changelog@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/gulp-conventional-changelog/-/gulp-conventional-changelog-1.1.3.tgz#b88c69c29a2ad2dddfbedde9ded8b950a116f440" dependencies: add-stream "^1.0.0" concat-stream "^1.5.0" - conventional-changelog "^1.1.0" + conventional-changelog "^1.1.3" gulp-util "^3.0.6" object-assign "^4.0.1" through2 "^2.0.0" @@ -2368,41 +2797,66 @@ gulp-file@0.3.0: gulp-util "^2.2.14" through2 "^0.4.1" -gulp-git@1.12.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/gulp-git/-/gulp-git-1.12.0.tgz#a779573d84a344e46d13ecb67182de8e58fcb7f3" +gulp-git@2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/gulp-git/-/gulp-git-2.4.2.tgz#25cee5aa57cbcb22df7fa6ffec4ada505d70f3da" dependencies: any-shell-escape "^0.1.1" - gulp-util "^3.0.6" - require-dir "^0.1.0" - through2 "^0.6.5" + gulp-util "^3.0.8" + require-dir "^0.3.2" + strip-bom-stream "^3.0.0" + through2 "^2.0.3" + vinyl "^2.0.1" + +gulp-hub@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/gulp-hub/-/gulp-hub-0.8.0.tgz#a683a7bd5a9925674539d14db9ef4696f4842b33" + dependencies: + callsite "^1.0.0" + glob "^7.0.3" + gulp "^3.8.10" + gulp-util "^3.0.7" + lodash "^4.13.1" + proxyquire "^1.0.1" + run-sequence "^1.0.2" + +gulp-inline-ng2-template@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/gulp-inline-ng2-template/-/gulp-inline-ng2-template-4.0.0.tgz#a145f216f79a0da6c9c6b17bce47e199018cd838" + dependencies: + async "^2.0.0-rc.5" + clone "~1.0.2" + es6-templates "~0.2.2" + extend "~3.0.0" + gulp-util "~3.0.6" + isarray "0.0.1" + through2 "~2.0.0" + +gulp-real-favicon@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/gulp-real-favicon/-/gulp-real-favicon-0.2.2.tgz#050c9f68e55ef48a51e3e18eb86299a364391195" + dependencies: + gulp-util "^3.0.7" + rfg-api "^0.3.0" + through2 "^2.0.0" gulp-rename@1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817" -gulp-replace@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/gulp-replace/-/gulp-replace-0.5.4.tgz#69a67914bbd13c562bff14f504a403796aa0daa9" +gulp-replace@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/gulp-replace/-/gulp-replace-0.6.1.tgz#11bf8c8fce533e33e2f6a8f2f430b955ba0be066" dependencies: istextorbinary "1.0.2" readable-stream "^2.0.1" replacestream "^4.0.0" -gulp-shell@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/gulp-shell/-/gulp-shell-0.5.2.tgz#a4959ca0651ad1c7bbfe70b2d0adbbb4e1aea98d" - dependencies: - async "^1.5.0" - gulp-util "^3.0.7" - lodash "^4.0.0" - through2 "^2.0.0" - -gulp-tap@0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/gulp-tap/-/gulp-tap-0.1.3.tgz#120dca2901e76fb84d5cb4ad5f37cad0156361e4" +gulp-tap@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gulp-tap/-/gulp-tap-1.0.1.tgz#e671124e1259b4cea219ed1ca97b7f585c334690" dependencies: - event-stream "~3.1.0" + through2 "^2.0.3" gulp-tslint@6.1.1: version "6.1.1" @@ -2435,20 +2889,7 @@ gulp-util@*, gulp-util@3.0.7, gulp-util@^3.0.0, gulp-util@^3.0.4, gulp-util@^3.0 through2 "^2.0.0" vinyl "^0.5.0" -gulp-util@^2.2.14: - version "2.2.20" - resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-2.2.20.tgz#d7146e5728910bd8f047a6b0b1e549bc22dbd64c" - dependencies: - chalk "^0.5.0" - dateformat "^1.0.7-1.2.3" - lodash._reinterpolate "^2.4.1" - lodash.template "^2.4.1" - minimist "^0.2.0" - multipipe "^0.1.0" - through2 "^0.5.0" - vinyl "^0.2.1" - -gulp-util@^3.0.8: +gulp-util@3.0.8, gulp-util@^3.0.8, gulp-util@~3.0.6: version "3.0.8" resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" dependencies: @@ -2471,7 +2912,20 @@ gulp-util@^3.0.8: through2 "^2.0.0" vinyl "^0.5.0" -gulp@3.9.1: +gulp-util@^2.2.14: + version "2.2.20" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-2.2.20.tgz#d7146e5728910bd8f047a6b0b1e549bc22dbd64c" + dependencies: + chalk "^0.5.0" + dateformat "^1.0.7-1.2.3" + lodash._reinterpolate "^2.4.1" + lodash.template "^2.4.1" + minimist "^0.2.0" + multipipe "^0.1.0" + through2 "^0.5.0" + vinyl "^0.2.1" + +gulp@3.9.1, gulp@^3.8.10: version "3.9.1" resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" dependencies: @@ -2499,17 +2953,7 @@ handle-thing@^1.2.4: version "1.2.5" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" -handlebars@4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" - dependencies: - async "^1.4.0" - optimist "^0.6.1" - source-map "^0.4.4" - optionalDependencies: - uglify-js "^2.6" - -handlebars@^4.0.1, handlebars@^4.0.2, handlebars@^4.0.8: +handlebars@4.0.10, handlebars@^4.0.1, handlebars@^4.0.10, handlebars@^4.0.2: version "4.0.10" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" dependencies: @@ -2551,12 +2995,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-binary@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10" - dependencies: - isarray "0.0.1" - has-binary@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" @@ -2571,6 +3009,10 @@ has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" @@ -2600,15 +3042,15 @@ he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" -highlights@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/highlights/-/highlights-1.4.1.tgz#3b9dab0114ddbb0f5968c5c890db05d016b656f0" +highlights@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/highlights/-/highlights-3.0.1.tgz#1687eed9975c49fe4a33d4c0d5e8df9ad6104432" dependencies: - first-mate "^6.0.0" + first-mate "^7.0.2" first-mate-select-grammar "^1.0.1" - fs-plus "^2.2.6" + fs-plus "^3.0.0" once "^1.3.2" - season "^5.1.2" + season "^6.0.0" underscore-plus "^1.5.1" yargs "^4.7.1" @@ -2643,18 +3085,18 @@ hpack.js@^2.1.6: readable-stream "^2.0.1" wbuf "^1.1.0" -html-entities@^1.2.1: +html-entities@^1.2.0, html-entities@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" -html-loader@0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.4.4.tgz#f2b5b9acd5e035ff3ab5fd369c13c97a7bb014da" +html-loader@0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.4.5.tgz#5fbcd87cd63a5c49a7fce2fe56f425e05729c68c" dependencies: es6-templates "^0.2.2" fastparse "^1.1.1" html-minifier "^3.0.1" - loader-utils "^0.2.15" + loader-utils "^1.0.2" object-assign "^4.1.0" html-minifier@^3.0.1: @@ -2681,19 +3123,27 @@ htmlparser2@^3.9.1: inherits "^2.0.1" readable-stream "^2.0.2" -http-auth@3.1.x: - version "3.1.3" - resolved "https://registry.yarnpkg.com/http-auth/-/http-auth-3.1.3.tgz#945cfadd66521eaf8f7c84913d377d7b15f24e31" +http-auth@2.4.x: + version "2.4.11" + resolved "https://registry.yarnpkg.com/http-auth/-/http-auth-2.4.11.tgz#61f024a6e0e7c48934944895c87a1395509c619b" dependencies: - apache-crypt "^1.1.2" - apache-md5 "^1.0.6" - bcryptjs "^2.3.0" - uuid "^3.0.0" + apache-crypt "1.1.2" + apache-md5 "1.0.6" + node-uuid "^1.4.7" http-deceiver@^1.2.4: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" +http-errors@1.6.2, http-errors@~1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + dependencies: + depd "1.1.1" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + http-errors@~1.5.0: version "1.5.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" @@ -2711,7 +3161,7 @@ http-errors@~1.6.1: setprototypeof "1.0.3" statuses ">= 1.3.1 < 2" -http-proxy-middleware@~0.17.1: +http-proxy-middleware@~0.17.4: version "0.17.4" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833" dependencies: @@ -2739,14 +3189,25 @@ https-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" -iconv-lite@0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" +iconv-lite@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" +ignorefs@^1.0.0, ignorefs@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ignorefs/-/ignorefs-1.2.0.tgz#da59fb858976e4a5e43702ccd1f282fdbc9e5756" + dependencies: + editions "^1.3.3" + ignorepatterns "^1.1.0" + +ignorepatterns@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ignorepatterns/-/ignorepatterns-1.1.0.tgz#ac8f436f2239b5dfb66d5f0d3a904a87ac67cc5e" + indent-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" @@ -2780,6 +3241,12 @@ ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" +internal-ip@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" + dependencies: + meow "^3.3.0" + interpret@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" @@ -2794,6 +3261,10 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + ipaddr.js@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.2.0.tgz#8aba49c9192799585bdd643e0ccb50e8ae777ba4" @@ -2859,6 +3330,10 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -2871,6 +3346,10 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + is-my-json-valid@^2.12.4: version "2.16.0" resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" @@ -2894,6 +3373,10 @@ is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" +is-object@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" + is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -2928,6 +3411,10 @@ is-relative@^0.2.1: dependencies: is-unc-path "^0.1.1" +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + is-subset@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" @@ -2948,7 +3435,7 @@ is-unc-path@^0.1.1: dependencies: unc-path-regex "^0.1.0" -is-utf8@^0.2.0: +is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -3037,9 +3524,9 @@ istextorbinary@1.0.2: binaryextensions "~1.0.0" textextensions "~1.0.0" -jasmine-core@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.5.2.tgz#6f61bd79061e27f43e6f9355e44b3c6cab6ff297" +jasmine-core@2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.6.4.tgz#dec926cd0a9fa287fb6db5c755fa487e74cecac5" jodid25519@^1.0.0: version "1.0.2" @@ -3070,6 +3557,10 @@ json-loader@^0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -3084,30 +3575,26 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" -json3@3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.2.6.tgz#f6efc93c06a04de9aec53053df2559bb19e2038b" - json3@3.3.2, json3@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" -json5@^0.5.0: +json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - optionalDependencies: - graceful-fs "^4.1.6" - jsonfile@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.0.tgz#92e7c7444e5ffd5fa32e6a9ae8b85034df8347d0" optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + optionalDependencies: + graceful-fs "^4.1.6" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" @@ -3129,9 +3616,9 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.3.6" -karma-chrome-launcher@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.0.0.tgz#c2790c5a32b15577d0fff5a4d5a2703b3b439c25" +karma-chrome-launcher@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz#cf1b9d07136cc18fe239327d24654c3dbc368acf" dependencies: fs-access "^1.0.0" which "^1.2.1" @@ -3152,17 +3639,13 @@ karma-jasmine-html-reporter@0.2.2: dependencies: karma-jasmine "^1.0.2" -karma-jasmine@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.0.2.tgz#c0b3ab327bf207db60e17fa27db37cfdef5d8e6c" - -karma-jasmine@^1.0.2: +karma-jasmine@1.1.0, karma-jasmine@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.0.tgz#22e4c06bf9a182e5294d1f705e3733811b810acf" -karma-mocha-reporter@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.2.2.tgz#876de9a287244e54a608591732a98e66611f6abe" +karma-mocha-reporter@2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.2.3.tgz#04fdda45a1d9697a73871c7472223c581701ab20" dependencies: chalk "1.1.3" @@ -3178,9 +3661,9 @@ karma-sourcemap-loader@0.3.7: dependencies: graceful-fs "^4.1.2" -karma-webpack@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.1.tgz#271ac955685b9bd99365ef010ffc5655eac28ef6" +karma-webpack@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.4.tgz#3e2d4f48ba94a878e1c66bb8e1ae6128987a175b" dependencies: async "~0.9.0" loader-utils "^0.2.5" @@ -3188,35 +3671,37 @@ karma-webpack@2.0.1: source-map "^0.1.41" webpack-dev-middleware "^1.0.11" -karma@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/karma/-/karma-1.2.0.tgz#6dca89ec25f4753f120f834c89398098040fd63e" +karma@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/karma/-/karma-1.7.0.tgz#6f7a1a406446fa2e187ec95398698f4cee476269" dependencies: bluebird "^3.3.0" - body-parser "^1.12.4" + body-parser "^1.16.1" chokidar "^1.4.1" colors "^1.1.0" combine-lists "^1.0.0" - connect "^3.3.5" + connect "^3.6.0" core-js "^2.2.0" di "^0.0.1" dom-serialize "^2.2.0" expand-braces "^0.1.1" - glob "^7.0.3" + glob "^7.1.1" graceful-fs "^4.1.2" http-proxy "^1.13.0" isbinaryfile "^3.0.0" lodash "^3.8.0" log4js "^0.6.31" mime "^1.3.4" - minimatch "^3.0.0" + minimatch "^3.0.2" optimist "^0.6.1" qjobs "^1.1.4" - rimraf "^2.3.3" - socket.io "1.4.7" + range-parser "^1.2.0" + rimraf "^2.6.0" + safe-buffer "^5.0.1" + socket.io "1.7.3" source-map "^0.5.3" - tmp "0.0.28" - useragent "^2.1.9" + tmp "0.0.31" + useragent "^2.1.12" kind-of@^1.1.0: version "1.1.0" @@ -3269,23 +3754,23 @@ linkify-it@^2.0.0: dependencies: uc.micro "^1.0.1" -live-server@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/live-server/-/live-server-1.2.0.tgz#4498644bbf81a66f18dd8dffdef61c4c1c374ca3" +live-server@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/live-server/-/live-server-1.1.0.tgz#a69f0e6ca581e0391aa57941970e17c308dd4869" dependencies: - chokidar "^1.6.0" colors latest - connect "3.5.x" + connect "3.4.x" cors latest event-stream latest faye-websocket "0.11.x" - http-auth "3.1.x" + http-auth "2.4.x" morgan "^1.6.1" object-assign latest opn latest proxy-middleware latest send latest serve-index "^1.7.2" + watchr "2.6.x" load-json-file@^1.0.0: version "1.1.0" @@ -3297,7 +3782,16 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -loader-runner@^2.2.0: +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" @@ -3310,6 +3804,21 @@ loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@^0.2.5, loader-utils@~0 json5 "^0.5.0" object-assign "^4.0.1" +loader-utils@^1.0.2, loader-utils@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + lodash._basecopy@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" @@ -3571,14 +4080,14 @@ lodash.values@~2.4.1: dependencies: lodash.keys "~2.4.1" -lodash@4.17.4, lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.5.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - lodash@^3.10.1, lodash@^3.8.0: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" +lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.5.0: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + lodash@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" @@ -3598,6 +4107,10 @@ log4js@^0.6.31: readable-stream "~1.0.2" semver "~4.3.3" +loglevel@^1.4.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.5.0.tgz#3863984a2c326b986fbb965f378758a6dc8a4324" + longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -3623,7 +4136,14 @@ lru-cache@2, lru-cache@2.2.x: version "2.2.4" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d" -lunr@^1.0.0: +lru-cache@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lunr@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lunr/-/lunr-1.0.0.tgz#5c9276c92c91ac35a9241b5018d46723d92e2f5f" @@ -3631,6 +4151,12 @@ macos-release@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-1.0.0.tgz#e168ce8f4d934399ab1acb92a6c309273072eb1b" +magic-string@^0.19.0: + version "0.19.1" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.19.1.tgz#14d768013caf2ec8fdea16a49af82fc377e75201" + dependencies: + vlq "^0.2.1" + map-cache@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -3643,9 +4169,9 @@ map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" -markdown-it@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.1.0.tgz#38902d4e7bac2260c073eb67be623211fbb2c2e3" +markdown-it@8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.0.tgz#e2400881bf171f7018ed1bd9da441dac8af6306d" dependencies: argparse "^1.0.7" entities "~1.1.1" @@ -3657,6 +4183,13 @@ marked@^0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" +match-stream@~0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/match-stream/-/match-stream-0.0.2.tgz#99eb050093b34dffade421b9ac0b410a9cfa17cf" + dependencies: + buffers "~0.1.1" + readable-stream "~1.0.0" + mdurl@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" @@ -3665,12 +4198,11 @@ media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" -memory-fs@^0.3.0, memory-fs@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20" +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" + mimic-fn "^1.0.0" memory-fs@^0.4.0, memory-fs@~0.4.1: version "0.4.1" @@ -3694,10 +4226,19 @@ meow@^3.3.0: redent "^1.0.0" trim-newlines "^1.0.0" -merge-descriptors@1.0.1: +merge-descriptors@1.0.1, merge-descriptors@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" +metaparser@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/metaparser/-/metaparser-1.0.7.tgz#c0699a6686a07a8bce1ac06b62e9462c2e66aaca" + dependencies: + async "*" + cheerio "*" + mkdirp "*" + underscore "*" + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -3731,22 +4272,12 @@ miller-rabin@^4.0.0: version "1.27.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" -mime-db@~1.12.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7" - mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.15, mime-types@~2.1.7: version "2.1.15" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" dependencies: mime-db "~1.27.0" -mime-types@~2.0.4: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6" - dependencies: - mime-db "~1.12.0" - mime@1.3.4, mime@^1.2.11, mime@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" @@ -3755,6 +4286,10 @@ mimeparse@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/mimeparse/-/mimeparse-0.1.4.tgz#dafb02752370fd226093ae3152c271af01ac254a" +mimic-fn@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + minimalistic-assert@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" @@ -3775,6 +4310,12 @@ minimatch@^2.0.1: dependencies: brace-expansion "^1.0.0" +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + minimatch@~0.2.11: version "0.2.14" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" @@ -3798,7 +4339,7 @@ mixto@1.x: version "1.0.0" resolved "https://registry.yarnpkg.com/mixto/-/mixto-1.0.0.tgz#c320ef61b52f2898f522e17d8bbc6d506d8425b6" -mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: +mkdirp@*, mkdirp@0.5, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -3808,6 +4349,10 @@ modify-values@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2" +module-not-found-error@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/module-not-found-error/-/module-not-found-error-1.0.1.tgz#cf8b4ff4f29640674d6cdd02b0e3bc523c2bbdc0" + morgan@^1.6.1: version "1.8.2" resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.8.2.tgz#784ac7734e4a453a9c6e6e8680a9329275c8b687" @@ -3830,6 +4375,17 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + +multicast-dns@^6.0.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.1.1.tgz#6e7de86a570872ab17058adea7160bbeca814dde" + dependencies: + dns-packet "^1.0.1" + thunky "^0.1.0" + multipipe@^0.1.0, multipipe@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" @@ -3850,10 +4406,6 @@ ncname@1.0.x: dependencies: xml-char-classes "^1.0.0" -negotiator@0.4.9: - version "0.4.9" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.4.9.tgz#92e46b6db53c7e421ed64a2bc94f08be7630df3f" - negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" @@ -3864,6 +4416,10 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" +node-forge@0.6.33: + version "0.6.33" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.6.33.tgz#463811879f573d45155ad6a9f43dc296e8e85ebc" + node-libs-browser@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" @@ -3906,7 +4462,14 @@ node-pre-gyp@^0.6.29: tar "^2.2.1" tar-pack "^3.4.0" -node-uuid@~1.4.7: +node-rest-client@^1.4.1: + version "1.8.0" + resolved "https://registry.yarnpkg.com/node-rest-client/-/node-rest-client-1.8.0.tgz#8d3c566b817e27394cb7273783a41caefe3e5955" + dependencies: + debug "~2.2.0" + xml2js ">=0.2.4" + +node-uuid@^1.4.7, node-uuid@~1.4.7: version "1.4.8" resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" @@ -3936,6 +4499,12 @@ normalize-path@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + npmlog@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" @@ -3963,11 +4532,15 @@ oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" +object-assign@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + object-assign@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" -object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@latest: +object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1, object-assign@latest: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -4012,9 +4585,9 @@ once@~1.3.0: dependencies: wrappy "1" -oniguruma@^6.1.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/oniguruma/-/oniguruma-6.1.1.tgz#1c7d96e53d116eb881dbe78b8355b4adc8225898" +oniguruma@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/oniguruma/-/oniguruma-6.2.1.tgz#a50ee69642844ad1d252685aab187171b06ece04" dependencies: nan "^2.0.9" @@ -4091,6 +4664,14 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + os-name@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/os-name/-/os-name-2.0.1.tgz#b9a386361c17ae3a21736ef0599405c9a8c5dc5e" @@ -4109,6 +4690,28 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +"over@>= 0.0.5 < 1": + version "0.0.5" + resolved "https://registry.yarnpkg.com/over/-/over-0.0.5.tgz#f29852e70fd7e25f360e013a8ec44c82aedb5708" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-limit@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + pako@~0.2.0: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" @@ -4164,21 +4767,27 @@ parse5@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.3.2.tgz#d9c9fca0aa7ee7be0f9690426dd4f9d1852af8ee" -parsejson@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.1.tgz#9b10c6c0d825ab589e685153826de0a3ba278bcc" +parse5@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.2.tgz#05eff57f0ef4577fb144a79f8b9a967a6cc44510" + dependencies: + "@types/node" "^6.0.46" + +parsejson@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab" dependencies: better-assert "~1.0.0" -parseqs@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.2.tgz#9dfe70b2cddac388bde4f35b1f240fa58adbe6c7" +parseqs@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" dependencies: better-assert "~1.0.0" -parseuri@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.4.tgz#806582a39887e1ea18dd5e2fe0e01902268e9350" +parseuri@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" dependencies: better-assert "~1.0.0" @@ -4186,6 +4795,10 @@ parseurl@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + path-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" @@ -4196,6 +4809,10 @@ path-exists@^2.0.0: dependencies: pinkie-promise "^2.0.0" +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -4204,6 +4821,10 @@ path-is-inside@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + path-parse@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" @@ -4230,6 +4851,12 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + dependencies: + pify "^2.0.0" + pause-stream@0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" @@ -4250,6 +4877,10 @@ pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -4301,7 +4932,7 @@ private@~0.1.5: version "0.1.7" resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" -process-nextick-args@~1.0.6: +process-nextick-args@^1.0.6, process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" @@ -4340,10 +4971,22 @@ proxy-middleware@latest: version "0.15.0" resolved "https://registry.yarnpkg.com/proxy-middleware/-/proxy-middleware-0.15.0.tgz#a3fdf1befb730f951965872ac2f6074c61477a56" +proxyquire@^1.0.1: + version "1.8.0" + resolved "https://registry.yarnpkg.com/proxyquire/-/proxyquire-1.8.0.tgz#02d514a5bed986f04cbb2093af16741535f79edc" + dependencies: + fill-keys "^1.0.2" + module-not-found-error "^1.0.0" + resolve "~1.1.7" + prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + public-encrypt@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" @@ -4354,6 +4997,15 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" +pullstream@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/pullstream/-/pullstream-0.4.1.tgz#d6fb3bf5aed697e831150eb1002c25a3f8ae1314" + dependencies: + over ">= 0.0.5 < 1" + readable-stream "~1.0.31" + setimmediate ">= 1.0.2 < 2" + slice-stream ">= 1.0.0 < 2" + pump@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.2.tgz#3b3ee6512f94f0e575538c17995f9f16990a5d51" @@ -4396,6 +5048,10 @@ qs@6.4.0, qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" +qs@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + qs@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/qs/-/qs-1.2.2.tgz#19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88" @@ -4420,6 +5076,10 @@ querystringify@0.0.x: version "0.0.4" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c" +querystringify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" + randomatic@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" @@ -4431,16 +5091,17 @@ randombytes@^2.0.0, randombytes@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec" -range-parser@^1.0.3, range-parser@~1.2.0: +range-parser@^1.0.3, range-parser@^1.2.0, range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" -raw-body@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96" +raw-body@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" dependencies: - bytes "2.4.0" - iconv-lite "0.4.15" + bytes "3.0.0" + http-errors "1.6.2" + iconv-lite "0.4.19" unpipe "1.0.0" raw-loader@0.5.1: @@ -4463,6 +5124,13 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + read-pkg@^1.0.0, read-pkg@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -4471,7 +5139,15 @@ read-pkg@^1.0.0, read-pkg@^1.1.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.17, readable-stream@~1.0.2: +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.0, readable-stream@~1.0.17, readable-stream@~1.0.2, readable-stream@~1.0.31: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: @@ -4572,6 +5248,10 @@ remap-istanbul@0.8.4: source-map ">=0.5.6" through2 "2.0.1" +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" @@ -4594,6 +5274,10 @@ replace-ext@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" +replace-ext@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + replacestream@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/replacestream/-/replacestream-4.0.2.tgz#0c4140707e4f0323f50de044851708cf58bc37bd" @@ -4680,9 +5364,9 @@ request@~2.74.0: tough-cookie "~2.3.0" tunnel-agent "~0.4.1" -require-dir@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/require-dir/-/require-dir-0.1.0.tgz#81e01e299faf5b74c34b6594f8e5add5985ddec5" +require-dir@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/require-dir/-/require-dir-0.3.2.tgz#c1d5c75e9fbffde9f2e6b33e383db4f594b5a6a9" require-directory@^2.1.1: version "2.1.1" @@ -4707,7 +5391,11 @@ resolve-dir@^0.1.0: expand-tilde "^1.2.2" global-modules "^0.2.3" -resolve@1.1.7, resolve@1.1.x: +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +resolve@1.1.7, resolve@1.1.x, resolve@~1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -4717,43 +5405,91 @@ resolve@^1.1.6, resolve@^1.1.7: dependencies: path-parse "^1.0.5" +rfg-api@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/rfg-api/-/rfg-api-0.3.0.tgz#42745648547f254f35d70edccf7cd3f465d9390a" + dependencies: + fstream "^1.0.2" + metaparser "^1.0.7" + mkdirp "^0.5.0" + node-rest-client "^1.4.1" + unzip2 "^0.2.5" + right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1: +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: glob "^7.0.5" +rimraf@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + ripemd160@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e" -rollup-plugin-node-resolve@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-2.0.0.tgz#07e0ae94ac002a3ea36e8f33ca121d9f836b1309" +rollup-plugin-commonjs@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.0.2.tgz#98b1589bfe32a6c0f67790b60c0b499972afed89" + dependencies: + acorn "^4.0.1" + estree-walker "^0.3.0" + magic-string "^0.19.0" + resolve "^1.1.7" + rollup-pluginutils "^2.0.1" + +rollup-plugin-node-resolve@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz#8b897c4c3030d5001277b0514b25d2ca09683ee0" dependencies: browser-resolve "^1.11.0" builtin-modules "^1.1.0" + is-module "^1.0.0" resolve "^1.1.6" +rollup-plugin-sourcemaps@0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.4.2.tgz#62125aa94087aadf7b83ef4dfaf629b473135e87" + dependencies: + rollup-pluginutils "^2.0.1" + source-map-resolve "^0.5.0" + rollup-plugin-uglify@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/rollup-plugin-uglify/-/rollup-plugin-uglify-1.0.1.tgz#11d0b0c8bcd2d07e6908f74fd16b0152390b922a" dependencies: uglify-js "^2.6.1" -rollup@^0.36.0: - version "0.36.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.36.4.tgz#a224494c5386c1d73d38f7bb86f69f5eb011a3d2" +rollup-pluginutils@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz#7ec95b3573f6543a46a6461bd9a7c544525d0fc0" + dependencies: + estree-walker "^0.3.0" + micromatch "^2.3.11" + +rollup@0.45.2: + version "0.45.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.45.2.tgz#63a284c2b31234656f24e9e9717fabb6a7f0fa43" dependencies: source-map-support "^0.4.0" -run-sequence@1.2.2: +run-sequence@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/run-sequence/-/run-sequence-2.0.0.tgz#6ab754fe53cd771d47dbdee63c254882344d5896" + dependencies: + chalk "^1.1.3" + gulp-util "^3.0.8" + +run-sequence@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/run-sequence/-/run-sequence-1.2.2.tgz#5095a0bebe98733b0140bd08dd80ec030ddacdeb" dependencies: @@ -4770,22 +5506,57 @@ safe-buffer@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" -scrollreveal@3.3.5: - version "3.3.5" - resolved "https://registry.yarnpkg.com/scrollreveal/-/scrollreveal-3.3.5.tgz#6a3618f24c35ec4205804cb78b40bc733bab2741" +safefs@^3.1.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/safefs/-/safefs-3.2.2.tgz#8170c1444d7038e08caea05a374fae2fa349e15c" + dependencies: + graceful-fs "*" + +safefs@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/safefs/-/safefs-4.1.0.tgz#f82aeb4bdd7ae51f653eb20f6728b3058c8d6445" + dependencies: + editions "^1.1.1" + graceful-fs "^4.1.4" + +sax@>=0.6.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +scandirectory@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/scandirectory/-/scandirectory-2.5.0.tgz#6ce03f54a090b668e3cbedbf20edf9e310593e72" + dependencies: + ignorefs "^1.0.0" + safefs "^3.1.2" + taskgroup "^4.0.5" -season@^5.0.2, season@^5.1.2: - version "5.4.1" - resolved "https://registry.yarnpkg.com/season/-/season-5.4.1.tgz#4bd6da6152a7f2d6f08b1433ce2d920669853d0d" +scrollreveal@3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/scrollreveal/-/scrollreveal-3.3.6.tgz#659b7bf0ba0e244dced978ac5540c00b43773e4a" + +season@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/season/-/season-6.0.1.tgz#a7bd179442e34fe20826270f71bf1d96c9319808" dependencies: cson-parser "1.0.9" - fs-plus "2.x" + fs-plus "^3.0.0" optimist "~0.4.0" select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" +selfsigned@^1.9.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.1.tgz#bf8cb7b83256c4551e31347c6311778db99eec52" + dependencies: + node-forge "0.6.33" + +semver-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" + "semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.1.0, semver@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -4863,7 +5634,7 @@ set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" -setimmediate@^1.0.4: +"setimmediate@>= 1.0.2 < 2", setimmediate@^1.0.4, setimmediate@~1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -4881,9 +5652,19 @@ sha.js@^2.3.6: dependencies: inherits "^2.0.1" -shelljs@^0.7.7: - version "0.7.7" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +shelljs@^0.7.8: + version "0.7.8" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -4897,76 +5678,72 @@ signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" +"slice-stream@>= 1.0.0 < 2": + version "1.0.0" + resolved "https://registry.yarnpkg.com/slice-stream/-/slice-stream-1.0.0.tgz#5b33bd66f013b1a7f86460b03d463dec39ad3ea0" + dependencies: + readable-stream "~1.0.31" + sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" dependencies: hoek "2.x.x" -socket.io-adapter@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.4.0.tgz#fb9f82ab1aa65290bf72c3657955b930a991a24f" +socket.io-adapter@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b" dependencies: - debug "2.2.0" - socket.io-parser "2.2.2" + debug "2.3.3" + socket.io-parser "2.3.1" -socket.io-client@1.4.6: - version "1.4.6" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.4.6.tgz#49b0ba537efd15b8297c84016e642e1c7c752c3d" +socket.io-client@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.3.tgz#b30e86aa10d5ef3546601c09cde4765e381da377" dependencies: backo2 "1.0.2" component-bind "1.0.0" - component-emitter "1.2.0" - debug "2.2.0" - engine.io-client "1.6.9" + component-emitter "1.2.1" + debug "2.3.3" + engine.io-client "1.8.3" has-binary "0.1.7" indexof "0.0.1" object-component "0.0.3" - parseuri "0.0.4" - socket.io-parser "2.2.6" + parseuri "0.0.5" + socket.io-parser "2.3.1" to-array "0.1.4" -socket.io-parser@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.2.tgz#3d7af6b64497e956b7d9fe775f999716027f9417" - dependencies: - benchmark "1.0.0" - component-emitter "1.1.2" - debug "0.7.4" - isarray "0.0.1" - json3 "3.2.6" - -socket.io-parser@2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.6.tgz#38dfd61df50dcf8ab1d9e2091322bf902ba28b99" +socket.io-parser@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0" dependencies: - benchmark "1.0.0" component-emitter "1.1.2" debug "2.2.0" isarray "0.0.1" json3 "3.3.2" -socket.io@1.4.7: - version "1.4.7" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.4.7.tgz#92b7f7cb88c5797d4daee279fe8075dbe6d3fa1c" +socket.io@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.3.tgz#b8af9caba00949e568e369f1327ea9be9ea2461b" dependencies: - debug "2.2.0" - engine.io "1.6.10" + debug "2.3.3" + engine.io "1.8.3" has-binary "0.1.7" - socket.io-adapter "0.4.0" - socket.io-client "1.4.6" - socket.io-parser "2.2.6" + object-assign "4.1.0" + socket.io-adapter "0.5.0" + socket.io-client "1.7.3" + socket.io-parser "2.3.1" -sockjs-client@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.1.tgz#284843e9a9784d7c474b1571b3240fca9dda4bb0" +sockjs-client@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" dependencies: - debug "^2.2.0" - eventsource "~0.1.6" + debug "^2.6.6" + eventsource "0.1.6" faye-websocket "~0.11.0" inherits "^2.0.1" json3 "^3.3.2" - url-parse "^1.1.1" + url-parse "^1.1.8" sockjs@0.3.18: version "0.3.18" @@ -4975,9 +5752,9 @@ sockjs@0.3.18: faye-websocket "^0.10.0" uuid "^2.0.2" -source-list-map@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" +source-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" source-map-loader@0.1.5: version "0.1.5" @@ -4987,6 +5764,15 @@ source-map-loader@0.1.5: loader-utils "~0.2.2" source-map "~0.1.33" +source-map-resolve@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.0.tgz#fcad0b64b70afb27699e425950cb5ebcd410bc20" + dependencies: + atob "^2.0.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + source-map-support@^0.3.1: version "0.3.3" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.3.3.tgz#34900977d5ba3f07c7757ee72e73bb1a9b53754f" @@ -4999,6 +5785,16 @@ source-map-support@^0.4.0: dependencies: source-map "^0.5.6" +source-map-support@^0.4.11: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + source-map@0.1.32: version "0.1.32" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" @@ -5071,12 +5867,6 @@ split2@^2.0.0: dependencies: through2 "^2.0.2" -split@0.2: - version "0.2.10" - resolved "https://registry.yarnpkg.com/split/-/split-0.2.10.tgz#67097c601d697ce1368f418f06cd201cf0521a57" - dependencies: - through "2" - split@0.3: version "0.3.3" resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" @@ -5147,6 +5937,13 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" +string-width@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + string_decoder@^0.10.25, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -5167,6 +5964,25 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-bom-buf@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" + dependencies: + is-utf8 "^0.2.1" + +strip-bom-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-3.0.0.tgz#956bcc5d84430f69256a90ed823765cd858e159c" + dependencies: + first-chunk-stream "^2.0.0" + strip-bom-buf "^1.0.0" + strip-bom@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" @@ -5180,6 +5996,14 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" @@ -5204,13 +6028,19 @@ supports-color@^3.1.0, supports-color@^3.1.1: dependencies: has-flag "^1.0.0" +supports-color@^4.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" + dependencies: + has-flag "^2.0.0" + symbol-observable@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" -tapable@^0.2.3, tapable@^0.2.5, tapable@~0.2.5: - version "0.2.6" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d" +tapable@^0.2.7: + version "0.2.8" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" tar-pack@^3.4.0: version "3.4.0" @@ -5233,6 +6063,22 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" +taskgroup@^4.0.5: + version "4.3.1" + resolved "https://registry.yarnpkg.com/taskgroup/-/taskgroup-4.3.1.tgz#7de193febd768273c457730497024d512c27915a" + dependencies: + ambi "^2.2.0" + csextends "^1.0.3" + +taskgroup@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/taskgroup/-/taskgroup-5.0.1.tgz#08736c9b24683b1434774231eb4b73aa7c3f79b5" + dependencies: + ambi "^2.5.0" + eachr "^3.2.0" + editions "^1.1.1" + extendr "^3.2.0" + text-extensions@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.4.0.tgz#c385d2e80879fe6ef97893e1709d88d9453726e9" @@ -5262,7 +6108,7 @@ through2@^0.5.0: readable-stream "~1.0.17" xtend "~3.0.0" -through2@^0.6.1, through2@^0.6.5: +through2@^0.6.1: version "0.6.5" resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" dependencies: @@ -5276,7 +6122,7 @@ through2@^1.1.1: readable-stream ">=1.1.13-1 <1.2.0-0" xtend ">=4.0.0 <4.1.0-0" -through2@^2.0.0, through2@^2.0.1, through2@^2.0.2: +through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@^2.0.3, through2@~2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: @@ -5287,6 +6133,10 @@ through@2, "through@>=2.2.7 <3", through@~2.3, through@~2.3.1, through@~2.3.6, t version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" +thunky@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz#bf30146824e2b6e67b0f2d7a4ac8beb26908684e" + tildify@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" @@ -5297,13 +6147,23 @@ time-stamp@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" +time-stamp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" + timers-browserify@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86" dependencies: setimmediate "^1.0.4" -tmp@0.0.28, tmp@0.0.x: +tmp@0.0.31: + version "0.0.31" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" + dependencies: + os-tmpdir "~1.0.1" + +tmp@0.0.x: version "0.0.28" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.28.tgz#172735b7f614ea7af39664fa84cf0de4e515d120" dependencies: @@ -5321,18 +6181,16 @@ to-fast-properties@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" -to-string-loader@1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/to-string-loader/-/to-string-loader-1.1.5.tgz#7b7aa17891b7bb4947a7a11bfb03b5fde9c6e695" - dependencies: - loader-utils "^0.2.16" - tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: punycode "^1.4.1" +"traverse@>=0.3.0 <0.4": + version "0.3.9" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" + travis-ci@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/travis-ci/-/travis-ci-2.1.1.tgz#98696265af827ae3576f31aa06d876e74b4b082e" @@ -5429,6 +6287,12 @@ type-is@~1.6.15: media-typer "0.3.0" mime-types "~2.1.15" +typechecker@^4.3.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/typechecker/-/typechecker-4.4.1.tgz#f97b95f51b038417212d677d45a373ee7bced7e6" + dependencies: + editions "^1.3.3" + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -5437,15 +6301,15 @@ typescript@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.0.3.tgz#33dec9eae86b8eee327dd419ca050c853cabd514" -typescript@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.2.tgz#f0f045e196f69a72f06b25fd3bd39d01c3ce9984" +typescript@2.5.2, typescript@^2.4.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.2.tgz#038a95f7d9bbb420b1bf35ba31d4c5c1dd3ffe34" uc.micro@^1.0.1, uc.micro@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192" -uglify-js@2.8.x, uglify-js@^2.6, uglify-js@^2.6.1, uglify-js@^2.7.5: +uglify-js@2.8.x, uglify-js@^2.6, uglify-js@^2.6.1: version "2.8.15" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.15.tgz#835dd4cd5872554756e6874508d0d0561704d94d" dependencies: @@ -5454,10 +6318,27 @@ uglify-js@2.8.x, uglify-js@^2.6, uglify-js@^2.6.1, uglify-js@^2.7.5: optionalDependencies: uglify-to-browserify "~1.0.0" +uglify-js@^2.8.29: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" +uglifyjs-webpack-plugin@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" + dependencies: + source-map "^0.5.6" + uglify-js "^2.8.29" + webpack-sources "^1.0.1" + uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" @@ -5487,6 +6368,10 @@ underscore.string@~2.2.0rc: version "2.2.1" resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.2.1.tgz#d7c0fa2af5d5a1a67f4253daee98132e733f0f19" +underscore@*: + version "1.8.3" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" + underscore@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" @@ -5507,10 +6392,25 @@ unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" +unzip2@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/unzip2/-/unzip2-0.2.5.tgz#4ef7a579a78c15c51f550f6a053db194149c8992" + dependencies: + binary "~0.3.0" + fstream "~0.1.21" + match-stream "~0.0.2" + pullstream "~0.4.0" + readable-stream "~1.0.0" + setimmediate "~1.0.1" + upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + url-parse@1.0.x: version "1.0.5" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b" @@ -5518,11 +6418,11 @@ url-parse@1.0.x: querystringify "0.0.x" requires-port "1.0.x" -url-parse@^1.1.1: - version "1.1.8" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.8.tgz#7a65b3a8d57a1e86af6b4e2276e34774167c0156" +url-parse@^1.1.8: + version "1.1.9" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.9.tgz#c67f1d775d51f0a18911dd7b3ffad27bb9e5bd19" dependencies: - querystringify "0.0.x" + querystringify "~1.0.0" requires-port "1.0.x" url2@^0.0.0: @@ -5540,17 +6440,13 @@ user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" -useragent@^2.1.9: - version "2.1.13" - resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.13.tgz#bba43e8aa24d5ceb83c2937473e102e21df74c10" +useragent@^2.1.12: + version "2.2.1" + resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.2.1.tgz#cf593ef4f2d175875e8bb658ea92e18a4fd06d8e" dependencies: lru-cache "2.2.x" tmp "0.0.x" -utf8@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.0.tgz#0cfec5c8052d44a23e3aaa908104e8075f95dfd5" - util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -5565,6 +6461,10 @@ utils-merge@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + uuid@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" @@ -5609,12 +6509,6 @@ vinyl-fs@^0.3.0: through2 "^0.6.1" vinyl "^0.4.0" -vinyl-sourcemaps-apply@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" - dependencies: - source-map "^0.5.1" - vinyl@^0.2.1: version "0.2.3" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.2.3.tgz#bca938209582ec5a49ad538a00fa1f125e513252" @@ -5636,10 +6530,25 @@ vinyl@^0.5.0: clone-stats "^0.0.1" replace-ext "0.0.1" -viz.js@^1.6.0: +vinyl@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c" + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +viz.js@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/viz.js/-/viz.js-1.8.0.tgz#e0cb5ad241368e35b1a6e960691eba454c24951f" +vlq@^0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.2.tgz#e316d5257b40b86bb43cb8d5fea5d7f54d6b0ca1" + vm-browserify@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" @@ -5650,14 +6559,27 @@ void-elements@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" -watchpack@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87" +watchpack@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.4.0.tgz#4a1472bcbb952bd0a9bb4036801f954dfb39faac" dependencies: async "^2.1.2" - chokidar "^1.4.3" + chokidar "^1.7.0" graceful-fs "^4.1.2" +watchr@2.6.x: + version "2.6.0" + resolved "https://registry.yarnpkg.com/watchr/-/watchr-2.6.0.tgz#e75c423b10be79267a0c3ef76e2ea104fe0267a5" + dependencies: + eachr "^3.2.0" + extendr "^3.2.2" + extract-opts "^3.3.1" + ignorefs "^1.1.1" + safefs "^4.1.0" + scandirectory "^2.5.0" + taskgroup "^5.0.1" + typechecker "^4.3.0" + wbuf@^1.1.0, wbuf@^1.4.0: version "1.7.2" resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe" @@ -5668,15 +6590,17 @@ weak-map@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.0.tgz#b66e56a9df0bd25a76bbf1b514db129080614a37" -webpack-dev-middleware@1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.6.1.tgz#c25ef832abc7d360c38bb40eb918692720ced611" +webpack-dev-middleware@1.12.0, webpack-dev-middleware@^1.11.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz#d34efefb2edda7e1d3b5dbe07289513219651709" dependencies: - memory-fs "~0.3.0" + memory-fs "~0.4.1" mime "^1.3.4" + path-is-absolute "^1.0.0" range-parser "^1.0.3" + time-stamp "^2.0.0" -webpack-dev-middleware@^1.0.11, webpack-dev-middleware@^1.9.0: +webpack-dev-middleware@^1.0.11: version "1.10.1" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.1.tgz#c6b4cf428139cf1aefbe06a0c00fdb4f8da2f893" dependencies: @@ -5685,57 +6609,67 @@ webpack-dev-middleware@^1.0.11, webpack-dev-middleware@^1.9.0: path-is-absolute "^1.0.0" range-parser "^1.0.3" -webpack-dev-server@2.2.0-rc.0: - version "2.2.0-rc.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.2.0-rc.0.tgz#ea8a11e211d9524b8999945fe5645481a51fdf46" +webpack-dev-server@2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.7.1.tgz#21580f5a08cd065c71144cf6f61c345bca59a8b8" dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" chokidar "^1.6.0" compression "^1.5.2" connect-history-api-fallback "^1.3.0" + del "^3.0.0" express "^4.13.3" - http-proxy-middleware "~0.17.1" + html-entities "^1.2.0" + http-proxy-middleware "~0.17.4" + internal-ip "^1.2.0" + ip "^1.1.5" + loglevel "^1.4.1" opn "4.0.2" portfinder "^1.0.9" + selfsigned "^1.9.1" serve-index "^1.7.2" sockjs "0.3.18" - sockjs-client "1.1.1" + sockjs-client "1.1.4" spdy "^3.4.1" strip-ansi "^3.0.0" supports-color "^3.1.1" - webpack-dev-middleware "^1.9.0" + webpack-dev-middleware "^1.11.0" yargs "^6.0.0" -webpack-sources@^0.1.0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" +webpack-sources@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" dependencies: - source-list-map "~0.1.7" + source-list-map "^2.0.0" source-map "~0.5.3" -webpack@2.2.0-rc.4: - version "2.2.0-rc.4" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.0-rc.4.tgz#3d4bd04976be45fcb20c0eab7fe5a96f5ad53068" +webpack@3.5.5: + version "3.5.5" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.5.5.tgz#3226f09fc8b3e435ff781e7af34f82b68b26996c" dependencies: - acorn "^4.0.4" + acorn "^5.0.0" acorn-dynamic-import "^2.0.0" - ajv "^4.7.0" - ajv-keywords "^1.1.1" + ajv "^5.1.5" + ajv-keywords "^2.0.0" async "^2.1.2" - enhanced-resolve "^3.0.0" + enhanced-resolve "^3.4.0" + escope "^3.6.0" interpret "^1.0.0" json-loader "^0.5.4" - loader-runner "^2.2.0" - loader-utils "^0.2.16" + json5 "^0.5.1" + loader-runner "^2.3.0" + loader-utils "^1.1.0" memory-fs "~0.4.1" mkdirp "~0.5.0" node-libs-browser "^2.0.0" source-map "^0.5.3" - supports-color "^3.1.0" - tapable "~0.2.5" - uglify-js "^2.7.5" - watchpack "^1.2.0" - webpack-sources "^0.1.0" - yargs "^6.0.0" + supports-color "^4.2.1" + tapable "^0.2.7" + uglifyjs-webpack-plugin "^0.4.6" + watchpack "^1.4.0" + webpack-sources "^1.0.1" + yargs "^8.0.2" websocket-driver@>=0.5.1: version "0.6.5" @@ -5751,12 +6685,22 @@ which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + which@^1.1.1, which@^1.2.1, which@^1.2.12: version "1.2.14" resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" dependencies: isexe "^2.0.0" +which@^1.2.9: + version "1.3.0" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + dependencies: + isexe "^2.0.0" + wide-align@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" @@ -5796,20 +6740,35 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -ws@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.0.1.tgz#7d0b2a2e58cddd819039c29c9de65045e1b310e9" +ws@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f" dependencies: options ">=0.0.5" ultron "1.0.x" +wtf-8@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" + xml-char-classes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" -xmlhttprequest-ssl@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz#3b7741fea4a86675976e908d296d4445961faa67" +xml2js@>=0.2.4: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + dependencies: + sax ">=0.6.0" + xmlbuilder "~9.0.1" + +xmlbuilder@~9.0.1: + version "9.0.4" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.4.tgz#519cb4ca686d005a8420d3496f3f0caeecca580f" + +xmlhttprequest-ssl@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: version "4.0.1" @@ -5833,6 +6792,10 @@ yaku@^0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/yaku/-/yaku-0.18.0.tgz#fb7ee682d0b49619f6a148670a0fc9b384b568bb" +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + yargs-parser@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" @@ -5846,6 +6809,12 @@ yargs-parser@^4.1.0, yargs-parser@^4.2.0: dependencies: camelcase "^3.0.0" +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + dependencies: + camelcase "^4.1.0" + yargs@6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4" @@ -5902,6 +6871,24 @@ yargs@^6.0.0: y18n "^3.2.1" yargs-parser "^4.2.0" +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"