From b6fedfa9e198bdb905eed90368e2ebb96e4b6750 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Tue, 24 Jul 2018 01:39:19 +0200 Subject: [PATCH 01/39] Update link checking to use latest hyperlink. Replaces #1582 --- package.json | 7 +++--- src/scripts/check-links.js | 50 -------------------------------------- 2 files changed, 4 insertions(+), 53 deletions(-) delete mode 100644 src/scripts/check-links.js diff --git a/package.json b/package.json index 92a5c4d6ac17..3a1f13b487a3 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "lint:markdown": "markdownlint --config ./.markdownlint.json *.md ./src/content/**/*.md --ignore './src/content/**/_*.md'", "lint:social": "alex . -q", "lint:prose": "cp .proselintrc ~/ && proselint src/content", + "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --todo img.shields.io --todo external-redirect | tee master.tap | tap-spot", "sitemap": "cd dist && sitemap-static --prefix=https://webpack.js.org/ > sitemap.xml", "serve": "npm run build && sirv start ./dist --port 4000", "deploy": "gh-pages -d dist" @@ -71,12 +72,12 @@ "fontgen-loader": "git://github.com/EugeneHlushko/fontgen-loader.git#a26a73843900ca4b518853952b1fc3c816103512", "front-matter": "^2.3.0", "gh-pages": "^1.0.0", + "github": "^10.0.0", "html-webpack-plugin": "^2.30.1", "html-webpack-template": "^6.1.0", - "github": "^10.0.0", "http-server": "^0.10.0", "husky": "^1.0.0-rc.8", - "hyperlink": "^3.0.1", + "hyperlink": "github:Munter/hyperlink#070916d", "loader-utils": "^1.1.0", "lodash": "^4.17.4", "markdownlint": "^0.6.0", @@ -106,7 +107,7 @@ "sitemap-static": "^0.4.2", "static-site-generator-webpack-plugin": "^3.4.1", "style-loader": "^0.18.2", - "tap-parser": "^6.0.1", + "tap-spot": "^1.1.1", "through2": "^2.0.3", "uglifyjs-webpack-plugin": "^1.1.6", "webpack": "^3.10.0", diff --git a/src/scripts/check-links.js b/src/scripts/check-links.js deleted file mode 100644 index 6c6b377a5127..000000000000 --- a/src/scripts/check-links.js +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env node -// Check piped links while allowing a fixed amount to fail -// Adapted from tap-json. -var Parser = require('tap-parser'); -var through = require('through2'); -var duplexer = require('duplexer'); -var minimist = require('minimist'); - -process.stdin - .pipe(checkLinks()) - .pipe(process.stdout); - -function checkLinks(args) { - var argv = minimist(process.argv.slice(2)); - var skip = argv.skip || 0; - - var tap = new Parser(); - var out = through.obj(); - var dup = duplexer(tap, out); - - var data = []; - var name = null; - - tap.on('complete', function(res) { - const failures = res.failures.filter(failure => { - return failure.diag && failure.diag.at ? !( - /class="support__[^"]*"/.test(failure.diag.at) || - /src="https:\/\/img\.shields\.io[^"]*"/.test(failure.diag.at) - ) : false; - }); - - if (failures.length > 0) { - console.log(formatFailures(failures)); - } - - // Fail hard only if over skip threshold - if (failures.length > skip) { - process.exit(1); - } - }); - - return dup; -} - -function formatFailures(failures) { - return failures.map(failure => { - let { diag = {} } = failure; - return failure.name + '\n' + diag.actual + ' at ' + diag.at; - }).join('\n\n'); -} From d0f9ed56436738f48468778d96e124b36ab4627a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Tue, 24 Jul 2018 01:40:59 +0200 Subject: [PATCH 02/39] Stop appending empty fragment to urls pointing ad no fragment identifier --- src/components/SidebarItem/SidebarItem.jsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/SidebarItem/SidebarItem.jsx b/src/components/SidebarItem/SidebarItem.jsx index 487b10d28803..07d8d36b6e05 100644 --- a/src/components/SidebarItem/SidebarItem.jsx +++ b/src/components/SidebarItem/SidebarItem.jsx @@ -89,6 +89,10 @@ export default class SidebarItem extends React.Component { if ( `/${currentPage}` === url ) { return `#${anchor.id}`; - } else return `${url}#${anchor.id}`; + } else if (!anchor.id) { + return url; + } else { + return `${url}#${anchor.id}`; + } } } From b70a775bcdda03c3f01c1b37b5b2e5df35b254c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Wed, 25 Jul 2018 11:32:20 +0200 Subject: [PATCH 03/39] Resolve relative hrefs from README's to their github.com url instead of linking locally inside docs --- src/utilities/fetch-package-files.js | 2 +- src/utilities/process-readme.js | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/utilities/fetch-package-files.js b/src/utilities/fetch-package-files.js index 11ae0b52004e..9fa8ecbafd38 100644 --- a/src/utilities/fetch-package-files.js +++ b/src/utilities/fetch-package-files.js @@ -79,7 +79,7 @@ function fetchPackageFiles(options, cb) { .then(body => { // modify README to fit page structure in site if (body && file === 'README.md') { - body = processReadme(body); + body = processReadme(body, { source: url }); } let title = pkg.name; diff --git a/src/utilities/process-readme.js b/src/utilities/process-readme.js index bc2a889829f9..2b7207aca968 100644 --- a/src/utilities/process-readme.js +++ b/src/utilities/process-readme.js @@ -1,4 +1,6 @@ -module.exports = function processREADME(body) { +const Url = require('url'); + +module.exports = function processREADME(body, options = {}) { return body .replace(/[^]*?
([^]*?)<\/div>/, (match, content) => { let parsed = content.match(/

([^]*?)<\/?p>/); @@ -11,6 +13,9 @@ module.exports = function processREADME(body) { // Modify links to keep them within the site .replace(/https?:\/\/github.com\/(webpack|webpack-contrib)\/([-A-za-z0-9]+-loader\/?)([)"])/g, '/loaders/$2/$3') .replace(/https?:\/\/github.com\/(webpack|webpack-contrib)\/([-A-za-z0-9]+-plugin\/?)([)"])/g, '/plugins/$2/$3') + // Replace local github links with absolute links to the github location + // EXAMPLE: [Contributing](./.github/CONTRIBUTING.md) + .replace(/\[([^\]]*)\]\((\.[^)]+)\)/g, (markdownLink, content, href) => `[${content}](${Url.resolve(options.source, href)})`) // Replace any

with `##` .replace(/]*>/g, '## ') .replace(/<\/h2>/g, '') From 958c136d30afff2f33356b568c71aa0163b2c3a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Wed, 25 Jul 2018 12:37:24 +0200 Subject: [PATCH 04/39] Prefer https where available and also use https in examples --- src/components/NotificationBar/NotificationBar.jsx | 2 +- src/content/concepts/modules.md | 4 ++-- src/content/concepts/output.md | 2 +- src/content/configuration/configuration-languages.md | 4 ++-- src/content/configuration/dev-server.md | 2 +- src/content/guides/integrations.md | 4 ++-- src/content/guides/typescript.md | 2 +- src/content/plugins/define-plugin.md | 2 +- src/content/plugins/source-map-dev-tool-plugin.md | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/components/NotificationBar/NotificationBar.jsx b/src/components/NotificationBar/NotificationBar.jsx index 55bfa4dfb63c..47d77cf02d97 100644 --- a/src/components/NotificationBar/NotificationBar.jsx +++ b/src/components/NotificationBar/NotificationBar.jsx @@ -20,7 +20,7 @@ class MessageBar extends React.Component {

Sponsor webpack and get apparel from the official shop or get - stickers here! All proceeds go to our{' '} + stickers here! All proceeds go to our{' '} open collective!

{localStorageIsEnabled ? ( diff --git a/src/content/concepts/modules.md b/src/content/concepts/modules.md index 311a2c522eef..6b21bfc27591 100644 --- a/src/content/concepts/modules.md +++ b/src/content/concepts/modules.md @@ -37,10 +37,10 @@ T> webpack 1 requires a specific loader to convert ES2015 `import`, however this webpack supports modules written in a variety of languages and preprocessors, via _loaders_. _Loaders_ describe to webpack **how** to process non-JavaScript _modules_ and include these _dependencies_ into your _bundles_. The webpack community has built _loaders_ for a wide variety of popular languages and language processors, including: -* [CoffeeScript](http://coffeescript.org) +* [CoffeeScript](https://coffeescript.org) * [TypeScript](https://www.typescriptlang.org) * [ESNext (Babel)](https://babeljs.io) -* [Sass](http://sass-lang.com) +* [Sass](https://sass-lang.com) * [Less](http://lesscss.org) * [Stylus](http://stylus-lang.com) diff --git a/src/content/concepts/output.md b/src/content/concepts/output.md index b2f781819e3a..cf8e53769576 100644 --- a/src/content/concepts/output.md +++ b/src/content/concepts/output.md @@ -63,7 +63,7 @@ module.exports = { //... output: { path: '/home/proj/cdn/assets/[hash]', - publicPath: 'http://cdn.example.com/assets/[hash]/' + publicPath: 'https://cdn.example.com/assets/[hash]/' } }; ``` diff --git a/src/content/configuration/configuration-languages.md b/src/content/configuration/configuration-languages.md index 6316e0371476..d5d5bf0367b6 100644 --- a/src/content/configuration/configuration-languages.md +++ b/src/content/configuration/configuration-languages.md @@ -16,7 +16,7 @@ webpack accepts configuration files written in multiple programming and data lan ## TypeScript -To write the webpack configuration in [TypeScript](http://www.typescriptlang.org/), you would first install the necessary dependencies: +To write the webpack configuration in [TypeScript](https://www.typescriptlang.org/), you would first install the necessary dependencies: ``` bash npm install --save-dev typescript ts-node @types/node @types/webpack @@ -90,7 +90,7 @@ __package.json__ ## CoffeeScript -Similarly, to use [CoffeeScript](http://coffeescript.org/), you would first install the necessary dependencies: +Similarly, to use [CoffeeScript](https://coffeescript.org/), you would first install the necessary dependencies: ``` bash npm install --save-dev coffee-script diff --git a/src/content/configuration/dev-server.md b/src/content/configuration/dev-server.md index b3edddb893ce..3e8cf8d07478 100644 --- a/src/content/configuration/dev-server.md +++ b/src/content/configuration/dev-server.md @@ -978,7 +978,7 @@ webpack-dev-server --socket socket ## `devServer.staticOptions` -It is possible to configure advanced options for serving static files from `contentBase`. See the [Express documentation](http://expressjs.com/en/4x/api.html#express.static) for the possible options. An example: +It is possible to configure advanced options for serving static files from `contentBase`. See the [Express documentation](https://expressjs.com/en/4x/api.html#express.static) for the possible options. An example: ```js module.exports = { diff --git a/src/content/guides/integrations.md b/src/content/guides/integrations.md index 6ec6377ba63b..b955133f613c 100644 --- a/src/content/guides/integrations.md +++ b/src/content/guides/integrations.md @@ -8,7 +8,7 @@ contributors: - skipjack --- -Let's start by clearing up a common misconception. webpack is a module bundler like [Browserify](http://browserify.org/) or [Brunch](http://brunch.io/). It is _not a task runner_ like [Make](https://www.gnu.org/software/make/), [Grunt](https://gruntjs.com/), or [Gulp](https://gulpjs.com/). Task runners handle automation of common development tasks such as linting, building, or testing your project. Compared to bundlers, task runners have a higher level focus. You can still benefit from their higher level tooling while leaving the problem of bundling to webpack. +Let's start by clearing up a common misconception. webpack is a module bundler like [Browserify](http://browserify.org/) or [Brunch](https://brunch.io/). It is _not a task runner_ like [Make](https://www.gnu.org/software/make/), [Grunt](https://gruntjs.com/), or [Gulp](https://gulpjs.com/). Task runners handle automation of common development tasks such as linting, building, or testing your project. Compared to bundlers, task runners have a higher level focus. You can still benefit from their higher level tooling while leaving the problem of bundling to webpack. Bundlers help you get your JavaScript and stylesheets ready for deployment, transforming them into a format that's suitable for the browser. For example, JavaScript can be [minified](/plugins/uglifyjs-webpack-plugin) or [split into chunks](/guides/code-splitting) and [lazy-loaded](/guides/lazy-loading) to improve performance. Bundling is one of the most important challenges in web development, and solving it well can remove a lot of pain from the process. @@ -96,7 +96,7 @@ For more information, please visit the [repository](https://github.com/zinserjan ## Karma -The [`karma-webpack`](https://github.com/webpack-contrib/karma-webpack) package allows you to use webpack to pre-process files in [Karma](http://karma-runner.github.io/1.0/index.html). It also makes use of [`webpack-dev-middleware`](https://github.com/webpack/webpack-dev-middleware) and allows passing configurations for both. A simple example may look something like this: +The [`karma-webpack`](https://github.com/webpack-contrib/karma-webpack) package allows you to use webpack to pre-process files in [Karma](https://karma-runner.github.io/1.0/index.html). It also makes use of [`webpack-dev-middleware`](https://github.com/webpack/webpack-dev-middleware) and allows passing configurations for both. A simple example may look something like this: ``` bash npm install --save-dev webpack karma karma-webpack diff --git a/src/content/guides/typescript.md b/src/content/guides/typescript.md index cf3fa9a12c95..b86c2965eb4c 100644 --- a/src/content/guides/typescript.md +++ b/src/content/guides/typescript.md @@ -153,7 +153,7 @@ See the [devtool documentation](/configuration/devtool/) for more information. ## Using Third Party Libraries -When installing third party libraries from npm, it is important to remember to install the typing definition for that library. These definitions can be found at [TypeSearch](http://microsoft.github.io/TypeSearch/). +When installing third party libraries from npm, it is important to remember to install the typing definition for that library. These definitions can be found at [TypeSearch](https://microsoft.github.io/TypeSearch/). For example if we want to install lodash we can run the following command to get the typings for it: diff --git a/src/content/plugins/define-plugin.md b/src/content/plugins/define-plugin.md index 07ac436ad10b..ca88c4bf9dcf 100644 --- a/src/content/plugins/define-plugin.md +++ b/src/content/plugins/define-plugin.md @@ -93,6 +93,6 @@ Use a different service URL in production/development builds: ```javascript new webpack.DefinePlugin({ - 'SERVICE_URL': JSON.stringify('http://dev.example.com') + 'SERVICE_URL': JSON.stringify('https://dev.example.com') }); ``` diff --git a/src/content/plugins/source-map-dev-tool-plugin.md b/src/content/plugins/source-map-dev-tool-plugin.md index 9f0e44676ef3..76f3c4b48e29 100644 --- a/src/content/plugins/source-map-dev-tool-plugin.md +++ b/src/content/plugins/source-map-dev-tool-plugin.md @@ -64,7 +64,7 @@ Set a URL for source maps. Useful for hosting them on a host that requires autho ```js new webpack.SourceMapDevToolPlugin({ - append: '\n//# sourceMappingURL=http://example.com/sourcemap/[url]', + append: '\n//# sourceMappingURL=https://example.com/sourcemap/[url]', filename: '[name].map' }); ``` From fa437ea4526f4030f650615efd3e1637933a0103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Wed, 25 Jul 2018 14:43:20 +0200 Subject: [PATCH 05/39] Make non-fragment links inside headings visible --- src/components/Markdown/Markdown.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Markdown/Markdown.scss b/src/components/Markdown/Markdown.scss index 275c0d5da8f2..95e69fba473a 100644 --- a/src/components/Markdown/Markdown.scss +++ b/src/components/Markdown/Markdown.scss @@ -26,7 +26,7 @@ color: inherit; } - a { + a[aria-hidden="true"] { margin-left: 8px; font-size: 0.8em; height: 1em; @@ -35,7 +35,7 @@ transition: all 250ms; } - &:hover a { + &:hover a[aria-hidden="true"] { opacity: 1; visibility: visible; } From 63ae0bd04ccfc6598ae39bc7fdcfeb57a62a4817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Wed, 25 Jul 2018 17:37:29 +0200 Subject: [PATCH 06/39] Update webpack docs china link --- src/components/Navigation/Navigation.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Navigation/Navigation.jsx b/src/components/Navigation/Navigation.jsx index 076087544684..d5ec6159d45b 100644 --- a/src/components/Navigation/Navigation.jsx +++ b/src/components/Navigation/Navigation.jsx @@ -46,7 +46,7 @@ export default class Navigation extends React.Component { className="navigation__languages" items={[ { title: 'English', url: 'https://webpack.js.org/' }, - { lang: 'zh', title: '中文', url: 'https://doc.webpack-china.org/' } + { lang: 'zh', title: '中文', url: 'https://webpack.docschina.org/' } ]} /> ) } From 00e8fbcbdbb7861a5c79ea44dd3409fe82c242a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Wed, 25 Jul 2018 17:39:12 +0200 Subject: [PATCH 07/39] Fixed invalid edit links to index pages --- src/components/PageLinks/PageLinks.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/PageLinks/PageLinks.jsx b/src/components/PageLinks/PageLinks.jsx index 84350a3dd7bb..d218e06831fb 100644 --- a/src/components/PageLinks/PageLinks.jsx +++ b/src/components/PageLinks/PageLinks.jsx @@ -1,15 +1,15 @@ import React from 'react'; import TrimEnd from 'lodash/trimEnd'; +import Url from 'url'; import './PageLinks.scss'; +const baseURL = 'https://github.com/webpack/webpack.js.org/edit/master/'; + export default ({ page = {}, ...props }) => { - let baseURL = 'https://github.com/webpack/webpack.js.org/edit/master/src/content'; - let indexPath = page.type === 'index' ? '/index' : ''; - let mainPath = page.url.startsWith('/') ? page.url : `/${page.url}`; - let editLink = page.edit || baseURL + TrimEnd(mainPath, '/') + indexPath + '.md'; + const editLink = page.edit || Url.resolve(baseURL, page.path); // TODO: Make sure we add `repo` / `edit` and address `type` (above) return ( From a317676528c46adb5f2c630bcc09b39db7f55b8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Wed, 25 Jul 2018 19:59:06 +0200 Subject: [PATCH 08/39] skip fragment check for vimdoc that is known to fail --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3a1f13b487a3..be43455b7b04 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "lint:markdown": "markdownlint --config ./.markdownlint.json *.md ./src/content/**/*.md --ignore './src/content/**/_*.md'", "lint:social": "alex . -q", "lint:prose": "cp .proselintrc ~/ && proselint src/content", - "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --todo img.shields.io --todo external-redirect | tee master.tap | tap-spot", + "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --todo img.shields.io --todo external-redirect | tee master.tap | tap-spot", "sitemap": "cd dist && sitemap-static --prefix=https://webpack.js.org/ > sitemap.xml", "serve": "npm run build && sirv start ./dist --port 4000", "deploy": "gh-pages -d dist" From 12dccb70e57dd38852da0f68ffcea1ae58eed54c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Wed, 25 Jul 2018 20:07:49 +0200 Subject: [PATCH 09/39] Fix broken link to migration guide from configuration/resolve --- src/content/configuration/resolve.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/configuration/resolve.md b/src/content/configuration/resolve.md index 50e59cf3d2a6..603381b68d8e 100644 --- a/src/content/configuration/resolve.md +++ b/src/content/configuration/resolve.md @@ -388,7 +388,7 @@ T> Note that you can use alias here and other features familiar from resolve. Fo `array` -The extensions/suffixes which that are used when resolving loaders. Since version two, we [strongly recommend](/guides/migrating#automatic-loader-module-name-extension-removed) using the full name, e.g. `example-loader`, as much as possible for clarity. However, if you really wanted to exclude the `-loader` bit, i.e. just use `example`, you can use this option to do so: +The extensions/suffixes which that are used when resolving loaders. Since version two, we [strongly recommend](/migrate/3#automatic--loader-module-name-extension-removed) using the full name, e.g. `example-loader`, as much as possible for clarity. However, if you really wanted to exclude the `-loader` bit, i.e. just use `example`, you can use this option to do so: ```js module.exports = { From de51fb00a532ffd41b5c6999037bb109a14f039a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Wed, 25 Jul 2018 20:16:31 +0200 Subject: [PATCH 10/39] Also resolve github README relative links when they don't start with a dot --- src/utilities/process-readme.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utilities/process-readme.js b/src/utilities/process-readme.js index 2b7207aca968..3ce2a48cbe15 100644 --- a/src/utilities/process-readme.js +++ b/src/utilities/process-readme.js @@ -15,7 +15,7 @@ module.exports = function processREADME(body, options = {}) { .replace(/https?:\/\/github.com\/(webpack|webpack-contrib)\/([-A-za-z0-9]+-plugin\/?)([)"])/g, '/plugins/$2/$3') // Replace local github links with absolute links to the github location // EXAMPLE: [Contributing](./.github/CONTRIBUTING.md) - .replace(/\[([^\]]*)\]\((\.[^)]+)\)/g, (markdownLink, content, href) => `[${content}](${Url.resolve(options.source, href)})`) + .replace(/\[([^\]]*)\]\(([^)]+)\)/g, (markdownLink, content, href) => `[${content}](${Url.resolve(options.source, href)})`) // Replace any

with `##` .replace(/]*>/g, '## ') .replace(/<\/h2>/g, '') From 42b9d843c5f60944dee0f1dfce778622cf11a506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 00:14:03 +0200 Subject: [PATCH 11/39] Add missing pages: Vote, Organization, Starter kits --- src/components/Organization/Organization.jsx | 2 +- src/components/Organization/Organization.scss | 4 ++++ src/components/Site/Site.jsx | 6 +++++- src/components/StarterKits/StarterKits.jsx | 2 +- src/components/Vote/Vote.jsx | 2 +- src/components/Vote/Vote.scss | 5 ----- src/index.jsx | 2 +- webpack.prod.js | 7 ++++++- 8 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/components/Organization/Organization.jsx b/src/components/Organization/Organization.jsx index 89dbed4e95ec..3b5d249d5829 100644 --- a/src/components/Organization/Organization.jsx +++ b/src/components/Organization/Organization.jsx @@ -8,7 +8,7 @@ import './Organization.scss'; const Organization = props => { return ( - +

The Organization

The list below provides a brief overview of all commonly used projects in the webpack ecosystem.

diff --git a/src/components/Organization/Organization.scss b/src/components/Organization/Organization.scss index b10f13f48733..6b24701da1b9 100644 --- a/src/components/Organization/Organization.scss +++ b/src/components/Organization/Organization.scss @@ -3,6 +3,10 @@ .organization { padding: 1.5em; + + &__title > h4 { + margin-top: 0; // Overrides markdown scss + } } .organization__projects { diff --git a/src/components/Site/Site.jsx b/src/components/Site/Site.jsx index d417c344fb23..e8f809fbd5fc 100644 --- a/src/components/Site/Site.jsx +++ b/src/components/Site/Site.jsx @@ -20,6 +20,8 @@ import Footer from '../Footer/Footer'; import Page from '../Page/Page'; import Gitter from '../Gitter/Gitter'; import Vote from '../Vote/Vote'; +import Organization from '../Organization/Organization'; +import StarterKits from '../StarterKits/StarterKits'; // Load Styling import '../../styles/index'; @@ -69,6 +71,9 @@ class Site extends React.Component { render={props => ( + + + {pages.map(page => ( ))} - '404 Not Found'} /> diff --git a/src/components/StarterKits/StarterKits.jsx b/src/components/StarterKits/StarterKits.jsx index a76c94ab5be5..a12e8f27170b 100644 --- a/src/components/StarterKits/StarterKits.jsx +++ b/src/components/StarterKits/StarterKits.jsx @@ -11,7 +11,7 @@ import './StarterKits.scss'; // to allow sorting and such. const StarterKits = props => ( - +

Starter Kits

diff --git a/src/components/Vote/Vote.jsx b/src/components/Vote/Vote.jsx index 558afddfe615..6a3f4982bf54 100644 --- a/src/components/Vote/Vote.jsx +++ b/src/components/Vote/Vote.jsx @@ -5,7 +5,7 @@ import 'webpack.vote/dist/style.min.css'; import './Vote.scss'; const Vote = ({ section, page }) => ( - + diff --git a/src/components/Vote/Vote.scss b/src/components/Vote/Vote.scss index d9efe95ce407..e38d15de59d3 100644 --- a/src/components/Vote/Vote.scss +++ b/src/components/Vote/Vote.scss @@ -3,9 +3,4 @@ @import 'functions'; .vote { - h1, h2, h3, h4, h5, h6 { - font-family: $font-stack-heading; - font-weight: 600; - color: getColor(fiord); - } } diff --git a/src/index.jsx b/src/index.jsx index e635dddd2e11..88e970af9556 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -24,7 +24,7 @@ if (isClient) { let { pathname } = window.location; let trimmed = pathname.replace(/(.+)\/$/, '$1'); let entryPage = findInContent(Content, item => item.url === trimmed); - let entryPath = entryPage.path.replace('src/content/', ''); + let entryPath = entryPage && entryPage.path.replace('src/content/', ''); import(`./content/${entryPath}`).then(entryModule => { render(( diff --git a/webpack.prod.js b/webpack.prod.js index a6bcb5f27cb5..6aac5263618b 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -12,7 +12,12 @@ const contentTree = require('./src/_content.json'); const common = require('./webpack.common.js'); // content tree to path array -const paths = flattenContentTree(contentTree); +const paths = [ + ...flattenContentTree(contentTree), + '/vote', + '/organization', + '/starter-kits' +]; // Prod only config const prod = { From adcd3bd6b5979eb938ee5cf4beda53eedf3ee914 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 00:14:28 +0200 Subject: [PATCH 12/39] Remove unused code --- src/components/PageLinks/PageLinks.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/PageLinks/PageLinks.jsx b/src/components/PageLinks/PageLinks.jsx index d218e06831fb..bbe0c866dcc3 100644 --- a/src/components/PageLinks/PageLinks.jsx +++ b/src/components/PageLinks/PageLinks.jsx @@ -1,5 +1,4 @@ import React from 'react'; -import TrimEnd from 'lodash/trimEnd'; import Url from 'url'; import './PageLinks.scss'; From 422e7fa10d9663b1ed49c859887b56bbb657b481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 00:14:46 +0200 Subject: [PATCH 13/39] Fix link that was redirected --- src/content/guides/getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/guides/getting-started.md b/src/content/guides/getting-started.md index 0979ba3e0ce4..4f1c6759ce2e 100644 --- a/src/content/guides/getting-started.md +++ b/src/content/guides/getting-started.md @@ -208,7 +208,7 @@ Open `index.html` in your browser and, if everything went right, you should see ## Modules -The [`import`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) and [`export`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export) statements have been standardized in [ES2015](https://babeljs.io/learn-es2015/). Although they are not supported in most browsers yet, webpack does support them out of the box. +The [`import`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) and [`export`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export) statements have been standardized in [ES2015](https://babeljs.io/docs/en/learn/). Although they are not supported in most browsers yet, webpack does support them out of the box. Behind the scenes, webpack actually "transpiles" the code so that older browsers can also run it. If you inspect `dist/main.js`, you might be able to see how webpack does this, it's quite ingenious! Besides `import` and `export`, webpack supports various other module syntaxes as well, see [Module API](/api/module-methods) for more information. From f400cd27a20f6c977a54ee3c138a55fefa689749 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 00:15:16 +0200 Subject: [PATCH 14/39] Open all target='_blank' links with rel='noopener' for security --- src/components/Link/Link.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Link/Link.jsx b/src/components/Link/Link.jsx index c704b2f876af..99adcefa7de9 100644 --- a/src/components/Link/Link.jsx +++ b/src/components/Link/Link.jsx @@ -11,7 +11,7 @@ export default ({ if ( url ) to = url; if ( to.startsWith('http') || to.startsWith('//') ) - return ; + return ; else return ; }; From 1c3ee463dd44b7ba00ff1a8c4699fbe88111c10d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 00:16:39 +0200 Subject: [PATCH 15/39] Skip link checking img.shields.io --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index be43455b7b04..041ea4a8f609 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "lint:markdown": "markdownlint --config ./.markdownlint.json *.md ./src/content/**/*.md --ignore './src/content/**/_*.md'", "lint:social": "alex . -q", "lint:prose": "cp .proselintrc ~/ && proselint src/content", - "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --todo img.shields.io --todo external-redirect | tee master.tap | tap-spot", + "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --skip img.shields.io --todo external-redirect | tee master.tap | tap-spot", "sitemap": "cd dist && sitemap-static --prefix=https://webpack.js.org/ > sitemap.xml", "serve": "npm run build && sirv start ./dist --port 4000", "deploy": "gh-pages -d dist" From fc4e8763ea4a0c59539e3a58dcd9eb2ad425a9e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 01:02:31 +0200 Subject: [PATCH 16/39] Change order of markdown url rewriting to avoid errors --- src/utilities/process-readme.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/utilities/process-readme.js b/src/utilities/process-readme.js index 3ce2a48cbe15..ae387f36481b 100644 --- a/src/utilities/process-readme.js +++ b/src/utilities/process-readme.js @@ -10,12 +10,13 @@ module.exports = function processREADME(body, options = {}) { .replace(/.+?<\/h1>/, '') .replace(/# .+/, '') .replace(/.*\n=+/, '') - // Modify links to keep them within the site - .replace(/https?:\/\/github.com\/(webpack|webpack-contrib)\/([-A-za-z0-9]+-loader\/?)([)"])/g, '/loaders/$2/$3') - .replace(/https?:\/\/github.com\/(webpack|webpack-contrib)\/([-A-za-z0-9]+-plugin\/?)([)"])/g, '/plugins/$2/$3') // Replace local github links with absolute links to the github location // EXAMPLE: [Contributing](./.github/CONTRIBUTING.md) + // EXAMPLE: [Contributing](CONTRIBUTING.md) .replace(/\[([^\]]*)\]\(([^)]+)\)/g, (markdownLink, content, href) => `[${content}](${Url.resolve(options.source, href)})`) + // Modify links to keep them within the site + .replace(/https?:\/\/github.com\/(webpack|webpack-contrib)\/([-A-za-z0-9]+-loader\/?)([)"])/g, '/loaders/$2/$3') + .replace(/https?:\/\/github.com\/(webpack|webpack-contrib)\/([-A-za-z0-9]+-plugin\/?)([)"])/g, '/plugins/$2/$3') // Replace any

with `##` .replace(/]*>/g, '## ') .replace(/<\/h2>/g, '') From b363414ba512e17bbe3b52a7a64f0efcab655ea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 01:16:51 +0200 Subject: [PATCH 17/39] Use lowercase variable name for node url module. See https://github.com/webpack/webpack.js.org/pull/2382#discussion_r205283602 --- src/utilities/process-readme.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utilities/process-readme.js b/src/utilities/process-readme.js index ae387f36481b..9f11c9c9dbad 100644 --- a/src/utilities/process-readme.js +++ b/src/utilities/process-readme.js @@ -1,4 +1,4 @@ -const Url = require('url'); +const url = require('url'); module.exports = function processREADME(body, options = {}) { return body @@ -13,7 +13,7 @@ module.exports = function processREADME(body, options = {}) { // Replace local github links with absolute links to the github location // EXAMPLE: [Contributing](./.github/CONTRIBUTING.md) // EXAMPLE: [Contributing](CONTRIBUTING.md) - .replace(/\[([^\]]*)\]\(([^)]+)\)/g, (markdownLink, content, href) => `[${content}](${Url.resolve(options.source, href)})`) + .replace(/\[([^\]]*)\]\(([^)]+)\)/g, (markdownLink, content, href) => `[${content}](${url.resolve(options.source, href)})`) // Modify links to keep them within the site .replace(/https?:\/\/github.com\/(webpack|webpack-contrib)\/([-A-za-z0-9]+-loader\/?)([)"])/g, '/loaders/$2/$3') .replace(/https?:\/\/github.com\/(webpack|webpack-contrib)\/([-A-za-z0-9]+-plugin\/?)([)"])/g, '/plugins/$2/$3') From bd227a885f33f826b05f78f2b1005c290e9258f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 17:14:55 +0200 Subject: [PATCH 18/39] Update link to file-loader github repo --- src/components/Organization/projects.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Organization/projects.json b/src/components/Organization/projects.json index f05bdac76da7..6d64eb861702 100644 --- a/src/components/Organization/projects.json +++ b/src/components/Organization/projects.json @@ -55,7 +55,7 @@ "maintainer": "Spacek33z" }, { - "repo": "webpack/file-loader", + "repo": "webpack-contrib/file-loader", "npm": "file-loader", "description": "A simple loader for copying and renaming files.", "maintainer": "sokra" From ade9cb7aff711570a741a6f118230d4648fa324a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 17:15:43 +0200 Subject: [PATCH 19/39] Rewrite links from https://npmjs.com to https://www.npmjs.com to avoid the inevitable redirect --- src/utilities/process-readme.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/utilities/process-readme.js b/src/utilities/process-readme.js index 9f11c9c9dbad..5ca2ccd9ef42 100644 --- a/src/utilities/process-readme.js +++ b/src/utilities/process-readme.js @@ -13,7 +13,13 @@ module.exports = function processREADME(body, options = {}) { // Replace local github links with absolute links to the github location // EXAMPLE: [Contributing](./.github/CONTRIBUTING.md) // EXAMPLE: [Contributing](CONTRIBUTING.md) - .replace(/\[([^\]]*)\]\(([^)]+)\)/g, (markdownLink, content, href) => `[${content}](${url.resolve(options.source, href)})`) + .replace(/\[([^\]]*)\]\(([^)]+)\)/g, (markdownLink, content, href) => { + if (href.includes('//npmjs.com')) { + href = href.replace('//www.npmjs.com'); + } + + `[${content}](${url.resolve(options.source, href)})`; + }) // Modify links to keep them within the site .replace(/https?:\/\/github.com\/(webpack|webpack-contrib)\/([-A-za-z0-9]+-loader\/?)([)"])/g, '/loaders/$2/$3') .replace(/https?:\/\/github.com\/(webpack|webpack-contrib)\/([-A-za-z0-9]+-plugin\/?)([)"])/g, '/plugins/$2/$3') From 1a19c2d8679cc0ac5fc94830c6c8f0c3b0f95b1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 17:17:01 +0200 Subject: [PATCH 20/39] Skip checking links to npmjs.com/package that causes hyperlink to get http 500 responses. This should probably be reverted and fixed later --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 041ea4a8f609..578b303e2667 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "lint:markdown": "markdownlint --config ./.markdownlint.json *.md ./src/content/**/*.md --ignore './src/content/**/_*.md'", "lint:social": "alex . -q", "lint:prose": "cp .proselintrc ~/ && proselint src/content", - "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --skip img.shields.io --todo external-redirect | tee master.tap | tap-spot", + "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --skip img.shields.io --skip npmjs.com/package/ --todo external-redirect | tee master.tap | tap-spot", "sitemap": "cd dist && sitemap-static --prefix=https://webpack.js.org/ > sitemap.xml", "serve": "npm run build && sirv start ./dist --port 4000", "deploy": "gh-pages -d dist" From 071407e16283ad275cf2fd48ba4ac5aec0404293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 17:37:42 +0200 Subject: [PATCH 21/39] Updated organization projects urls to their redirect target --- src/components/Organization/projects.json | 60 +++++++++++------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/components/Organization/projects.json b/src/components/Organization/projects.json index 6d64eb861702..85581e6acd7a 100644 --- a/src/components/Organization/projects.json +++ b/src/components/Organization/projects.json @@ -61,7 +61,7 @@ "maintainer": "sokra" }, { - "repo": "webpack/style-loader", + "repo": "webpack-contrib/style-loader", "npm": "style-loader", "description": "Load and inject stylesheets into the DOM.", "maintainer": "sokra" @@ -85,13 +85,13 @@ "maintainer": "sokra" }, { - "repo": "webpack/json-loader", + "repo": "webpack-contrib/json-loader", "npm": "json-loader", "description": "Load JSON into a pre-parsed variable.", "maintainer": "" }, { - "repo": "webpack/url-loader", + "repo": "webpack-contrib/url-loader", "npm": "url-loader", "description": "Load files into data urls based on byte limit.", "maintainer": "" @@ -103,13 +103,13 @@ "maintainer": "" }, { - "repo": "webpack/extract-text-webpack-plugin", + "repo": "webpack-contrib/extract-text-webpack-plugin", "npm": "extract-text-webpack-plugin", "description": "Extract text from a bundle into a file.", "maintainer": "" }, { - "repo": "jtangelder/sass-loader", + "repo": "webpack-contrib/sass-loader", "npm": "sass-loader", "description": "Load and parse SASS modules into CSS.", "maintainer": "jhnns" @@ -121,37 +121,37 @@ "maintainer": "MikaAK" }, { - "repo": "webpack/imports-loader", + "repo": "webpack-contrib/imports-loader", "npm": "imports-loader", "description": "Detect and import libraries based on the use of certain variables.", "maintainer": "" }, { - "repo": "webpack/raw-loader", + "repo": "webpack-contrib/raw-loader", "npm": "raw-loader", "description": "Load a module's contents as a string.", "maintainer": "" }, { - "repo": "webpack/exports-loader", + "repo": "webpack-contrib/exports-loader", "npm": "exports-loader", "description": "Load a module's contents directly into export statements.", "maintainer": "" }, { - "repo": "webpack/less-loader", + "repo": "webpack-contrib/less-loader", "npm": "less-loader", "description": "Load and parse LESS modules into CSS.", "maintainer": "" }, { - "repo": "webpack/expose-loader", + "repo": "webpack-contrib/expose-loader", "npm": "expose-loader", "description": "Expose modules as global variables.", "maintainer": "" }, { - "repo": "webpack/html-loader", + "repo": "webpack-contrib/html-loader", "npm": "html-loader", "description": "Load HTML modules/templates as strings.", "maintainer": "hemanth" @@ -163,7 +163,7 @@ "maintainer": "" }, { - "repo": "webpack/script-loader", + "repo": "webpack-contrib/script-loader", "npm": "script-loader", "description": "Load and execute scripts once in the global context.", "maintainer": "" @@ -175,109 +175,109 @@ "maintainer": "shama" }, { - "repo": "webpack/source-map-loader", + "repo": "webpack-contrib/source-map-loader", "npm": "source-map-loader", "description": "Extract source-map comments from modules to pass to webpack.", "maintainer": "" }, { - "repo": "webpack/null-loader", + "repo": "webpack-contrib/null-loader", "npm": "null-loader", "description": "Load an empty module.", "maintainer": "" }, { - "repo": "webpack/compression-webpack-plugin", + "repo": "webpack-contrib/compression-webpack-plugin", "npm": "compression-webpack-plugin", "description": "Compress assets to serve with Content-Encoding.", "maintainer": "palmerj3" }, { - "repo": "webpack/transform-loader", + "repo": "webpack-contrib/transform-loader", "npm": "transform-loader", "description": "Load modules with browserify transforms.", "maintainer": "minwe" }, { - "repo": "webpack/grunt-webpack", + "repo": "webpack-contrib/grunt-webpack", "npm": "grunt-webpack", "description": "Integrate webpack into a grunt build process.", "maintainer": "danez" }, { - "repo": "webpack/jshint-loader", + "repo": "webpack-contrib/jshint-loader", "npm": "jshint-loader", "description": "Load and lint modules with JSHint.", "maintainer": "kostasmanionis" }, { - "repo": "webpack/bundle-loader", + "repo": "webpack-contrib/bundle-loader", "npm": "bundle-loader", "description": "Load a module and it's children into a separate bundle.", "maintainer": "" }, { - "repo": "webpack/coffee-loader", + "repo": "webpack-contrib/coffee-loader", "npm": "coffee-loader", "description": "Load and parse coffee script modules into JS.", "maintainer": "" }, { - "repo": "webpack/worker-loader", + "repo": "webpack-contrib/worker-loader", "npm": "worker-loader", "description": "Load modules as workers.", "maintainer": "" }, { - "repo": "webpack/mocha-loader", + "repo": "webpack-contrib/mocha-loader", "npm": "mocha-loader", "description": "Load mocha modules for testing.", "maintainer": "tricoder42" }, { - "repo": "webpack/react-proxy-loader", + "repo": "webpack-contrib/react-proxy-loader", "npm": "react-proxy-loader", "description": "Wrap a react component in a proxy component to enable Code Splitting.", "maintainer": "" }, { - "repo": "webpack/multi-loader", + "repo": "webpack-contrib/multi-loader", "npm": "multi-loader", "description": "Split a module and import each piece with different loaders.", "maintainer": "" }, { - "repo": "webpack/val-loader", + "repo": "webpack-contrib/val-loader", "npm": "val-loader", "description": "Load and execute a module while compiling, returning the result.", "maintainer": "" }, { - "repo": "webpack/i18n-webpack-plugin", + "repo": "webpack-contrib/i18n-webpack-plugin", "npm": "i18n-webpack-plugin", "description": "Embed localization into your bundle.", "maintainer": "" }, { - "repo": "webpack/json5-loader", + "repo": "webpack-contrib/json5-loader", "npm": "json5-loader", "description": "Load JSON5 into a pre-parsed variable.", "maintainer": "gdi2290" }, { - "repo": "webpack/node-loader", + "repo": "webpack-contrib/node-loader", "npm": "node-loader", "description": "Load native node modules.", "maintainer": "" }, { - "repo": "webpack/coverjs-loader", + "repo": "webpack-contrib/coverjs-loader", "npm": "coverjs-loader", "description": "Test modules' code coverage using CoverJS.", "maintainer": "" }, { - "repo": "webpack/coffee-redux-loader", + "repo": "webpack-contrib/coffee-redux-loader", "npm": "coffee-redux-loader", "description": "Load coffee script modules.", "maintainer": "" From 73dec2216e1c7bcc136a1b5660ee0cdf290ddbb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 17:59:07 +0200 Subject: [PATCH 22/39] Update tool-list to get correct links for projects --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 578b303e2667..dff264477ba3 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "react-g-analytics": "0.4.2", "react-hot-loader": "^4.0.0-beta.12", "react-router-dom": "^4.2.2", - "tool-list": "^0.11.0", + "tool-list": "^0.12.0", "webpack.vote": "^0.1.2" } } From 73779f75bd3d27003c757df17ffb6ea4e2c9271a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 17:59:43 +0200 Subject: [PATCH 23/39] Updated links to their redirect target --- src/content/configuration/configuration-languages.md | 2 +- src/content/contribute/writing-a-loader.md | 2 +- src/content/guides/csp.md | 2 +- src/content/guides/shimming.md | 2 +- src/content/loaders/index.md | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/content/configuration/configuration-languages.md b/src/content/configuration/configuration-languages.md index d5d5bf0367b6..bc2f6edfbe7b 100644 --- a/src/content/configuration/configuration-languages.md +++ b/src/content/configuration/configuration-languages.md @@ -11,7 +11,7 @@ contributors: - byzyk --- -webpack accepts configuration files written in multiple programming and data languages. The list of supported file extensions can be found at the [node-interpret](https://github.com/js-cli/js-interpret) package. Using [node-interpret](https://github.com/js-cli/js-interpret), webpack can handle many different types of configuration files. +webpack accepts configuration files written in multiple programming and data languages. The list of supported file extensions can be found at the [node-interpret](https://github.com/gulpjs/interpret) package. Using [node-interpret](https://github.com/js-cli/js-interpret), webpack can handle many different types of configuration files. ## TypeScript diff --git a/src/content/contribute/writing-a-loader.md b/src/content/contribute/writing-a-loader.md index 6bc503ac9db0..171c5b981d47 100644 --- a/src/content/contribute/writing-a-loader.md +++ b/src/content/contribute/writing-a-loader.md @@ -226,7 +226,7 @@ For instance, the `sass-loader` [specifies `node-sass`](https://github.com/webpa ## Testing -So you've written a loader, followed the guidelines above, and have it set up to run locally. What's next? Let's go through a simple unit testing example to ensure our loader is working the way we expect. We'll be using the [Jest](https://facebook.github.io/jest/) framework to do this. We'll also install `babel-jest` and some presets that will allow us to use the `import` / `export` and `async` / `await`. Let's start by installing and saving these as a `devDependencies`: +So you've written a loader, followed the guidelines above, and have it set up to run locally. What's next? Let's go through a simple unit testing example to ensure our loader is working the way we expect. We'll be using the [Jest](https://jestjs.io/) framework to do this. We'll also install `babel-jest` and some presets that will allow us to use the `import` / `export` and `async` / `await`. Let's start by installing and saving these as a `devDependencies`: ``` bash npm install --save-dev jest babel-jest babel-preset-env diff --git a/src/content/guides/csp.md b/src/content/guides/csp.md index 48df934162a5..35aa11ea106a 100644 --- a/src/content/guides/csp.md +++ b/src/content/guides/csp.md @@ -8,7 +8,7 @@ related: - title: Nonce purpose explained url: https://stackoverflow.com/questions/42922784/what-s-the-purpose-of-the-html-nonce-attribute-for-script-and-style-elements - title: On the Insecurity of Whitelists and the Future of Content Security Policy - url: https://research.google.com/pubs/pub45542.html + url: https://ai.google/research/pubs/pub45542 - title: Locking Down Your Website Scripts with CSP, Hashes, Nonces and Report URI url: https://www.troyhunt.com/locking-down-your-website-scripts-with-csp-hashes-nonces-and-report-uri/ - title: CSP on MDN diff --git a/src/content/guides/shimming.md b/src/content/guides/shimming.md index b3b15ff01ee4..d2c4aedc7482 100644 --- a/src/content/guides/shimming.md +++ b/src/content/guides/shimming.md @@ -262,7 +262,7 @@ Now from within our entry script (i.e. `src/index.js`), we could `import { file, Almost everything we've discussed thus far has been in relation to handling legacy packages. Let's move on to our second topic: __polyfills__. -There's a lot of ways to load polyfills. For example, to include the [`babel-polyfill`](https://babeljs.io/docs/usage/polyfill/) we might simply: +There's a lot of ways to load polyfills. For example, to include the [`babel-polyfill`](https://babeljs.io/docs/en/babel-polyfill/) we might simply: ``` bash npm install --save babel-polyfill diff --git a/src/content/loaders/index.md b/src/content/loaders/index.md index 0e50e63c750e..4d1391b1ace6 100644 --- a/src/content/loaders/index.md +++ b/src/content/loaders/index.md @@ -34,7 +34,7 @@ Loaders are activated by using `loadername!` prefixes in `require()` statements, * `buble-loader` Loads ES2015+ code and transpiles to ES5 using [Bublé](https://buble.surge.sh/guide/) * `traceur-loader` Loads ES2015+ code and transpiles to ES5 using [Traceur](https://github.com/google/traceur-compiler#readme) * [`ts-loader`](https://github.com/TypeStrong/ts-loader) or [`awesome-typescript-loader`](https://github.com/s-panferov/awesome-typescript-loader) Loads [TypeScript](https://www.typescriptlang.org/) 2.0+ like JavaScript -* [`coffee-loader`](/loaders/coffee-loader) Loads [CoffeeScript](http://coffeescript.org/) like JavaScript +* [`coffee-loader`](/loaders/coffee-loader) Loads [CoffeeScript](https://coffeescript.org/) like JavaScript * [`fengari-loader`](https://github.com/fengari-lua/fengari-loader/) Loads Lua code using [fengari](https://fengari.io/) @@ -56,7 +56,7 @@ Loaders are activated by using `loadername!` prefixes in `require()` statements, * [`css-loader`](/loaders/css-loader) Loads CSS file with resolved imports and returns CSS code * [`less-loader`](/loaders/less-loader) Loads and compiles a LESS file * [`sass-loader`](/loaders/sass-loader) Loads and compiles a SASS/SCSS file -* [`postcss-loader`](/loaders/postcss-loader) Loads and transforms a CSS/SSS file using [PostCSS](http://postcss.org) +* [`postcss-loader`](/loaders/postcss-loader) Loads and transforms a CSS/SSS file using [PostCSS](https://postcss.org) * `stylus-loader` Loads and compiles a Stylus file From 43967dd89e7a6161988e24d630a40ce7ed15bfc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 18:00:28 +0200 Subject: [PATCH 24/39] Remove jscs-loader. The project is deprecated, merged with eslint and the domain we link to is for sale --- src/content/loaders/index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/src/content/loaders/index.md b/src/content/loaders/index.md index 4d1391b1ace6..0ee0048f24c0 100644 --- a/src/content/loaders/index.md +++ b/src/content/loaders/index.md @@ -65,7 +65,6 @@ Loaders are activated by using `loadername!` prefixes in `require()` statements, * [`mocha-loader`](/loaders/mocha-loader) Tests with [mocha](https://mochajs.org/) (Browser/NodeJS) * [`eslint-loader`](https://github.com/webpack-contrib/eslint-loader) PreLoader for linting code using [ESLint](https://eslint.org/) * [`jshint-loader`](/loaders/jshint-loader) PreLoader for linting code using [JSHint](http://jshint.com/about/) -* `jscs-loader` PreLoader for code style checking using [JSCS](http://jscs.info/) * [`coverjs-loader`](/loaders/coverjs-loader) PreLoader to determine the testing coverage using [CoverJS](https://github.com/arian/CoverJS) From a8c6872db3dbe30a49d1216240defe909fefec6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 23:40:49 +0200 Subject: [PATCH 25/39] Update link to karma-webpack project --- src/components/Organization/projects.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Organization/projects.json b/src/components/Organization/projects.json index 85581e6acd7a..c35e3fb3de80 100644 --- a/src/components/Organization/projects.json +++ b/src/components/Organization/projects.json @@ -115,7 +115,7 @@ "maintainer": "jhnns" }, { - "repo": "webpack/karma-webpack", + "repo": "webpack-contrib/karma-webpack", "npm": "karma-webpack", "description": "Use webpack to pre-process files in karma.", "maintainer": "MikaAK" From 076dd732fc9fe05800dc34db59756e5d098da24f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 23:41:26 +0200 Subject: [PATCH 26/39] Remove link to named-modules-plugin, which is now in webpack core --- src/content/guides/caching.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/guides/caching.md b/src/content/guides/caching.md index 263ce23cd56b..1e2aa4a670b1 100644 --- a/src/content/guides/caching.md +++ b/src/content/guides/caching.md @@ -282,7 +282,7 @@ manifest.1400d5af64fc1b7b3a45.js 5.85 kB 2 [emitted] manifest - The `vendor` bundle changed because its `module.id` was changed. - And, the `manifest` bundle changed because it now contains a reference to a new module. -The first and last are expected -- it's the `vendor` hash we want to fix. Luckily, there are two plugins we can use to resolve this issue. The first is the [`NamedModulesPlugin`](/plugins/named-modules-plugin), which will use the path to the module rather than a numerical identifier. While this plugin is useful during development for more readable output, it does take a bit longer to run. The second option is the [`HashedModuleIdsPlugin`](/plugins/hashed-module-ids-plugin), which is recommended for production builds: +The first and last are expected -- it's the `vendor` hash we want to fix. Luckily, there are two plugins we can use to resolve this issue. The first is the `NamedModulesPlugin`, which will use the path to the module rather than a numerical identifier. While this plugin is useful during development for more readable output, it does take a bit longer to run. The second option is the [`HashedModuleIdsPlugin`](/plugins/hashed-module-ids-plugin), which is recommended for production builds: __webpack.config.js__ From 2ef4cb9524a302a218497b1c84f64b2b0a772da6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 26 Jul 2018 23:42:04 +0200 Subject: [PATCH 27/39] Added missing mini-css-extract-plugin to fetch script --- src/scripts/fetch.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scripts/fetch.sh b/src/scripts/fetch.sh index 07f09814a3ea..389d9c2d0c1d 100644 --- a/src/scripts/fetch.sh +++ b/src/scripts/fetch.sh @@ -9,6 +9,7 @@ node ./src/utilities/fetch-package-names.js "peerigon" "extract-loader" | node . # Fetch webpack-contrib (and various other) plugin repositories node ./src/utilities/fetch-package-names.js "webpack-contrib" "-webpack-plugin" | node ./src/utilities/fetch-package-files.js "README.md" "./src/content/plugins" +node ./src/utilities/fetch-package-names.js "webpack-contrib" "mini-css-extract-plugin" | node ./src/utilities/fetch-package-files.js "README.md" "./src/content/plugins" # Fetch sponsors and backers from opencollective node ./src/utilities/fetch-supporters.js From 4932f17e55be3d32ad0269428532e27f0b0f4aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 27 Jul 2018 00:37:37 +0200 Subject: [PATCH 28/39] Skip checking links to known deleted github users --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dff264477ba3..9a00cc72a76c 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "lint:markdown": "markdownlint --config ./.markdownlint.json *.md ./src/content/**/*.md --ignore './src/content/**/_*.md'", "lint:social": "alex . -q", "lint:prose": "cp .proselintrc ~/ && proselint src/content", - "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --skip img.shields.io --skip npmjs.com/package/ --todo external-redirect | tee master.tap | tap-spot", + "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --skip img.shields.io --skip npmjs.com/package/ --skip github.com/jecoopr --skip github.com/aiduryagin --skip github.com/renjithvk --todo external-redirect | tee master.tap | tap-spot", "sitemap": "cd dist && sitemap-static --prefix=https://webpack.js.org/ > sitemap.xml", "serve": "npm run build && sirv start ./dist --port 4000", "deploy": "gh-pages -d dist" From 3ddaa42511f8d7ce26a73a89ffe5f07155bdbbea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 27 Jul 2018 01:34:33 +0200 Subject: [PATCH 29/39] Update broken fragments to work with new markdown generator --- src/content/api/compiler-hooks.md | 2 +- src/content/api/node.md | 2 +- src/content/configuration/dev-server.md | 4 +-- src/content/configuration/module.md | 26 +++++++++---------- src/content/configuration/output.md | 34 ++++++++++++------------- src/content/configuration/resolve.md | 2 +- 6 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/content/api/compiler-hooks.md b/src/content/api/compiler-hooks.md index 6e97a4ae8198..55aeee702b56 100644 --- a/src/content/api/compiler-hooks.md +++ b/src/content/api/compiler-hooks.md @@ -41,7 +41,7 @@ compiler.hooks.someHook.tap(/* ... */); Depending on the hook type, `tapAsync` and `tapPromise` may also be available. -For the description of hook types, see [the Tapable docs](https://github.com/webpack/tapable#hook-types). +For the description of hook types, see [the Tapable docs](https://github.com/webpack/tapable#tapable). ### `entryOption` diff --git a/src/content/api/node.md b/src/content/api/node.md index d3d7521faf0c..67904dc8f943 100644 --- a/src/content/api/node.md +++ b/src/content/api/node.md @@ -171,7 +171,7 @@ watching.invalidate(); ## Stats Object The `stats` object that is passed as a second argument of the -[`webpack()`](#webpack-) callback, is a good source of information about the +[`webpack()`](#webpack) callback, is a good source of information about the code compilation process. It includes: - Errors and Warnings (if any) diff --git a/src/content/configuration/dev-server.md b/src/content/configuration/dev-server.md index 3e8cf8d07478..d0740a33ba6d 100644 --- a/src/content/configuration/dev-server.md +++ b/src/content/configuration/dev-server.md @@ -215,7 +215,7 @@ webpack-dev-server --compress `boolean` `string` `array` -Tell the server where to serve content from. This is only necessary if you want to serve static files. [`devServer.publicPath`](#devserver-publicpath-) will be used to determine where the bundles should be served from, and takes precedence. +Tell the server where to serve content from. This is only necessary if you want to serve static files. [`devServer.publicPath`](#devserverpublicpath-) will be used to determine where the bundles should be served from, and takes precedence. By default it will use your current working directory to serve content, but you can modify this to another directory: @@ -421,7 +421,7 @@ T> Note that `webpack.HotModuleReplacementPlugin` is required to fully enable HM `boolean` -Enables Hot Module Replacement (see [`devServer.hot`](#devserver-hot)) without page refresh as fallback in case of build failures. +Enables Hot Module Replacement (see [`devServer.hot`](#devserverhot)) without page refresh as fallback in case of build failures. ```js module.exports = { diff --git a/src/content/configuration/module.md b/src/content/configuration/module.md index 82d031a3724f..f416b2d0bb59 100644 --- a/src/content/configuration/module.md +++ b/src/content/configuration/module.md @@ -58,7 +58,7 @@ There are two input values for the conditions: **Example:** When we `import './style.css'` within `app.js`, the resource is `/path/to/style.css` and the issuer is `/path/to/app.js`. -In a Rule the properties [`test`](#rule-test), [`include`](#rule-include), [`exclude`](#rule-exclude) and [`resource`](#rule-resource) are matched with the resource and the property [`issuer`](#rule-issuer) is matched with the issuer. +In a Rule the properties [`test`](#ruletest), [`include`](#ruleinclude), [`exclude`](#ruleexclude) and [`resource`](#ruleresource) are matched with the resource and the property [`issuer`](#ruleissuer) is matched with the issuer. When using multiple conditions, all conditions must match. @@ -74,18 +74,18 @@ There are two output values of a Rule: 1. Applied loaders: An array of loaders applied to the resource. 2. Parser options: An options object which should be used to create the parser for this module. -These properties affect the loaders: [`loader`](#rule-loader), [`options`](#rule-options-rule-query), [`use`](#rule-use). +These properties affect the loaders: [`loader`](#ruleloader), [`options`](#ruleoptions--rulequery), [`use`](#ruleuse). -For compatibility also these properties: [`query`](#rule-options-rule-query), [`loaders`](#rule-loaders). +For compatibility also these properties: [`query`](#ruleoptions--rulequery), [`loaders`](#ruleloaders). -The [`enforce`](#rule-enforce) property affects the loader category. Whether it's a normal, pre- or post- loader. +The [`enforce`](#ruleenforce) property affects the loader category. Whether it's a normal, pre- or post- loader. -The [`parser`](#rule-parser) property affects the parser options. +The [`parser`](#ruleparser) property affects the parser options. ## Nested rules -Nested rules can be specified under the properties [`rules`](#rule-rules) and [`oneOf`](#rule-oneof). +Nested rules can be specified under the properties [`rules`](#rulerules) and [`oneOf`](#ruleoneof). These rules are evaluated when the Rule condition matches. @@ -114,12 +114,12 @@ Inline loaders and `!` prefixes should not be used as they are non-standard. The ## `Rule.exclude` -`Rule.exclude` is a shortcut to `Rule.resource.exclude`. If you supply a `Rule.exclude` option, you cannot also supply a `Rule.resource`. See [`Rule.resource`](#rule-resource) and [`Condition.exclude`](#condition) for details. +`Rule.exclude` is a shortcut to `Rule.resource.exclude`. If you supply a `Rule.exclude` option, you cannot also supply a `Rule.resource`. See [`Rule.resource`](#ruleresource) and [`Condition.exclude`](#condition) for details. ## `Rule.include` -`Rule.include` is a shortcut to `Rule.resource.include`. If you supply a `Rule.include` option, you cannot also supply a `Rule.resource`. See [`Rule.resource`](#rule-resource) and [`Condition.include`](#condition) for details. +`Rule.include` is a shortcut to `Rule.resource.include`. If you supply a `Rule.include` option, you cannot also supply a `Rule.resource`. See [`Rule.resource`](#ruleresource) and [`Condition.include`](#condition) for details. ## `Rule.issuer` @@ -137,14 +137,14 @@ This option can be used to apply loaders to the dependencies of a specific modul ## `Rule.loader` -`Rule.loader` is a shortcut to `Rule.use: [ { loader } ]`. See [`Rule.use`](#rule-use) and [`UseEntry.loader`](#useentry) for details. +`Rule.loader` is a shortcut to `Rule.use: [ { loader } ]`. See [`Rule.use`](#ruleuse) and [`UseEntry.loader`](#useentry) for details. ## `Rule.loaders` W> This option is __deprecated__ in favor of `Rule.use`. -`Rule.loaders` is an alias to `Rule.use`. See [`Rule.use`](#rule-use) for details. +`Rule.loaders` is an alias to `Rule.use`. See [`Rule.use`](#ruleuse) for details. ## `Rule.oneOf` @@ -176,7 +176,7 @@ module.exports = { ## `Rule.options` / `Rule.query` -`Rule.options` and `Rule.query` are shortcuts to `Rule.use: [ { options } ]`. See [`Rule.use`](#rule-use) and [`UseEntry.options`](#useentry) for details. +`Rule.options` and `Rule.query` are shortcuts to `Rule.use: [ { options } ]`. See [`Rule.use`](#ruleuse) and [`UseEntry.options`](#useentry) for details. W> `Rule.query` is deprecated in favor of `Rule.options` and `UseEntry.options`. @@ -223,7 +223,7 @@ module.exports = { ## `Rule.resource` -A [`Condition`](#condition) matched with the resource. You can either supply a `Rule.resource` option or use the shortcut options `Rule.test`, `Rule.exclude`, and `Rule.include`. See details in [`Rule` conditions](#rule-conditions). +A [`Condition`](#condition) matched with the resource. You can either supply a `Rule.resource` option or use the shortcut options `Rule.test`, `Rule.exclude`, and `Rule.include`. See details in [`Rule` conditions](#ruleconditions). ## `Rule.resourceQuery` @@ -260,7 +260,7 @@ Indicate what parts of the module contain side effects. See [Tree Shaking](/guid ## `Rule.test` -`Rule.test` is a shortcut to `Rule.resource.test`. If you supply a `Rule.test` option, you cannot also supply a `Rule.resource`. See [`Rule.resource`](#rule-resource) and [`Condition.test`](#condition) for details. +`Rule.test` is a shortcut to `Rule.resource.test`. If you supply a `Rule.test` option, you cannot also supply a `Rule.resource`. See [`Rule.resource`](#ruleresource) and [`Condition.test`](#condition) for details. ## `Rule.use` diff --git a/src/content/configuration/output.md b/src/content/configuration/output.md index 28cbf87decf9..e234aa1c6048 100644 --- a/src/content/configuration/output.md +++ b/src/content/configuration/output.md @@ -20,7 +20,7 @@ The top-level `output` key contains set of options instructing webpack on how an `string` `object` -When used in tandem with [`output.library`](#output-library) and [`output.libraryTarget`](#output-librarytarget), this option allows users to insert comments within the export wrapper. To insert the same comment for each `libraryTarget` type, set `auxiliaryComment` to a string: +When used in tandem with [`output.library`](#outputlibrary) and [`output.libraryTarget`](#outputlibrarytarget), this option allows users to insert comments within the export wrapper. To insert the same comment for each `libraryTarget` type, set `auxiliaryComment` to a string: ```js module.exports = { @@ -77,11 +77,11 @@ module.exports = { `string` -This option determines the name of non-entry chunk files. See [`output.filename`](#output-filename) option for details on the possible values. +This option determines the name of non-entry chunk files. See [`output.filename`](#outputfilename) option for details on the possible values. Note that these filenames need to be generated at runtime to send the requests for chunks. Because of this, placeholders like `[name]` and `[chunkhash]` need to add a mapping from chunk id to placeholder value to the output bundle with the webpack runtime. This increases the size and may invalidate the bundle when placeholder value for any chunk changes. -By default `[id].js` is used or a value inferred from [`output.filename`](#output-filename) (`[name]` is replaced with `[id]` or `[id].` is prepended). +By default `[id].js` is used or a value inferred from [`output.filename`](#outputfilename) (`[name]` is replaced with `[id]` or `[id].` is prepended). ## `output.chunkLoadTimeout` @@ -122,7 +122,7 @@ Allows customization of the `script` type webpack injects `script` tags into the A fallback used when the template string or function above yields duplicates. -See [`output.devtoolModuleFilenameTemplate`](#output-devtoolmodulefilenametemplate). +See [`output.devtoolModuleFilenameTemplate`](#outputdevtoolmodulefilenametemplate). ## `output.devtoolLineToLine` @@ -188,14 +188,14 @@ module.exports = { }; ``` -If multiple modules would result in the same name, [`output.devtoolFallbackModuleFilenameTemplate`](#output-devtoolfallbackmodulefilenametemplate) is used instead for these modules. +If multiple modules would result in the same name, [`output.devtoolFallbackModuleFilenameTemplate`](#outputdevtoolfallbackmodulefilenametemplate) is used instead for these modules. ## `output.devtoolNamespace` `string` -This option determines the modules namespace used with the [`output.devtoolModuleFilenameTemplate`](#output-devtoolmodulefilenametemplate). When not specified, it will default to the value of: [`output.library`](#output-library). It's used to prevent source file path collisions in sourcemaps when loading multiple libraries built with webpack. +This option determines the modules namespace used with the [`output.devtoolModuleFilenameTemplate`](#outputdevtoolmodulefilenametemplate). When not specified, it will default to the value of: [`output.library`](#outputlibrary). It's used to prevent source file path collisions in sourcemaps when loading multiple libraries built with webpack. For example, if you have 2 libraries, with namespaces `library1` and `library2`, which both have a file `./src/index.js` (with potentially different contents), they will expose these files as `webpack://library1/./src/index.js` and `webpack://library2/./src/index.js`. @@ -204,7 +204,7 @@ For example, if you have 2 libraries, with namespaces `library1` and `library2`, `string` `function` -This option determines the name of each output bundle. The bundle is written to the directory specified by the [`output.path`](#output-path) option. +This option determines the name of each output bundle. The bundle is written to the directory specified by the [`output.path`](#outputpath) option. For a single [`entry`](/configuration/entry-context#entry) point, this can be a static name. @@ -267,7 +267,7 @@ Make sure to read the [Caching guide](/guides/caching) for details. There are mo Note this option is called filename but you are still allowed to use something like `"js/[name]/bundle.js"` to create a folder structure. -Note this option does not affect output files for on-demand-loaded chunks. For these files the [`output.chunkFilename`](#output-chunkfilename) option is used. Files created by loaders also aren't affected. In this case you would have to try the specific loader's available options. +Note this option does not affect output files for on-demand-loaded chunks. For these files the [`output.chunkFilename`](#outputchunkfilename) option is used. Files created by loaders also aren't affected. In this case you would have to try the specific loader's available options. The following substitutions are available in template strings (via webpack's internal [`TemplatedPathPlugin`](https://github.com/webpack/webpack/blob/master/lib/TemplatedPathPlugin.js)): @@ -279,7 +279,7 @@ The following substitutions are available in template strings (via webpack's int | [id] | The module identifier | | [query] | The module query, i.e., the string following `?` in the filename | -The lengths of `[hash]` and `[chunkhash]` can be specified using `[hash:16]` (defaults to 20). Alternatively, specify [`output.hashDigestLength`](#output-hashdigestlength) to configure the length globally. +The lengths of `[hash]` and `[chunkhash]` can be specified using `[hash:16]` (defaults to 20). Alternatively, specify [`output.hashDigestLength`](#outputhashdigestlength) to configure the length globally. If using a function for this option, the function will be passed an object containing the substitutions in the table above. @@ -322,7 +322,7 @@ An optional salt to update the hash via Node.JS' [`hash.update`](https://nodejs. `string` `function` -Customize the filenames of hot update chunks. See [`output.filename`](#output-filename) option for details on the possible values. +Customize the filenames of hot update chunks. See [`output.filename`](#outputfilename) option for details on the possible values. The only placeholders allowed here are `[id]` and `[hash]`, the default being: @@ -346,14 +346,14 @@ Only used when [`target`](/configuration/target) is web, which uses JSONP for lo A JSONP function used to asynchronously load hot-update chunks. -For details see [`output.jsonpFunction`](#output-jsonpfunction). +For details see [`output.jsonpFunction`](#outputjsonpfunction). ## `output.hotUpdateMainFilename` `string` `function` -Customize the main hot update filename. See [`output.filename`](#output-filename) option for details on the possible values. +Customize the main hot update filename. See [`output.filename`](#outputfilename) option for details on the possible values. `[hash]` is the only available placeholder, the default being: @@ -379,7 +379,7 @@ A JSONP function name used to asynchronously load chunks or join multiple initia This needs to be changed if multiple webpack runtimes (from different compilation) are used on the same webpage. -If using the [`output.library`](#output-library) option, the library name is automatically appended. +If using the [`output.library`](#outputlibrary) option, the library name is automatically appended. ## `output.library` @@ -388,7 +388,7 @@ If using the [`output.library`](#output-library) option, the library name is aut `string` or `object` (since webpack 3.1.0; for `libraryTarget: "umd"`) -How the value of the `output.library` is used depends on the value of the [`output.libraryTarget`](#output-librarytarget) option; please refer to that section for the complete details. Note that the default option for `output.libraryTarget` is `var`, so if the following configuration option is used: +How the value of the `output.library` is used depends on the value of the [`output.libraryTarget`](#outputlibrarytarget) option; please refer to that section for the complete details. Note that the default option for `output.libraryTarget` is `var`, so if the following configuration option is used: ```js module.exports = { @@ -450,7 +450,7 @@ MySubModule.doSomething(); > Default: `"var"` -Configure how the library will be exposed. Any one of the following options can be used. Please note that this option works in conjunction with the value assigned to [`output.library`](#output-library). For the following examples, it is assumed that this value is configured as `MyLibrary`. +Configure how the library will be exposed. Any one of the following options can be used. Please note that this option works in conjunction with the value assigned to [`output.library`](#outputlibrary). For the following examples, it is assumed that this value is configured as `MyLibrary`. T> Note that `_entry_return_` in the example code below is the value returned by the entry point. In the bundle itself, it is the output of the function that is generated by webpack from the entry point. @@ -729,7 +729,7 @@ The value of the option is prefixed to every URL created by the runtime or loade The default value is an empty string `""`. -Simple rule: The URL of your [`output.path`](#output-path) from the view of the HTML page. +Simple rule: The URL of your [`output.path`](#outputpath) from the view of the HTML page. ```js module.exports = { @@ -807,7 +807,7 @@ This option is only used when [`devtool`](/configuration/devtool) uses a SourceM Configure how source maps are named. By default `"[file].map"` is used. -The `[name]`, `[id]`, `[hash]` and `[chunkhash]` substitutions from [#output-filename](#output-filename) can be used. In addition to those, you can use substitutions listed below. The `[file]` placeholder is replaced with the filename of the original file. We recommend __only using the `[file]` placeholder__, as the other placeholders won't work when generating SourceMaps for non-chunk files. +The `[name]`, `[id]`, `[hash]` and `[chunkhash]` substitutions from [`output.filename`](#outputfilename) can be used. In addition to those, you can use substitutions listed below. The `[file]` placeholder is replaced with the filename of the original file. We recommend __only using the `[file]` placeholder__, as the other placeholders won't work when generating SourceMaps for non-chunk files. | Template | Description | | -------------------------- | ----------------------------------------------------------------------------------- | diff --git a/src/content/configuration/resolve.md b/src/content/configuration/resolve.md index 603381b68d8e..a60b790b1af9 100644 --- a/src/content/configuration/resolve.md +++ b/src/content/configuration/resolve.md @@ -18,7 +18,7 @@ These options change how modules are resolved. webpack provides reasonable defau `object` -Configure how modules are resolved. For example, when calling `import "lodash"` in ES2015, the `resolve` options can change where webpack goes to look for `"lodash"` (see [`modules`](#resolve-modules)). +Configure how modules are resolved. For example, when calling `import "lodash"` in ES2015, the `resolve` options can change where webpack goes to look for `"lodash"` (see [`modules`](#resolvemodules)). ### `resolve.alias` From 2438e5b0188d6ea559d93cef1f10cffd957c2a85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 27 Jul 2018 02:19:23 +0200 Subject: [PATCH 30/39] Fixed more broken links --- src/content/configuration/configuration-languages.md | 2 +- src/content/configuration/module.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/configuration/configuration-languages.md b/src/content/configuration/configuration-languages.md index bc2f6edfbe7b..43bb586c1539 100644 --- a/src/content/configuration/configuration-languages.md +++ b/src/content/configuration/configuration-languages.md @@ -11,7 +11,7 @@ contributors: - byzyk --- -webpack accepts configuration files written in multiple programming and data languages. The list of supported file extensions can be found at the [node-interpret](https://github.com/gulpjs/interpret) package. Using [node-interpret](https://github.com/js-cli/js-interpret), webpack can handle many different types of configuration files. +webpack accepts configuration files written in multiple programming and data languages. The list of supported file extensions can be found at the [node-interpret](https://github.com/gulpjs/interpret) package. Using [node-interpret](https://github.com/gulpjs/interpret), webpack can handle many different types of configuration files. ## TypeScript diff --git a/src/content/configuration/module.md b/src/content/configuration/module.md index f416b2d0bb59..e7a4890fbd9b 100644 --- a/src/content/configuration/module.md +++ b/src/content/configuration/module.md @@ -223,7 +223,7 @@ module.exports = { ## `Rule.resource` -A [`Condition`](#condition) matched with the resource. You can either supply a `Rule.resource` option or use the shortcut options `Rule.test`, `Rule.exclude`, and `Rule.include`. See details in [`Rule` conditions](#ruleconditions). +A [`Condition`](#condition) matched with the resource. You can either supply a `Rule.resource` option or use the shortcut options `Rule.test`, `Rule.exclude`, and `Rule.include`. See details in [`Rule` conditions](#rule-conditions). ## `Rule.resourceQuery` From 972de53769c839b98b1a8ad0271b6c3cb333d68a Mon Sep 17 00:00:00 2001 From: Fernando Montoya Date: Fri, 27 Jul 2018 03:25:13 +0200 Subject: [PATCH 31/39] infra(site) Copy assets when building --- package.json | 12 +- src/utilities/fetch-supporters.js | 2 +- webpack.prod.js | 7 +- yarn.lock | 1176 +++++++++++++++++++++++++---- 4 files changed, 1040 insertions(+), 157 deletions(-) diff --git a/package.json b/package.json index fb8727420222..fb2317a68afe 100644 --- a/package.json +++ b/package.json @@ -48,8 +48,12 @@ } }, "lint-staged": { - "*.{js,jsx,md}": ["npm run lint:js"], - "*.md": ["npm run lint:markdown"] + "*.{js,jsx,md}": [ + "npm run lint:js" + ], + "*.md": [ + "npm run lint:markdown" + ] }, "devDependencies": { "@octokit/rest": "^15.2.6", @@ -63,7 +67,7 @@ "babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-preset-env": "^1.6.0", "babel-preset-react": "^6.24.1", - "copy-webpack-plugin": "^4.3.0", + "copy-webpack-plugin": "4.5.2", "cross-env": "5.2.0", "css-loader": "^0.28.5", "directory-tree": "2.1.0", @@ -123,9 +127,9 @@ }, "dependencies": { "@rigor789/remark-autolink-headings": "^5.1.0", + "ajv": "^5.5.2", "docsearch.js": "^2.5.2", "gitter-sidecar": "^1.2.3", - "ajv": "^5.5.2", "javascriptstuff-db": "^1.12.0", "lodash.throttle": "^4.1.1", "prop-types": "^15.5.10", diff --git a/src/utilities/fetch-supporters.js b/src/utilities/fetch-supporters.js index b536d473b80d..449f687b2566 100644 --- a/src/utilities/fetch-supporters.js +++ b/src/utilities/fetch-supporters.js @@ -26,7 +26,7 @@ request(url) } // Write the file - return asyncWriteFile(`./src/components/Support/${filename}`, body); + return asyncWriteFile(`./src/components/Support/${filename}`, body).then(() => console.log('Fetched 1 file: _supporters.json')); }) .catch(error => { console.error('utilities/fetch-supporters:', error); diff --git a/webpack.prod.js b/webpack.prod.js index 6aac5263618b..d3feb853b14b 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -5,6 +5,7 @@ const merge = require('webpack-merge'); const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); const SSGPlugin = require('static-site-generator-webpack-plugin'); const RedirectWebpackPlugin = require('redirect-webpack-plugin'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); const flattenContentTree = require('./src/utilities/flatten-content-tree'); const contentTree = require('./src/_content.json'); @@ -28,7 +29,11 @@ const prod = { }), new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify('production') - }) + }), + new CopyWebpackPlugin([{ + from: './assets/icon-square-small-slack.png', + to: './assets/' + }]) ] }; diff --git a/yarn.lock b/yarn.lock index 7acb9d87b060..f21a2682eb19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33,7 +33,7 @@ dependencies: any-observable "^0.3.0" -abab@^1.0.3: +abab@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" @@ -54,11 +54,11 @@ acorn-dynamic-import@^2.0.0: dependencies: acorn "^4.0.3" -acorn-globals@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" +acorn-globals@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" dependencies: - acorn "^4.0.4" + acorn "^5.0.0" acorn-jsx@^3.0.0: version "3.0.1" @@ -70,11 +70,11 @@ acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^4.0.3, acorn@^4.0.4: +acorn@^4.0.3: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" -acorn@^5.0.0, acorn@^5.2.1, acorn@^5.5.0: +acorn@^5.0.0, acorn@^5.2.1, acorn@^5.3.0, acorn@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" @@ -176,7 +176,7 @@ align-text@^0.1.1, align-text@^0.1.3: longest "^1.0.1" repeat-string "^1.5.2" -alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: +alphanum-sort@^1.0.0, alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -368,53 +368,73 @@ assert@^1.1.1: dependencies: util "0.10.3" -assetgraph@^3.13.1: - version "3.14.2" - resolved "https://registry.yarnpkg.com/assetgraph/-/assetgraph-3.14.2.tgz#e4744a54d91780926092140a11bcf983844d6669" +assetgraph@^4.5.0: + version "4.12.1" + resolved "https://registry.yarnpkg.com/assetgraph/-/assetgraph-4.12.1.tgz#8374da32dc799cc3e5d5259264c0161722aa363c" dependencies: - bluebird "^3.5.0" - capitalize "1.0.0" - chalk "^1.1.3" - createerror "^1.1.0" - css-font-parser "0.2.1" + bluebird "^3.5.1" + capitalize "^1.0.0" + chalk "^2.0.1" + common-path-prefix "^1.0.0" + createerror "^1.3.0" + css-font-parser "^0.2.3" css-font-weight-names "0.2.1" - css-list-helpers "1.0.1" - cssnano "^3.7.4" + css-list-helpers "2.0.0" + cssnano "4.0.3" + data-urls "^1.0.0" esanimate "^1.1.0" escodegen "^1.9.1" - esprima "^3.1.3" + esprima "^4.0.0" espurify "^1.7.0" estraverse "^4.2.0" + estraverse-fb "^1.3.2" + fontkit "^1.7.7" gettemporaryfilepath "^1.0.0" glob "^7.0.5" html-minifier "^3.5.8" - imageinfo "1.0.4" - jsdom "9.12.0" + imageinfo "^1.0.4" + jsdom "^11.11.0" + lines-and-columns "^1.1.6" lodash "^4.11.2" memoizesync "1.1.1" mkdirp "^0.5.1" normalizeurl "^1.0.0" perfectionist "^2.4.0" - postcss "~6.0.1" - read-pkg-up "^2.0.0" + postcss "^7.0.0" + postcss-values-parser "^1.5.0" + read-pkg-up "^4.0.0" repeat-string "^1.5.4" schemes "^1.0.1" semver "^5.3.0" - source-map "^0.5.6" - specificity "0.3.0" - teepee "^2.28.0" - uglify-js "^3.3.4" - urltools "^0.4.0" + sift "^6.0.0" + source-map "~0.6.1" + specificity "^0.4.0" + sw-precache "^5.2.0" + teepee "^2.31.1" + uglify-js "3.4.5" + urltools "^0.4.1" xmldom "^0.1.27" assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" +ast-transform@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/ast-transform/-/ast-transform-0.0.0.tgz#74944058887d8283e189d954600947bc98fe0062" + dependencies: + escodegen "~1.2.0" + esprima "~1.0.4" + through "~2.3.4" + ast-types@0.9.6: version "0.9.6" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" +ast-types@^0.7.0: + version "0.7.8" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.7.8.tgz#902d2e0d60d071bdcd46dc115e1809ed11c138a9" + async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" @@ -1016,7 +1036,7 @@ babel-register@^6.26.0: mkdirp "^0.5.1" source-map-support "^0.4.15" -babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: +babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: @@ -1076,7 +1096,7 @@ base62@^1.1.0: version "1.2.8" resolved "https://registry.yarnpkg.com/base62/-/base62-1.2.8.tgz#1264cb0fb848d875792877479dbe8bae6bae3428" -base64-js@^1.0.2: +base64-js@^1.0.2, base64-js@^1.1.2: version "1.3.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" @@ -1158,7 +1178,7 @@ bonjour@^3.5.0: multicast-dns "^6.0.1" multicast-dns-service-types "^1.1.0" -boolbase@~1.0.0: +boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -1210,10 +1230,35 @@ braces@^2.3.0, braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" +brfs@^1.4.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/brfs/-/brfs-1.6.1.tgz#b78ce2336d818e25eea04a0947cba6d4fb8849c3" + dependencies: + quote-stream "^1.0.1" + resolve "^1.1.5" + static-module "^2.2.0" + through2 "^2.0.0" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" +brotli@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/brotli/-/brotli-1.3.2.tgz#525a9cad4fcba96475d7d388f6aecb13eed52f46" + dependencies: + base64-js "^1.1.2" + +browser-process-hrtime@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" + +browser-resolve@^1.8.1: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + dependencies: + resolve "1.1.7" + browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" @@ -1242,6 +1287,14 @@ browserify-des@^1.0.0: inherits "^2.0.1" safe-buffer "^5.1.2" +browserify-optional@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-optional/-/browserify-optional-1.0.1.tgz#1e13722cfde0d85f121676c2a72ced533a018869" + dependencies: + ast-transform "0.0.0" + ast-types "^0.7.0" + browser-resolve "^1.8.1" + browserify-rsa@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" @@ -1288,6 +1341,14 @@ browserslist@^3.2.6: caniuse-lite "^1.0.30000844" electron-to-chromium "^1.3.47" +browserslist@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.0.1.tgz#61c05ce2a5843c7d96166408bc23d58b5416e818" + dependencies: + caniuse-lite "^1.0.30000865" + electron-to-chromium "^1.3.52" + node-releases "^1.0.0-alpha.10" + btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" @@ -1303,6 +1364,10 @@ bubble-stream-error@~0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/bubble-stream-error/-/bubble-stream-error-0.0.1.tgz#55eb86846ecf26605e896aa2f1a31b3c9dcccb62" +buffer-equal@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" + buffer-from@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04" @@ -1416,15 +1481,24 @@ caniuse-api@^1.5.2: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: version "1.0.30000871" resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000871.tgz#f1995c1fe31892649a7605957a80c92518423d4d" -caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000844: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000865: version "1.0.30000865" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000865.tgz#70026616e8afe6e1442f8bb4e1092987d81a2f25" -capitalize@1.0.0: +capitalize@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/capitalize/-/capitalize-1.0.0.tgz#dc802c580aee101929020d2ca14b4ca8a0ae44be" @@ -1457,7 +1531,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" dependencies: @@ -1629,7 +1703,7 @@ clone-deep@^2.0.1: kind-of "^6.0.0" shallow-clone "^1.0.0" -clone@^1.0.2: +clone@^1.0.1, clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" @@ -1643,6 +1717,12 @@ coa@~1.0.1: dependencies: q "^1.1.2" +coa@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.1.tgz#f3f8b0b15073e35d70263fb1042cb2c023db38af" + dependencies: + q "^1.1.2" + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -1658,7 +1738,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.3.0, color-convert@^1.9.0: +color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.2" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147" dependencies: @@ -1678,6 +1758,13 @@ color-string@^0.3.0: dependencies: color-name "^1.0.0" +color-string@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.2.tgz#26e45814bc3c9a7cbd6751648a41434514a773a9" + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + color@^0.11.0: version "0.11.4" resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" @@ -1686,6 +1773,13 @@ color@^0.11.0: color-convert "^1.3.0" color-string "^0.3.0" +color@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + colormin@^1.0.5: version "1.1.2" resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" @@ -1736,6 +1830,10 @@ comment-regex@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/comment-regex/-/comment-regex-1.0.1.tgz#e070d2c4db33231955d0979d27c918fcb6f93565" +common-path-prefix@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -1780,7 +1878,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.6.2, concat-stream@^1.5.0, concat-stream@^1.5.1, concat-stream@^1.6.0: +concat-stream@1.6.2, concat-stream@^1.5.0, concat-stream@^1.5.1, concat-stream@^1.6.0, concat-stream@~1.6.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" dependencies: @@ -1826,10 +1924,6 @@ content-disposition@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" -content-type-parser@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.2.tgz#caabe80623e63638b2502fd4c7f12ff4ce2352e7" - content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" @@ -1861,7 +1955,7 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" -copy-webpack-plugin@^4.3.0: +copy-webpack-plugin@4.5.2: version "4.5.2" resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz#d53444a8fea2912d806e78937390ddd7e632ee5c" dependencies: @@ -1899,7 +1993,7 @@ cosmiconfig@^4.0.0: parse-json "^4.0.0" require-from-string "^2.0.1" -cosmiconfig@^5.0.2: +cosmiconfig@^5.0.0, cosmiconfig@^5.0.2: version "5.0.5" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.5.tgz#a809e3c2306891ce17ab70359dc8bdf661fe2cd0" dependencies: @@ -1953,7 +2047,7 @@ createerror@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/createerror/-/createerror-1.2.0.tgz#5881f9abdfc2826fd1c3cf09adffe6da2ec74909" -createerror@1.3.0, createerror@^1.1.0, createerror@^1.2.0: +createerror@1.3.0, createerror@^1.2.0, createerror@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/createerror/-/createerror-1.3.0.tgz#c666bd4cd6b94e35415396569d4649dd0cdb3313" @@ -2015,25 +2109,28 @@ crypto-random-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" -css-color-names@0.0.4: +css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" -css-font-parser@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/css-font-parser/-/css-font-parser-0.2.1.tgz#ccd5d87fdf144adbcd9871535ec7287dd530ae53" +css-declaration-sorter@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-3.0.1.tgz#d0e3056b0fd88dc1ea9dceff435adbe9c702a7f8" dependencies: - requirejs "=2.1.8" + postcss "^6.0.0" + timsort "^0.3.0" + +css-font-parser@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/css-font-parser/-/css-font-parser-0.2.3.tgz#9a391d2e47086be5401e47274e687ec06e238c0e" css-font-weight-names@0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/css-font-weight-names/-/css-font-weight-names-0.2.1.tgz#5710d485ad295f6b3f1ceec41f882e324a46b516" -css-list-helpers@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/css-list-helpers/-/css-list-helpers-1.0.1.tgz#fff57192202db83240c41686f919e449a7024f7d" - dependencies: - tcomb "^2.5.0" +css-list-helpers@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/css-list-helpers/-/css-list-helpers-2.0.0.tgz#7cb3d6f9ec9e5087ae49d834cead282806e8818f" css-loader@^0.28.5: version "0.28.11" @@ -2054,6 +2151,10 @@ css-loader@^0.28.5: postcss-value-parser "^3.3.0" source-list-map "^2.0.0" +css-select-base-adapter@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.0.tgz#0102b3d14630df86c3eb9fa9f5456270106cf990" + css-select@^1.1.0, css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -2063,6 +2164,15 @@ css-select@^1.1.0, css-select@~1.2.0: domutils "1.5.1" nth-check "~1.0.1" +css-select@~1.3.0-rc0: + version "1.3.0-rc0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.3.0-rc0.tgz#6f93196aaae737666ea1036a8cb14a8fcb7a9231" + dependencies: + boolbase "^1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "^1.0.1" + css-selector-tokenizer@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" @@ -2071,6 +2181,28 @@ css-selector-tokenizer@^0.7.0: fastparse "^1.1.1" regexpu-core "^1.0.0" +css-tree@1.0.0-alpha.29: + version "1.0.0-alpha.29" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" + dependencies: + mdn-data "~1.1.0" + source-map "^0.5.3" + +css-tree@1.0.0-alpha25: + version "1.0.0-alpha25" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha25.tgz#1bbfabfbf6eeef4f01d9108ff2edd0be2fe35597" + dependencies: + mdn-data "^1.0.0" + source-map "^0.5.3" + +css-unit-converter@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" + +css-url-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" + css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" @@ -2079,7 +2211,69 @@ cssesc@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" -cssnano@^3.10.0, cssnano@^3.7.4: +cssnano-preset-default@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.0.tgz#c334287b4f7d49fb2d170a92f9214655788e3b6b" + dependencies: + css-declaration-sorter "^3.0.0" + cssnano-util-raw-cache "^4.0.0" + postcss "^6.0.0" + postcss-calc "^6.0.0" + postcss-colormin "^4.0.0" + postcss-convert-values "^4.0.0" + postcss-discard-comments "^4.0.0" + postcss-discard-duplicates "^4.0.0" + postcss-discard-empty "^4.0.0" + postcss-discard-overridden "^4.0.0" + postcss-merge-longhand "^4.0.0" + postcss-merge-rules "^4.0.0" + postcss-minify-font-values "^4.0.0" + postcss-minify-gradients "^4.0.0" + postcss-minify-params "^4.0.0" + postcss-minify-selectors "^4.0.0" + postcss-normalize-charset "^4.0.0" + postcss-normalize-display-values "^4.0.0" + postcss-normalize-positions "^4.0.0" + postcss-normalize-repeat-style "^4.0.0" + postcss-normalize-string "^4.0.0" + postcss-normalize-timing-functions "^4.0.0" + postcss-normalize-unicode "^4.0.0" + postcss-normalize-url "^4.0.0" + postcss-normalize-whitespace "^4.0.0" + postcss-ordered-values "^4.0.0" + postcss-reduce-initial "^4.0.0" + postcss-reduce-transforms "^4.0.0" + postcss-svgo "^4.0.0" + postcss-unique-selectors "^4.0.0" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + +cssnano-util-raw-cache@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.0.tgz#be0a2856e25f185f5f7a2bcc0624e28b7f179a9f" + dependencies: + postcss "^6.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.0.tgz#d2a3de1039aa98bc4ec25001fa050330c2a16dac" + +cssnano@4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.0.3.tgz#b694d626906bf1844f573465ecc166b2240b8699" + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.0" + is-resolvable "^1.0.0" + postcss "^6.0.0" + +cssnano@^3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" dependencies: @@ -2116,6 +2310,12 @@ cssnano@^3.10.0, cssnano@^3.7.4: postcss-value-parser "^3.2.3" postcss-zindex "^2.0.1" +csso@^3.5.0: + version "3.5.1" + resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" + dependencies: + css-tree "1.0.0-alpha.29" + csso@~2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" @@ -2127,9 +2327,9 @@ cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.4" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" -"cssstyle@>= 0.2.37 < 0.3.0": - version "0.2.37" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" +"cssstyle@>= 0.3.1 < 0.4.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.3.1.tgz#6da9b4cff1bc5d716e6e5fe8e04fcb1b50a49adf" dependencies: cssom "0.3.x" @@ -2163,6 +2363,14 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +data-urls@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.0.0.tgz#24802de4e81c298ea8a9388bb0d8e461c774684f" + dependencies: + abab "^1.0.4" + whatwg-mimetype "^2.0.0" + whatwg-url "^6.4.0" + date-fns@^1.27.2: version "1.29.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" @@ -2199,7 +2407,7 @@ dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" -deep-equal@^1.0.1: +deep-equal@^1.0.0, deep-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -2326,6 +2534,12 @@ detective@^4.3.1: acorn "^5.2.1" defined "^1.0.0" +dfa@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/dfa/-/dfa-1.1.0.tgz#d30218bd10d030fa421df3ebbc82285463a31781" + dependencies: + babel-runtime "^6.11.6" + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -2405,6 +2619,12 @@ dom-serializer@0, dom-serializer@~0.1.0: domelementtype "~1.1.1" entities "~1.1.1" +dom-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/dom-urls/-/dom-urls-1.1.0.tgz#001ddf81628cd1e706125c7176f53ccec55d918e" + dependencies: + urijs "^1.16.1" + dom-walk@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" @@ -2421,6 +2641,12 @@ domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" +domexception@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + dependencies: + webidl-conversions "^4.0.2" + domhandler@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" @@ -2453,12 +2679,18 @@ domutils@^1.5.1: dom-serializer "0" domelementtype "1" -dot-prop@^4.1.0: +dot-prop@^4.1.0, dot-prop@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" dependencies: is-obj "^1.0.0" +duplexer2@~0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + dependencies: + readable-stream "^2.0.2" + duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -2495,7 +2727,7 @@ ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.47: +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.52: version "1.3.52" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.52.tgz#d2d9f1270ba4a3b967b831c40ef71fb4d9ab5ce0" @@ -2578,7 +2810,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.4.3, es-abstract@^1.6.1, es-abstract@^1.7.0: +es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.6.1, es-abstract@^1.7.0: version "1.12.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" dependencies: @@ -2627,7 +2859,7 @@ es6-promise@^3.0.2: version "3.3.1" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" -es6-promise@^4.0.3, es6-promise@^4.1.0: +es6-promise@^4.0.3, es6-promise@^4.0.5, es6-promise@^4.1.0: version "4.2.4" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29" @@ -2685,7 +2917,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" -escodegen@^1.6.1, escodegen@^1.7.0, escodegen@^1.9.1: +escodegen@^1.7.0, escodegen@^1.8.1, escodegen@^1.9.0, escodegen@^1.9.1: version "1.11.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" dependencies: @@ -2696,6 +2928,27 @@ escodegen@^1.6.1, escodegen@^1.7.0, escodegen@^1.9.1: optionalDependencies: source-map "~0.6.1" +escodegen@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.2.0.tgz#09de7967791cc958b7f89a2ddb6d23451af327e1" + dependencies: + esprima "~1.0.4" + estraverse "~1.5.0" + esutils "~1.0.0" + optionalDependencies: + source-map "~0.1.30" + +escodegen@~1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + escope@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" @@ -2800,6 +3053,10 @@ esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" +esprima@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad" + espurify@^1.7.0: version "1.8.1" resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.8.1.tgz#5746c6c1ab42d302de10bd1d5bf7f0e8c0515056" @@ -2818,14 +3075,26 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" +estraverse-fb@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/estraverse-fb/-/estraverse-fb-1.3.2.tgz#d323a4cb5e5ac331cea033413a9253e1643e07c4" + estraverse@^4.0.0, estraverse@^4.1.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" +estraverse@~1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.5.1.tgz#867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71" + esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" +esutils@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.0.0.tgz#8151d358e20c8acc7fb745e7472c0025fe496570" + etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" @@ -3053,6 +3322,15 @@ extsprintf@^1.2.0: version "1.4.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" +falafel@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.1.0.tgz#96bb17761daba94f46d001738b3cedf3a67fe06c" + dependencies: + acorn "^5.0.0" + foreach "^2.0.5" + isarray "0.0.1" + object-keys "^1.0.6" + fast-deep-equal@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" @@ -3288,6 +3566,22 @@ follow-redirects@^1.0.0: loader-utils "^0.2.10" webfonts-generator "^0.3.2" +fontkit@^1.7.7: + version "1.7.7" + resolved "https://registry.yarnpkg.com/fontkit/-/fontkit-1.7.7.tgz#ebaf2d8f3fedf302ae3c64b4beeaddc247fcdbb1" + dependencies: + babel-runtime "^6.11.6" + brfs "^1.4.0" + brotli "^1.2.0" + browserify-optional "^1.0.0" + clone "^1.0.1" + deep-equal "^1.0.0" + dfa "^1.0.0" + restructure "^0.5.3" + tiny-inflate "^1.0.2" + unicode-properties "^1.0.0" + unicode-trie "^0.3.0" + for-in@^0.1.3: version "0.1.8" resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" @@ -3418,7 +3712,7 @@ fstream@^1.0.0, fstream@^1.0.2: mkdirp ">=0.5 0" rimraf "2" -function-bind@^1.0.2, function-bind@^1.1.1: +function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -3591,7 +3885,7 @@ glob@^6.0.2, glob@^6.0.4: 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.2, glob@~7.1.1: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -3795,7 +4089,7 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.1: +has@^1.0.0, has@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" dependencies: @@ -3884,6 +4178,10 @@ he@1.1.x, he@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + history@^4.6.1, history@^4.7.2: version "4.7.2" resolved "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz#22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b" @@ -3937,11 +4235,19 @@ hpack.js@^2.1.6: readable-stream "^2.0.1" wbuf "^1.1.0" +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + 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" -html-encoding-sniffer@^1.0.1: +html-encoding-sniffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" dependencies: @@ -4144,17 +4450,16 @@ husky@^1.0.0-rc.8: run-node "^1.0.0" slash "^2.0.0" -hyperlink@^3.0.1: +"hyperlink@github:Munter/hyperlink#070916d": version "3.0.1" - resolved "https://registry.yarnpkg.com/hyperlink/-/hyperlink-3.0.1.tgz#f3d24d9c3fee35972aa5d4e85853878ac78caa49" + resolved "https://codeload.github.com/Munter/hyperlink/tar.gz/070916d14ab8930a9184d545c38ed220863897bf" dependencies: - assetgraph "^3.13.1" + assetgraph "^4.5.0" async "^2.6.0" - lodash "^4.17.4" optimist "^0.6.1" pretty-bytes "^4.0.2" - request "^2.81.0" - tap-render Munter/tap-render#0.1.7-patch1 + request "^2.83.0" + tap-render Munter/tap-render#0.1.7-patch4 urltools "^0.3.1" iconv-lite@0.4.19: @@ -4195,7 +4500,7 @@ ignore@^3.2.0, ignore@^3.3.3, ignore@^3.3.5: version "3.3.10" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" -imageinfo@1.0.4: +imageinfo@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/imageinfo/-/imageinfo-1.0.4.tgz#1dd2456ecb96fc395f0aa1179c467dfb3d5d7a2a" @@ -4353,6 +4658,10 @@ is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -4379,6 +4688,17 @@ is-ci@^1.0.10, is-ci@^1.1.0: dependencies: ci-info "^1.0.0" +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -4610,6 +4930,12 @@ is-svg@^2.0.0: dependencies: html-comment-regex "^1.1.0" +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + dependencies: + html-comment-regex "^1.1.0" + is-symbol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" @@ -4711,6 +5037,13 @@ js-yaml@^3.10.0, js-yaml@^3.2.7, js-yaml@^3.6.1, js-yaml@^3.9.0, js-yaml@^3.9.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + js-yaml@~3.11.0: version "3.11.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" @@ -4729,29 +5062,36 @@ jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" -jsdom@9.12.0: - version "9.12.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" +jsdom@^11.11.0: + version "11.11.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.11.0.tgz#df486efad41aee96c59ad7a190e2449c7eb1110e" dependencies: - abab "^1.0.3" - acorn "^4.0.4" - acorn-globals "^3.1.0" + abab "^1.0.4" + acorn "^5.3.0" + acorn-globals "^4.1.0" array-equal "^1.0.0" - content-type-parser "^1.0.1" cssom ">= 0.3.2 < 0.4.0" - cssstyle ">= 0.2.37 < 0.3.0" - escodegen "^1.6.1" - html-encoding-sniffer "^1.0.1" - nwmatcher ">= 1.3.9 < 2.0.0" - parse5 "^1.5.1" - request "^2.79.0" - sax "^1.2.1" - symbol-tree "^3.2.1" - tough-cookie "^2.3.2" - webidl-conversions "^4.0.0" - whatwg-encoding "^1.0.1" - whatwg-url "^4.3.0" - xml-name-validator "^2.0.1" + cssstyle ">= 0.3.1 < 0.4.0" + data-urls "^1.0.0" + domexception "^1.0.0" + escodegen "^1.9.0" + html-encoding-sniffer "^1.0.2" + left-pad "^1.2.0" + nwsapi "^2.0.0" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.83.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.3" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^4.0.0" + xml-name-validator "^3.0.0" jsesc@^1.3.0: version "1.3.0" @@ -4884,6 +5224,10 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +left-pad@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + leven@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" @@ -4899,6 +5243,10 @@ limit-spawn@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/limit-spawn/-/limit-spawn-0.0.3.tgz#cc09c24467a0f0a1ed10a5196dba597cad3f65dc" +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + linkify-it@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.0.3.tgz#d94a4648f9b1c179d64fa97291268bdb6ce9434f" @@ -5069,6 +5417,10 @@ lodash-es@^4.2.1: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05" +lodash._reinterpolate@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + lodash.assign@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" @@ -5161,10 +5513,27 @@ lodash.some@^4.4.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + lodash.tail@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" +lodash.template@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + dependencies: + lodash._reinterpolate "~3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + dependencies: + lodash._reinterpolate "~3.0.0" + lodash.throttle@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" @@ -5240,6 +5609,12 @@ lru-cache@^4.0.1, lru-cache@^4.1.1: pseudomap "^1.0.2" yallist "^2.1.2" +magic-string@^0.22.4: + version "0.22.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" + dependencies: + vlq "^0.2.2" + make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -5399,6 +5774,10 @@ mdast-util-to-string@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz#5c455c878c9355f0c1e7f3e8b719cf583691acfb" +mdn-data@^1.0.0, mdn-data@~1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" + mdurl@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" @@ -5449,6 +5828,12 @@ merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" +merge-source-map@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" + dependencies: + source-map "^0.5.6" + mermaid.cli@^0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/mermaid.cli/-/mermaid.cli-0.3.6.tgz#e7ceed37b3587344e7638caf487eaefe2dfd41fd" @@ -5819,6 +6204,12 @@ node-pre-gyp@^0.10.0: semver "^5.3.0" tar "^4" +node-releases@^1.0.0-alpha.10: + version "1.0.0-alpha.10" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.10.tgz#61c8d5f9b5b2e05d84eba941d05b6f5202f68a2a" + dependencies: + semver "^5.3.0" + node-sass@^4.5.3: version "4.9.2" resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.2.tgz#5e63fe6bd0f2ae3ac9d6c14ede8620e2b8bdb437" @@ -5890,6 +6281,10 @@ normalize-url@^1.0.0, normalize-url@^1.4.0: query-string "^4.1.0" sort-keys "^1.0.0" +normalize-url@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.2.0.tgz#98d0948afc82829f374320f405fe9ca55a5f8567" + normalizeurl@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/normalizeurl/-/normalizeurl-1.0.0.tgz#4b1a458cd0c7d0856436f69c6b51047ab6855317" @@ -5956,7 +6351,7 @@ npm-which@^3.0.1: gauge "~2.7.3" set-blocking "~2.0.0" -nth-check@~1.0.1: +nth-check@^1.0.1, nth-check@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" dependencies: @@ -5970,9 +6365,9 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -"nwmatcher@>= 1.3.9 < 2.0.0": - version "1.4.4" - resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.4.tgz#2285631f34a95f0d0395cd900c96ed39b58f346e" +nwsapi@^2.0.0: + version "2.0.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.7.tgz#6fc54c254621f10cac5225b76e81c74120139b78" oauth-sign@~0.8.1, oauth-sign@~0.8.2: version "0.8.2" @@ -5998,7 +6393,11 @@ object-hash@^1.1.4: version "1.3.0" resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.0.tgz#76d9ba6ff113cf8efc0d996102851fe6723963e2" -object-keys@^1.0.11, object-keys@^1.0.7, object-keys@^1.0.8, object-keys@^1.0.9, object-keys@~1.0.0: +object-inspect@~1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.4.1.tgz#37ffb10e71adaf3748d05f713b4c9452f402cbc4" + +object-keys@^1.0.11, object-keys@^1.0.6, object-keys@^1.0.7, object-keys@^1.0.8, object-keys@^1.0.9, object-keys@~1.0.0: version "1.0.12" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" @@ -6012,6 +6411,13 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -6025,6 +6431,15 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" +object.values@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + obuf@^1.0.0, obuf@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -6192,6 +6607,10 @@ pad-right@^0.2.2: dependencies: repeat-string "^1.5.2" +pako@^0.2.5: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + pako@^1.0.0, pako@~1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" @@ -6270,9 +6689,9 @@ parse-latin@^4.0.0: unist-util-modify-children "^1.0.0" unist-util-visit-children "^1.0.0" -parse5@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" parseurl@^1.3.2, parseurl@~1.3.2: version "1.3.2" @@ -6316,11 +6735,15 @@ path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" +path-parse@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" -path-to-regexp@^1.7.0: +path-to-regexp@^1.0.1, path-to-regexp@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" dependencies: @@ -6439,6 +6862,10 @@ pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + portfinder@^1.0.13, portfinder@^1.0.9: version "1.0.13" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" @@ -6459,6 +6886,15 @@ postcss-calc@^5.2.0: postcss-message-helpers "^2.0.0" reduce-css-calc "^1.2.6" +postcss-calc@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-6.0.1.tgz#3d24171bbf6e7629d422a436ebfe6dd9511f4330" + dependencies: + css-unit-converter "^1.1.1" + postcss "^6.0.0" + postcss-selector-parser "^2.2.2" + reduce-css-calc "^2.0.0" + postcss-colormin@^2.1.8: version "2.2.2" resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" @@ -6467,6 +6903,16 @@ postcss-colormin@^2.1.8: postcss "^5.0.13" postcss-value-parser "^3.2.3" +postcss-colormin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.1.tgz#6f1c18a0155bc69613f2ff13843e2e4ae8ff0bbe" + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + postcss-convert-values@^2.3.4: version "2.6.1" resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" @@ -6474,30 +6920,61 @@ postcss-convert-values@^2.3.4: postcss "^5.0.11" postcss-value-parser "^3.1.2" +postcss-convert-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.0.tgz#77d77d9aed1dc4e6956e651cc349d53305876f62" + dependencies: + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + postcss-discard-comments@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" dependencies: postcss "^5.0.14" +postcss-discard-comments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.0.tgz#9684a299e76b3e93263ef8fd2adbf1a1c08fd88d" + dependencies: + postcss "^6.0.0" + postcss-discard-duplicates@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" dependencies: postcss "^5.0.4" +postcss-discard-duplicates@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.0.tgz#42f3c267f85fa909e042c35767ecfd65cb2bd72c" + dependencies: + postcss "^6.0.0" + postcss-discard-empty@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" dependencies: postcss "^5.0.14" +postcss-discard-empty@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.0.tgz#55e18a59c74128e38c7d2804bcfa4056611fb97f" + dependencies: + postcss "^6.0.0" + postcss-discard-overridden@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" dependencies: postcss "^5.0.16" +postcss-discard-overridden@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.0.tgz#4a0bf85978784cf1f81ed2c1c1fd9d964a1da1fa" + dependencies: + postcss "^6.0.0" + postcss-discard-unused@^2.2.1: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" @@ -6541,6 +7018,15 @@ postcss-merge-longhand@^2.0.1: dependencies: postcss "^5.0.4" +postcss-merge-longhand@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.3.tgz#17f93b71d8a1dba043b7fb437f8e264304e64ab0" + dependencies: + css-color-names "0.0.4" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + postcss-merge-rules@^2.0.3: version "2.1.2" resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" @@ -6551,6 +7037,17 @@ postcss-merge-rules@^2.0.3: postcss-selector-parser "^2.2.2" vendors "^1.0.0" +postcss-merge-rules@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.1.tgz#430fd59b3f2ed2e8afcd0b31278eda39854abb10" + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^6.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + postcss-message-helpers@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" @@ -6563,6 +7060,13 @@ postcss-minify-font-values@^1.0.2: postcss "^5.0.4" postcss-value-parser "^3.0.2" +postcss-minify-font-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.0.tgz#4cc33d283d6a81759036e757ef981d92cbd85bed" + dependencies: + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + postcss-minify-gradients@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" @@ -6570,6 +7074,15 @@ postcss-minify-gradients@^1.0.1: postcss "^5.0.12" postcss-value-parser "^3.3.0" +postcss-minify-gradients@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.0.tgz#3fc3916439d27a9bb8066db7cdad801650eb090e" + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + postcss-minify-params@^1.0.4: version "1.2.2" resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" @@ -6579,6 +7092,16 @@ postcss-minify-params@^1.0.4: postcss-value-parser "^3.0.2" uniqs "^2.0.0" +postcss-minify-params@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.0.tgz#05e9166ee48c05af651989ce84d39c1b4d790674" + dependencies: + alphanum-sort "^1.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + postcss-minify-selectors@^2.0.4: version "2.1.1" resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" @@ -6588,6 +7111,15 @@ postcss-minify-selectors@^2.0.4: postcss "^5.0.14" postcss-selector-parser "^2.0.0" +postcss-minify-selectors@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.0.tgz#b1e9f6c463416d3fcdcb26e7b785d95f61578aad" + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^6.0.0" + postcss-selector-parser "^3.0.0" + postcss-modules-extract-imports@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" @@ -6621,6 +7153,61 @@ postcss-normalize-charset@^1.1.0: dependencies: postcss "^5.0.5" +postcss-normalize-charset@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.0.tgz#24527292702d5e8129eafa3d1de49ed51a6ab730" + dependencies: + postcss "^6.0.0" + +postcss-normalize-display-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz#950e0c7be3445770a160fffd6b6644c3c0cd8f89" + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.0.tgz#ee9343ab981b822c63ab72615ecccd08564445a3" + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.0.tgz#b711c592cf16faf9ff575e42fa100b6799083eff" + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.0.tgz#718cb6d30a6fac6ac6a830e32c06c07dbc66fe5d" + dependencies: + has "^1.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.0.tgz#0351f29886aa981d43d91b2c2bd1aea6d0af6d23" + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.0.tgz#5acd5d47baea5d17674b2ccc4ae5166fa88cdf97" + dependencies: + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + postcss-normalize-url@^3.0.7: version "3.0.8" resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" @@ -6630,6 +7217,22 @@ postcss-normalize-url@^3.0.7: postcss "^5.0.14" postcss-value-parser "^3.2.3" +postcss-normalize-url@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.0.tgz#b7a9c8ad26cf26694c146eb2d68bd0cf49956f0d" + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.0.tgz#1da7e76b10ae63c11827fa04fc3bb4a1efe99cc0" + dependencies: + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + postcss-ordered-values@^2.1.0: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" @@ -6637,6 +7240,14 @@ postcss-ordered-values@^2.1.0: postcss "^5.0.4" postcss-value-parser "^3.0.1" +postcss-ordered-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.0.0.tgz#58b40c74f72e022eb34152c12e4b0f9354482fc2" + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + postcss-reduce-idents@^2.2.2: version "2.4.0" resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" @@ -6650,6 +7261,15 @@ postcss-reduce-initial@^1.0.0: dependencies: postcss "^5.0.4" +postcss-reduce-initial@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.1.tgz#f2d58f50cea2b0c5dc1278d6ea5ed0ff5829c293" + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^6.0.0" + postcss-reduce-transforms@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" @@ -6658,6 +7278,15 @@ postcss-reduce-transforms@^1.0.3: postcss "^5.0.8" postcss-value-parser "^3.0.1" +postcss-reduce-transforms@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.0.tgz#f645fc7440c35274f40de8104e14ad7163edf188" + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + postcss-scss@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-0.3.1.tgz#65c610d8e2a7ee0e62b1835b71b8870734816e4b" @@ -6672,6 +7301,14 @@ postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: indexes-of "^1.0.1" uniq "^1.0.1" +postcss-selector-parser@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" + dependencies: + dot-prop "^4.1.1" + indexes-of "^1.0.1" + uniq "^1.0.1" + postcss-svgo@^2.1.1: version "2.1.6" resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" @@ -6681,6 +7318,15 @@ postcss-svgo@^2.1.1: postcss-value-parser "^3.2.3" svgo "^0.7.0" +postcss-svgo@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.0.tgz#c0bbad02520fc636c9d78b0e8403e2e515c32285" + dependencies: + is-svg "^3.0.0" + postcss "^6.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + postcss-unique-selectors@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" @@ -6689,10 +7335,26 @@ postcss-unique-selectors@^2.0.2: postcss "^5.0.4" uniqs "^2.0.0" -postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: +postcss-unique-selectors@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.0.tgz#04c1e9764c75874261303402c41f0e9769fc5501" + dependencies: + alphanum-sort "^1.0.0" + postcss "^6.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0, postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" +postcss-values-parser@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz#5d9fa63e2bcb0179ce48f3235303765eb89f3047" + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + postcss-zindex@^2.0.1: version "2.2.0" resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" @@ -6710,7 +7372,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.2.3" -postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.17, postcss@~6.0.1: +postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.17: version "6.0.23" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" dependencies: @@ -6718,6 +7380,14 @@ postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.17, postcss@~6.0.1: source-map "^0.6.1" supports-color "^5.4.0" +postcss@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.1.tgz#db20ca4fc90aa56809674eea75864148c66b67fa" + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -6940,6 +7610,14 @@ quotation@^1.0.0, quotation@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/quotation/-/quotation-1.1.1.tgz#b599a2b7361a566086458014fda9d6b00326f169" +quote-stream@^1.0.1, quote-stream@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" + dependencies: + buffer-equal "0.0.1" + minimist "^1.1.3" + through2 "^2.0.0" + randomatic@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923" @@ -7122,6 +7800,13 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -7154,7 +7839,7 @@ read-pkg@^4.0.1: parse-json "^4.0.0" pify "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" dependencies: @@ -7234,6 +7919,13 @@ reduce-css-calc@^1.2.6: math-expression-evaluator "^1.2.14" reduce-function-call "^1.0.1" +reduce-css-calc@^2.0.0: + version "2.1.4" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.4.tgz#c20e9cda8445ad73d4ff4bea960c6f8353791708" + dependencies: + css-unit-converter "^1.1.1" + postcss-value-parser "^3.3.0" + reduce-function-call@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" @@ -7591,6 +8283,14 @@ request-promise-core@1.1.1: dependencies: lodash "^4.13.1" +request-promise-native@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" + dependencies: + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" + request-promise@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-4.2.2.tgz#d1ea46d654a6ee4f8ee6a4fea1018c22911904b4" @@ -7600,7 +8300,7 @@ request-promise@^4.2.2: stealthy-require "^1.1.0" tough-cookie ">=2.3.3" -request@2.87.0, request@^2.79.0, request@^2.81.0: +request@2.87.0, request@^2.81.0, request@^2.83.0: version "2.87.0" resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" dependencies: @@ -7675,10 +8375,6 @@ require-uncached@^1.0.3: caller-path "^0.1.0" resolve-from "^1.0.0" -requirejs@=2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/requirejs/-/requirejs-2.1.8.tgz#f0dfa656d60d404947da796f9c661d92c1b0257a" - requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" @@ -7709,6 +8405,16 @@ resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.1.5: + version "1.8.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" + dependencies: + path-parse "^1.0.5" + restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -7723,6 +8429,12 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restructure@^0.5.3: + version "0.5.4" + resolved "https://registry.yarnpkg.com/restructure/-/restructure-0.5.4.tgz#f54e7dd563590fb34fd6bf55876109aeccb28de8" + dependencies: + browserify-optional "^1.0.0" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -7760,6 +8472,14 @@ retext-profanities@~4.4.0: pluralize "^7.0.0" quotation "^1.0.0" +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" @@ -7855,7 +8575,7 @@ sass-loader@^6.0.6: neo-async "^2.5.0" pify "^3.0.0" -sax@^1.1.5, sax@^1.2.1, sax@^1.2.4, sax@~1.2.1: +sax@^1.1.5, sax@^1.2.4, sax@~1.2.1, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -7964,6 +8684,10 @@ serve-static@1.13.2: parseurl "~1.3.2" send "0.16.2" +serviceworker-cache-polyfill@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serviceworker-cache-polyfill/-/serviceworker-cache-polyfill-4.0.0.tgz#de19ee73bef21ab3c0740a37b33db62464babdeb" + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -8017,6 +8741,10 @@ shallow-clone@^1.0.0: kind-of "^5.0.0" mixin-object "^2.0.1" +shallow-copy@~0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" + shallowequal@^1.0.1, shallowequal@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" @@ -8044,10 +8772,20 @@ shellsubstitute@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shellsubstitute/-/shellsubstitute-1.2.0.tgz#e4f702a50c518b0f6fe98451890d705af29b6b70" +sift@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/sift/-/sift-6.0.0.tgz#f93a778e5cbf05a5024ebc391e6b32511a6d1f82" + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + dependencies: + is-arrayish "^0.3.1" + sirv-cli@^0.1.2: version "0.1.5" resolved "https://registry.yarnpkg.com/sirv-cli/-/sirv-cli-0.1.5.tgz#288df923fb82bc59b3e09de67915eb85aca10862" @@ -8203,7 +8941,7 @@ source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" -source-map@~0.1.7: +source-map@~0.1.30, source-map@~0.1.7: version "0.1.43" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" dependencies: @@ -8267,9 +9005,9 @@ spdy@^3.4.1: select-hose "^2.0.0" spdy-transport "^2.0.18" -specificity@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.3.0.tgz#332472d4e5eb5af20821171933998a6bc3b1ce6f" +specificity@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.4.0.tgz#301b1ab5455987c37d6d94f8c956ef9d9fb48c1d" split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" @@ -8322,6 +9060,10 @@ ssri@^5.2.4: dependencies: safe-buffer "^5.1.1" +stable@~0.1.6: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + staged-git-files@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.1.tgz#37c2218ef0d6d26178b1310719309a16a59f8f7b" @@ -8330,6 +9072,12 @@ state-toggle@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.1.tgz#c3cb0974f40a6a0f8e905b96789eb41afa1cde3a" +static-eval@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.0.tgz#0e821f8926847def7b4b50cda5d55c04a9b13864" + dependencies: + escodegen "^1.8.1" + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -8337,6 +9085,25 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" +static-module@^2.2.0: + version "2.2.5" + resolved "https://registry.yarnpkg.com/static-module/-/static-module-2.2.5.tgz#bd40abceae33da6b7afb84a0e4329ff8852bfbbf" + dependencies: + concat-stream "~1.6.0" + convert-source-map "^1.5.1" + duplexer2 "~0.1.4" + escodegen "~1.9.0" + falafel "^2.1.0" + has "^1.0.1" + magic-string "^0.22.4" + merge-source-map "1.0.4" + object-inspect "~1.4.0" + quote-stream "~1.0.2" + readable-stream "~2.3.3" + shallow-copy "~0.0.1" + static-eval "^2.0.0" + through2 "~2.0.3" + static-site-generator-webpack-plugin@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-3.4.1.tgz#6ee22468830bc546798a37e0fca6fd699cc93b81" @@ -8530,6 +9297,14 @@ style-loader@^0.18.2: loader-utils "^1.0.2" schema-utils "^0.3.0" +stylehacks@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.0.tgz#64b323951c4a24e5fc7b2ec06c137bf32d155e8a" + dependencies: + browserslist "^4.0.0" + postcss "^6.0.0" + postcss-selector-parser "^3.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -8593,15 +9368,56 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" +svgo@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.0.5.tgz#7040364c062a0538abacff4401cea6a26a7a389a" + dependencies: + coa "~2.0.1" + colors "~1.1.2" + css-select "~1.3.0-rc0" + css-select-base-adapter "~0.1.0" + css-tree "1.0.0-alpha25" + css-url-regex "^1.1.0" + csso "^3.5.0" + js-yaml "~3.10.0" + mkdirp "~0.5.1" + object.values "^1.0.4" + sax "~1.2.4" + stable "~0.1.6" + unquote "~1.1.1" + util.promisify "~1.0.0" + svgpath@^2.1.5: version "2.2.1" resolved "https://registry.yarnpkg.com/svgpath/-/svgpath-2.2.1.tgz#0834bb67c89a76472b2bd06cc101fa7b517b222c" +sw-precache@^5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/sw-precache/-/sw-precache-5.2.1.tgz#06134f319eec68f3b9583ce9a7036b1c119f7179" + dependencies: + dom-urls "^1.1.0" + es6-promise "^4.0.5" + glob "^7.1.1" + lodash.defaults "^4.2.0" + lodash.template "^4.4.0" + meow "^3.7.0" + mkdirp "^0.5.1" + pretty-bytes "^4.0.2" + sw-toolbox "^3.4.0" + update-notifier "^2.3.0" + +sw-toolbox@^3.4.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/sw-toolbox/-/sw-toolbox-3.6.0.tgz#26df1d1c70348658e4dea2884319149b7b3183b5" + dependencies: + path-to-regexp "^1.0.1" + serviceworker-cache-polyfill "^4.0.0" + symbol-observable@^1.0.3, symbol-observable@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" -symbol-tree@^3.2.1: +symbol-tree@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" @@ -8616,21 +9432,30 @@ table@4.0.2: slice-ansi "1.0.0" string-width "^2.1.1" -tap-parser@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-6.0.1.tgz#9aac4e292461236be6ce3ac7acd4123db8809566" +tap-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-7.0.0.tgz#54db35302fda2c2ccc21954ad3be22b2cba42721" dependencies: events-to-array "^1.0.1" js-yaml "^3.2.7" minipass "^2.2.0" -"tap-render@github:munter/tap-render#0.1.7-patch1": +tap-render@Munter/tap-render#0.1.7-patch4: version "0.1.7" - resolved "https://codeload.github.com/munter/tap-render/tar.gz/35bf3ac21c4fd2776d8569d5e8a1ab62df1f6d4f" + resolved "https://codeload.github.com/Munter/tap-render/tar.gz/c3a72d6260ee19cfd340d1e41d73a0edfdb29d94" dependencies: jsonify "0.0.0" pause-stream "0.0.7" +tap-spot@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tap-spot/-/tap-spot-1.1.1.tgz#54367e3cbb298bf4291ad7486a99d6e1d1ec498f" + dependencies: + chalk "^2.3.2" + duplexer "^0.1.1" + tap-parser "^7.0.0" + through2 "^2.0.1" + tapable@^0.2.7: version "0.2.8" resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" @@ -8655,11 +9480,7 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" -tcomb@^2.5.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/tcomb/-/tcomb-2.7.0.tgz#10d62958041669a5d53567b9a4ee8cde22b1c2b0" - -teepee@^2.28.0: +teepee@^2.31.1: version "2.31.1" resolved "https://registry.yarnpkg.com/teepee/-/teepee-2.31.1.tgz#5891618862206a4ce530329ae1b248a072bd6852" dependencies: @@ -8687,7 +9508,7 @@ text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: +through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0, through2@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: @@ -8723,6 +9544,10 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + tiny-emitter@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.2.tgz#82d27468aca5ade8e5fd1e6d22b57dd43ebdfb7c" @@ -8734,6 +9559,10 @@ tiny-glob@^0.2.0: globalyzer "^0.1.0" globrex "^0.1.1" +tiny-inflate@^1.0.0, tiny-inflate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.2.tgz#93d9decffc8805bd57eae4310f0b745e9b6fb3a7" + tinydate@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/tinydate/-/tinydate-1.0.0.tgz#20f31756a13959ef8c57ec133ba29b5ade042cac" @@ -8790,7 +9619,7 @@ toposort@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" -tough-cookie@>=2.3.3, tough-cookie@^2.3.2: +tough-cookie@>=2.3.3, tough-cookie@^2.3.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" dependencies: @@ -8803,9 +9632,11 @@ tough-cookie@~2.3.0, tough-cookie@~2.3.3: dependencies: punycode "^1.4.1" -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + dependencies: + punycode "^2.1.0" trim-lines@^1.0.0: version "1.1.1" @@ -8908,7 +9739,7 @@ uglify-es@^3.3.4: commander "~2.13.0" source-map "~0.6.1" -uglify-js@3.4.x, uglify-js@^3.3.4: +uglify-js@3.4.5, uglify-js@3.4.x: version "3.4.5" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.5.tgz#650889c0766cf0f6fd5346cea09cd212f544be69" dependencies: @@ -8968,6 +9799,20 @@ unherit@^1.0.4: inherits "^2.0.1" xtend "^4.0.1" +unicode-properties@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-properties/-/unicode-properties-1.1.0.tgz#7a96eef49f75682ea69d2315eec9ac43ffdf00c1" + dependencies: + brfs "^1.4.0" + unicode-trie "^0.3.0" + +unicode-trie@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085" + dependencies: + pako "^0.2.5" + tiny-inflate "^1.0.0" + unified-diff@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/unified-diff/-/unified-diff-1.0.2.tgz#920b33da9abae087dd444904372e7c3fbd367d85" @@ -9123,6 +9968,10 @@ unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" @@ -9144,7 +9993,7 @@ upath@^1.0.5: version "1.1.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" -update-notifier@^2.1.0: +update-notifier@^2.1.0, update-notifier@^2.3.0: version "2.5.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" dependencies: @@ -9169,7 +10018,7 @@ uri-js@^4.2.1: dependencies: punycode "^2.1.0" -urijs@^1.18.2: +urijs@^1.16.1, urijs@^1.18.2: version "1.19.1" resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.1.tgz#5b0ff530c0cbde8386f6342235ba5ca6e995d25a" @@ -9217,7 +10066,7 @@ urltools@^0.3.1: underscore "^1.8.3" urijs "^1.18.2" -urltools@^0.4.0: +urltools@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/urltools/-/urltools-0.4.1.tgz#5d7905af70c049d7ba5490e7462694f477c50298" dependencies: @@ -9233,6 +10082,13 @@ util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" +util.promisify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" @@ -9337,12 +10193,22 @@ vfile@^2.0.0: unist-util-stringify-position "^1.0.0" vfile-message "^1.0.0" +vlq@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" + vm-browserify@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" dependencies: indexof "0.0.1" +w3c-hr-time@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + dependencies: + browser-process-hrtime "^0.1.2" + warning@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" @@ -9383,11 +10249,7 @@ webfonts-generator@^0.3.2: underscore "^1.7.0" url-join "^1.1.0" -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - -webidl-conversions@^4.0.0: +webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -9498,7 +10360,7 @@ websocket-extensions@>=0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" -whatwg-encoding@^1.0.1: +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3" dependencies: @@ -9516,12 +10378,17 @@ whatwg-fetch@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz#0e3684c6cb9995b43efc9df03e4c365d95fd9cc0" -whatwg-url@^4.3.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" +whatwg-mimetype@^2.0.0, whatwg-mimetype@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz#f0f21d76cbba72362eb609dbed2a30cd17fcc7d4" + +whatwg-url@^6.4.0, whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" whet.extend@~0.9.9: version "0.9.9" @@ -9604,6 +10471,13 @@ write@^0.2.1: dependencies: mkdirp "^0.5.1" +ws@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289" + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ws@^5.1.1: version "5.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" @@ -9622,9 +10496,9 @@ xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" -xml-name-validator@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" xmldom@^0.1.27, xmldom@~0.1.22: version "0.1.27" From ebede53f43c00d21eb6582ab84d20010740198bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 27 Jul 2018 11:18:10 +0200 Subject: [PATCH 32/39] Update github location for css-loader --- src/components/Organization/projects.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Organization/projects.json b/src/components/Organization/projects.json index c35e3fb3de80..c44b89ff130e 100644 --- a/src/components/Organization/projects.json +++ b/src/components/Organization/projects.json @@ -67,7 +67,7 @@ "maintainer": "sokra" }, { - "repo": "webpack/css-loader", + "repo": "webpack-contrib/css-loader", "npm": "css-loader", "description": "Load CSS modules and resolve any dependencies.", "maintainer": "sokra" From 9e8fab87af8acafc72740ed9c4008756e5b8f476 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 27 Jul 2018 11:26:22 +0200 Subject: [PATCH 33/39] Remove dead github accounts from contributors listings --- package.json | 2 +- src/content/configuration/stats.md | 1 - src/content/guides/getting-started.md | 1 - src/content/guides/hot-module-replacement.md | 1 - 4 files changed, 1 insertion(+), 4 deletions(-) diff --git a/package.json b/package.json index fb2317a68afe..bbc54ca9be4e 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "lint:markdown": "markdownlint --config ./.markdownlint.json *.md ./src/content/**/*.md --ignore './src/content/**/_*.md'", "lint:social": "alex . -q", "lint:prose": "cp .proselintrc ~/ && proselint src/content", - "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --skip img.shields.io --skip npmjs.com/package/ --skip github.com/jecoopr --skip github.com/aiduryagin --skip github.com/renjithvk --todo external-redirect | tee master.tap | tap-spot", + "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --skip img.shields.io --skip npmjs.com/package/ --todo external-redirect | tee master.tap | tap-spot", "sitemap": "cd dist && sitemap-static --prefix=https://webpack.js.org/ > sitemap.xml", "serve": "npm run build && sirv start ./dist --port 4000", "deploy": "gh-pages -d dist" diff --git a/src/content/configuration/stats.md b/src/content/configuration/stats.md index 59cc3502828b..8f97c6c40c73 100644 --- a/src/content/configuration/stats.md +++ b/src/content/configuration/stats.md @@ -8,7 +8,6 @@ contributors: - ldrick - jasonblanchard - byzyk - - renjithvk --- The `stats` option lets you precisely control what bundle information gets displayed. This can be a nice middle ground if you don't want to use `quiet` or `noInfo` because you want some bundle information, but not all of it. diff --git a/src/content/guides/getting-started.md b/src/content/guides/getting-started.md index 0f896f120612..4eb2808bede3 100644 --- a/src/content/guides/getting-started.md +++ b/src/content/guides/getting-started.md @@ -9,7 +9,6 @@ contributors: - johnstew - simon04 - aaronang - - jecoopr - TheDutchCoder - sudarsangp - Vanguard90 diff --git a/src/content/guides/hot-module-replacement.md b/src/content/guides/hot-module-replacement.md index d8bb86ad4819..f2aca3dcc703 100644 --- a/src/content/guides/hot-module-replacement.md +++ b/src/content/guides/hot-module-replacement.md @@ -5,7 +5,6 @@ contributors: - jmreidy - jhnns - sararubin - - aiduryagin - rohannair - joshsantos - drpicox From 42cb344421db7900784e9e8eefeb41823d18a068 Mon Sep 17 00:00:00 2001 From: Fernando Montoya Date: Fri, 27 Jul 2018 12:04:29 +0200 Subject: [PATCH 34/39] infra(site) Fix fetchPackages script when running locally --- src/scripts/fetch.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/scripts/fetch.sh b/src/scripts/fetch.sh index 2f71c7deb435..a9b712051f44 100644 --- a/src/scripts/fetch.sh +++ b/src/scripts/fetch.sh @@ -1,8 +1,6 @@ #!/bin/bash set -e # Exit with nonzero exit code if anything fails -SOURCE_BRANCH="master" - fetchPackages() { # Fetch webpack-contrib (and various other) loader repositories node ./src/utilities/fetch_packages.js "webpack-contrib" "-loader" "README.md" "./src/content/loaders" @@ -15,10 +13,14 @@ fetchPackages() { node ./src/utilities/fetch_packages.js "webpack-contrib" "-extract-plugin" "README.md" "./src/content/plugins" } -if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "$SOURCE_BRANCH" ]; then - echo "PR running, not fetching packages." -else +# If not defined, means running locally, so, fetch packages +if [ -z "$TRAVIS_PULL_REQUEST" ]; then fetchPackages +# If defined and equal to false, means running in master, so, fetch packages +elif [ "$TRAVIS_PULL_REQUEST" = "false" ]; then + fetchPackages +else + echo "PR running, not fetching packages." fi # Fetch sponsors and backers from opencollective From cabd8931e31c6621342b649e4a2a6708aaf7e2f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 27 Jul 2018 11:50:43 +0200 Subject: [PATCH 35/39] Fix internal fragmtn links in optimization.md --- src/content/configuration/optimization.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/configuration/optimization.md b/src/content/configuration/optimization.md index aed795601407..d163e8fb6e45 100644 --- a/src/content/configuration/optimization.md +++ b/src/content/configuration/optimization.md @@ -293,7 +293,7 @@ module.exports = { `bool` -Tells webpack to determine used exports for each module. This depends on [`optimization.providedExports`](#optimization-occurrenceorder). Information collected by `optimization.usedExports` is used by other optimizations or code generation i.e. exports are not generated for unused exports, export names are mangled to single char identifiers when all usages are compatible. +Tells webpack to determine used exports for each module. This depends on [`optimization.providedExports`](#optimizationoccurrenceorder). Information collected by `optimization.usedExports` is used by other optimizations or code generation i.e. exports are not generated for unused exports, export names are mangled to single char identifiers when all usages are compatible. Dead code elimination in minimizers will benefit from this and can remove unused exports. By default `optimization.usedExports` is enabled in `production` [mode](/concepts/mode/) and disabled elsewise. @@ -312,8 +312,8 @@ module.exports = { `bool` -Tells webpack to find segments of the module graph which can be safely concatenated into a single module. Depends on [`optimization.providedExports`](#optimization-providedexports) and [`optimization.usedExports`](#optimization-usedexports). -By default `optimization.concatenateModules` is enabled in `production` [mode](/concepts/mode/) and disabled elsewise. +Tells webpack to find segments of the module graph which can be safely concatenated into a single module. Depends on [`optimization.providedExports`](#optimizationprovidedexports) and [`optimization.usedExports`](#optimizationusedexports). +By default `optimization.concatenateModules` is enabled in `production` [mode](/concepts/mode/) and disabled elsewise. __webpack.config.js__ From 5321534e6f5ef4148fe2d61b37fe86e59c6b21e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 27 Jul 2018 12:06:24 +0200 Subject: [PATCH 36/39] Skip link checking or opencollective.com/webpack. Massive html response made the checker go into CPU overdrive --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bbc54ca9be4e..965aae8ebf78 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "lint:markdown": "markdownlint --config ./.markdownlint.json *.md ./src/content/**/*.md --ignore './src/content/**/_*.md'", "lint:social": "alex . -q", "lint:prose": "cp .proselintrc ~/ && proselint src/content", - "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --skip img.shields.io --skip npmjs.com/package/ --todo external-redirect | tee master.tap | tap-spot", + "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --skip img.shields.io --skip npmjs.com/package/ --skip opencollective.com/webpack --todo external-redirect | tee master.tap | tap-spot", "sitemap": "cd dist && sitemap-static --prefix=https://webpack.js.org/ > sitemap.xml", "serve": "npm run build && sirv start ./dist --port 4000", "deploy": "gh-pages -d dist" From 7b20e0767b10274fea0860c5d6f412ad825bad67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Sun, 29 Jul 2018 09:04:55 +0200 Subject: [PATCH 37/39] Remove link to non-existing named-modules-plugin --- src/content/plugins/commons-chunk-plugin.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/plugins/commons-chunk-plugin.md b/src/content/plugins/commons-chunk-plugin.md index 463d0c27aec9..28daea3b68aa 100644 --- a/src/content/plugins/commons-chunk-plugin.md +++ b/src/content/plugins/commons-chunk-plugin.md @@ -132,7 +132,7 @@ module.exports = { ``` -T> In combination with long term caching you may need to use the [`ChunkManifestWebpackPlugin`](https://github.com/soundcloud/chunk-manifest-webpack-plugin) to avoid the vendor chunk changes. You should also use records to ensure stable module ids, e.g. using [`NamedModulesPlugin`](/plugins/named-modules-plugin) or [`HashedModuleIdsPlugin`](/plugins/hashed-module-ids-plugin). +T> In combination with long term caching you may need to use the [`ChunkManifestWebpackPlugin`](https://github.com/soundcloud/chunk-manifest-webpack-plugin) to avoid the vendor chunk changes. You should also use records to ensure stable module ids, e.g. using `NamedModulesPlugin` or [`HashedModuleIdsPlugin`](/plugins/hashed-module-ids-plugin). ### Move common modules into the parent chunk From 21c589f9ecd8041792dcfaa58b95be826efcd09c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Sun, 29 Jul 2018 11:50:23 +0200 Subject: [PATCH 38/39] Use new release of hyperlink --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 965aae8ebf78..5a49395060ba 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "html-webpack-template": "^6.1.0", "http-server": "^0.10.0", "husky": "^1.0.0-rc.8", - "hyperlink": "github:Munter/hyperlink#070916d", + "hyperlink": "^4.0.0", "lint-staged": "^7.2.0", "loader-utils": "^1.1.0", "lodash": "^4.17.4", From ab6f6c1c1eb6f9794d275d421a52687829639cc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Thu, 2 Aug 2018 17:51:30 +0200 Subject: [PATCH 39/39] feat(infra) Travis optimization (#2404) * Fix internal fragmtn links in optimization.md * Skip link checking or opencollective.com/webpack. Massive html response made the checker go into CPU overdrive * Try out travis staged build * Add proselint * Upgrade pip before using it * Move before-hooks around to try and make proselint install * Try adding python as a language as well to geet an updated version * More messing with config * Manually handle node versioning * Add node minor version to nvm install. Defaulted to slightly too low version * Manually install node 8.11 * Try a matrix build to separate node and python stuff * Add linkcheck task and try a different cahce setup * Minor name change to test if cache works correctly across builds * Attempt to combine matrix and staged build * Attempt going back to staged build * Bump travis * Ping Travis. You alive? * Fix broken travis.yml * Fix wrong stage order * Explicitly run specific lintings, exclude proselint * Allow failures for link checker * Change proselint cache directory. Maybe this works * Add new script to fetch repository names that the docs should contain. Try to centralize github API usage to avoid rate limitations * Add caching to eslint * Remove parts of deploy.sh that are now run by travis * Added new ./repositories to store github api results * Replace fetch.sh with npm scripts and fetch-package-readmes.js * Attempt to make caches more specific to the containers and stages they refer to * Remove deprecaed fetch_packages script. Now replaced by two-step fetch-package-repos and fetch-package-readmes * Attempt a more windows friendly build by using npm and webpack instead of shell commands * Disable link checking for now to speed up builds * Revert "Disable link checking for now to speed up builds" This reverts commit 7d4bb064ec8a53fa2071cc4a38e0d2a45e6005e5. * Add dist to proselint cache so generated content also gets checked * Remove unnessessary GITHUB_TOKEN env variable check in repo fetching script * Revert "Add dist to proselint cache so generated content also gets checked" This reverts commit fc7676db10082bee1e466c7a7d978d1e6abf5899. * Rework pipeline for better speed and make proselint a deployment blocker * Rename build stage to reflect its actions * Run content-tree only after generating all external content * Remove link to non-existing named-modules-plugin * Fix double slashes in edit links * Rename stages * Add new internal link check as a blocking check * Fix wrong name in allowed_failures config --- .gitignore | 1 + .travis.yml | 61 ++++++++-- package.json | 16 ++- repositories/README.md | 3 + repositories/loaders.json | 45 +++++++ repositories/plugins.json | 15 +++ requirements.txt | 1 + src/CNAME | 1 + src/scripts/deploy.sh | 16 --- src/scripts/env.sh | 5 - src/scripts/fetch.sh | 30 ----- src/utilities/fetch-package-readmes.js | 66 +++++++++++ src/utilities/fetch-package-repos.js | 69 +++++++++++ src/utilities/fetch_packages.js | 158 ------------------------- webpack.prod.js | 11 +- yarn.lock | 7 +- 16 files changed, 272 insertions(+), 233 deletions(-) create mode 100644 repositories/README.md create mode 100644 repositories/loaders.json create mode 100644 repositories/plugins.json create mode 100644 requirements.txt create mode 100644 src/CNAME delete mode 100755 src/scripts/env.sh delete mode 100644 src/scripts/fetch.sh create mode 100644 src/utilities/fetch-package-readmes.js create mode 100644 src/utilities/fetch-package-repos.js delete mode 100644 src/utilities/fetch_packages.js diff --git a/.gitignore b/.gitignore index 9e4081fd86a7..b511fac6ff2c 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ src/**/_*.md npm-debug.log yarn-error.log package-lock.json +.cache diff --git a/.travis.yml b/.travis.yml index 7770208100be..0579a6ec7d3d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,52 @@ -branches: - only: - - master - - develop +sudo: false language: node_js node_js: - "8" -sudo: required -install: - - yarn - - sudo pip install proselint -before_script: - - source ./src/scripts/env.sh -script: - - bash ./src/scripts/deploy.sh + +cache: + yarn: true + directories: + - node_modules + - dist + - .cache + +stages: + - Build + - Post-build + +jobs: + fast_finish: true + allow_failures: + - name: External Link Check + + include: + - stage: Build + name: Lint and Build + before_install: npm install --global yarn + install: yarn + script: + - yarn lint:js + - yarn lint:markdown + - yarn lint:social + - yarn build + - yarn lint:links + + - stage: Build + name: Proselint + language: python + python: 3.6 + cache: + pip: true + directories: + - $HOME/.cache + install: pip install -r requirements.txt + script: cp .proselintrc ~/ && proselint src/content + + - stage: Post-build + name: Deploy + if: branch = master + script: bash ./src/scripts/deploy.sh + + - stage: Post-build + name: External Link Check + script: yarn linkcheck diff --git a/package.json b/package.json index 5a49395060ba..b41c05ba5b75 100644 --- a/package.json +++ b/package.json @@ -26,18 +26,24 @@ "scripts": { "clean": "rimraf ./dist src/content/**/_*.md src/**/_*.json", "start": "cross-env NODE_ENV=development webpack-dev-server --config webpack.dev.js --env.dev", + "update-repos": "node src/utilities/fetch-package-repos.js", "content": "node src/scripts/build-content-tree.js ./src/content ./src/_content.json", "build-test": "npm run build && http-server build/", - "fetch": "sh src/scripts/fetch.sh", + "fetch": "run-p fetch:*", + "fetch:readmes": "node src/utilities/fetch-package-readmes.js", + "fetch:supporters": "node src/utilities/fetch-supporters.js", + "fetch:starter-kits": "node src/utilities/fetch-starter-kits.js", "prebuild": "npm run clean", - "build": "npm run fetch && npm run content && NODE_ENV=production webpack --config webpack.prod.js && npm run sitemap && echo webpack.js.org > dist/CNAME", + "build": "run-s fetch content && NODE_ENV=production webpack --config webpack.prod.js", + "postbuild": "npm run sitemap", "test": "npm run lint", "lint": "run-s lint:*", - "lint:js": "eslint src --ext .js,.jsx,.md", + "lint:js": "eslint src --ext .js,.jsx,.md --cache true --cache-location .cache/.eslintcache", "lint:markdown": "markdownlint --config ./.markdownlint.json *.md ./src/content/**/*.md --ignore './src/content/**/_*.md'", "lint:social": "alex . -q", "lint:prose": "cp .proselintrc ~/ && proselint src/content", - "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --skip img.shields.io --skip npmjs.com/package/ --skip opencollective.com/webpack --todo external-redirect | tee master.tap | tap-spot", + "lint:links": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ -i | tee internal-links.tap | tap-spot", + "linkcheck": "hyperlink -r dist/index.html --canonicalroot https://webpack.js.org/ --skip support__ --skip sidecar.gitter.im --skip vimdoc.sourceforge.net --skip img.shields.io --skip npmjs.com/package/ --skip opencollective.com/webpack --todo external-redirect | tee external-links.tap | tap-spot", "sitemap": "cd dist && sitemap-static --prefix=https://webpack.js.org/ > sitemap.xml", "serve": "npm run build && sirv start ./dist --port 4000", "deploy": "gh-pages -d dist" @@ -56,7 +62,7 @@ ] }, "devDependencies": { - "@octokit/rest": "^15.2.6", + "@octokit/rest": "^15.9.4", "alex": "^5.1.0", "autoprefixer": "^7.2.3", "babel-core": "^6.26.0", diff --git a/repositories/README.md b/repositories/README.md new file mode 100644 index 000000000000..ef2e81f5f1cb --- /dev/null +++ b/repositories/README.md @@ -0,0 +1,3 @@ +# Webpack documentation repositories + +The files in this directory are auto generated from `src/utils/fetch-package-repos.js` and should not be edited by hand. Any manual changes will be overwritten by the automation next time it runs. diff --git a/repositories/loaders.json b/repositories/loaders.json new file mode 100644 index 000000000000..a628da95edcf --- /dev/null +++ b/repositories/loaders.json @@ -0,0 +1,45 @@ +[ + "webpack-contrib/json-loader", + "webpack-contrib/raw-loader", + "webpack-contrib/coffee-loader", + "webpack-contrib/css-loader", + "webpack-contrib/style-loader", + "webpack-contrib/script-loader", + "webpack-contrib/less-loader", + "webpack-contrib/bundle-loader", + "webpack-contrib/val-loader", + "webpack-contrib/file-loader", + "webpack-contrib/url-loader", + "webpack-contrib/i18n-loader", + "webpack-contrib/json5-loader", + "webpack-contrib/worker-loader", + "webpack-contrib/jshint-loader", + "webpack-contrib/imports-loader", + "webpack-contrib/exports-loader", + "webpack-contrib/mocha-loader", + "webpack-contrib/coverjs-loader", + "webpack-contrib/expose-loader", + "webpack-contrib/node-loader", + "webpack-contrib/coffee-redux-loader", + "webpack-contrib/transform-loader", + "webpack-contrib/html-loader", + "webpack-contrib/sass-loader", + "webpack-contrib/source-map-loader", + "webpack-contrib/react-proxy-loader", + "webpack-contrib/null-loader", + "webpack-contrib/multi-loader", + "webpack-contrib/istanbul-instrumenter-loader", + "webpack-contrib/eslint-loader", + "webpack-contrib/yaml-frontmatter-loader", + "webpack-contrib/svg-inline-loader", + "webpack-contrib/restyle-loader", + "webpack-contrib/gzip-loader", + "webpack-contrib/cache-loader", + "webpack-contrib/thread-loader", + "webpack-contrib/polymer-webpack-loader", + "webpack-contrib/workerize-loader", + "webpack-contrib/config-loader", + "babel/babel-loader", + "postcss/postcss-loader", + "peerigon/extract-loader" +] \ No newline at end of file diff --git a/repositories/plugins.json b/repositories/plugins.json new file mode 100644 index 000000000000..5cf5a13c33a7 --- /dev/null +++ b/repositories/plugins.json @@ -0,0 +1,15 @@ +[ + "webpack-contrib/i18n-webpack-plugin", + "webpack-contrib/component-webpack-plugin", + "webpack-contrib/compression-webpack-plugin", + "webpack-contrib/extract-text-webpack-plugin", + "webpack-contrib/copy-webpack-plugin", + "webpack-contrib/npm-install-webpack-plugin", + "webpack-contrib/stylelint-webpack-plugin", + "webpack-contrib/babel-minify-webpack-plugin", + "webpack-contrib/uglifyjs-webpack-plugin", + "webpack-contrib/zopfli-webpack-plugin", + "webpack-contrib/closure-webpack-plugin", + "webpack-contrib/css-webpack-plugin", + "webpack-contrib/mini-css-extract-plugin" +] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000000..6169a9005505 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +proselint diff --git a/src/CNAME b/src/CNAME new file mode 100644 index 000000000000..39e36bc39ab8 --- /dev/null +++ b/src/CNAME @@ -0,0 +1 @@ +webpack.js.org diff --git a/src/scripts/deploy.sh b/src/scripts/deploy.sh index 862fd2b2ca1e..072c68e742e1 100644 --- a/src/scripts/deploy.sh +++ b/src/scripts/deploy.sh @@ -2,26 +2,10 @@ # see https://gist.github.com/domenic/ec8b0fc8ab45f39403dd set -e # Exit with nonzero exit code if anything fails -SOURCE_BRANCH="master" - -# Pull requests and commits to other branches shouldn't try to deploy, just build to verify -if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "$SOURCE_BRANCH" ]; then - echo "Skipping deploy; just doing a build and linting links/prose/js." - yarn test - yarn build - exit 0 -fi - # Save some useful information REPO=`git config remote.origin.url` SSH_REPO=${REPO/https:\/\/github.com\//git@github.com:} -# Run tests -yarn test - -# Run our build -yarn build - # Set some git options git config --global user.name "Travis CI" git config --global user.email "ci@travis-ci.org" diff --git a/src/scripts/env.sh b/src/scripts/env.sh deleted file mode 100755 index 41780cdcdeb9..000000000000 --- a/src/scripts/env.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -set -e # Exit with nonzero exit code if anything fails - -export GITHUB_TOKEN=$GITHUB_TOKEN - diff --git a/src/scripts/fetch.sh b/src/scripts/fetch.sh deleted file mode 100644 index a9b712051f44..000000000000 --- a/src/scripts/fetch.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -set -e # Exit with nonzero exit code if anything fails - -fetchPackages() { - # Fetch webpack-contrib (and various other) loader repositories - node ./src/utilities/fetch_packages.js "webpack-contrib" "-loader" "README.md" "./src/content/loaders" - node ./src/utilities/fetch_packages.js "babel" "babel-loader" "README.md" "./src/content/loaders" - node ./src/utilities/fetch_packages.js "postcss" "postcss-loader" "README.md" "./src/content/loaders" - node ./src/utilities/fetch_packages.js "peerigon" "extract-loader" "README.md" "./src/content/loaders" - - # Fetch webpack-contrib (and various other) plugin repositories - node ./src/utilities/fetch_packages.js "webpack-contrib" "-webpack-plugin" "README.md" "./src/content/plugins" - node ./src/utilities/fetch_packages.js "webpack-contrib" "-extract-plugin" "README.md" "./src/content/plugins" -} - -# If not defined, means running locally, so, fetch packages -if [ -z "$TRAVIS_PULL_REQUEST" ]; then - fetchPackages -# If defined and equal to false, means running in master, so, fetch packages -elif [ "$TRAVIS_PULL_REQUEST" = "false" ]; then - fetchPackages -else - echo "PR running, not fetching packages." -fi - -# Fetch sponsors and backers from opencollective -node ./src/utilities/fetch-supporters.js - -# Fetch starter kits -node ./src/utilities/fetch-starter-kits.js diff --git a/src/utilities/fetch-package-readmes.js b/src/utilities/fetch-package-readmes.js new file mode 100644 index 000000000000..4eb68bf0bf24 --- /dev/null +++ b/src/utilities/fetch-package-readmes.js @@ -0,0 +1,66 @@ +const _ = require('lodash'); +const fs = require('fs'); +const path = require('path'); +const { promisify } = require('util'); +const mkdirp = promisify(require('mkdirp')); +const request = require('request-promise'); + +const yamlHeadmatter = require('./yaml-headmatter.js'); +const processReadme = require('./process-readme.js'); + +const writeFile = promisify(fs.writeFile); +const readFile = promisify(fs.readFile); +const cwd = process.cwd(); + +const types = ['loaders', 'plugins']; + +const pathMap = { + loaders: path.resolve(__dirname, '../content/loaders'), + plugins: path.resolve(__dirname, '../content/plugins') +}; + +async function main() { + for (const type of types) { + const outputDir = pathMap[type]; + + await mkdirp(outputDir); + + const repos = JSON.parse(await readFile(path.resolve(__dirname, `../../repositories/${type}.json`))); + + for (const repo of repos) { + const [org, packageName] = repo.split('/'); + const url = `https://raw.githubusercontent.com/${repo}/master/README.md`; + const htmlUrl = `https://github.com/${repo}`; + const editUrl = `${htmlUrl}/edit/master/README.md`; + const fileName = path.resolve(outputDir, `_${packageName}.md`); + + let title = packageName; + + if (type === 'plugins') { + title = _.camelCase(title); + title = _.upperFirst(title); + title = title.replace(/I18N/, 'I18n'); + } + + // generate yaml matter for file + let headmatter = yamlHeadmatter({ + title: title, + source: url, + edit: editUrl, + repo: htmlUrl + }); + + request(url) + .then(async content => { + const body = processReadme(content, { source: url }); + + await writeFile(fileName, headmatter + body); + + console.log('Generated:', path.relative(cwd, fileName)); + }); + } + } +} + +main(); + diff --git a/src/utilities/fetch-package-repos.js b/src/utilities/fetch-package-repos.js new file mode 100644 index 000000000000..61ebeb0dce88 --- /dev/null +++ b/src/utilities/fetch-package-repos.js @@ -0,0 +1,69 @@ +const fs = require('fs'); +const path = require('path'); +const mkdirp = require('mkdirp'); +const _ = require('lodash'); +const GithubAPI = require('@octokit/rest'); + +const fetch = { + loaders: [ + { + organization: 'webpack-contrib', + suffixes: ['-loader'] + }, + 'babel/babel-loader', + 'postcss/postcss-loader', + 'peerigon/extract-loader' + ], + + plugins: [ + { + organization: 'webpack-contrib', + suffixes: ['-webpack-plugin', '-extract-plugin'] + } + ] +}; + +const api = new GithubAPI(); + +async function paginate (org) { + let response = await api.repos.getForOrg({ org, type: 'public', per_page: 100}); + let {data} = response; + + while (api.hasNextPage(response)) { + response = await api.getNextPage(response); + data = data.concat(response.data); + } + + return data; +} + +async function main() { + mkdirp.sync(path.resolve(__dirname, `../../repositories/`)); + + for (const [type, collection] of Object.entries(fetch)) { + const result = await Promise.all(collection.map(async (item) => { + if (typeof item === 'string') { + return item; + } + + const { organization, suffixes } = item; + + const repos = await paginate(organization); + + return repos + .map(repo => repo.full_name) + .filter(name => suffixes.some(suffix => name.endsWith(suffix))); + })); + + const json = JSON.stringify(_.flatten(result), undefined, 2); + const jsonPath = path.resolve(__dirname, `../../repositories/${type}.json`); + + fs.writeFile(jsonPath, json, (err) => { + if (err) { + throw err; + } + }); + } +} + +main(); diff --git a/src/utilities/fetch_packages.js b/src/utilities/fetch_packages.js deleted file mode 100644 index a81f3b965f92..000000000000 --- a/src/utilities/fetch_packages.js +++ /dev/null @@ -1,158 +0,0 @@ -#!/usr/bin/env node -// ./fetch_package_names > output -// ./fetch_package_names "-loader" > output.json -const GitHubApi = require('@octokit/rest'); -const fs = require('fs'); -const urlModule = require('url'); -const path = require('path'); -const async = require('async'); -const mkdirp = require('mkdirp'); -const request = require('request-promise'); -const { promisify } = require('util'); -const _ = require('lodash'); - -const yamlHeadmatter = require('./yaml-headmatter.js'); -const processReadme = require('./process-readme.js'); - -const asyncWriteFile = promisify(fs.writeFile); - -if (require.main === module) { - main(); -} else { - module.exports = fetchPackageNames; -} - -function main() { - const organization = process.argv[2]; - const suffix = process.argv[3]; - const file = process.argv[4]; - const output = process.argv[5]; - - if (!organization) { - return console.error('Missing organization!'); - } - if (!suffix) { - return console.error('Missing suffix!'); - } - - if (!file) { - return console.error('Missing file!'); - } - - if (!output) { - return console.error('Missing output!'); - } - - mkdirp.sync(output); - - fetchPackageNames( - { - organization: organization, - suffix: suffix - }, - function(err, d) { - if (err) { - return console.error(err); - } - - fetchPackageFiles( - { - input: d, - file: file, - output: path.resolve(process.cwd(), output) - }, - function(err, d) { - if (err) { - return console.error(err); - } - - const msg = - d.length === 0 ? 'Fetched 0 files' : d.length === 1 ? 'Fetched 1 file: ' : `Fetched ${d.length} files: `; - console.log(msg + _.map(d, 'full_name')); - } - ); - } - ); -} - -function fetchPackageNames(options, cb) { - const github = new GitHubApi(); - - if (process.env.GITHUB_TOKEN) { - github.authenticate({ - type: 'token', - token: process.env.GITHUB_TOKEN - }); - - github.misc.getRateLimit({}, (err, res) => { - if (err) throw err; - console.log(res.data.rate); - }); - } - - // XXX: weak since this handles only one page - github.repos.getForOrg( - { - org: options.organization, - per_page: 100 - }, - function(err, d) { - if (err) { - return cb(err); - } - - return cb( - null, - d.data.filter(function(o) { - return o.name.endsWith(options.suffix); - }) - ); - } - ); -} - -function fetchPackageFiles(options, finalCb) { - const allPromises = options.input.map(pkg => { - // fetch from master branch - const branch = 'master'; - - // build fetch url - const file = options.file; - const baseUrl = 'https://raw.githubusercontent.com'; - const url = `${baseUrl}/${pkg.full_name}/${branch}/${file}`; - - return request(url) - .then(body => { - // modify README to fit page structure in site - if (body && file.toLowerCase() === 'readme.md') { - body = processReadme(body, { source: url }); - } - - let title = pkg.name; - - // process titles for plugins - if (title.match(/-plugin$/)) { - title = _.camelCase(title); - title = _.upperFirst(title); - title = title.replace(/I18N/, 'I18n'); - } - - // generate yaml matter for file - let headmatter = yamlHeadmatter({ - title: title, - source: url, - edit: `${pkg.html_url}/edit/${branch}/${file}`, - repo: pkg.html_url - }); - - return asyncWriteFile(path.resolve(options.output, `_${pkg.name}` + path.extname(file)), headmatter + body).then(done => { - return pkg; - }); - }) - .catch(error => { - console.log(error); - }); - }); - - return Promise.all(allPromises).then(data => finalCb(null, data)).catch(err => finalCb(err)); -} diff --git a/webpack.prod.js b/webpack.prod.js index d3feb853b14b..f8f5425a42ce 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -30,10 +30,13 @@ const prod = { new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify('production') }), - new CopyWebpackPlugin([{ - from: './assets/icon-square-small-slack.png', - to: './assets/' - }]) + new CopyWebpackPlugin([ + { + from: './assets/icon-square-small-slack.png', + to: './assets/' + }, + 'CNAME' + ]) ] }; diff --git a/yarn.lock b/yarn.lock index f21a2682eb19..29be044ad7a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8,7 +8,7 @@ dependencies: unist-util-visit "^1.3.0" -"@octokit/rest@^15.2.6": +"@octokit/rest@^15.9.4": version "15.9.4" resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-15.9.4.tgz#c6cf0f483275d9c798b18419b7c9d417493bb70f" dependencies: @@ -4454,12 +4454,13 @@ husky@^1.0.0-rc.8: version "3.0.1" resolved "https://codeload.github.com/Munter/hyperlink/tar.gz/070916d14ab8930a9184d545c38ed220863897bf" dependencies: - assetgraph "^4.5.0" + assetgraph "^4.0.5" async "^2.6.0" + lodash "^4.17.4" optimist "^0.6.1" pretty-bytes "^4.0.2" request "^2.83.0" - tap-render Munter/tap-render#0.1.7-patch4 + tap-render Munter/tap-render#0.1.7-patch1 urltools "^0.3.1" iconv-lite@0.4.19: