diff --git a/.eslintrc b/.eslintrc index 960cdd9..4619788 100644 --- a/.eslintrc +++ b/.eslintrc @@ -10,5 +10,8 @@ "jquery": true, "node": true }, - "parser": "babel-eslint" + "rules": { + "react/require-extension": 0, + "import/extensions": [1, { "js": "never" }] + } } diff --git a/CHANGELOG.md b/CHANGELOG.md index 97e4bba..b38b2a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +### 9.0.0-alpha.4: November 16th, 2016 +* Use new webpack api schema ([8ac5f15](https://github.com/roots/sage/commit/e6e60aa)) +* Update dependencies ([70ebba7](https://github.com/roots/sage/commit/70ebba7)) +* Variables organization ([8ac5f15](https://github.com/roots/sage/commit/8ac5f15)) +* Use $.fn.ready() (reverts 724d550) ([e7fccbe](https://github.com/roots/sage/commit/e7fccbe)) +* Theme activation updates 'stylesheet' option instead of 'template' ([fb19145](https://github.com/roots/sage/commit/fb19145)) +* Reorganize and refactor build routine ([8c9ba05](https://github.com/roots/sage/commit/8c9ba05)) +* Switch assets manifest plugin ([c1bb2b3](https://github.com/roots/sage/commit/c1bb2b3)) +* Add images to assets manifest ([c49793c](https://github.com/roots/sage/commit/c49793c)) +* Switch from babel to buble ([0d38ab8](https://github.com/roots/sage/commit/0d38ab8)) +* Update dependencies & webpack compatibility (BREAKING CHANGES) ([eae52fd](https://github.com/roots/sage/commit/eae52fd)) +* Use http by default (not https) to be consistent with Trellis ([e6f2f49](https://github.com/roots/sage/commit/e6f2f49)) + ### 9.0.0-alpha.3: September 11th, 2016 * Fix webpack HMR ([#1713](https://github.com/roots/sage/issues/1713)) * Remove minor edits from CHANGELOG.md ([3516629](https://github.com/roots/sage/commit/3516629)) @@ -53,6 +66,11 @@ * Rename interfaces, unset after unwrapping ([97906e9](https://github.com/roots/sage/commit/97906e9)) * Restructure theme, use autoloader ([9eaffa3](https://github.com/roots/sage/commit/9eaffa3a2d4df462dd8020a10551334208bd32a3)) +### 8.5.0: September 20th, 2016 +* Update installation instructions +* Update dependencies +* Update to Bootstrap 4.0.0-alpha.4 ([5eb01fd](https://github.com/roots/sage/commit/5eb01fd0319a7b6576e31579dc50e16b023abb74)) + ### 8.4.2: February 19th, 2016 * Add Composer vendor directory to gitignore ([#1618](https://github.com/roots/sage/issues/1618)) * Fix build test by removing trailing space ([#1617](https://github.com/roots/sage/issues/1617)) diff --git a/assets/build/.eslintrc b/assets/build/.eslintrc index 60f6bb7..30767dd 100644 --- a/assets/build/.eslintrc +++ b/assets/build/.eslintrc @@ -3,6 +3,8 @@ "extends": "airbnb", "rules": { "import/no-extraneous-dependencies": 0, - "prefer-rest-params": 0 + "prefer-rest-params": 0, + "react/require-extension": 0, + "import/extensions": [1, { "js": "never" }] } } diff --git a/assets/build/config.js b/assets/build/config.js index 05b01e6..8ba63b4 100644 --- a/assets/build/config.js +++ b/assets/build/config.js @@ -1,7 +1,6 @@ const path = require('path'); const argv = require('minimist')(process.argv.slice(2)); -const glob = require('glob-all'); -const merge = require('lodash/merge'); +const uniq = require('lodash/uniq'); const mergeWithConcat = require('./util/mergeWithConcat'); const userConfig = require('../config'); @@ -12,7 +11,7 @@ const rootPath = (userConfig.paths && userConfig.paths.root) : process.cwd(); const config = mergeWithConcat({ - copy: ['images/**/*'], + copy: 'images/**/*', proxyUrl: 'http://localhost:3000', cacheBusting: '[name]_[hash]', paths: { @@ -22,27 +21,22 @@ const config = mergeWithConcat({ }, enabled: { sourceMaps: !isProduction, - minify: isProduction, + optimize: isProduction, cacheBusting: isProduction, watcher: !!argv.watch, - uglifyJs: !(argv.p || argv.optimizeMinimize), }, watch: [], }, userConfig); +config.watch.push(`${path.basename(config.paths.assets)}/${config.copy}`); +config.watch = uniq(config.watch); + Object.keys(config.entry).forEach(id => config.entry[id].unshift(path.join(__dirname, 'public-path.js'))); module.exports = mergeWithConcat(config, { - env: merge({ production: isProduction, development: !isProduction }, argv.env), - entry: { - get files() { - return glob.sync(config.copy, { - cwd: config.paths.assets, - mark: true, - }).filter(file => !((file.slice(-1) === '/') || (!file.indexOf('*') === -1))) - .map(file => path.join(config.paths.assets, file)); - }, - }, + env: Object.assign({ production: isProduction, development: !isProduction }, argv.env), publicPath: `${config.publicPath}/${path.basename(config.paths.dist)}/`, + manifest: {}, }); + diff --git a/assets/build/util/assetManifestsFormatter.js b/assets/build/util/assetManifestsFormatter.js new file mode 100644 index 0000000..c9f0d52 --- /dev/null +++ b/assets/build/util/assetManifestsFormatter.js @@ -0,0 +1,34 @@ +const path = require('path'); + +module.exports = (key, value) => { + if (typeof value === 'string') { + return value; + } + const manifest = value; + /** + * Hack to prepend scripts/ or styles/ to manifest keys + * + * This might need to be reworked at some point. + * + * Before: + * { + * "main.js": "scripts/main_abcdef.js" + * "main.css": "styles/main_abcdef.css" + * } + * After: + * { + * "scripts/main.js": "scripts/main_abcdef.js" + * "styles/main.css": "styles/main_abcdef.css" + * } + */ + Object.keys(manifest).forEach((src) => { + const sourcePath = path.basename(path.dirname(src)); + const targetPath = path.basename(path.dirname(manifest[src])); + if (sourcePath === targetPath) { + return; + } + manifest[`${targetPath}/${src}`] = manifest[src]; + delete manifest[src]; + }); + return manifest; +}; diff --git a/assets/build/util/assetsPluginProcessOutput.js b/assets/build/util/assetsPluginProcessOutput.js deleted file mode 100644 index d894d5c..0000000 --- a/assets/build/util/assetsPluginProcessOutput.js +++ /dev/null @@ -1,18 +0,0 @@ -const path = require('path'); - -/** - * Process AssetsPlugin output and format it - * for Sage: {"[name].[ext]":"[name]_[hash].[ext]"} - * @param {Object} assets passed by processOutput - * @return {String} JSON - */ -module.exports = (assets) => { - const results = {}; - Object.keys(assets).forEach((name) => { - Object.keys(assets[name]).forEach((ext) => { - const filename = `${path.dirname(assets[name][ext])}/${path.basename(`${name}.${ext}`)}`; - results[filename] = assets[name][ext]; - }); - }); - return JSON.stringify(results); -}; diff --git a/assets/build/util/interpolateName.js b/assets/build/util/interpolateName.js new file mode 100644 index 0000000..d96490f --- /dev/null +++ b/assets/build/util/interpolateName.js @@ -0,0 +1,50 @@ +'use strict'; // eslint-disable-line + +const path = require('path'); +const utils = require('loader-utils'); + +/** + * Generate output name from output pattern + * + * @link https://github.com/kevlened/copy-webpack-plugin/blob/323b1d74ef35ed2221637d8028b1bef854deb523/src/writeFile.js#L31-L65 + * @param {string} pattern + * @param {string} relativeFrom + * @param {binary} content + * @return {string} + */ +module.exports = (pattern, relativeFrom, content) => { + let webpackTo = pattern; + let resourcePath = relativeFrom; + + /* A hack so .dotted files don't get parsed as extensions */ + const basename = path.basename(resourcePath); + let dotRemoved = false; + if (basename[0] === '.') { + dotRemoved = true; + resourcePath = path.join(path.dirname(resourcePath), basename.slice(1)); + } + + /** + * If it doesn't have an extension, remove it from the pattern + * ie. [name].[ext] or [name][ext] both become [name] + */ + if (!path.extname(resourcePath)) { + webpackTo = webpackTo.replace(/\.?\[ext]/g, ''); + } + + /** + * A hack because loaderUtils.interpolateName doesn't + * find the right path if no directory is defined + * ie. [path] applied to 'file.txt' would return 'file' + */ + if (resourcePath.indexOf('/') < 0) { + resourcePath = `/${resourcePath}`; + } + + webpackTo = utils.interpolateName({ resourcePath }, webpackTo, { content }); + + if (dotRemoved) { + webpackTo = path.join(path.dirname(webpackTo), `.${path.basename(webpackTo)}`); + } + return webpackTo; +}; diff --git a/assets/build/util/promisify.js b/assets/build/util/promisify.js new file mode 100644 index 0000000..65a6455 --- /dev/null +++ b/assets/build/util/promisify.js @@ -0,0 +1,21 @@ +/** + * Node-style asynchronous function. + * + * @callback nodeAsyncCallback + * @param {string|null} err + * @param {*} data + */ +/** + * Promisify node-style asynchronous functions + * + * @param {nodeAsyncCallback} fn - Function with node-style callback + * @param {this} [scope] - Scope to which the function should be bound. Default: fn + * @returns {Promise} - An instance of Promise + */ +module.exports = (fn, scope) => function callback() { + const args = [].slice.call(arguments); + return new Promise((resolve, reject) => { + args.push((err, data) => (err === null ? resolve(data) : reject(err))); + return fn.apply(scope || fn, args); + }); +}; diff --git a/assets/build/webpack.config.js b/assets/build/webpack.config.js index 407ff84..2d383ff 100644 --- a/assets/build/webpack.config.js +++ b/assets/build/webpack.config.js @@ -1,16 +1,13 @@ +'use strict'; // eslint-disable-line + const webpack = require('webpack'); -const path = require('path'); const qs = require('qs'); const autoprefixer = require('autoprefixer'); const CleanPlugin = require('clean-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); -const ImageminPlugin = require('imagemin-webpack-plugin').default; -const imageminMozjpeg = require('imagemin-mozjpeg'); +const CopyGlobsPlugin = require('./webpack.plugin.copyglobs'); const mergeWithConcat = require('./util/mergeWithConcat'); -const addHotMiddleware = require('./util/addHotMiddleware'); -const webpackConfigProduction = require('./webpack.config.production'); -const webpackConfigWatch = require('./webpack.config.watch'); const config = require('./config'); const assetsFilenames = (config.enabled.cacheBusting) ? config.cacheBusting : '[name]'; @@ -19,20 +16,17 @@ const sourceMapQueryStr = (config.enabled.sourceMaps) ? '+sourceMap' : '-sourceM const jsLoader = { test: /\.js$/, exclude: [/(node_modules|bower_components)(?![/|\\](bootstrap|foundation-sites))/], - loaders: [{ - loader: 'babel', - query: { - presets: [[path.resolve('./node_modules/babel-preset-es2015'), { modules: false }]], - cacheDirectory: true, - }, + use: [{ + loader: 'buble', + options: { objectAssign: 'Object.assign' }, }], }; if (config.enabled.watcher) { - jsLoader.loaders.unshift('monkey-hot?sourceType=module'); + jsLoader.use.unshift('monkey-hot?sourceType=module'); } -const webpackConfig = { +let webpackConfig = { context: config.paths.assets, entry: config.entry, devtool: (config.enabled.sourceMaps ? '#source-map' : undefined), @@ -42,15 +36,14 @@ const webpackConfig = { filename: `scripts/${assetsFilenames}.js`, }, module: { - preLoaders: [ + rules: [ + jsLoader, { + enforce: 'pre', test: /\.js?$/, include: config.paths.assets, loader: 'eslint', }, - ], - loaders: [ - jsLoader, { test: /\.css$/, include: config.paths.assets, @@ -78,9 +71,9 @@ const webpackConfig = { { test: /\.(png|jpe?g|gif|svg|ico)$/, include: config.paths.assets, - loaders: [ + use: [ `file?${qs.stringify({ - name: '[path][name].[ext]', + name: `[path]${assetsFilenames}.[ext]`, })}`, ], }, @@ -104,43 +97,37 @@ const webpackConfig = { test: /\.(ttf|eot|woff2?|png|jpe?g|gif|svg)$/, include: /node_modules|bower_components/, loader: 'file', - query: { + options: { name: `vendor/${config.cacheBusting}.[ext]`, }, }, ], }, - modules: [ - config.paths.assets, - 'node_modules', - 'bower_components', - ], - enforceExtensions: false, + resolve: { + modules: [ + config.paths.assets, + 'node_modules', + 'bower_components', + ], + enforceExtension: false, + }, + resolveLoader: { + moduleExtensions: ['-loader'], + }, externals: { jquery: 'jQuery', }, plugins: [ - new CleanPlugin([config.paths.dist], config.paths.root), - new ImageminPlugin({ - optipng: { - optimizationLevel: 7, - }, - gifsicle: { - optimizationLevel: 3, - }, - pngquant: { - quality: '65-90', - speed: 4, - }, - svgo: { - removeUnknownsAndDefaults: false, - cleanupIDs: false, - }, - jpegtran: null, - plugins: [imageminMozjpeg({ - quality: 75, - })], - disable: (config.enabled.watcher), + new CleanPlugin([config.paths.dist], { + root: config.paths.root, + verbose: false, + }), + new CopyGlobsPlugin({ + // It would be nice to switch to copy-webpack-plugin, but unfortunately it doesn't + // provide a reliable way of tracking the before/after file names + pattern: config.copy, + output: `[path]${assetsFilenames}.[ext]`, + manifest: config.manifest, }), new ExtractTextPlugin({ filename: `styles/${assetsFilenames}.css`, @@ -160,42 +147,56 @@ const webpackConfig = { : false, }), new webpack.LoaderOptionsPlugin({ - minimize: config.enabled.minify, + minimize: config.enabled.optimize, debug: config.enabled.watcher, stats: { colors: true }, - postcss: [ - autoprefixer({ - browsers: [ - 'last 2 versions', - 'android 4', - 'opera 12', - ], - }), - ], - eslint: { - failOnWarning: false, - failOnError: true, + }), + new webpack.LoaderOptionsPlugin({ + test: /\.s?css$/, + options: { + output: { path: config.paths.dist }, + context: config.paths.assets, + postcss: [ + autoprefixer({ browsers: ['last 2 versions', 'android 4', 'opera 12'] }), + ], + }, + }), + new webpack.LoaderOptionsPlugin({ + test: /\.js$/, + options: { + eslint: { failOnWarning: false, failOnError: true }, }, }), ], }; -module.exports = webpackConfig; +/* eslint-disable global-require */ /** Let's only load dependencies as needed */ + +if (config.env.optimize) { + webpackConfig = mergeWithConcat(webpackConfig, require('./webpack.config.optimize')); +} if (config.env.production) { - module.exports = mergeWithConcat(webpackConfig, webpackConfigProduction); + webpackConfig.plugins.push(new webpack.NoErrorsPlugin()); } -if (config.enabled.watcher) { - module.exports = mergeWithConcat(webpackConfig, webpackConfigWatch, { - entry: addHotMiddleware(webpackConfig.entry), - }); -} +if (config.enabled.cacheBusting) { + const WebpackAssetsManifest = require('webpack-assets-manifest'); -if (config.enabled.uglifyJs) { - module.exports.plugins.push( - new webpack.optimize.UglifyJsPlugin({ - sourceMap: config.enabled.sourceMaps, + webpackConfig.plugins.push( + new WebpackAssetsManifest({ + output: 'assets.json', + space: 2, + writeToDisk: false, + assets: config.manifest, + replacer: require('./util/assetManifestsFormatter'), }) ); } + +if (config.enabled.watcher) { + webpackConfig.entry = require('./util/addHotMiddleware')(webpackConfig.entry); + webpackConfig = mergeWithConcat(webpackConfig, require('./webpack.config.watch')); +} + +module.exports = webpackConfig; diff --git a/assets/build/webpack.config.optimize.js b/assets/build/webpack.config.optimize.js new file mode 100644 index 0000000..5de2720 --- /dev/null +++ b/assets/build/webpack.config.optimize.js @@ -0,0 +1,26 @@ +'use strict'; // eslint-disable-line + +const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin'); +const ImageminPlugin = require('imagemin-webpack-plugin').default; +const imageminMozjpeg = require('imagemin-mozjpeg'); +const cssnano = require('cssnano'); + +const config = require('./config'); + +module.exports = { + plugins: [ + new OptimizeCssAssetsPlugin({ + cssProcessor: cssnano, + cssProcessorOptions: { discardComments: { removeAll: true } }, + canPrint: true, + }), + new ImageminPlugin({ + optipng: { optimizationLevel: 7 }, + gifsicle: { optimizationLevel: 3 }, + pngquant: { quality: '65-90', speed: 4 }, + svgo: { removeUnknownsAndDefaults: false, cleanupIDs: false }, + plugins: [imageminMozjpeg({ quality: 75 })], + disable: (config.enabled.watcher), + }), + ], +}; diff --git a/assets/build/webpack.config.production.js b/assets/build/webpack.config.production.js deleted file mode 100644 index ab8de65..0000000 --- a/assets/build/webpack.config.production.js +++ /dev/null @@ -1,22 +0,0 @@ -const AssetsPlugin = require('assets-webpack-plugin'); -const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin'); -const cssnano = require('cssnano'); - -const processOutput = require('./util/assetsPluginProcessOutput'); -const config = require('./config'); - -module.exports = { - plugins: [ - new AssetsPlugin({ - path: config.paths.dist, - filename: 'assets.json', - fullPath: false, - processOutput, - }), - new OptimizeCssAssetsPlugin({ - cssProcessor: cssnano, - cssProcessorOptions: { discardComments: { removeAll: true } }, - canPrint: true, - }), - ], -}; diff --git a/assets/build/webpack.config.watch.js b/assets/build/webpack.config.watch.js index 3019698..d58750d 100644 --- a/assets/build/webpack.config.watch.js +++ b/assets/build/webpack.config.watch.js @@ -1,13 +1,12 @@ const webpack = require('webpack'); const BrowserSyncPlugin = require('./webpack.plugin.browsersync'); -const mergeWithConcat = require('./util/mergeWithConcat'); const config = require('./config'); module.exports = { output: { pathinfo: true }, - debug: true, devtool: '#cheap-module-source-map', + stats: false, plugins: [ new webpack.optimize.OccurrenceOrderPlugin(), new webpack.HotModuleReplacementPlugin(), @@ -16,9 +15,7 @@ module.exports = { target: config.devUrl, publicPath: config.publicPath, proxyUrl: config.proxyUrl, - browserSyncOptions: mergeWithConcat({ - files: config.watch, - }, config.browserSyncOptions), + watch: config.watch, }), ], }; diff --git a/assets/build/webpack.plugin.browsersync.js b/assets/build/webpack.plugin.browsersync.js index c51351e..ebb850d 100644 --- a/assets/build/webpack.plugin.browsersync.js +++ b/assets/build/webpack.plugin.browsersync.js @@ -1,9 +1,10 @@ -'use strict'; // eslint-disable-line strict +'use strict'; // eslint-disable-line const webpackDevMiddleware = require('webpack-dev-middleware'); const webpackHotMiddleware = require('webpack-hot-middleware'); const browserSync = require('browser-sync'); const url = require('url'); +const uniq = require('lodash/uniq'); const mergeWithConcat = require('./util/mergeWithConcat'); @@ -13,6 +14,7 @@ module.exports = class { this.compiler = null; this.options = mergeWithConcat({ proxyUrl: 'https://localhost:3000', + watch: [], callback() {}, }, options); } @@ -27,7 +29,9 @@ module.exports = class { compiler.plugin('compilation', () => this.watcher.notify('Rebuilding...')); this.start(); } - // Optionally add logic for this.watcher.reload() + /* You may optionally add custom logic here to trigger either of the following */ + // this.watcher.reload() + // this.watcher.reload({ stream: true }) }); } start() { @@ -38,13 +42,16 @@ module.exports = class { target: this.options.target, middleware: this.middleware(), }, + files: [], }, this.options.browserSyncOptions); + watcherConfig.files = uniq(watcherConfig.files.concat(this.options.watch)); this.watcher.init(watcherConfig, this.options.callback.bind(this)); } middleware() { this.webpackDevMiddleware = webpackDevMiddleware(this.compiler, { publicPath: this.options.publicPath, - stats: { colors: true }, + stats: false, + noInfo: true, }); this.webpackHotMiddleware = webpackHotMiddleware(this.compiler, { log: this.watcher.notify.bind(this.watcher), diff --git a/assets/build/webpack.plugin.copyglobs.js b/assets/build/webpack.plugin.copyglobs.js new file mode 100644 index 0000000..76202d0 --- /dev/null +++ b/assets/build/webpack.plugin.copyglobs.js @@ -0,0 +1,143 @@ +'use strict'; // eslint-disable-line + +const fs = require('fs'); +const path = require('path'); +const glob = require('glob'); +const utils = require('loader-utils'); +const includes = require('lodash/includes'); + +const interpolateName = require('./util/interpolateName'); +const promisify = require('./util/promisify'); + +const fixPath = v => v.replace(/\\/g, '/'); +const errorMsg = msg => `\x1b[31m${msg}\x1b[0m`; + +const GLOB_CWD_AUTO = null; + +const globAsync = promisify(glob); +const statAsync = promisify(fs.stat); +const readFileAsync = promisify(fs.readFile); + +class PatternUndefinedError extends Error { + constructor() { + super(errorMsg('[copy-globs] You must provide glob pattern.')); + } +} + +class ArgsArrayError extends TypeError { + constructor() { + super(errorMsg( + '[copy-globs] pattern cannot be an array.\n' + + 'For multiple folders, use something like:\n\n' + + ' +(images|fonts)/**/*\n\n' + + 'See also: https://github.com/isaacs/node-glob#glob-primer\n' + )); + } +} + +/** + * Throws an error if pattern is an array or undefined + * + * @param pattern + */ +const testPattern = (pattern) => { + if (pattern === undefined) { + throw new PatternUndefinedError(); + } + if (Array.isArray(pattern)) { + throw new ArgsArrayError(); + } +}; + +const normalizeArguments = (input) => { + testPattern(input); + const options = {}; + if (typeof input === 'string') { + options.pattern = input; + } else { + testPattern(input.pattern); + return input; + } + return options; +}; + +module.exports = class { + constructor(o) { + const options = normalizeArguments(o); + this.pattern = options.pattern; + this.disable = options.disable; + this.output = options.output || '[path][name].[ext]'; + this.globOptions = Object.assign(options.globOptions || {}, { cwd: GLOB_CWD_AUTO }); + this.globOptions.nodir = true; + this.manifest = options.manifest || {}; + this.files = []; + } + apply(compiler) { + if (this.disable) { + return; + } + this.compiler = compiler; + this.resolveWorkingDirectory(); + compiler.plugin('emit', this.emitHandler.bind(this)); + compiler.plugin('after-emit', this.afterEmitHandler.bind(this)); + } + emitHandler(compilation, callback) { + this.compilation = compilation; + globAsync(this.pattern, this.globOptions) + .then( + paths => Promise.all(paths.map(this.processAsset.bind(this))), + err => compilation.errors.push(err) + ) + .then(() => { + Object.keys(this.files).forEach((absoluteFrom) => { + const file = this.files[absoluteFrom]; + this.manifest[file.relativeFrom] = file.webpackTo; + this.compilation.assets[file.webpackTo] = { + size: () => file.stat.size, + source: () => file.content, + }; + }); + }) + .then(callback); + } + afterEmitHandler(compilation, callback) { + Object.keys(this.files) + .filter(absoluteFrom => !includes(compilation.fileDependencies, absoluteFrom)) + .forEach(absoluteFrom => compilation.fileDependencies.push(absoluteFrom)); + callback(); + } + resolveWorkingDirectory() { + if (this.globOptions.cwd === GLOB_CWD_AUTO) { + this.globOptions.cwd = this.compiler.options.context; + } + this.context = this.globOptions.cwd || this.compiler.options.context; + } + processAsset(relativeFrom) { + if (this.compilation.assets[relativeFrom]) { + return Promise.resolve(); + } + const absoluteFrom = path.resolve(this.context, relativeFrom); + return statAsync(absoluteFrom) + .then(stat => this.buildFileObject(relativeFrom, absoluteFrom, stat)) + .then(this.addAsset.bind(this)); + } + buildFileObject(relativeFrom, absoluteFrom, stat) { + return readFileAsync(absoluteFrom) + .then((content) => { + const hash = utils.getHashDigest(content); + const webpackTo = fixPath(interpolateName(this.output, relativeFrom, content)); + return { relativeFrom, absoluteFrom, stat, content, hash, webpackTo }; + }); + } + addAsset(file) { + const asset = this.getAsset(file.absoluteFrom); + if (asset && asset.hash === file.hash) { + return null; + } + this.files[file.absoluteFrom] = file; + return file; + } + getAsset(absoluteFrom) { + return this.files[absoluteFrom]; + } +}; diff --git a/assets/config.json b/assets/config.json index 3405de1..084d143 100644 --- a/assets/config.json +++ b/assets/config.json @@ -13,7 +13,7 @@ "src/**/*.php" ], "publicPath": "/app/themes/sage", - "devUrl": "https://example.dev", - "proxyUrl": "https://localhost:3000", + "devUrl": "http://example.dev", + "proxyUrl": "http://localhost:3000", "cacheBusting": "[name]_[hash:8]" } diff --git a/assets/scripts/main.js b/assets/scripts/main.js index 8eea307..343b131 100644 --- a/assets/scripts/main.js +++ b/assets/scripts/main.js @@ -20,4 +20,4 @@ const routes = { }; // Load Events -document.addEventListener('DOMContentLoaded', () => new Router(routes).loadEvents()); +jQuery(document).ready(() => new Router(routes).loadEvents()); diff --git a/assets/styles/common/_variables.scss b/assets/styles/common/_variables.scss index 72048e1..f4cf0ed 100644 --- a/assets/styles/common/_variables.scss +++ b/assets/styles/common/_variables.scss @@ -1,10 +1,12 @@ -// Grid settings -$enable-flex: true; -$main-sm-columns: 12; -$sidebar-sm-columns: 4; - // Colors $brand-primary: #27ae60; -// Font Awesome | see: http://fontawesome.io/get-started/ +// Global options +$enable-flex: true; + +// Grid settings +$main-sm-columns: 12; +$sidebar-sm-columns: 4; + +// Vendor variables $fa-font-path: '~font-awesome/fonts'; diff --git a/functions.php b/functions.php index 13f151e..969a2aa 100644 --- a/functions.php +++ b/functions.php @@ -20,22 +20,21 @@ if (file_exists($composer = __DIR__ . '/vendor/autoload.php')) { * We do this so that the Template Hierarchy will look in themes/sage/templates for core WordPress themes * But functions.php, style.css, and index.php are all still located in themes/sage * - * themes/sage/index.php also contains some self-correcting code, just in case the template option gets reset + * get_template_directory() -> /srv/www/example.com/current/web/app/themes/sage + * get_stylesheet_directory() -> /srv/www/example.com/current/web/app/themes/sage + * locate_template() + * ├── STYLESHEETPATH -> /srv/www/example.com/current/web/app/themes/sage + * └── TEMPLATEPATH -> /srv/www/example.com/current/web/app/themes/sage/templates */ -add_filter('stylesheet', function ($stylesheet) { +add_filter('template', function ($stylesheet) { return dirname($stylesheet); }); add_action('after_switch_theme', function () { - $stylesheet = get_option('stylesheet'); + $stylesheet = get_option('template'); if (basename($stylesheet) !== 'templates') { - update_option('stylesheet', $stylesheet . '/templates'); + update_option('template', $stylesheet . '/templates'); } }); -add_action('customize_render_section', function ($section) { - if ($section->type === 'themes') { - $section->title = wp_get_theme(basename(__DIR__))->display('Name'); - } -}, 10, 2); /** * Sage includes diff --git a/index.php b/index.php index 452d62d..04501c1 100644 --- a/index.php +++ b/index.php @@ -1,6 +1,3 @@ ", "homepage": "https://roots.io/sage/", "private": true, @@ -19,63 +19,59 @@ ], "scripts": { "build": "webpack --progress --config assets/build/webpack.config.js", - "build:production": "npm run build -s -- -p", - "start": "npm run build -s -- --watch", + "build:production": "webpack --progress -p --config assets/build/webpack.config.js", + "build:profile": "webpack --progress --profile --json --config assets/build/webpack.config.js", + "start": "webpack --hide-modules --watch --config assets/build/webpack.config.js", "clean": "rimraf dist", "lint": "eslint assets/scripts assets/build", - "test": "npm run lint -s" + "test": "npm run lint" }, "engines": { "node": ">= 4.5" }, "devDependencies": { - "assets-webpack-plugin": "^3.4.0", - "autoprefixer": "^6.4.1", - "babel-cli": "^6.14.0", - "babel-core": "^6.14.0", - "babel-eslint": "^6.1.2", - "babel-loader": "^6.2.5", - "babel-preset-es2015": "^6.14.0", - "babel-register": "^6.14.0", - "babel-runtime": "^6.11.6", + "autoprefixer": "^6.5.2", "body-parser": "^1.15.2", - "browser-sync": "^2.15.0", - "clean-webpack-plugin": "^0.1.10", + "browser-sync": "^2.17.5", + "buble": "^0.14.2", + "buble-loader": "^0.3.2", + "clean-webpack-plugin": "^0.1.13", "css-loader": "^0.25.0", - "cssnano": "^3.7.4", - "eslint": "^3.5.0", - "eslint-config-airbnb": "^11.0.0", - "eslint-config-airbnb-es5": "^1.0.9", - "eslint-loader": "^1.5.0", - "eslint-plugin-import": "^1.14.0", - "eslint-plugin-jsx-a11y": "^2.2.1", - "eslint-plugin-react": "^6.2.0", + "cssnano": "^3.8.0", + "eslint": "^3.9.1", + "eslint-config-airbnb": "^12.0.0", + "eslint-loader": "^1.6.1", + "eslint-plugin-import": "^2.0.1", + "eslint-plugin-jsx-a11y": "^2.2.3", + "eslint-plugin-react": "^6.6.0", "extract-text-webpack-plugin": "^2.0.0-beta.4", "file-loader": "^0.9.0", - "glob-all": "^3.1.0", + "glob": "^7.1.1", "imagemin-mozjpeg": "^6.0.0", - "imagemin-webpack-plugin": "^1.1.0", + "imagemin-webpack-plugin": "^1.2.1", "imports-loader": "^0.6.5", - "lodash": "^4.15.0", + "loader-utils": "^0.2.16", + "lodash": "^4.16.6", "minimist": "^1.2.0", "monkey-hot-loader": "github:rmarscher/monkey-hot-loader#webpack2-import", - "node-sass": "^3.9.3", + "node-sass": "^3.11.2", "optimize-css-assets-webpack-plugin": "^1.3.0", - "postcss": "^5.2.0", - "postcss-loader": "^0.13.0", - "qs": "^6.2.1", + "postcss": "^5.2.5", + "postcss-loader": "^1.1.0", + "qs": "^6.3.0", "resolve-url-loader": "^1.6.0", "rimraf": "^2.5.4", "sass-loader": "^4.0.2", "style-loader": "^0.13.1", "url-loader": "^0.5.7", - "webpack": "2.1.0-beta.22", - "webpack-dev-middleware": "^1.7.0", - "webpack-hot-middleware": "^2.12.2" + "webpack": "^2.1.0-beta.26", + "webpack-assets-manifest": "^0.6.1", + "webpack-dev-middleware": "^1.8.4", + "webpack-hot-middleware": "^2.13.1" }, "dependencies": { - "bootstrap": "github:twbs/bootstrap#v4-dev", - "font-awesome": "^4.6.3", + "bootstrap": "^4.0.0-alpha.5", + "font-awesome": "^4.7.0", "jquery": "1.12.4 - 3" } } diff --git a/src/helpers.php b/src/helpers.php index 3b53332..34a39b0 100644 --- a/src/helpers.php +++ b/src/helpers.php @@ -24,7 +24,7 @@ function template_part($template, array $context = [], $layout = 'base') function asset_path($filename) { static $manifest; - isset($manifest) || $manifest = new JsonManifest(get_template_directory() . '/' . Asset::$dist . '/assets.json'); + isset($manifest) || $manifest = new JsonManifest(get_stylesheet_directory() . '/' . Asset::$dist . '/assets.json'); return (string) new Asset($filename, $manifest); } diff --git a/style.css b/style.css index ee5c580..003bcaa 100644 --- a/style.css +++ b/style.css @@ -2,7 +2,7 @@ Theme Name: Sage Starter Theme Theme URI: https://roots.io/sage/ Description: Sage is a WordPress starter theme. Contribute on GitHub -Version: 9.0.0-alpha.3 +Version: 9.0.0-alpha.4 Author: Roots Author URI: https://roots.io/ Text Domain: sage diff --git a/yarn.lock b/yarn.lock index 3024597..9043777 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,11 +17,17 @@ acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: dependencies: acorn "^3.0.4" -acorn@^3.0.4, acorn@^3.2.0: +acorn-object-spread@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz#48ead0f4a8eb16995a17a0db9ffc6acaada4ba68" + dependencies: + acorn "^3.1.0" + +acorn@^3.0.4, acorn@^3.1.0, acorn@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^4.0.1: +acorn@^4.0.1, acorn@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.3.tgz#1a3e850b428e73ba6b09d1cc527f5aaad4d03ef1" @@ -29,13 +35,13 @@ after@0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627" -ajv-keywords@^1.0.0: +ajv-keywords@^1.0.0, ajv-keywords@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.1.1.tgz#02550bc605a3e576041565628af972e06c549d50" ajv@^4.7.0: - version "4.8.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.8.2.tgz#65486936ca36fea39a1504332a78bebd5d447bdc" + version "4.9.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.9.0.tgz#5a358085747b134eb567d6d15e015f1d7802f45c" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" @@ -53,8 +59,8 @@ alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" amdefine@>=0.0.4: - version "1.0.0" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.0.tgz#fd17474700cb5cc9c2b709f0be9d23ce3c198c33" + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" ansi-escapes@^1.1.0: version "1.4.0" @@ -150,8 +156,8 @@ arrify@^1.0.0: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" asn1.js@^4.0.0: - version "4.8.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.8.1.tgz#3949b7f5fd1e8bedc13be3abebf477f93490c810" + version "4.9.0" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.0.tgz#f71a1243f3e79d46d7b07d7fbf4824ee73af054a" dependencies: bn.js "^4.0.0" inherits "^2.0.1" @@ -183,16 +189,6 @@ assert@^1.1.1: dependencies: util "0.10.3" -assets-webpack-plugin@^3.4.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/assets-webpack-plugin/-/assets-webpack-plugin-3.5.0.tgz#933b16bf679c7510dd3475e4df9ba495d9dc0368" - dependencies: - camelcase "^1.2.1" - escape-string-regexp "^1.0.3" - lodash.assign "^3.2.0" - lodash.merge "^3.3.2" - mkdirp "^0.5.1" - async-each-series@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-1.1.0.tgz#f42fd8155d38f21a5b8ea07c28e063ed1700b138" @@ -209,15 +205,15 @@ async-foreach@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" -"async-throttle@github:zeit/async-throttle#596dc23b4ac2598cfed4d30289fb75c29f8d57fe": +async-throttle@zeit/async-throttle#596dc23b4ac2598cfed4d30289fb75c29f8d57fe: version "0.0.1" resolved "https://codeload.github.com/zeit/async-throttle/tar.gz/596dc23b4ac2598cfed4d30289fb75c29f8d57fe" -async@^1.3.0, async@^1.5.0: +async@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.0.1: +async@^2.0.1, async@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/async/-/async-2.1.2.tgz#612a4ab45ef42a70cde806bad86ee6db047e8385" dependencies: @@ -245,15 +241,15 @@ atob@~1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" -autoprefixer@^6.3.1, autoprefixer@^6.4.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.5.1.tgz#ae759a5221e709f3da17c2d656230e67c43cbb75" +autoprefixer@^6.3.1, autoprefixer@^6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.5.3.tgz#2d853af66d04449fcf50db3066279ab54c3e4b01" dependencies: browserslist "~1.4.0" - caniuse-db "^1.0.30000554" + caniuse-db "^1.0.30000578" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^5.2.4" + postcss "^5.2.5" postcss-value-parser "^3.2.3" aws-sign2@~0.6.0: @@ -264,27 +260,6 @@ aws4@^1.2.1: version "1.5.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" -babel-cli@^6.14.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.18.0.tgz#92117f341add9dead90f6fa7d0a97c0cc08ec186" - dependencies: - babel-core "^6.18.0" - babel-polyfill "^6.16.0" - babel-register "^6.18.0" - babel-runtime "^6.9.0" - commander "^2.8.1" - convert-source-map "^1.1.0" - fs-readdir-recursive "^1.0.0" - glob "^5.0.5" - lodash "^4.2.0" - output-file-sync "^1.1.0" - path-is-absolute "^1.0.0" - slash "^1.0.0" - source-map "^0.5.0" - v8flags "^2.0.10" - optionalDependencies: - chokidar "^1.0.0" - babel-code-frame@^6.11.0, babel-code-frame@^6.16.0: version "6.16.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.16.0.tgz#f90e60da0862909d3ce098733b5d3987c97cb8de" @@ -293,388 +268,6 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.16.0: esutils "^2.0.2" js-tokens "^2.0.0" -babel-core@^6.14.0, babel-core@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.18.0.tgz#bb5ce9bc0a956e6e94e2f12d597abb3b0b330deb" - dependencies: - babel-code-frame "^6.16.0" - babel-generator "^6.18.0" - babel-helpers "^6.16.0" - babel-messages "^6.8.0" - babel-register "^6.18.0" - babel-runtime "^6.9.1" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.11.0" - convert-source-map "^1.1.0" - debug "^2.1.1" - json5 "^0.5.0" - lodash "^4.2.0" - minimatch "^3.0.2" - path-is-absolute "^1.0.0" - private "^0.1.6" - slash "^1.0.0" - source-map "^0.5.0" - -babel-eslint@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-6.1.2.tgz#5293419fe3672d66598d327da9694567ba6a5f2f" - dependencies: - babel-traverse "^6.0.20" - babel-types "^6.0.19" - babylon "^6.0.18" - lodash.assign "^4.0.0" - lodash.pickby "^4.0.0" - -babel-generator@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.18.0.tgz#e4f104cb3063996d9850556a45aae4a022060a07" - dependencies: - babel-messages "^6.8.0" - babel-runtime "^6.9.0" - babel-types "^6.18.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.2.0" - source-map "^0.5.0" - -babel-helper-call-delegate@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd" - dependencies: - babel-helper-hoist-variables "^6.18.0" - babel-runtime "^6.0.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2" - dependencies: - babel-helper-function-name "^6.18.0" - babel-runtime "^6.9.0" - babel-types "^6.18.0" - lodash "^4.2.0" - -babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" - dependencies: - babel-helper-get-function-arity "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helper-get-function-arity@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-helper-hoist-variables@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-helper-optimise-call-expression@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-helper-regex@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6" - dependencies: - babel-runtime "^6.9.0" - babel-types "^6.18.0" - lodash "^4.2.0" - -babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" - dependencies: - babel-helper-optimise-call-expression "^6.18.0" - babel-messages "^6.8.0" - babel-runtime "^6.0.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-helpers@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" - dependencies: - babel-runtime "^6.0.0" - babel-template "^6.16.0" - -babel-loader@^6.2.5: - version "6.2.7" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.7.tgz#16fdbf64328030dc5a606827d389c8b92a2a8032" - dependencies: - find-cache-dir "^0.1.1" - loader-utils "^0.2.11" - mkdirp "^0.5.1" - object-assign "^4.0.1" - -babel-messages@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-check-es2015-constants@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-arrow-functions@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-block-scoping@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.18.0.tgz#3bfdcfec318d46df22525cdea88f1978813653af" - dependencies: - babel-runtime "^6.9.0" - babel-template "^6.15.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - lodash "^4.2.0" - -babel-plugin-transform-es2015-classes@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9" - dependencies: - babel-helper-define-map "^6.18.0" - babel-helper-function-name "^6.18.0" - babel-helper-optimise-call-expression "^6.18.0" - babel-helper-replace-supers "^6.18.0" - babel-messages "^6.8.0" - babel-runtime "^6.9.0" - babel-template "^6.14.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-plugin-transform-es2015-computed-properties@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870" - dependencies: - babel-helper-define-map "^6.8.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - -babel-plugin-transform-es2015-destructuring@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.18.0.tgz#a08fb89415ab82058649558bedb7bf8dafa76ba5" - dependencies: - babel-runtime "^6.9.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz#fd8f7f7171fc108cc1c70c3164b9f15a81c25f7d" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.8.0" - -babel-plugin-transform-es2015-for-of@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-function-name@^6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719" - dependencies: - babel-helper-function-name "^6.8.0" - babel-runtime "^6.9.0" - babel-types "^6.9.0" - -babel-plugin-transform-es2015-literals@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-modules-amd@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz#49a054cbb762bdf9ae2d8a807076cfade6141e40" - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - -babel-plugin-transform-es2015-modules-commonjs@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc" - dependencies: - babel-plugin-transform-strict-mode "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.16.0" - babel-types "^6.18.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.18.0.tgz#f09294707163edae4d3b3e8bfacecd01d920b7ad" - dependencies: - babel-helper-hoist-variables "^6.18.0" - babel-runtime "^6.11.6" - babel-template "^6.14.0" - -babel-plugin-transform-es2015-modules-umd@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz#23351770ece5c1f8e83ed67cb1d7992884491e50" - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.18.0" - babel-runtime "^6.0.0" - babel-template "^6.8.0" - -babel-plugin-transform-es2015-object-super@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5" - dependencies: - babel-helper-replace-supers "^6.8.0" - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-parameters@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.18.0.tgz#9b2cfe238c549f1635ba27fc1daa858be70608b1" - dependencies: - babel-helper-call-delegate "^6.18.0" - babel-helper-get-function-arity "^6.18.0" - babel-runtime "^6.9.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - -babel-plugin-transform-es2015-shorthand-properties@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-plugin-transform-es2015-spread@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-sticky-regex@^6.3.13: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be" - dependencies: - babel-helper-regex "^6.8.0" - babel-runtime "^6.0.0" - babel-types "^6.8.0" - -babel-plugin-transform-es2015-template-literals@^6.6.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz#0b14c48629c90ff47a0650077f6aa699bee35798" - dependencies: - babel-runtime "^6.0.0" - -babel-plugin-transform-es2015-unicode-regex@^6.3.13: - version "6.11.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c" - dependencies: - babel-helper-regex "^6.8.0" - babel-runtime "^6.0.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-regenerator@^6.16.0: - version "6.16.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.16.1.tgz#a75de6b048a14154aae14b0122756c5bed392f59" - dependencies: - babel-runtime "^6.9.0" - babel-types "^6.16.0" - private "~0.1.5" - -babel-plugin-transform-strict-mode@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d" - dependencies: - babel-runtime "^6.0.0" - babel-types "^6.18.0" - -babel-polyfill@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.16.0.tgz#2d45021df87e26a374b6d4d1a9c65964d17f2422" - dependencies: - babel-runtime "^6.9.1" - core-js "^2.4.0" - regenerator-runtime "^0.9.5" - -babel-preset-es2015@^6.14.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz#b8c70df84ec948c43dcf2bf770e988eb7da88312" - dependencies: - babel-plugin-check-es2015-constants "^6.3.13" - babel-plugin-transform-es2015-arrow-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" - babel-plugin-transform-es2015-block-scoping "^6.18.0" - babel-plugin-transform-es2015-classes "^6.18.0" - babel-plugin-transform-es2015-computed-properties "^6.3.13" - babel-plugin-transform-es2015-destructuring "^6.18.0" - babel-plugin-transform-es2015-duplicate-keys "^6.6.0" - babel-plugin-transform-es2015-for-of "^6.18.0" - babel-plugin-transform-es2015-function-name "^6.9.0" - babel-plugin-transform-es2015-literals "^6.3.13" - babel-plugin-transform-es2015-modules-amd "^6.18.0" - babel-plugin-transform-es2015-modules-commonjs "^6.18.0" - babel-plugin-transform-es2015-modules-systemjs "^6.18.0" - babel-plugin-transform-es2015-modules-umd "^6.18.0" - babel-plugin-transform-es2015-object-super "^6.3.13" - babel-plugin-transform-es2015-parameters "^6.18.0" - babel-plugin-transform-es2015-shorthand-properties "^6.18.0" - babel-plugin-transform-es2015-spread "^6.3.13" - babel-plugin-transform-es2015-sticky-regex "^6.3.13" - babel-plugin-transform-es2015-template-literals "^6.6.0" - babel-plugin-transform-es2015-typeof-symbol "^6.18.0" - babel-plugin-transform-es2015-unicode-regex "^6.3.13" - babel-plugin-transform-regenerator "^6.16.0" - -babel-register@^6.14.0, babel-register@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" - dependencies: - babel-core "^6.18.0" - babel-runtime "^6.11.6" - core-js "^2.4.0" - home-or-tmp "^2.0.0" - lodash "^4.2.0" - mkdirp "^0.5.1" - source-map-support "^0.4.2" - -babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.9.0, babel-runtime@^6.9.1: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.18.0.tgz#0f4177ffd98492ef13b9f823e9994a02584c9078" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.9.5" - babel-runtime@6.11.6: version "6.11.6" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.11.6.tgz#6db707fef2d49c49bfa3cb64efdb436b518b8222" @@ -682,43 +275,6 @@ babel-runtime@6.11.6: core-js "^2.4.0" regenerator-runtime "^0.9.5" -babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.8.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" - dependencies: - babel-runtime "^6.9.0" - babel-traverse "^6.16.0" - babel-types "^6.16.0" - babylon "^6.11.0" - lodash "^4.2.0" - -babel-traverse@^6.0.20, babel-traverse@^6.16.0, babel-traverse@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.18.0.tgz#5aeaa980baed2a07c8c47329cd90c3b90c80f05e" - dependencies: - babel-code-frame "^6.16.0" - babel-messages "^6.8.0" - babel-runtime "^6.9.0" - babel-types "^6.18.0" - babylon "^6.11.0" - debug "^2.2.0" - globals "^9.0.0" - invariant "^2.2.0" - lodash "^4.2.0" - -babel-types@^6.0.19, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.8.0, babel-types@^6.9.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.18.0.tgz#1f7d5a73474c59eb9151b2417bbff4e4fce7c3f8" - dependencies: - babel-runtime "^6.9.1" - esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^1.0.1" - -babylon@^6.0.18, babylon@^6.11.0: - version "6.13.1" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.13.1.tgz#adca350e088f0467647157652bafead6ddb8dfdb" - backo2@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" @@ -758,8 +314,8 @@ bcrypt-pbkdf@^1.0.0: tweetnacl "^0.14.3" beeper@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.0.tgz#9ee6fc1ce7f54feaace7ce73588b056037866a2c" + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" benchmark@1.0.0: version "1.0.0" @@ -870,9 +426,9 @@ boom@2.x.x: dependencies: hoek "2.x.x" -"bootstrap@github:twbs/bootstrap#v4-dev": +bootstrap@^4.0.0-alpha.5: version "4.0.0-alpha.5" - resolved "https://codeload.github.com/twbs/bootstrap/tar.gz/d1171ac44ad05a1b7244900b690840093d3e5573" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.0.0-alpha.5.tgz#a126b648c3bd2f52b8fad4bbc5e2d0ad2abf7064" dependencies: jquery "1.9.1 - 3" tether "^1.3.7" @@ -914,13 +470,13 @@ browser-sync-ui@0.6.1: stream-throttle "^0.1.3" weinre "^2.0.0-pre-I0Z7U9OV" -browser-sync@^2.15.0: - version "2.17.5" - resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.17.5.tgz#8e0a9ddfc2e162e7aada085f76181c57b6dbdf7a" +browser-sync@^2.17.5: + version "2.17.6" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.17.6.tgz#9ea2c205031d12bb27905b5a602999528d1ecfdb" dependencies: browser-sync-client "^2.3.3" browser-sync-ui "0.6.1" - bs-recipes "1.2.3" + bs-recipes "1.3.2" chokidar "1.6.0" connect "3.5.0" dev-ip "^1.0.1" @@ -1001,9 +557,27 @@ browserslist@~1.4.0: dependencies: caniuse-db "^1.0.30000539" -bs-recipes@1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.2.3.tgz#0e4d17bb1cff92ef6c36608b8487d9a07571ac54" +bs-recipes@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.3.2.tgz#aebff3bfc9dca4cab3c2938d91e43473cf41b6c1" + +buble-loader@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/buble-loader/-/buble-loader-0.3.2.tgz#b228ead153f7d5c46bef2150d6d5c86c9c27bf4a" + dependencies: + loader-utils "^0.2.15" + +buble@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/buble/-/buble-0.14.2.tgz#5e2ffd5469693068731d77c9c98909aee61e5e6f" + dependencies: + acorn "^3.3.0" + acorn-jsx "^3.0.1" + acorn-object-spread "^1.0.0" + chalk "^1.1.3" + magic-string "^0.14.0" + minimist "^1.2.0" + os-homedir "^1.0.1" buffer-crc32@~0.2.3: version "0.2.5" @@ -1075,9 +649,9 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" -caniuse-db@^1.0.30000539, caniuse-db@^1.0.30000554: - version "1.0.30000570" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000570.tgz#21843913855f4873974850ee8ef9e628f53bc8de" +caniuse-db@^1.0.30000539, caniuse-db@^1.0.30000578: + version "1.0.30000581" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000581.tgz#9a707e1cff67a36bf624636d4662ea9fe041f3a8" capture-stack-trace@^1.0.0: version "1.0.0" @@ -1113,7 +687,7 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chokidar@^1.0.0, chokidar@^1.4.3: +chokidar@^1.4.3: version "1.6.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" dependencies: @@ -1159,9 +733,9 @@ clap@^1.0.9: dependencies: chalk "^1.1.3" -clean-webpack-plugin@^0.1.10: - version "0.1.13" - resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.13.tgz#c2bae9bc4dd44348123ad98e19fa55e7a9b07600" +clean-webpack-plugin@^0.1.13: + version "0.1.14" + resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.14.tgz#72e577e90d38a5b8a42a2d3a9c055c45b84e2194" dependencies: rimraf "~2.5.1" @@ -1218,16 +792,16 @@ coa@~1.0.1: q "^1.1.2" code-point-at@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.0.1.tgz#1104cd34f9b5b45d3eba88f1babc1924e1ce35fb" - dependencies: - number-is-nan "^1.0.0" + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" color-convert@^1.3.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.5.0.tgz#7a2b4efb4488df85bca6443cb038b7100fbe7de1" + version "1.7.0" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.7.0.tgz#473bcddfa54b76a77a3d435aceccfbf3d99cbbb0" + dependencies: + color-name "^1.1.1" -color-name@^1.0.0: +color-name@^1.0.0, color-name@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" @@ -1238,8 +812,8 @@ color-string@^0.3.0: color-name "^1.0.0" color@^0.11.0: - version "0.11.3" - resolved "https://registry.yarnpkg.com/color/-/color-0.11.3.tgz#4bad1d0d52499dd00dbd6f0868442467e49394e6" + version "0.11.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" dependencies: clone "^1.0.2" color-convert "^1.3.0" @@ -1263,7 +837,7 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@^2.2.0, commander@^2.8.1, commander@^2.9.0: +commander@^2.2.0, commander@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1358,7 +932,7 @@ convert-source-map@^0.3.3: version "0.3.5" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" -convert-source-map@^1.1.0, convert-source-map@^1.1.1: +convert-source-map@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" @@ -1370,6 +944,18 @@ core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" +cosmiconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.1.0.tgz#26e384a2055ea4e087050e5e08d53eb4eac8f86e" + dependencies: + graceful-fs "^4.1.2" + js-yaml "^3.4.3" + minimist "^1.2.0" + object-assign "^4.1.0" + os-homedir "^1.0.1" + parse-json "^2.2.0" + require-from-string "^1.1.0" + create-ecdh@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" @@ -1476,7 +1062,7 @@ cssesc@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" -cssnano@^3.4.0, cssnano@^3.7.4, "cssnano@>=2.6.1 <4": +cssnano@^3.4.0, cssnano@^3.8.0, "cssnano@>=2.6.1 <4": version "3.8.0" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.8.0.tgz#bb90ac5292f42b679d9a05f6da0e9697556bb80d" dependencies: @@ -1557,7 +1143,13 @@ dateformat@^1.0.11: get-stdin "^4.0.1" meow "^3.3.0" -debug@^2.1.1, debug@^2.2.0, debug@~2.2.0, debug@2.2.0: +debug@^2.1.1, debug@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.2.tgz#94cb466ef7d6d2c7e5245cdd6e4104f2d0d70d30" + dependencies: + ms "0.7.2" + +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: @@ -1678,12 +1270,6 @@ destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - dependencies: - repeating "^2.0.0" - dev-ip@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" @@ -1696,20 +1282,13 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -doctrine@^1.2.2: +doctrine@^1.2.2, doctrine@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" dependencies: esutils "^2.0.2" isarray "^1.0.0" -doctrine@1.3.x: - version "1.3.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.3.0.tgz#13e75682b55518424276f7c173783456ef913d26" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - domain-browser@^1.1.1: version "1.1.7" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" @@ -1902,7 +1481,7 @@ es6-map@^0.1.3: es6-symbol "~3.1.0" event-emitter "~0.3.4" -es6-set@^0.1.4, es6-set@~0.1.3: +es6-set@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" dependencies: @@ -1932,7 +1511,7 @@ escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -1945,21 +1524,15 @@ escope@^3.6.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-config-airbnb-base@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-7.2.0.tgz#1a2ff77cc5d4abc2e1c5daebe4106fce95ff7c2a" +eslint-config-airbnb-base@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-8.0.0.tgz#c5e958a469ab8af76aff068b43d784e5afe74ca7" -eslint-config-airbnb-es5@^1.0.9: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-es5/-/eslint-config-airbnb-es5-1.1.0.tgz#f342474fe7c8e02745707d1c5e3bca0a3ab9e968" +eslint-config-airbnb@^12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-12.0.0.tgz#ab282b756a25f03d04ac264c24d673a08a803270" dependencies: - strip-json-comments "1.0.2" - -eslint-config-airbnb@^11.0.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-11.2.0.tgz#a0930ed7891e824e1b3e436cdf9754c815a2920c" - dependencies: - eslint-config-airbnb-base "^7.2.0" + eslint-config-airbnb-base "^8.0.0" eslint-import-resolver-node@^0.2.0: version "0.2.3" @@ -1969,36 +1542,38 @@ eslint-import-resolver-node@^0.2.0: object-assign "^4.0.1" resolve "^1.1.6" -eslint-loader@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.6.0.tgz#38f9a1e6c602a4f1f3f3516289726e5d26e6e165" +eslint-loader@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.6.1.tgz#96c47c812772eeb077e3a81681818e671a2cabf5" dependencies: find-cache-dir "^0.1.1" loader-utils "^0.2.7" object-assign "^4.0.1" + object-hash "^1.1.4" -eslint-plugin-import@^1.14.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz#b2fa07ebcc53504d0f2a4477582ec8bff1871b9f" +eslint-module-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce" + dependencies: + debug "2.2.0" + pkg-dir "^1.0.0" + +eslint-plugin-import@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e" dependencies: builtin-modules "^1.1.1" contains-path "^0.1.0" debug "^2.2.0" - doctrine "1.3.x" - es6-map "^0.1.3" - es6-set "^0.1.4" + doctrine "1.5.0" eslint-import-resolver-node "^0.2.0" + eslint-module-utils "^2.0.0" has "^1.0.1" lodash.cond "^4.3.0" - lodash.endswith "^4.0.1" - lodash.find "^4.3.0" - lodash.findindex "^4.3.0" minimatch "^3.0.3" - object-assign "^4.0.1" - pkg-dir "^1.0.0" pkg-up "^1.0.0" -eslint-plugin-jsx-a11y@^2.2.1: +eslint-plugin-jsx-a11y@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz#4e35cb71b8a7db702ac415c806eb8e8d9ea6c65d" dependencies: @@ -2006,16 +1581,16 @@ eslint-plugin-jsx-a11y@^2.2.1: jsx-ast-utils "^1.0.0" object-assign "^4.0.1" -eslint-plugin-react@^6.2.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.4.1.tgz#7d1aade747db15892f71eee1fea4addf97bcfa2b" +eslint-plugin-react@^6.6.0: + version "6.7.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.7.1.tgz#1af96aea545856825157d97c1b50d5a8fb64a5a7" dependencies: doctrine "^1.2.2" - jsx-ast-utils "^1.3.1" + jsx-ast-utils "^1.3.3" -eslint@^3.5.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.9.0.tgz#68c8fa86b1e0a3f038040f3b5808b7508c128f8e" +eslint@^3.9.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.10.1.tgz#65544c7c171986899fa8a8f9abd71badf7981ba0" dependencies: babel-code-frame "^6.16.0" chalk "^1.1.3" @@ -2029,7 +1604,7 @@ eslint@^3.5.0: file-entry-cache "^2.0.0" glob "^7.0.3" globals "^9.2.0" - ignore "^3.1.5" + ignore "^3.2.0" imurmurhash "^0.1.4" inquirer "^0.12.0" is-my-json-valid "^2.10.0" @@ -2249,7 +1824,7 @@ filename-reserved-regex@^1.0.0: filenamify@^1.0.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5" + resolved "http://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5" dependencies: filename-reserved-regex "^1.0.0" strip-outer "^1.0.0" @@ -2277,7 +1852,7 @@ finalhandler@0.5.0: find-cache-dir@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + resolved "http://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" dependencies: commondir "^1.0.1" mkdirp "^0.5.1" @@ -2316,7 +1891,7 @@ flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" -font-awesome@^4.6.3: +font-awesome@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133" @@ -2343,8 +1918,8 @@ form-data@~1.0.0-rc3: mime-types "^2.1.11" form-data@~2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.1.tgz#4adf0342e1a79afa1e84c8c320a9ffc82392a1f3" + version "2.1.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" dependencies: asynckit "^0.4.0" combined-stream "^1.0.5" @@ -2368,17 +1943,13 @@ fs-extra@0.30.0: path-is-absolute "^1.0.0" rimraf "^2.2.8" -fs-readdir-recursive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" fsevents@^1.0.0: - version "1.0.14" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.14.tgz#558e8cc38643d8ef40fe45158486d0d25758eee4" + version "1.0.15" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44" dependencies: nan "^2.3.0" node-pre-gyp "^0.6.29" @@ -2469,13 +2040,6 @@ gifsicle@^3.0.0: bin-wrapper "^3.0.0" logalot "^2.0.0" -glob-all@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-all/-/glob-all-3.1.0.tgz#8913ddfb5ee1ac7812656241b03d5217c64b02ab" - dependencies: - glob "^7.0.5" - yargs "~1.2.6" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -2509,7 +2073,7 @@ glob-stream@^5.3.2: to-absolute-glob "^0.1.1" unique-stream "^2.0.2" -glob@^5.0.3, glob@^5.0.5: +glob@^5.0.3: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" dependencies: @@ -2519,7 +2083,7 @@ glob@^5.0.3, glob@^5.0.5: 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, glob@^7.1.1, glob@~7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -2530,9 +2094,9 @@ 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" -globals@^9.0.0, globals@^9.2.0: - version "9.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.12.0.tgz#992ce90828c3a55fa8f16fada177adb64664cf9d" +globals@^9.2.0: + version "9.13.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.13.0.tgz#d97706b61600d8dbe94708c367d3fdcf48470b8f" globby@^5.0.0: version "5.0.0" @@ -2560,12 +2124,11 @@ glogg@^1.0.0: sparkles "^1.0.0" got@^5.0.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-5.6.0.tgz#bb1d7ee163b78082bbc8eb836f3f395004ea6fbf" + version "5.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" dependencies: create-error-class "^3.0.1" duplexer2 "^0.1.4" - is-plain-obj "^1.0.0" is-redirect "^1.0.0" is-retry-allowed "^1.0.0" is-stream "^1.0.0" @@ -2576,13 +2139,13 @@ got@^5.0.0: pinkie-promise "^2.0.0" read-all-stream "^3.0.0" readable-stream "^2.0.5" - timed-out "^2.0.0" - unzip-response "^1.0.0" + timed-out "^3.0.0" + unzip-response "^1.0.2" url-parse-lax "^1.0.0" -graceful-fs@^4.0.0, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" +graceful-fs@^4.0.0, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.1.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131" "graceful-readlink@>= 1.0.0": version "1.0.1" @@ -2714,13 +2277,6 @@ hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - hosted-git-info@^2.1.4: version "2.1.5" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" @@ -2787,7 +2343,7 @@ ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" -ignore@^3.1.5: +ignore@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" @@ -2838,7 +2394,7 @@ imagemin-svgo@^5.1.0: is-svg "^2.0.0" svgo "^0.7.0" -imagemin-webpack-plugin@^1.1.0: +imagemin-webpack-plugin@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/imagemin-webpack-plugin/-/imagemin-webpack-plugin-1.2.1.tgz#5cca567c42028b1c54c540b0d0917e5ffca82f7c" dependencies: @@ -2938,12 +2494,6 @@ interpret@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" -invariant@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" - dependencies: - loose-envify "^1.0.0" - invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" @@ -3097,7 +2647,7 @@ is-png@^1.0.0: is-posix-bracket@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + resolved "http://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" is-primitive@^2.0.0: version "2.0.0" @@ -3130,8 +2680,8 @@ is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" is-svg@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.0.1.tgz#f93ab3bf1d6bbca30e9753cd3485b1300eebc013" + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" dependencies: html-comment-regex "^1.1.0" @@ -3207,7 +2757,14 @@ js-tokens@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" -js-yaml@^3.5.1, js-yaml@~3.6.1: +js-yaml@^3.4.3, js-yaml@^3.5.1: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +js-yaml@~3.6.1: version "3.6.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" dependencies: @@ -3218,10 +2775,6 @@ jsbn@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" @@ -3274,7 +2827,7 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.3.6" -jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.1: +jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.3.tgz#ccfdbe0320ba03f7a1fc4e67ceaf7e2cc0169721" dependencies: @@ -3334,11 +2887,11 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -loader-runner@^2.1.0: +loader-runner@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.2.0.tgz#824c1b699c4e7a2b6501b85902d5b862bf45b3fa" -loader-utils@^0.2.11, loader-utils@^0.2.12, loader-utils@^0.2.15, loader-utils@^0.2.3, loader-utils@^0.2.7, loader-utils@~0.2.2, loader-utils@~0.2.5, loader-utils@0.2.x: +loader-utils@^0.2.11, loader-utils@^0.2.12, loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@^0.2.3, loader-utils@^0.2.7, loader-utils@~0.2.2, loader-utils@~0.2.5, loader-utils@0.2.x: version "0.2.16" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d" dependencies: @@ -3356,14 +2909,6 @@ localtunnel@1.8.1: request "2.65.0" yargs "3.29.0" -lodash._arraycopy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1" - -lodash._arrayeach@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz#bab156b2a90d3f1bbd5c653403349e5e5933ef9e" - lodash._baseassign@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" @@ -3375,10 +2920,6 @@ lodash._basecopy@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" -lodash._basefor@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2" - lodash._basetostring@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" @@ -3430,7 +2971,7 @@ lodash._root@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" -lodash.assign@^3.0.0, lodash.assign@^3.2.0: +lodash.assign@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa" dependencies: @@ -3438,7 +2979,7 @@ lodash.assign@^3.0.0, lodash.assign@^3.2.0: lodash._createassigner "^3.0.0" lodash.keys "^3.0.0" -lodash.assign@^4.0.0, lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0: +lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" @@ -3469,23 +3010,19 @@ lodash.defaults@^3.1.2: lodash.assign "^3.0.0" lodash.restparam "^3.0.0" -lodash.endswith@^4.0.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" - lodash.escape@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" dependencies: lodash._root "^3.0.0" -lodash.find@^4.3.0: +lodash.find@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" -lodash.findindex@^4.3.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106" +lodash.get@^4.0: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" lodash.indexof@^4.0.5: version "4.0.5" @@ -3503,18 +3040,6 @@ lodash.isequal@^4.0.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.4.0.tgz#6295768e98e14dc15ce8d362ef6340db82852031" -lodash.isplainobject@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz#9a8238ae16b200432960cd7346512d0123fbf4c5" - dependencies: - lodash._basefor "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.keysin "^3.0.0" - -lodash.istypedarray@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62" - lodash.keys@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" @@ -3523,36 +3048,21 @@ lodash.keys@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" -lodash.keysin@^3.0.0: - version "3.0.8" - resolved "https://registry.yarnpkg.com/lodash.keysin/-/lodash.keysin-3.0.8.tgz#22c4493ebbedb1427962a54b445b2c8a767fb47f" - dependencies: - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" +lodash.keys@^4.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" lodash.map@4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" -lodash.merge@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-3.3.2.tgz#0d90d93ed637b1878437bb3e21601260d7afe994" - dependencies: - lodash._arraycopy "^3.0.0" - lodash._arrayeach "^3.0.0" - lodash._createassigner "^3.0.0" - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - lodash.isplainobject "^3.0.0" - lodash.istypedarray "^3.0.0" - lodash.keys "^3.0.0" - lodash.keysin "^3.0.0" - lodash.toplainobject "^3.0.0" - -lodash.pickby@^4.0.0: +lodash.merge@^4.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" + +lodash.pick@^4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" lodash.restparam@^3.0.0: version "3.6.1" @@ -3579,13 +3089,6 @@ lodash.templatesettings@^3.0.0: lodash._reinterpolate "^3.0.0" lodash.escape "^3.0.0" -lodash.toplainobject@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz#28790ad942d293d78aa663a07ecf7f52ca04198d" - dependencies: - lodash._basecopy "^3.0.0" - lodash.keysin "^3.0.0" - lodash.words@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.words/-/lodash.words-3.2.0.tgz#4e2a8649bc08745b17c695b1a3ce8fee596623b3" @@ -3596,9 +3099,13 @@ lodash@^3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" -lodash@^4.0.0, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.2.0, lodash@^4.3.0, lodash@~4.16.4: - version "4.16.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127" +lodash@^4.0.0, lodash@^4.14.0, lodash@^4.16.6, lodash@^4.3.0: + version "4.17.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.1.tgz#e75eaf17a34730c6491d9956f4d81f3a044f01bf" + +lodash@~4.16.4: + version "4.16.6" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" logalot@^2.0.0: version "2.1.0" @@ -3611,12 +3118,6 @@ longest@^1.0.0, longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" -loose-envify@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" - dependencies: - js-tokens "^2.0.0" - loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -3652,6 +3153,12 @@ macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" +magic-string@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.14.0.tgz#57224aef1701caeed273b17a39a956e72b172462" + dependencies: + vlq "^0.2.1" + map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -3751,10 +3258,6 @@ minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@~3.0.2, "minimat dependencies: brace-expansion "^1.0.0" -minimist@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" - minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -3793,6 +3296,10 @@ ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" +ms@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + multipipe@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" @@ -3876,9 +3383,9 @@ node-pre-gyp@^0.6.29: tar "~2.2.1" tar-pack "~3.3.0" -node-sass@^3.9.3: - version "3.10.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.10.1.tgz#c535b2e1a5439240591e06d7308cb663820d616c" +node-sass@^3.11.2: + version "3.12.5" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.12.5.tgz#5d7c4bd205d670422793c4b0597dd04d4537452b" dependencies: async-foreach "^0.1.3" chalk "^1.1.1" @@ -3929,8 +3436,8 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" normalize-url@^1.4.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.7.0.tgz#d82452d98d38821cffddab4d77a5f8d20ce66db0" + version "1.8.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.8.0.tgz#a9550b079aa3523c85d78df24eef1959fce359ab" dependencies: object-assign "^4.0.1" prepend-http "^1.0.0" @@ -3989,6 +3496,10 @@ object-component@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" +object-hash@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.1.5.tgz#bdd844e030d0861b692ca175c6cab6868ec233d7" + object-path@^0.9.0: version "0.9.2" resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" @@ -4079,7 +3590,7 @@ os-filter-obj@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-1.0.3.tgz#5915330d90eced557d2d938a31c6dd214d9c63ad" -os-homedir@^1.0.0: +os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -4089,7 +3600,7 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: +os-tmpdir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -4100,14 +3611,6 @@ osenv@0: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -output-file-sync@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" - dependencies: - graceful-fs "^4.1.4" - mkdirp "^0.5.1" - object-assign "^4.1.0" - p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -4287,8 +3790,8 @@ postcss-discard-comments@^2.0.4: postcss "^5.0.14" postcss-discard-duplicates@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.0.1.tgz#5fae3f1a71df3e19cffb37309d1a7dba56c4589c" + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.0.2.tgz#02be520e91571ffb10738766a981d5770989bb32" dependencies: postcss "^5.0.4" @@ -4318,12 +3821,37 @@ postcss-filter-plugins@^2.0.0: postcss "^5.0.4" uniqid "^4.0.0" -postcss-loader@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-0.13.0.tgz#72fdaf0d29444df77d3751ce4e69dc40bc99ed85" +postcss-load-config@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.0.0.tgz#1399f60dcd6bd9c3124b2eb22960f77f9dc08b3d" dependencies: - loader-utils "^0.2.15" - postcss "^5.2.0" + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + postcss-load-options "^1.0.2" + postcss-load-plugins "^2.0.0" + +postcss-load-options@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.0.2.tgz#b99eb5759a588f4b2dd8b6471c6985f72060e7b0" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + +postcss-load-plugins@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.0.0.tgz#2840d8df1d1c57ebcb1d41b5f60d45796504b43f" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + +postcss-loader@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-1.1.1.tgz#cbc4cb75fbdcfa6c9fc3c7ec342ae04064f1c8fb" + dependencies: + loader-utils "^0.2.16" + object-assign "^4.1.0" + postcss "^5.2.5" + postcss-load-config "^1.0.0" postcss-merge-idents@^2.1.5: version "2.1.7" @@ -4359,8 +3887,8 @@ postcss-minify-font-values@^1.0.2: postcss-value-parser "^3.0.2" postcss-minify-gradients@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.4.tgz#47d4fef7efbcc64e541fae6115c9a3cc84d47006" + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" dependencies: postcss "^5.0.12" postcss-value-parser "^3.3.0" @@ -4375,10 +3903,11 @@ postcss-minify-params@^1.0.4: uniqs "^2.0.0" postcss-minify-selectors@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.0.5.tgz#4e1f966fb49c95266804016ba9a3c6645bb601e0" + version "2.0.6" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.0.6.tgz#044b1a85ee2f909fc9a1c540f6f74b0e7613f119" dependencies: alphanum-sort "^1.0.2" + has "^1.0.1" postcss "^5.0.14" postcss-selector-parser "^2.0.0" @@ -4410,8 +3939,8 @@ postcss-modules-values@^1.1.0: postcss "^5.0.14" postcss-normalize-charset@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.0.tgz#2fbd30e12248c442981d31ea2484d46fd0628970" + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" dependencies: postcss "^5.0.5" @@ -4445,15 +3974,16 @@ postcss-reduce-initial@^1.0.0: postcss "^5.0.4" postcss-reduce-transforms@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.3.tgz#fc193e435a973c10f9801c74700a830f79643343" + version "1.0.4" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" dependencies: + has "^1.0.1" postcss "^5.0.8" postcss-value-parser "^3.0.1" postcss-selector-parser@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.1.tgz#fdbf696103b12b0a64060e5610507f410491f7c8" + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.2.tgz#3d70f5adda130da51c7c0c2fc023f56b1374fe08" dependencies: flatten "^1.0.2" indexes-of "^1.0.1" @@ -4487,7 +4017,7 @@ postcss-zindex@^2.0.1: postcss "^5.0.4" uniqs "^2.0.0" -postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.0, postcss@^5.2.4: +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.5: version "5.2.5" resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.5.tgz#ec428c27dffc7fac65961340a9b022fa4af5f056" dependencies: @@ -4508,10 +4038,6 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -private@^0.1.6, private@~0.1.5: - version "0.1.6" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" - 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" @@ -4558,7 +4084,7 @@ q@^1.1.2: version "1.4.1" resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" -qs@^6.2.1, "qs@>= 0.4.0", qs@~6.3.0: +qs@^6.3.0, "qs@>= 0.4.0", qs@~6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" @@ -4647,9 +4173,9 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@~2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" +readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" dependencies: buffer-shims "^1.0.0" core-util-is "~1.0.0" @@ -4688,6 +4214,18 @@ readable-stream@~2.0.0, readable-stream@~2.0.5: string_decoder "~0.10.x" util-deprecate "~1.0.1" +readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -4733,12 +4271,12 @@ reduce-function-call@^1.0.1: balanced-match "~0.1.0" regenerate@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.1.tgz#0300203a5d2fdcf89116dce84275d011f5903f33" + version "1.3.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" regenerator-runtime@^0.9.5: - version "0.9.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz#403d6d40a4bdff9c330dd9392dcbb2d9a8bba1fc" + version "0.9.6" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" regex-cache@^0.4.2: version "0.4.3" @@ -4755,14 +4293,6 @@ regexpu-core@^1.0.0: regjsgen "^0.2.0" regjsparser "^0.1.4" -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - regjsgen@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" @@ -4792,8 +4322,8 @@ replace-ext@0.0.1: resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" request@^2.61.0, request@^2.75.0, request@2: - version "2.76.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.76.0.tgz#be44505afef70360a0436955106be3945d95560e" + version "2.78.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" @@ -4844,13 +4374,17 @@ require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" require-uncached@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.2.tgz#67dad3b733089e77030124678a459589faf6a7ec" + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" dependencies: caller-path "^0.1.0" resolve-from "^1.0.0" @@ -5039,8 +4573,8 @@ setprototypeof@1.0.1: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.1.tgz#52009b27888c4dc48f591949c0a8275834c1ca7e" sha.js@^2.3.6: - version "2.4.5" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.5.tgz#27d171efcc82a118b99639ff581660242b506e7c" + version "2.4.8" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" dependencies: inherits "^2.0.1" @@ -5056,10 +4590,6 @@ signal-exit@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81" -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - slice-ansi@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" @@ -5143,12 +4673,6 @@ source-map-resolve@^0.3.0: source-map-url "~0.3.0" urix "~0.1.0" -source-map-support@^0.4.2: - version "0.4.6" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.6.tgz#32552aa64b458392a85eab3b0b5ee61527167aeb" - dependencies: - source-map "^0.5.3" - source-map-url@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" @@ -5159,7 +4683,7 @@ source-map@^0.1.38, source-map@^0.1.43, source-map@0.1.x: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: +source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" @@ -5213,8 +4737,8 @@ stat-mode@^0.2.0: resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" "statuses@>= 1.3.0 < 2", statuses@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.0.tgz#8e55758cb20e7682c1f4fce8dcab30bf01d1e07a" + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" stream-browserify@^2.0.1: version "2.0.1" @@ -5316,10 +4840,6 @@ strip-json-comments@~1.0.1, strip-json-comments@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" -strip-json-comments@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.2.tgz#5a48ab96023dbac1b7b8d0ffabf6f63f1677be9f" - strip-outer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8" @@ -5456,9 +4976,9 @@ time-stamp@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" -timed-out@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a" +timed-out@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.0.0.tgz#ff88de96030ce960eabd42487db61d3add229273" timers-browserify@^1.0.1: version "1.4.2" @@ -5476,10 +4996,6 @@ to-array@0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" -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" - tough-cookie@~2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.2.2.tgz#c83a1830f4e5ef0b93ef2a3488e724f8de016ac7" @@ -5537,9 +5053,9 @@ ua-parser-js@0.7.10: version "0.7.10" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.10.tgz#917559ddcce07cbc09ece7d80495e4c268f4ef9f" -uglify-js@~2.6.0: - version "2.6.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.4.tgz#65ea2fb3059c9394692f15fed87c2b36c16b9adf" +uglify-js@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.4.tgz#a295a0de12b6a650c031c40deb0dc40b14568bd2" dependencies: async "~0.2.6" source-map "~0.5.1" @@ -5591,9 +5107,9 @@ unpipe@~1.0.0, unpipe@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" -unzip-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.1.tgz#4a73959f2989470fa503791cefb54e1dbbc68412" +unzip-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" urix@^0.1.0, urix@~0.1.0: version "0.1.0" @@ -5625,10 +5141,6 @@ url@~0.11.0: punycode "1.3.2" querystring "0.2.0" -user-home@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - user-home@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" @@ -5653,12 +5165,6 @@ uuid@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" -v8flags@^2.0.10: - version "2.0.11" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" - dependencies: - user-home "^1.1.1" - vali-date@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" @@ -5732,6 +5238,10 @@ vinyl@^1.0.0: clone-stats "^0.0.1" replace-ext "0.0.1" +vlq@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.1.tgz#14439d711891e682535467f8587c5630e4222a6c" + vm-browserify@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" @@ -5752,7 +5262,19 @@ watchpack@^1.0.0: chokidar "^1.4.3" graceful-fs "^4.1.2" -webpack-dev-middleware@^1.7.0: +webpack-assets-manifest@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/webpack-assets-manifest/-/webpack-assets-manifest-0.6.1.tgz#047712922a72068811347b10e261da99b5840e4b" + dependencies: + chalk "^1.1.3" + lodash.find "^4.6.0" + lodash.get "^4.0" + lodash.keys "^4.0" + lodash.merge "^4.0" + lodash.pick "^4.0" + mkdirp "^0.5.1" + +webpack-dev-middleware@^1.8.4: version "1.8.4" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.8.4.tgz#e8765c9122887ce9e3abd4cc9c3eb31b61e0948d" dependencies: @@ -5761,9 +5283,9 @@ webpack-dev-middleware@^1.7.0: path-is-absolute "^1.0.0" range-parser "^1.0.3" -webpack-hot-middleware@^2.12.2: - version "2.13.1" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.13.1.tgz#104350e044be58ba3b7ef1c39513d69562841975" +webpack-hot-middleware@^2.13.1: + version "2.13.2" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.13.2.tgz#6500b15e6d4f1a9590f8df708183f4d2ac2c3e9e" dependencies: ansi-html "0.0.6" html-entities "^1.2.0" @@ -5771,23 +5293,24 @@ webpack-hot-middleware@^2.12.2: strip-ansi "^3.0.0" webpack-sources@^0.1.0, webpack-sources@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.2.tgz#057a3f3255f8ba561b901d9150589aa103a57e65" + version "0.1.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.3.tgz#15ce2fb79d0a1da727444ba7c757bf164294f310" dependencies: source-list-map "~0.1.0" source-map "~0.5.3" -webpack@2.1.0-beta.22: - version "2.1.0-beta.22" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.1.0-beta.22.tgz#b073cf6dbb1993f43bffdde4528ba32f7894d330" +webpack@^2.1.0-beta.26: + version "2.1.0-beta.26" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.1.0-beta.26.tgz#770eed2b04ce9863107ff138caa701a85e7b4e12" dependencies: - acorn "^3.2.0" - async "^1.3.0" - clone "^1.0.2" + acorn "^4.0.3" + ajv "^4.7.0" + ajv-keywords "^1.1.1" + async "^2.1.2" enhanced-resolve "^2.2.0" interpret "^1.0.0" - loader-runner "^2.1.0" - loader-utils "^0.2.11" + loader-runner "^2.2.0" + loader-utils "^0.2.16" memory-fs "~0.3.0" mkdirp "~0.5.0" node-libs-browser "^1.0.0" @@ -5795,10 +5318,10 @@ webpack@2.1.0-beta.22: source-map "^0.5.3" supports-color "^3.1.0" tapable "~0.2.3" - uglify-js "~2.6.0" + uglify-js "~2.7.3" watchpack "^1.0.0" webpack-sources "^0.1.0" - yargs "^4.7.1" + yargs "^6.0.0" weinre@^2.0.0-pre-I0Z7U9OV: version "2.0.0-pre-I0Z7U9OV" @@ -5817,8 +5340,8 @@ which-module@^1.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" which@^1.2.9, which@1: - version "1.2.11" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.11.tgz#c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b" + version "1.2.12" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" dependencies: isexe "^1.1.1" @@ -5904,9 +5427,9 @@ yargs-parser@^2.4.1: camelcase "^3.0.0" lodash.assign "^4.0.6" -yargs-parser@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.0.2.tgz#7f7173a8c7cca1d81dc7c18692fc07c2c2e2b1e0" +yargs-parser@^4.0.2, yargs-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.1.0.tgz#313df030f20124124aeae8fbab2da53ec28c56d7" dependencies: camelcase "^3.0.0" @@ -5929,11 +5452,24 @@ yargs@^4.7.1: y18n "^3.2.1" yargs-parser "^2.4.1" -yargs@~1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-1.2.6.tgz#9c7b4a82fd5d595b2bf17ab6dcc43135432fe34b" +yargs@^6.0.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4" dependencies: - minimist "^0.1.0" + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^4.1.0" yargs@~3.10.0: version "3.10.0"