diff --git a/index.js b/index.js index 66f5dbb..c38ed1f 100644 --- a/index.js +++ b/index.js @@ -29,7 +29,6 @@ function HtmlWebpackPlugin (options) { } HtmlWebpackPlugin.prototype.apply = function (compiler) { - var self = this; var isCompilationCached = false; var compilationPromise; @@ -42,59 +41,59 @@ HtmlWebpackPlugin.prototype.apply = function (compiler) { this.options.filename = path.relative(compiler.options.output.path, filename); } - compiler.plugin('make', function (compilation, callback) { + compiler.plugin('make', (compilation, callback) => { // Compile the template (queued) - compilationPromise = childCompiler.compileTemplate(self.options.template, compiler.context, self.options.filename, compilation) - .catch(function (err) { + compilationPromise = childCompiler.compileTemplate(this.options.template, compiler.context, this.options.filename, compilation) + .catch(err => { compilation.errors.push(prettyError(err, compiler.context).toString()); return { - content: self.options.showErrors ? prettyError(err, compiler.context).toJsonHtml() : 'ERROR', - outputName: self.options.filename + content: this.options.showErrors ? prettyError(err, compiler.context).toJsonHtml() : 'ERROR', + outputName: this.options.filename }; }) - .then(function (compilationResult) { + .then(compilationResult => { // If the compilation change didnt change the cache is valid - isCompilationCached = compilationResult.hash && self.childCompilerHash === compilationResult.hash; - self.childCompilerHash = compilationResult.hash; - self.childCompilationOutputName = compilationResult.outputName; + isCompilationCached = compilationResult.hash && this.childCompilerHash === compilationResult.hash; + this.childCompilerHash = compilationResult.hash; + this.childCompilationOutputName = compilationResult.outputName; callback(); return compilationResult.content; }); }); - compiler.plugin('emit', function (compilation, callback) { - var applyPluginsAsyncWaterfall = self.applyPluginsAsyncWaterfall(compilation); + compiler.plugin('emit', (compilation, callback) => { + var applyPluginsAsyncWaterfall = this.applyPluginsAsyncWaterfall(compilation); // Get all chunks var allChunks = compilation.getStats().toJson().chunks; // Filter chunks (options.chunks and options.excludeCHunks) - var chunks = self.filterChunks(allChunks, self.options.chunks, self.options.excludeChunks); + var chunks = this.filterChunks(allChunks, this.options.chunks, this.options.excludeChunks); // Sort chunks - chunks = self.sortChunks(chunks, self.options.chunksSortMode); + chunks = this.sortChunks(chunks, this.options.chunksSortMode); // Let plugins alter the chunks and the chunk sorting - chunks = compilation.applyPluginsWaterfall('html-webpack-plugin-alter-chunks', chunks, { plugin: self }); + chunks = compilation.applyPluginsWaterfall('html-webpack-plugin-alter-chunks', chunks, { plugin: this }); // Get assets - var assets = self.htmlWebpackPluginAssets(compilation, chunks); + var assets = this.htmlWebpackPluginAssets(compilation, chunks); // If this is a hot update compilation, move on! // This solves a problem where an `index.html` file is generated for hot-update js files // It only happens in Webpack 2, where hot updates are emitted separately before the full bundle - if (self.isHotUpdateCompilation(assets)) { + if (this.isHotUpdateCompilation(assets)) { return callback(); } // If the template and the assets did not change we don't have to emit the html - var assetJson = JSON.stringify(self.getAssetFiles(assets)); - if (isCompilationCached && self.options.cache && assetJson === self.assetJson) { + var assetJson = JSON.stringify(this.getAssetFiles(assets)); + if (isCompilationCached && this.options.cache && assetJson === this.assetJson) { return callback(); } else { - self.assetJson = assetJson; + this.assetJson = assetJson; } Promise.resolve() // Favicon - .then(function () { - if (self.options.favicon) { - return self.addFileToAssets(self.options.favicon, compilation) - .then(function (faviconBasename) { + .then(() => { + if (this.options.favicon) { + return this.addFileToAssets(this.options.favicon, compilation) + .then(faviconBasename => { var publicPath = compilation.mainTemplate.getPublicPath({hash: compilation.hash}) || ''; if (publicPath && publicPath.substr(-1) !== '/') { publicPath += '/'; @@ -104,81 +103,65 @@ HtmlWebpackPlugin.prototype.apply = function (compiler) { } }) // Wait for the compilation to finish - .then(function () { - return compilationPromise; - }) - .then(function (compiledTemplate) { + .then(() => compilationPromise) + .then(compiledTemplate => { // Allow to use a custom function / string instead - if (self.options.templateContent !== undefined) { - return self.options.templateContent; + if (this.options.templateContent !== undefined) { + return this.options.templateContent; } // Once everything is compiled evaluate the html factory // and replace it with its content - return self.evaluateCompilationResult(compilation, compiledTemplate); + return this.evaluateCompilationResult(compilation, compiledTemplate); }) // Allow plugins to make changes to the assets before invoking the template // This only makes sense to use if `inject` is `false` - .then(function (compilationResult) { - return applyPluginsAsyncWaterfall('html-webpack-plugin-before-html-generation', false, { - assets: assets, - outputName: self.childCompilationOutputName, - plugin: self - }) - .then(function () { - return compilationResult; - }); + .then(compilationResult => applyPluginsAsyncWaterfall('html-webpack-plugin-before-html-generation', false, { + assets: assets, + outputName: this.childCompilationOutputName, + plugin: this }) + .then(() => compilationResult)) // Execute the template - .then(function (compilationResult) { - // If the loader result is a function execute it to retrieve the html - // otherwise use the returned html - return typeof compilationResult !== 'function' - ? compilationResult - : self.executeTemplate(compilationResult, chunks, assets, compilation); - }) + .then(compilationResult => // If the loader result is a function execute it to retrieve the html + // otherwise use the returned html + (typeof compilationResult !== 'function' ? compilationResult : this.executeTemplate(compilationResult, chunks, assets, compilation))) // Allow plugins to change the html before assets are injected - .then(function (html) { - var pluginArgs = {html: html, assets: assets, plugin: self, outputName: self.childCompilationOutputName}; + .then(html => { + var pluginArgs = {html: html, assets: assets, plugin: this, outputName: this.childCompilationOutputName}; return applyPluginsAsyncWaterfall('html-webpack-plugin-before-html-processing', true, pluginArgs); }) - .then(function (result) { + .then(result => { var html = result.html; var assets = result.assets; var chunks = result.chunks; // Prepare script and link tags - var assetTags = self.generateAssetTags(assets); - var pluginArgs = {head: assetTags.head, body: assetTags.body, plugin: self, chunks: chunks, outputName: self.childCompilationOutputName}; + var assetTags = this.generateAssetTags(assets); + var pluginArgs = {head: assetTags.head, body: assetTags.body, plugin: this, chunks: chunks, outputName: this.childCompilationOutputName}; // Allow plugins to change the assetTag definitions return applyPluginsAsyncWaterfall('html-webpack-plugin-alter-asset-tags', true, pluginArgs) - .then(function (result) { - // Add the stylesheets, scripts and so on to the resulting html - return self.postProcessHtml(html, assets, { body: result.body, head: result.head }) - .then(function (html) { - return _.extend(result, {html: html, assets: assets}); - }); - }); + .then(result => // Add the stylesheets, scripts and so on to the resulting html + this.postProcessHtml(html, assets, { body: result.body, head: result.head }) + .then(html => _.extend(result, {html: html, assets: assets}))); }) // Allow plugins to change the html after assets are injected - .then(function (result) { + .then(result => { var html = result.html; var assets = result.assets; - var pluginArgs = {html: html, assets: assets, plugin: self, outputName: self.childCompilationOutputName}; + var pluginArgs = {html: html, assets: assets, plugin: this, outputName: this.childCompilationOutputName}; return applyPluginsAsyncWaterfall('html-webpack-plugin-after-html-processing', true, pluginArgs) - .then(function (result) { - return result.html; - }); + .then(result => result.html); }) - .catch(function (err) { + .catch(err => { // In case anything went wrong the promise is resolved // with the error message and an error is logged compilation.errors.push(prettyError(err, compiler.context).toString()); // Prevent caching - self.hash = null; - return self.options.showErrors ? prettyError(err, compiler.context).toHtml() : 'ERROR'; + this.hash = null; + return this.options.showErrors ? prettyError(err, compiler.context).toHtml() : 'ERROR'; }) - .then(function (html) { + .then(html => { // Replace the compilation result with the evaluated html code - compilation.assets[self.childCompilationOutputName] = { + compilation.assets[this.childCompilationOutputName] = { source: function () { return html; }, @@ -187,21 +170,17 @@ HtmlWebpackPlugin.prototype.apply = function (compiler) { } }; }) - .then(function () { - // Let other plugins know that we are done: - return applyPluginsAsyncWaterfall('html-webpack-plugin-after-emit', false, { - html: compilation.assets[self.childCompilationOutputName], - outputName: self.childCompilationOutputName, - plugin: self - }).catch(function (err) { - console.error(err); - return null; - }).then(function () { - return null; - }); - }) + .then(() => // Let other plugins know that we are done: + applyPluginsAsyncWaterfall('html-webpack-plugin-after-emit', false, { + html: compilation.assets[this.childCompilationOutputName], + outputName: this.childCompilationOutputName, + plugin: this + }).catch(err => { + console.error(err); + return null; + }).then(() => null)) // Let webpack continue with it - .finally(function () { + .finally(() => { callback(); // Tell blue bird that we don't want to wait for callback. // Fixes "Warning: a promise was created in a handler but none were returned from it" @@ -238,7 +217,7 @@ HtmlWebpackPlugin.prototype.evaluateCompilationResult = function (compilation, s } return typeof newSource === 'string' || typeof newSource === 'function' ? Promise.resolve(newSource) - : Promise.reject('The loader "' + this.options.template + '" didn\'t return html.'); + : Promise.reject(`The loader "${this.options.template}" didn\'t return html.`); }; /** @@ -247,24 +226,23 @@ HtmlWebpackPlugin.prototype.evaluateCompilationResult = function (compilation, s * Returns a promise */ HtmlWebpackPlugin.prototype.executeTemplate = function (templateFunction, chunks, assets, compilation) { - var self = this; return Promise.resolve() // Template processing - .then(function () { + .then(() => { var templateParams = { compilation: compilation, webpack: compilation.getStats().toJson(), webpackConfig: compilation.options, htmlWebpackPlugin: { files: assets, - options: self.options + options: this.options } }; var html = ''; try { html = templateFunction(templateParams); } catch (e) { - compilation.errors.push(new Error('Template execution failed: ' + e)); + compilation.errors.push(new Error(`Template execution failed: ${e}`)); return Promise.reject(e); } return html; @@ -277,15 +255,14 @@ HtmlWebpackPlugin.prototype.executeTemplate = function (templateFunction, chunks * Returns a promise */ HtmlWebpackPlugin.prototype.postProcessHtml = function (html, assets, assetTags) { - var self = this; if (typeof html !== 'string') { - return Promise.reject('Expected html to be a string but got ' + JSON.stringify(html)); + return Promise.reject(`Expected html to be a string but got ${JSON.stringify(html)}`); } return Promise.resolve() // Inject - .then(function () { - if (self.options.inject) { - return self.injectAssetsIntoHtml(html, assets, assetTags); + .then(() => { + if (this.options.inject) { + return this.injectAssetsIntoHtml(html, assets, assetTags); } else { return html; } @@ -301,10 +278,8 @@ HtmlWebpackPlugin.prototype.addFileToAssets = function (filename, compilation) { size: fs.statAsync(filename), source: fs.readFileAsync(filename) }) - .catch(function () { - return Promise.reject(new Error('HtmlWebpackPlugin: could not load file ' + filename)); - }) - .then(function (results) { + .catch(() => Promise.reject(new Error(`HtmlWebpackPlugin: could not load file ${filename}`))) + .then(results => { var basename = path.basename(filename); compilation.fileDependencies.push(filename); compilation.assets[basename] = { @@ -339,14 +314,14 @@ HtmlWebpackPlugin.prototype.sortChunks = function (chunks, sortMode) { if (typeof chunkSorter[sortMode] !== 'undefined') { return chunkSorter[sortMode](chunks); } - throw new Error('"' + sortMode + '" is not a valid chunk sort mode'); + throw new Error(`"${sortMode}" is not a valid chunk sort mode`); }; /** * Return all chunks from the compilation result which match the exclude and include filters */ HtmlWebpackPlugin.prototype.filterChunks = function (chunks, includedChunks, excludedChunks) { - return chunks.filter(function (chunk) { + return chunks.filter(chunk => { var chunkName = chunk.names[0]; // This chunk doesn't have a name. This script can't handled it. if (chunkName === undefined) { @@ -370,13 +345,10 @@ HtmlWebpackPlugin.prototype.filterChunks = function (chunks, includedChunks, exc }; HtmlWebpackPlugin.prototype.isHotUpdateCompilation = function (assets) { - return assets.js.length && assets.js.every(function (name) { - return /\.hot-update\.js$/.test(name); - }); + return assets.js.length && assets.js.every(name => /\.hot-update\.js$/.test(name)); }; HtmlWebpackPlugin.prototype.htmlWebpackPluginAssets = function (compilation, chunks) { - var self = this; var webpackStatsJson = compilation.getStats().toJson(); // Use the configured public path or build a relative path @@ -384,7 +356,7 @@ HtmlWebpackPlugin.prototype.htmlWebpackPluginAssets = function (compilation, chu // If a hard coded public path exists use it ? compilation.mainTemplate.getPublicPath({hash: webpackStatsJson.hash}) // If no public path was set get a relative url path - : path.relative(path.resolve(compilation.options.output.path, path.dirname(self.childCompilationOutputName)), compilation.options.output.path) + : path.relative(path.resolve(compilation.options.output.path, path.dirname(this.childCompilationOutputName)), compilation.options.output.path) .split(path.sep).join('/'); if (publicPath.length && publicPath.substr(-1, 1) !== '/') { @@ -401,15 +373,13 @@ HtmlWebpackPlugin.prototype.htmlWebpackPluginAssets = function (compilation, chu // Will contain all css files css: [], // Will contain the html5 appcache manifest files if it exists - manifest: Object.keys(compilation.assets).filter(function (assetFile) { - return path.extname(assetFile) === '.appcache'; - })[0] + manifest: Object.keys(compilation.assets).filter(assetFile => path.extname(assetFile) === '.appcache')[0] }; // Append a hash for cache busting if (this.options.hash) { - assets.manifest = self.appendHash(assets.manifest, webpackStatsJson.hash); - assets.favicon = self.appendHash(assets.favicon, webpackStatsJson.hash); + assets.manifest = this.appendHash(assets.manifest, webpackStatsJson.hash); + assets.favicon = this.appendHash(assets.favicon, webpackStatsJson.hash); } for (var i = 0; i < chunks.length; i++) { @@ -419,15 +389,11 @@ HtmlWebpackPlugin.prototype.htmlWebpackPluginAssets = function (compilation, chu assets.chunks[chunkName] = {}; // Prepend the public path to all chunk files - var chunkFiles = [].concat(chunk.files).map(function (chunkFile) { - return publicPath + chunkFile; - }); + var chunkFiles = [].concat(chunk.files).map(chunkFile => publicPath + chunkFile); // Append a hash for cache busting if (this.options.hash) { - chunkFiles = chunkFiles.map(function (chunkFile) { - return self.appendHash(chunkFile, webpackStatsJson.hash); - }); + chunkFiles = chunkFiles.map(chunkFile => this.appendHash(chunkFile, webpackStatsJson.hash)); } // Webpack outputs an array for each chunk when using sourcemaps @@ -439,11 +405,9 @@ HtmlWebpackPlugin.prototype.htmlWebpackPluginAssets = function (compilation, chu assets.js.push(entry); // Gather all css files - var css = chunkFiles.filter(function (chunkFile) { - // Some chunks may contain content hash in their names, for ex. 'main.css?1e7cac4e4d8b52fd5ccd2541146ef03f'. - // We must proper handle such cases, so we use regexp testing here - return /.css($|\?)/.test(chunkFile); - }); + var css = chunkFiles.filter(chunkFile => // Some chunks may contain content hash in their names, for ex. 'main.css?1e7cac4e4d8b52fd5ccd2541146ef03f'. + // We must proper handle such cases, so we use regexp testing here + /.css($|\?)/.test(chunkFile)); assets.chunks[chunkName].css = css; assets.css = assets.css.concat(css); } @@ -460,18 +424,14 @@ HtmlWebpackPlugin.prototype.htmlWebpackPluginAssets = function (compilation, chu */ HtmlWebpackPlugin.prototype.generateAssetTags = function (assets) { // Turn script files into script tags - var scripts = assets.js.map(function (scriptPath) { - return htmlTag.createHtmlTagObject('script', { - src: scriptPath - }); - }); + var scripts = assets.js.map(scriptPath => htmlTag.createHtmlTagObject('script', { + src: scriptPath + })); // Turn css files into link tags - var styles = assets.css.map(function (stylePath) { - return htmlTag.createHtmlTagObject('link', { - href: stylePath, - rel: 'stylesheet' - }); - }); + var styles = assets.css.map(stylePath => htmlTag.createHtmlTagObject('link', { + href: stylePath, + rel: 'stylesheet' + })); // Injection targets var head = []; var body = []; @@ -513,9 +473,7 @@ HtmlWebpackPlugin.prototype.injectAssetsIntoHtml = function (html, assets, asset if (body.length) { if (bodyRegExp.test(html)) { // Append assets to body element - html = html.replace(bodyRegExp, function (match) { - return body.join('') + match; - }); + html = html.replace(bodyRegExp, (match) => body.join('') + match); } else { // Append scripts to the end of the file if no
element exists: html += body.join(''); @@ -526,28 +484,24 @@ HtmlWebpackPlugin.prototype.injectAssetsIntoHtml = function (html, assets, asset // Create a head tag if none exists if (!headRegExp.test(html)) { if (!htmlRegExp.test(html)) { - html = '' + html; + html = `${html}`; } else { - html = html.replace(htmlRegExp, function (match) { - return match + ''; - }); + html = html.replace(htmlRegExp, (match) => `${match}`); } } // Append assets to head element - html = html.replace(headRegExp, function (match) { - return head.join('') + match; - }); + html = html.replace(headRegExp, match => head.join('') + match); } // Inject manifest into the opening html tag if (assets.manifest) { - html = html.replace(/(]*)(>)/i, function (match, start, end) { + html = html.replace(/(]*)(>)/i, (match, start, end) => { // Append the manifest only if no manifest was specified if (/\smanifest\s*=/.test(match)) { return match; } - return start + ' manifest="' + assets.manifest + '"' + end; + return `${start} manifest="${assets.manifest}"${end}`; }); } return html; @@ -569,14 +523,12 @@ HtmlWebpackPlugin.prototype.appendHash = function (url, hash) { HtmlWebpackPlugin.prototype.getFullTemplatePath = function (template, context) { // If the template doesn't use a loader use the lodash template loader if (template.indexOf('!') === -1) { - template = 'html-webpack-plugin/lib/loader.js!' + path.resolve(context, template); + template = `html-webpack-plugin/lib/loader.js!${path.resolve(context, template)}`; } // Resolve template path return template.replace( /([!])([^/\\][^!?]+|[^/\\!?])($|\?[^!?\n]+$)/, - function (match, prefix, filepath, postfix) { - return prefix + path.resolve(filepath) + postfix; - }); + (match, prefix, filepath, postfix) => prefix + path.resolve(filepath) + postfix); }; /** @@ -584,13 +536,12 @@ HtmlWebpackPlugin.prototype.getFullTemplatePath = function (template, context) { * asset object */ HtmlWebpackPlugin.prototype.getAssetFiles = function (assets) { - var files = _.uniq(Object.keys(assets).filter(function (assetType) { - return assetType !== 'chunks' && assets[assetType]; - }).reduce(function (files, assetType) { - return files.concat(assets[assetType]); - }, [])); - files.sort(); - return files; + var files = Object.keys(assets) + .filter(assetType => assetType !== 'chunks' && assets[assetType]) + .reduce((files, assetType) => files.concat(assets[assetType]), []); + var uniqFiles = _.uniq(files); + uniqFiles.sort(); + return uniqFiles; }; /** @@ -601,9 +552,9 @@ HtmlWebpackPlugin.prototype.applyPluginsAsyncWaterfall = function (compilation) var promisedApplyPluginsAsyncWaterfall = Promise.promisify(compilation.applyPluginsAsyncWaterfall, {context: compilation}); return function (eventName, requiresResult, pluginArgs) { return promisedApplyPluginsAsyncWaterfall(eventName, pluginArgs) - .then(function (result) { + .then(result => { if (requiresResult && !result) { - compilation.warnings.push(new Error('Using ' + eventName + ' without returning a result is deprecated.')); + compilation.warnings.push(new Error(`Using ${eventName} without returning a result is deprecated.`)); } return _.extend(pluginArgs, result); }); diff --git a/lib/chunksorter.js b/lib/chunksorter.js index 8c5faf1..c8479d4 100644 --- a/lib/chunksorter.js +++ b/lib/chunksorter.js @@ -29,17 +29,17 @@ module.exports.dependency = function (chunks) { // We build a map (chunk-id -> chunk) for faster access during graph building. var nodeMap = {}; - chunks.forEach(function (chunk) { + chunks.forEach(chunk => { nodeMap[chunk.id] = chunk; }); // Next, we add an edge for each parent relationship into the graph var edges = []; - chunks.forEach(function (chunk) { + chunks.forEach(chunk => { if (chunk.parents) { // Add an edge for each parent (parent -> child) - chunk.parents.forEach(function (parentId) { + chunk.parents.forEach(parentId => { var parentChunk = nodeMap[parentId]; // If the parent chunk does not exist (e.g. because of an excluded chunk) // we ignore that parent diff --git a/lib/compiler.js b/lib/compiler.js index 9c8a224..0c54bcd 100644 --- a/lib/compiler.js +++ b/lib/compiler.js @@ -56,7 +56,7 @@ module.exports.compileTemplate = function compileTemplate (template, context, ou // Fix for "Uncaught TypeError: __webpack_require__(...) is not a function" // Hot module replacement requires that every child compiler has its own // cache. @see https://github.com/ampedandwired/html-webpack-plugin/pull/179 - childCompiler.plugin('compilation', function (compilation) { + childCompiler.plugin('compilation', compilation => { if (compilation.cache) { if (!compilation.cache[compilerName]) { compilation.cache[compilerName] = {}; @@ -66,14 +66,12 @@ module.exports.compileTemplate = function compileTemplate (template, context, ou }); // Compile and return a promise - return new Promise(function (resolve, reject) { - childCompiler.runAsChild(function (err, entries, childCompilation) { + return new Promise((resolve, reject) => { + childCompiler.runAsChild((err, entries, childCompilation) => { // Resolve / reject the promise if (childCompilation && childCompilation.errors && childCompilation.errors.length) { - var errorDetails = childCompilation.errors.map(function (error) { - return error.message + (error.error ? ':\n' + error.error : ''); - }).join('\n'); - reject(new Error('Child compilation failed:\n' + errorDetails)); + var errorDetails = childCompilation.errors.map(error => error.message + ((error.error ? `:\n${error.error}` : ''))).join('\n'); + reject(new Error(`Child compilation failed:\n${errorDetails}`)); } else if (err) { reject(err); } else { @@ -108,5 +106,5 @@ module.exports.compileTemplate = function compileTemplate (template, context, ou function getCompilerName (context, filename) { var absolutePath = path.resolve(context, filename); var relativePath = path.relative(context, absolutePath); - return 'html-webpack-plugin for "' + (absolutePath.length < relativePath.length ? absolutePath : relativePath) + '"'; + return `html-webpack-plugin for "${absolutePath.length < relativePath.length ? absolutePath : relativePath}"`; } diff --git a/lib/errors.js b/lib/errors.js index ddf3562..18cc499 100644 --- a/lib/errors.js +++ b/lib/errors.js @@ -4,14 +4,12 @@ var prettyError = new PrettyError(); prettyError.withoutColors(); prettyError.skipPackage(['html-plugin-evaluation']); prettyError.skipNodeFiles(); -prettyError.skip(function (traceLine) { - return traceLine.path === 'html-plugin-evaluation'; -}); +prettyError.skip(traceLine => traceLine.path === 'html-plugin-evaluation'); module.exports = function (err, context) { return { toHtml: function () { - return 'Html Webpack Plugin:\n\n' + this.toString() + ''; + return `Html Webpack Plugin:\n
\n${this.toString()}`;
},
toJsonHtml: function () {
return JSON.stringify(this.toHtml());
diff --git a/lib/html-tags.js b/lib/html-tags.js
index 0015946..b64fc3a 100644
--- a/lib/html-tags.js
+++ b/lib/html-tags.js
@@ -8,18 +8,15 @@
*/
function htmlTagObjectToString (tagDefinition, xhtml) {
var attributes = Object.keys(tagDefinition.attributes || {})
- .filter(function (attributeName) {
- return tagDefinition.attributes[attributeName] !== false;
- })
- .map(function (attributeName) {
+ .filter(attributeName => tagDefinition.attributes[attributeName] !== false)
+ .map(attributeName => {
if (tagDefinition.attributes[attributeName] === true) {
- return xhtml ? attributeName + '="' + attributeName + '"' : attributeName;
+ return xhtml ? `${attributeName}="${attributeName}"` : attributeName;
}
- return attributeName + '="' + tagDefinition.attributes[attributeName] + '"';
+ return `${attributeName}="${tagDefinition.attributes[attributeName]}"`;
});
- return '<' + [tagDefinition.tagName].concat(attributes).join(' ') + (tagDefinition.voidTag && xhtml ? '/' : '') + '>' +
- (tagDefinition.innerHTML || '') +
- (tagDefinition.voidTag ? '' : '' + tagDefinition.tagName + '>');
+
+ return `<${[tagDefinition.tagName].concat(attributes).join(' ')}${tagDefinition.voidTag && xhtml ? '/' : ''}>${tagDefinition.innerHTML || ''}${tagDefinition.voidTag ? '' : `${tagDefinition.tagName}>`}`;
}
/**
diff --git a/lib/loader.js b/lib/loader.js
index e1af5e5..180b1b3 100644
--- a/lib/loader.js
+++ b/lib/loader.js
@@ -8,7 +8,7 @@ module.exports = function (source) {
if (this.cacheable) {
this.cacheable();
}
- var allLoadersButThisOne = this.loaders.filter(function (loader) {
+ var allLoadersButThisOne = this.loaders.filter(loader => {
// Loader API changed from `loader.module` to `loader.normal` in Webpack 2.
return (loader.module || loader.normal) !== module.exports;
});
@@ -38,14 +38,12 @@ module.exports = function (source) {
'webpackConfig',
'htmlWebpackPlugin'
];
- return 'var _ = require(' + loaderUtils.stringifyRequest(this, require.resolve('lodash')) + ');' +
- 'module.exports = function (templateParams) {' +
- // Declare the template variables in the outer scope of the
+ return `var _ = require(${loaderUtils.stringifyRequest(this, require.resolve('lodash'))});
+ module.exports = function (templateParams) {
+ ${// Declare the template variables in the outer scope of the
// lodash template to unwrap them
- templateVariables.map(function (variableName) {
- return 'var ' + variableName + ' = templateParams.' + variableName;
- }).join(';') + ';' +
- // Execute the lodash template
- 'return (' + template.source + ')();' +
- '}';
+ templateVariables.map(variableName => `var ${variableName} = templateParams.${variableName}`).join(';')
+ };
+ return (${template.source})();
+ }`;
};
diff --git a/package.json b/package.json
index 844fb1f..86ec725 100644
--- a/package.json
+++ b/package.json
@@ -47,7 +47,7 @@
"jade-loader": "^0.8.0",
"jasmine": "^2.5.2",
"rimraf": "^2.5.4",
- "semistandard": "8.0.0",
+ "semistandard": "9.2.1",
"style-loader": "^0.13.1",
"underscore-template-loader": "^0.7.3",
"url-loader": "^0.5.7",
diff --git a/yarn.lock b/yarn.lock
index 31e1d60..6dde617 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -18,10 +18,6 @@ acorn-jsx@^3.0.0, acorn-jsx@^3.0.1:
dependencies:
acorn "^3.0.4"
-acorn-to-esprima@^2.0.6, acorn-to-esprima@^2.0.8:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/acorn-to-esprima/-/acorn-to-esprima-2.0.8.tgz#003f0c642eb92132f417d3708f14ada82adf2eb1"
-
acorn@^1.0.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-1.2.2.tgz#c8ce27de0acc76d896d2b1fad3df588d9e82f014"
@@ -69,15 +65,11 @@ ansi-escapes@^1.1.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
-ansi-regex@^1.0.0, ansi-regex@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-1.1.1.tgz#41c847194646375e6a1a5d10c3ca054ef9fc980d"
-
ansi-regex@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107"
-ansi-styles@^2.0.1, ansi-styles@^2.2.1:
+ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
@@ -202,7 +194,7 @@ aws4@^1.2.1:
version "1.5.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755"
-babel-code-frame@^6.11.0, babel-code-frame@^6.20.0:
+babel-code-frame@^6.11.0, babel-code-frame@^6.16.0:
version "6.20.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.20.0.tgz#b968f839090f9a8bc6d41938fb96cb84f7387b26"
dependencies:
@@ -210,46 +202,6 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.20.0:
esutils "^2.0.2"
js-tokens "^2.0.0"
-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-runtime@^6.0.0, babel-runtime@^6.20.0:
- version "6.20.0"
- resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.20.0.tgz#87300bdcf4cd770f09bf0048c64204e17806d16f"
- dependencies:
- core-js "^2.4.0"
- regenerator-runtime "^0.10.0"
-
-babel-traverse@^6.4.5, babel-traverse@^6.9.0:
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.21.0.tgz#69c6365804f1a4f69eb1213f85b00a818b8c21ad"
- dependencies:
- babel-code-frame "^6.20.0"
- babel-messages "^6.8.0"
- babel-runtime "^6.20.0"
- babel-types "^6.21.0"
- babylon "^6.11.0"
- debug "^2.2.0"
- globals "^9.0.0"
- invariant "^2.2.0"
- lodash "^4.2.0"
-
-babel-types@^6.21.0:
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.21.0.tgz#314b92168891ef6d3806b7f7a917fdf87c11a4b2"
- dependencies:
- babel-runtime "^6.20.0"
- esutils "^2.0.2"
- lodash "^4.2.0"
- to-fast-properties "^1.0.1"
-
-babylon@6.14.1, babylon@^6.11.0, babylon@^6.8.0:
- version "6.14.1"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815"
-
balanced-match@^0.4.1, balanced-match@^0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
@@ -282,7 +234,7 @@ bluebird@3.4.1:
version "3.4.1"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.1.tgz#b731ddf48e2dd3bedac2e75e1215a11bcb91fa07"
-bluebird@^3.0.5, bluebird@^3.4.7:
+bluebird@^3.4.7:
version "3.4.7"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3"
@@ -437,10 +389,6 @@ cli-cursor@^1.0.1:
dependencies:
restore-cursor "^1.0.1"
-cli-width@^1.0.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-1.1.1.tgz#a4d293ef67ebb7b88d4a4d42c0ccf00c4d1e366d"
-
cli-width@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
@@ -523,7 +471,7 @@ commander@2.8.x:
dependencies:
graceful-readlink ">= 1.0.0"
-commander@2.9.0, commander@2.9.x, commander@^2.2.0, commander@^2.9.0:
+commander@2.9.0, commander@2.9.x, commander@^2.9.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
dependencies:
@@ -537,7 +485,7 @@ concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-concat-stream@^1.4.6, concat-stream@^1.4.7:
+concat-stream@^1.4.6:
version "1.6.0"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
dependencies:
@@ -545,13 +493,6 @@ concat-stream@^1.4.6, concat-stream@^1.4.7:
readable-stream "^2.2.2"
typedarray "^0.0.6"
-config-chain@~1.1.5:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2"
- dependencies:
- ini "^1.3.4"
- proto-list "~1.2.1"
-
console-browserify@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
@@ -572,10 +513,6 @@ constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
-core-js@^2.4.0:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
-
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"
@@ -728,17 +665,7 @@ debug-log@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f"
-debug@^0.7.4:
- version "0.7.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
-
-debug@^2.1.1, debug@^2.1.3, debug@^2.2.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
- dependencies:
- ms "0.7.2"
-
-debug@~2.2.0:
+debug@^2.1.1, debug@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
dependencies:
@@ -752,23 +679,17 @@ deep-extend@~0.4.0:
version "0.4.1"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
-deep-is@~0.1.2, deep-is@~0.1.3:
+deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
-defaults@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
- dependencies:
- clone "^1.0.2"
-
defined@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
-deglob@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/deglob/-/deglob-1.1.2.tgz#76d577c25fe3f7329412a2b59eadea57ac500e3f"
+deglob@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/deglob/-/deglob-2.1.0.tgz#4d44abe16ef32c779b4972bd141a80325029a14a"
dependencies:
find-root "^1.0.0"
glob "^7.0.5"
@@ -776,7 +697,6 @@ deglob@^1.0.0:
pkg-config "^1.1.0"
run-parallel "^1.1.2"
uniq "^1.0.1"
- xtend "^4.0.0"
del@^2.0.2:
version "2.2.2"
@@ -798,10 +718,6 @@ delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-diff@^1.3.2:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf"
-
dir-compare@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-1.3.0.tgz#28c13c6b1a5801e7850a7b8fa9a6096bf686f040"
@@ -812,20 +728,6 @@ dir-compare@1.3.0:
commander "2.9.0"
minimatch "3.0.2"
-disparity@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/disparity/-/disparity-2.0.0.tgz#57ddacb47324ae5f58d2cc0da886db4ce9eeb718"
- dependencies:
- ansi-styles "^2.0.1"
- diff "^1.3.2"
-
-doctrine@^0.6.2:
- version "0.6.4"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.6.4.tgz#81428491a942ef18b0492056eda3800eee57d61d"
- dependencies:
- esutils "^1.1.6"
- isarray "0.0.1"
-
doctrine@^1.2.2:
version "1.5.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
@@ -883,15 +785,6 @@ ecc-jsbn@~0.1.1:
dependencies:
jsbn "~0.1.0"
-editorconfig@^0.13.2:
- version "0.13.2"
- resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.13.2.tgz#8e57926d9ee69ab6cb999f027c2171467acceb35"
- dependencies:
- bluebird "^3.0.5"
- commander "^2.9.0"
- lru-cache "^3.2.0"
- sigmund "^1.0.1"
-
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
@@ -981,7 +874,7 @@ 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"
-escope@^3.1.0, escope@^3.6.0:
+escope@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
dependencies:
@@ -990,160 +883,50 @@ escope@^3.1.0, escope@^3.6.0:
esrecurse "^4.1.0"
estraverse "^4.1.1"
-esformatter-eol-last@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/esformatter-eol-last/-/esformatter-eol-last-1.0.0.tgz#45a78ff4622b1d49e44f56b49905766a63290c07"
- dependencies:
- string.prototype.endswith "^0.2.0"
+eslint-config-semistandard@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-semistandard/-/eslint-config-semistandard-7.0.0.tgz#f803493f56a5172f7f59c35ae648360b41f2ff71"
-esformatter-ignore@^0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/esformatter-ignore/-/esformatter-ignore-0.1.3.tgz#04d3b875bfa49dde004cc58df6f6bbc3c0567f1e"
+eslint-config-standard-jsx@3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.2.0.tgz#c240e26ed919a11a42aa4de8059472b38268d620"
-esformatter-jsx@^7.0.0:
- version "7.4.0"
- resolved "https://registry.yarnpkg.com/esformatter-jsx/-/esformatter-jsx-7.4.0.tgz#374e44d3e13775294719aa2d057500e88645eb12"
- dependencies:
- babylon "6.14.1"
- esformatter-ignore "^0.1.3"
- extend "3.0.0"
- js-beautify "1.6.4"
+eslint-config-standard@6.2.1:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-6.2.1.tgz#d3a68aafc7191639e7ee441e7348739026354292"
-esformatter-literal-notation@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/esformatter-literal-notation/-/esformatter-literal-notation-1.0.1.tgz#710e7b420175fe3f7e5afad5bbad329103842e2f"
- dependencies:
- rocambole "^0.3.6"
- rocambole-token "^1.2.1"
+eslint-plugin-promise@~3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.4.0.tgz#6ba9048c2df57be77d036e0c68918bc9b4fc4195"
-esformatter-parser@^1.0, esformatter-parser@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/esformatter-parser/-/esformatter-parser-1.0.0.tgz#0854072d0487539ed39cae38d8a5432c17ec11d3"
- dependencies:
- acorn-to-esprima "^2.0.8"
- babel-traverse "^6.9.0"
- babylon "^6.8.0"
- rocambole "^0.7.0"
-
-esformatter-quotes@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/esformatter-quotes/-/esformatter-quotes-1.1.0.tgz#e22c6c445c7f306041d81c9b9e51fca6cbfaca82"
-
-esformatter-remove-trailing-commas@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/esformatter-remove-trailing-commas/-/esformatter-remove-trailing-commas-1.0.1.tgz#9397624c1faa980fc4ecc7e5e9813eb4f2b582a7"
- dependencies:
- rocambole-token "^1.2.1"
-
-esformatter-semicolon-first@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/esformatter-semicolon-first/-/esformatter-semicolon-first-1.2.0.tgz#e3b512d1d4e07310eabcabf57277ea7c8a56e242"
- dependencies:
- esformatter-parser "^1.0"
- rocambole ">=0.6.0 <2.0"
- rocambole-linebreak "^1.0.2"
- rocambole-token "^1.2.1"
-
-esformatter-spaced-lined-comment@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/esformatter-spaced-lined-comment/-/esformatter-spaced-lined-comment-2.0.1.tgz#dc5f3407f93c295e1e56446bd344560da5e6dcac"
-
-esformatter@^0.9.0:
- version "0.9.6"
- resolved "https://registry.yarnpkg.com/esformatter/-/esformatter-0.9.6.tgz#3608aec7828deee3cd3f46e1192aeb47268a957f"
- dependencies:
- acorn-to-esprima "^2.0.6"
- babel-traverse "^6.4.5"
- debug "^0.7.4"
- disparity "^2.0.0"
- esformatter-parser "^1.0.0"
- glob "^5.0.3"
- minimist "^1.1.1"
- mout ">=0.9 <2.0"
- npm-run "^2.0.0"
- resolve "^1.1.5"
- rocambole ">=0.7 <2.0"
- rocambole-indent "^2.0.4"
- rocambole-linebreak "^1.0.2"
- rocambole-node "~1.0"
- rocambole-token "^1.1.2"
- rocambole-whitespace "^1.0.0"
- stdin "*"
- strip-json-comments "~0.1.1"
- supports-color "^1.3.1"
- user-home "^2.0.0"
-
-eslint-config-semistandard@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/eslint-config-semistandard/-/eslint-config-semistandard-6.0.2.tgz#257b96337d2a8f2eb20e20e5f0e8235014a190d4"
-
-eslint-config-standard-jsx@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-1.2.0.tgz#ca9fd593610e6af55a2ad3f4300092d1e8c0def5"
-
-eslint-config-standard@5.3.1:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-5.3.1.tgz#591c969151744132f561d3b915a812ea413fe490"
-
-eslint-plugin-promise@^1.0.8:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-1.3.2.tgz#fce332d6f5ff523200a537704863ec3c2422ba7c"
-
-eslint-plugin-react@^5.0.1:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-5.2.2.tgz#7db068e1f5487f6871e4deef36a381c303eac161"
+eslint-plugin-react@~6.8.0:
+ version "6.8.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.8.0.tgz#741ab5438a094532e5ce1bbb935d6832356f492d"
dependencies:
doctrine "^1.2.2"
- jsx-ast-utils "^1.2.1"
+ jsx-ast-utils "^1.3.4"
-eslint-plugin-standard@^1.3.1:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-1.3.3.tgz#a3085451523431e76f409c70cb8f94e32bf0ec7f"
+eslint-plugin-standard@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz#3589699ff9c917f2c25f76a916687f641c369ff3"
-eslint@^0.24.1:
- version "0.24.1"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-0.24.1.tgz#54a50809855b9655721c6f2ee57b351edce28101"
- dependencies:
- chalk "^1.0.0"
- concat-stream "^1.4.6"
- debug "^2.1.1"
- doctrine "^0.6.2"
- escape-string-regexp "^1.0.2"
- escope "^3.1.0"
- espree "^2.0.1"
- estraverse "^4.1.0"
- estraverse-fb "^1.3.1"
- globals "^8.0.0"
- inquirer "^0.8.2"
- is-my-json-valid "^2.10.0"
- js-yaml "^3.2.5"
- minimatch "^2.0.1"
- mkdirp "^0.5.0"
- object-assign "^2.0.0"
- optionator "^0.5.0"
- path-is-absolute "^1.0.0"
- strip-json-comments "~1.0.1"
- text-table "~0.2.0"
- user-home "^1.0.0"
- xml-escape "~1.0.0"
-
-eslint@^2.10.1:
- version "2.13.1"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-2.13.1.tgz#e4cc8fa0f009fb829aaae23855a29360be1f6c11"
+eslint@~3.11.1:
+ version "3.11.1"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.11.1.tgz#408be581041385cba947cd8d1cd2227782b55dbf"
dependencies:
+ babel-code-frame "^6.16.0"
chalk "^1.1.3"
concat-stream "^1.4.6"
debug "^2.1.1"
doctrine "^1.2.2"
- es6-map "^0.1.3"
escope "^3.6.0"
- espree "^3.1.6"
+ espree "^3.3.1"
estraverse "^4.2.0"
esutils "^2.0.2"
- file-entry-cache "^1.1.1"
+ file-entry-cache "^2.0.0"
glob "^7.0.3"
globals "^9.2.0"
- ignore "^3.1.2"
+ ignore "^3.2.0"
imurmurhash "^0.1.4"
inquirer "^0.12.0"
is-my-json-valid "^2.10.0"
@@ -1153,37 +936,30 @@ eslint@^2.10.1:
levn "^0.3.0"
lodash "^4.0.0"
mkdirp "^0.5.0"
- optionator "^0.8.1"
- path-is-absolute "^1.0.0"
+ natural-compare "^1.4.0"
+ optionator "^0.8.2"
path-is-inside "^1.0.1"
pluralize "^1.2.1"
progress "^1.1.8"
require-uncached "^1.0.2"
- shelljs "^0.6.0"
+ shelljs "^0.7.5"
+ strip-bom "^3.0.0"
strip-json-comments "~1.0.1"
table "^3.7.8"
text-table "~0.2.0"
user-home "^2.0.0"
-espree@^2.0.1:
- version "2.2.5"
- resolved "https://registry.yarnpkg.com/espree/-/espree-2.2.5.tgz#df691b9310889402aeb29cc066708c56690b854b"
-
-espree@^3.1.6:
+espree@^3.3.1:
version "3.3.2"
resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c"
dependencies:
acorn "^4.0.1"
acorn-jsx "^3.0.0"
-esprima@^2.1, esprima@^2.6.0:
+esprima@^2.6.0:
version "2.7.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
-esprima@~1.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad"
-
esprima@~3.1.0:
version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
@@ -1195,11 +971,7 @@ esrecurse@^4.1.0:
estraverse "~4.1.0"
object-assign "^4.0.1"
-estraverse-fb@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/estraverse-fb/-/estraverse-fb-1.3.1.tgz#160e75a80e605b08ce894bcce2fe3e429abf92bf"
-
-estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.1.1, estraverse@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -1207,10 +979,6 @@ estraverse@~4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2"
-esutils@^1.1.6:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375"
-
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
@@ -1246,7 +1014,7 @@ expand-range@^1.8.1:
dependencies:
fill-range "^2.1.0"
-extend@3.0.0, extend@~3.0.0:
+extend@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
@@ -1268,10 +1036,6 @@ extsprintf@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
-fast-levenshtein@~1.0.0:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz#0178dcdee023b92905193af0959e8a7639cfdcb9"
-
fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
@@ -1287,9 +1051,9 @@ figures@^1.3.5:
escape-string-regexp "^1.0.5"
object-assign "^4.1.0"
-file-entry-cache@^1.1.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz#44c61ea607ae4be9c1402f41f44270cbfe334ff8"
+file-entry-cache@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
dependencies:
flat-cache "^1.2.1"
object-assign "^4.0.1"
@@ -1318,10 +1082,6 @@ find-root@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.0.0.tgz#962ff211aab25c6520feeeb8d6287f8f6e95807a"
-findit@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/findit/-/findit-2.0.0.tgz#6509f0126af4c178551cfa99394e032e13a4d56e"
-
flat-cache@^1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
@@ -1413,10 +1173,6 @@ generate-object-property@^1.1.0:
dependencies:
is-property "^1.0.0"
-get-stdin@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
-
get-stdin@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
@@ -1440,17 +1196,7 @@ glob-parent@^2.0.0:
dependencies:
is-glob "^2.0.0"
-glob@^5.0.3:
- version "5.0.15"
- resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
- dependencies:
- inflight "^1.0.4"
- inherits "2"
- minimatch "2 || 3"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@^7.0.3, glob@^7.0.5, glob@^7.0.6:
+glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6:
version "7.1.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
dependencies:
@@ -1461,11 +1207,7 @@ glob@^7.0.3, glob@^7.0.5, glob@^7.0.6:
once "^1.3.0"
path-is-absolute "^1.0.0"
-globals@^8.0.0:
- version "8.18.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-8.18.0.tgz#93d4a62bdcac38cfafafc47d6b034768cb0ffcb4"
-
-globals@^9.0.0, globals@^9.2.0:
+globals@^9.2.0:
version "9.14.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
@@ -1534,6 +1276,13 @@ 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"
+
html-comment-regex@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
@@ -1590,7 +1339,7 @@ ieee754@^1.1.4:
version "1.1.8"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
-ignore@^3.0.9, ignore@^3.1.2:
+ignore@^3.0.9, ignore@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435"
@@ -1621,7 +1370,7 @@ inherits@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
-ini@^1.3.4, ini@~1.3.0:
+ini@~1.3.0:
version "1.3.4"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
@@ -1643,28 +1392,13 @@ inquirer@^0.12.0:
strip-ansi "^3.0.0"
through "^2.3.6"
-inquirer@^0.8.2:
- version "0.8.5"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.8.5.tgz#dbd740cf6ca3b731296a63ce6f6d961851f336df"
- dependencies:
- ansi-regex "^1.1.1"
- chalk "^1.0.0"
- cli-width "^1.0.1"
- figures "^1.3.5"
- lodash "^3.3.1"
- readline2 "^0.1.1"
- rx "^2.4.3"
- through "^2.3.6"
-
interpret@^0.6.4:
version "0.6.6"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b"
-invariant@^2.2.0:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
- dependencies:
- loose-envify "^1.0.0"
+interpret@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c"
is-absolute-url@^2.0.0:
version "2.1.0"
@@ -1793,10 +1527,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-isexe@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0"
-
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
@@ -1849,27 +1579,11 @@ js-base64@^2.1.9:
version "2.1.9"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
-js-beautify@1.6.4:
- version "1.6.4"
- resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.6.4.tgz#a9af79699742ac9a1b6fddc1fdbc78bc4d515fc3"
- dependencies:
- config-chain "~1.1.5"
- editorconfig "^0.13.2"
- mkdirp "~0.5.0"
- nopt "~3.0.1"
-
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.2.5, 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:
+js-yaml@^3.5.1, js-yaml@~3.6.1:
version "3.6.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30"
dependencies:
@@ -1925,7 +1639,7 @@ jstransformer@0.0.2:
is-promise "^2.0.0"
promise "^6.0.1"
-jsx-ast-utils@^1.2.1:
+jsx-ast-utils@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.5.tgz#9ba6297198d9f754594d62e59496ffb923778dd4"
dependencies:
@@ -1949,13 +1663,6 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
-levn@~0.2.5:
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.2.5.tgz#ba8d339d0ca4a610e3a3f145b9caf48807155054"
- dependencies:
- prelude-ls "~1.1.0"
- type-check "~0.3.1"
-
loader-utils@0.2.x, loader-utils@^0.2.11, 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:
version "0.2.16"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d"
@@ -1973,11 +1680,7 @@ lodash.indexof@^4.0.5:
version "4.0.5"
resolved "https://registry.yarnpkg.com/lodash.indexof/-/lodash.indexof-4.0.5.tgz#53714adc2cddd6ed87638f893aa9b6c24e31ef3c"
-lodash@^3.3.1:
- version "3.10.1"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
-
-lodash@^4.0.0, lodash@^4.17.3, lodash@^4.2.0, lodash@^4.3.0:
+lodash@^4.0.0, lodash@^4.17.3, lodash@^4.3.0:
version "4.17.3"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.3.tgz#557ed7d2a9438cac5fd5a43043ca60cb455e01f7"
@@ -1985,22 +1688,10 @@ 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"
-
lower-case@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.3.tgz#c92393d976793eee5ba4edb583cf8eae35bd9bfb"
-lru-cache@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee"
- dependencies:
- pseudomap "^1.0.1"
-
macaddress@^0.2.8:
version "0.2.8"
resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
@@ -2054,23 +1745,17 @@ mime@1.2.x:
version "1.2.11"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.11.tgz#58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10"
-"minimatch@2 || 3", minimatch@3.0.2, minimatch@^3.0.0, minimatch@^3.0.2:
+minimatch@3.0.2, minimatch@^3.0.0, minimatch@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.2.tgz#0f398a7300ea441e9c348c83d98ab8c9dbf9c40a"
dependencies:
brace-expansion "^1.0.0"
-minimatch@^2.0.1:
- version "2.0.10"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"
- dependencies:
- brace-expansion "^1.0.0"
-
minimist@0.0.8, minimist@~0.0.1:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0:
+minimist@^1.1.0, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
@@ -2080,32 +1765,10 @@ minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0:
dependencies:
minimist "0.0.8"
-"mout@>=0.9 <2.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/mout/-/mout-1.0.0.tgz#9bdf1d4af57d66d47cb353a6335a3281098e1501"
-
-mout@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/mout/-/mout-0.11.1.tgz#ba3611df5f0e5b1ffbfd01166b8f02d1f5fa2b99"
-
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"
-
-multiline@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/multiline/-/multiline-1.0.2.tgz#69b1f25ff074d2828904f244ddd06b7d96ef6c93"
- dependencies:
- strip-indent "^1.0.0"
-
-mute-stream@0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.4.tgz#a9219960a6d5d5d046597aee51252c6655f7177e"
-
mute-stream@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
@@ -2114,6 +1777,10 @@ nan@^2.3.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.0.tgz#aa8f1e34531d807e9e27755b234b4a6ec0c152a8"
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+
ncname@1.0.x:
version "1.0.0"
resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c"
@@ -2168,7 +1835,7 @@ node-pre-gyp@^0.6.29:
tar "~2.2.1"
tar-pack "~3.3.0"
-nopt@~3.0.1, nopt@~3.0.6:
+nopt@~3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
dependencies:
@@ -2191,31 +1858,6 @@ normalize-url@^1.4.0:
query-string "^4.1.0"
sort-keys "^1.0.0"
-npm-path@^1.0.0, npm-path@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-1.1.0.tgz#0474ae00419c327d54701b7cf2cd05dc88be1140"
- dependencies:
- which "^1.2.4"
-
-npm-run@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/npm-run/-/npm-run-2.0.0.tgz#28dfc0ad5e2e46fe0848e2bd58ddf002e7b73c15"
- dependencies:
- minimist "^1.1.1"
- npm-path "^1.0.1"
- npm-which "^2.0.0"
- serializerr "^1.0.1"
- spawn-sync "^1.0.5"
- sync-exec "^0.5.0"
-
-npm-which@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-2.0.0.tgz#0c46982160b783093661d1d01bd4496d2feabbac"
- dependencies:
- commander "^2.2.0"
- npm-path "^1.0.0"
- which "^1.0.5"
-
npmlog@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
@@ -2243,10 +1885,6 @@ oauth-sign@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
-object-assign@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa"
-
object-assign@^4.0.1, object-assign@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
@@ -2287,18 +1925,7 @@ optimist@~0.6.0:
minimist "~0.0.1"
wordwrap "~0.0.2"
-optionator@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.5.0.tgz#b75a8995a2d417df25b6e4e3862f50aa88651368"
- dependencies:
- deep-is "~0.1.2"
- fast-levenshtein "~1.0.0"
- levn "~0.2.5"
- prelude-ls "~1.1.1"
- type-check "~0.3.1"
- wordwrap "~0.0.2"
-
-optionator@^0.8.1:
+optionator@^0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
dependencies:
@@ -2317,9 +1944,9 @@ os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
-os-shim@^0.1.2:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917"
+os-tmpdir@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
pako@~0.2.0:
version "0.2.9"
@@ -2617,7 +2244,7 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0
source-map "^0.5.6"
supports-color "^3.1.2"
-prelude-ls@~1.1.0, prelude-ls@~1.1.1, prelude-ls@~1.1.2:
+prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@@ -2664,22 +2291,10 @@ promise@~2.0:
dependencies:
is-promise "~1"
-proto-list@~1.2.1:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
-
-protochain@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/protochain/-/protochain-1.0.5.tgz#991c407e99de264aadf8f81504b5e7faf7bfa260"
-
prr@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
-pseudomap@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
-
punycode@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
@@ -2769,13 +2384,6 @@ readdirp@^2.0.0:
readable-stream "^2.0.2"
set-immediate-shim "^1.0.1"
-readline2@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/readline2/-/readline2-0.1.1.tgz#99443ba6e83b830ef3051bfd7dc241a82728d568"
- dependencies:
- mute-stream "0.0.4"
- strip-ansi "^2.0.1"
-
readline2@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
@@ -2793,6 +2401,12 @@ recast@~0.11.12:
private "~0.1.5"
source-map "~0.5.0"
+rechoir@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+ dependencies:
+ resolve "^1.1.6"
+
reduce-css-calc@^1.2.6:
version "1.3.0"
resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
@@ -2811,10 +2425,6 @@ regenerate@^1.2.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
-regenerator-runtime@^0.10.0:
- version "0.10.1"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb"
-
regex-cache@^0.4.2:
version "0.4.3"
resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
@@ -2858,7 +2468,7 @@ repeat-element@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
-repeat-string@^1.5.0, repeat-string@^1.5.2:
+repeat-string@^1.5.2:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
@@ -2898,7 +2508,7 @@ resolve-from@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
-resolve@^1.1.5:
+resolve@^1.1.6:
version "1.2.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c"
@@ -2925,50 +2535,6 @@ ripemd160@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce"
-rocambole-indent@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/rocambole-indent/-/rocambole-indent-2.0.4.tgz#a18a24977ca0400b861daa4631e861dcb52d085c"
- dependencies:
- debug "^2.1.3"
- mout "^0.11.0"
- rocambole-token "^1.2.1"
-
-rocambole-linebreak@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/rocambole-linebreak/-/rocambole-linebreak-1.0.2.tgz#03621515b43b4721c97e5a1c1bca5a0366368f2f"
- dependencies:
- debug "^2.1.3"
- rocambole-token "^1.2.1"
- semver "^4.3.1"
-
-rocambole-node@~1.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/rocambole-node/-/rocambole-node-1.0.0.tgz#db5b49de7407b0080dd514872f28e393d0f7ff3f"
-
-rocambole-token@^1.1.2, rocambole-token@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/rocambole-token/-/rocambole-token-1.2.1.tgz#c785df7428dc3cb27ad7897047bd5238cc070d35"
-
-rocambole-whitespace@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/rocambole-whitespace/-/rocambole-whitespace-1.0.0.tgz#63330949256b29941f59b190459f999c6b1d3bf9"
- dependencies:
- debug "^2.1.3"
- repeat-string "^1.5.0"
- rocambole-token "^1.2.1"
-
-"rocambole@>=0.6.0 <2.0", "rocambole@>=0.7 <2.0", rocambole@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/rocambole/-/rocambole-0.7.0.tgz#f6c79505517dc42b6fb840842b8b953b0f968585"
- dependencies:
- esprima "^2.1"
-
-rocambole@^0.3.6:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/rocambole/-/rocambole-0.3.6.tgz#4debbf5943144bc7b6006d95be8facc0b74352a7"
- dependencies:
- esprima "~1.0"
-
run-async@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
@@ -2983,60 +2549,27 @@ rx-lite@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
-rx@^2.4.3:
- version "2.5.3"
- resolved "https://registry.yarnpkg.com/rx/-/rx-2.5.3.tgz#21adc7d80f02002af50dae97fd9dbf248755f566"
-
sax@~1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
-semi@^4.0.4:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/semi/-/semi-4.0.5.tgz#4b995c0c16639238f6ae298c840582a8bf0511ee"
+semistandard@9.2.1:
+ version "9.2.1"
+ resolved "https://registry.yarnpkg.com/semistandard/-/semistandard-9.2.1.tgz#65d0e99deb63225250b8a993cec8174b54593a9d"
dependencies:
- eslint "^0.24.1"
- findit "^2.0.0"
- minimist "^1.1.0"
- mkdirp "^0.5.0"
-
-semistandard-format@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/semistandard-format/-/semistandard-format-3.0.0.tgz#785f1500dc8405dd561dd0b8afc1971448f523eb"
- dependencies:
- minimist "^1.1.0"
- semi "^4.0.4"
- standard-format "^2.1.1"
- stdin "0.0.1"
-
-semistandard@8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/semistandard/-/semistandard-8.0.0.tgz#fd869e2e4d7d2ebfc65b046625c189b78b67dd1e"
- dependencies:
- eslint "^2.10.1"
- eslint-config-semistandard "^6.0.2"
- eslint-config-standard "5.3.1"
- eslint-config-standard-jsx "1.2.0"
- eslint-plugin-promise "^1.0.8"
- eslint-plugin-react "^5.0.1"
- eslint-plugin-standard "^1.3.1"
- semistandard-format "^3.0.0"
- standard-engine "^4.0.0"
-
-semver@^4.3.1:
- version "4.3.6"
- resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
+ eslint "~3.11.1"
+ eslint-config-semistandard "7.0.0"
+ eslint-config-standard "6.2.1"
+ eslint-config-standard-jsx "3.2.0"
+ eslint-plugin-promise "~3.4.0"
+ eslint-plugin-react "~6.8.0"
+ eslint-plugin-standard "~2.0.1"
+ standard-engine "~5.3.0"
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
-serializerr@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/serializerr/-/serializerr-1.0.3.tgz#12d4c5aa1c3ffb8f6d1dc5f395aa9455569c3f91"
- dependencies:
- protochain "^1.0.5"
-
set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -3053,13 +2586,13 @@ sha.js@2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba"
-shelljs@^0.6.0:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8"
-
-sigmund@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
+shelljs@^0.7.5:
+ version "0.7.6"
+ resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad"
+ dependencies:
+ glob "^7.0.0"
+ interpret "^1.0.0"
+ rechoir "^0.6.2"
signal-exit@^3.0.0:
version "3.0.2"
@@ -3101,13 +2634,6 @@ source-map@~0.1.7:
dependencies:
amdefine ">=0.0.4"
-spawn-sync@^1.0.5:
- version "1.0.15"
- resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476"
- dependencies:
- concat-stream "^1.4.7"
- os-shim "^0.1.2"
-
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -3127,38 +2653,16 @@ sshpk@^1.7.0:
jsbn "~0.1.0"
tweetnacl "~0.14.0"
-standard-engine@^4.0.0:
- version "4.1.3"
- resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-4.1.3.tgz#7a31aad54f03d9f39355f43389ce0694f4094155"
+standard-engine@~5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-5.3.0.tgz#fa254d7e068d92de8019d9945d420286d1ce04c9"
dependencies:
- defaults "^1.0.2"
- deglob "^1.0.0"
+ deglob "^2.1.0"
find-root "^1.0.0"
get-stdin "^5.0.1"
+ home-or-tmp "^2.0.0"
minimist "^1.1.0"
- multiline "^1.0.2"
pkg-config "^1.0.1"
- xtend "^4.0.0"
-
-standard-format@^2.1.1:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/standard-format/-/standard-format-2.2.4.tgz#b90fb39a635f749cd4fd117fe4730d31179aaeef"
- dependencies:
- deglob "^1.0.0"
- esformatter "^0.9.0"
- esformatter-eol-last "^1.0.0"
- esformatter-jsx "^7.0.0"
- esformatter-literal-notation "^1.0.0"
- esformatter-quotes "^1.0.0"
- esformatter-remove-trailing-commas "^1.0.1"
- esformatter-semicolon-first "^1.1.0"
- esformatter-spaced-lined-comment "^2.0.0"
- minimist "^1.1.0"
- stdin "0.0.1"
-
-stdin@*, stdin@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/stdin/-/stdin-0.0.1.tgz#d3041981aaec3dfdbc77a1b38d6372e38f5fb71e"
stream-browserify@^2.0.1:
version "2.0.1"
@@ -3196,10 +2700,6 @@ string-width@^2.0.0:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^3.0.0"
-string.prototype.endswith@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/string.prototype.endswith/-/string.prototype.endswith-0.2.0.tgz#a19c20dee51a98777e9a47e10f09be393b9bba75"
-
string_decoder@^0.10.25, string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
@@ -3208,27 +2708,15 @@ stringstream@~0.0.4:
version "0.0.5"
resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
-strip-ansi@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-2.0.1.tgz#df62c1aa94ed2f114e1d0f21fd1d50482b79a60e"
- dependencies:
- ansi-regex "^1.0.0"
-
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
dependencies:
ansi-regex "^2.0.0"
-strip-indent@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
- dependencies:
- get-stdin "^4.0.1"
-
-strip-json-comments@~0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-0.1.3.tgz#164c64e370a8a3cc00c9e01b539e569823f0ee54"
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
strip-json-comments@~1.0.1, strip-json-comments@~1.0.4:
version "1.0.4"
@@ -3244,10 +2732,6 @@ supports-color@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a"
-supports-color@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.3.1.tgz#15758df09d8ff3b4acc307539fabe27095e1042d"
-
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
@@ -3270,10 +2754,6 @@ svgo@^0.7.0:
sax "~1.2.1"
whet.extend "~0.9.9"
-sync-exec@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/sync-exec/-/sync-exec-0.5.0.tgz#3f7258e4a5ba17245381909fa6a6f6cf506e1661"
-
table@^3.7.8:
version "3.8.3"
resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
@@ -3334,10 +2814,6 @@ to-arraybuffer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
-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"
-
toposort@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.0.tgz#b66cf385a1a8a8e68e45b8259e7f55875e8b06ef"
@@ -3372,7 +2848,7 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
-type-check@~0.3.1, type-check@~0.3.2:
+type-check@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
dependencies:
@@ -3445,10 +2921,6 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
-user-home@^1.0.0:
- 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"
@@ -3549,12 +3021,6 @@ whet.extend@~0.9.9:
version "0.9.9"
resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
-which@^1.0.5, which@^1.2.4:
- version "1.2.12"
- resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192"
- dependencies:
- isexe "^1.1.1"
-
wide-align@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
@@ -3598,10 +3064,6 @@ xml-char-classes@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
-xml-escape@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/xml-escape/-/xml-escape-1.0.0.tgz#00963d697b2adf0c185c4e04e73174ba9b288eb2"
-
xtend@^4.0.0, xtend@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"