From 144b4a4367b71d4aff7d920ce6ff0305494b392c Mon Sep 17 00:00:00 2001 From: Andrew Powell Date: Thu, 28 Nov 2019 22:50:14 -0700 Subject: [PATCH] chore: add @rollup/plugin-html (#57) * chore: add @rollup/plugin-html * docs: add attribution * chore: fix ci:lint script * chore: nuke rollup.config.js, was a leftover from tests * Update packages/html/README.md * Update packages/html/README.md * test: test output formats, warnings. update docs for formats * chore: add bundle to template params, no-write tests * chore: remove --u from test script --- packages/auto-install/README.md | 10 +- packages/html/README.md | 153 ++++ packages/html/lib/index.js | 106 +++ packages/html/package.json | 56 ++ packages/html/test/fixtures/batman.js | 0 packages/html/test/fixtures/joker.css | 1 + packages/html/test/fixtures/joker.js | 2 + packages/html/test/fixtures/robin.js | 2 + packages/html/test/snapshots/test.js.md | 334 ++++++++ packages/html/test/snapshots/test.js.snap | Bin 0 -> 1456 bytes packages/html/test/test.js | 118 +++ pnpm-lock.yaml | 980 +++++++++++++++++++++- tsconfig.eslint.json | 8 +- util/test.js | 11 +- 14 files changed, 1738 insertions(+), 43 deletions(-) create mode 100644 packages/html/README.md create mode 100644 packages/html/lib/index.js create mode 100644 packages/html/package.json create mode 100644 packages/html/test/fixtures/batman.js create mode 100644 packages/html/test/fixtures/joker.css create mode 100644 packages/html/test/fixtures/joker.js create mode 100644 packages/html/test/fixtures/robin.js create mode 100644 packages/html/test/snapshots/test.js.md create mode 100644 packages/html/test/snapshots/test.js.snap create mode 100644 packages/html/test/test.js diff --git a/packages/auto-install/README.md b/packages/auto-install/README.md index 4de194b12..fa723c644 100755 --- a/packages/auto-install/README.md +++ b/packages/auto-install/README.md @@ -28,14 +28,14 @@ npm install @rollup/plugin-inject --save-dev Create a `rollup.config.js` [configuration file](https://www.rollupjs.org/guide/en/#configuration-files) and import the plugin: ```js -import auto from "@rollup/plugin-auto-install"; -import resolve from "rollup-plugin-node-resolve"; +import auto from '@rollup/plugin-auto-install'; +import resolve from 'rollup-plugin-node-resolve'; export default { - input: "src/index.js", + input: 'src/index.js', output: { - dir: "output", - format: "cjs" + dir: 'output', + format: 'cjs' }, plugins: [auto(), resolve()] }; diff --git a/packages/html/README.md b/packages/html/README.md new file mode 100644 index 000000000..3203c3f21 --- /dev/null +++ b/packages/html/README.md @@ -0,0 +1,153 @@ +[npm]: https://img.shields.io/npm/v/@rollup/plugin-html +[npm-url]: https://www.npmjs.com/package/@rollup/plugin-html +[size]: https://packagephobia.now.sh/badge?p=@rollup/plugin-html +[size-url]: https://packagephobia.now.sh/result?p=@rollup/plugin-html + +[![npm][npm]][npm-url] +[![size][size]][size-url] +[![libera manifesto](https://img.shields.io/badge/libera-manifesto-lightgrey.svg)](https://liberamanifesto.com) + +# @rollup/plugin-html + +🍣 A Rollup plugin which creates HTML files to serve Rollup bundles. + +Please see [Supported Output Formats](#supported-output-formats) for information about using this plugin with output formats other than `esm` (`es`), `iife`, and `umd`. + +## Requirements + +This plugin requires an [LTS](https://github.com/nodejs/Release) Node version (v8.0.0+) and Rollup v1.20.0+. + +## Install + +Using npm: + +```console +npm install @rollup/plugin-html --save-dev +``` + +## Usage + +Create a `rollup.config.js` [configuration file](https://www.rollupjs.org/guide/en/#configuration-files) and import the plugin: + +```js +const html = require('@rollup/plugin-html'); + +module.exports = { + input: 'src/index.js', + output: { + dir: 'output', + format: 'cjs' + }, + plugins: [html()] +}; +``` + +Then call `rollup` either via the [CLI](https://www.rollupjs.org/guide/en/#command-line-reference) or the [API](https://www.rollupjs.org/guide/en/#javascript-api). + +Once run successfully, an HTML file should be written to the bundle output destination. + +## Options + +### `attributes` + +Type: `Object`
+Default: `{ html: { lang: 'en' }, link: null, script: null }` + +Specifies additional attributes for `html`, `link`, and `script` elements. For each property, provide an object with key-value pairs that represent an HTML element attribute name and value. By default, the `html` element is rendered with an attribute of `lang="en"`. + +_Note: If using the `es` / `esm` output format, `{ type: 'module'}` is automatically added to `attributes.script`._ + +### `fileName` + +Type: `String`
+Default: `'index.html'` + +Specifies the name of the HTML to emit. + +### `publicPath` + +Type: `String` +Default: `internal function` +Returns: `String` + +Specifies a function that provides the rendered source for the HTML output. The function should be in the form of: + +```js +const template = ({ attributes, bundle, files, publicPath, title }) => { ... } +``` + +- `attributes`: Corresponds to the `attributes` option passed to the plugin +- `bundle`: An `Object` containing key-value pairs of [`AssetInfo` or `ChunkInfo`](https://rollupjs.org/guide/en/#generatebundle) +- `files`: An `Array` of `AssetInfo` or `ChunkInfo` containing any entry (`isEntry: true`) files, and any asset (`isAsset: true`) files in the bundle that will be emitted +- `publicPath`: Corresponds to the `publicPath` option passed to the plugin +- `title`: Corresponds to the `title` option passed to the plugin + +By default this is handled internally and produces HTML in the following format: + +```html + + + + + ${title} + ${links} + + + ${scripts} + + +``` + +Where `${links}` represents all ` +Default: `'Rollup Bundle'` + +Specifies the HTML document title. + +## Exports + +### `makeHtmlAttributes(attributes)` + +Parameters: `attributes`, Type: `Object`
+Returns: `String` + +Consumes an object with key-value pairs that represent an HTML element attribute name and value. The function returns all pairs as a space-separated string of valid HTML element attributes. e.g. + +```js +const { makeHtmlAttributes } = require('@rollup/plugin-html'); + +makeHtmlAttributes({ lang: 'en', 'data-batcave': 'secret' }); +// -> 'lang="en" data-batcave="secret"' +``` + +## Supported Output Formats + +By default, this plugin supports the `esm` (`es`), `iife`, and `umd` [output formats](https://rollupjs.org/guide/en/#outputformat), as those are most commonly used as browser bundles. Other formats can be used, but will require using the [`template`](#template) option to specify a custom template function which renders the unique requirements of other formats. + +### `amd` + +Will likely require use of RequireJS semantics, which allows only for a single entry ``. + +## Attribution + +This plugin was inspired by and is based upon [mini-html-webpack-plugin](https://github.com/styleguidist/mini-html-webpack-plugin) by Juho VepsÀlÀinen and Artem Sapegin, with permission. + +## Meta + +[CONTRIBUTING](/.github/CONTRIBUTING.md) + +[LICENSE (MIT)](/LICENSE) diff --git a/packages/html/lib/index.js b/packages/html/lib/index.js new file mode 100644 index 000000000..107a4f3ed --- /dev/null +++ b/packages/html/lib/index.js @@ -0,0 +1,106 @@ +const { extname } = require('path'); + +const getFiles = (bundle) => { + const files = Object.values(bundle).filter( + (file) => file.isEntry || file.type === 'asset' || file.isAsset + ); + const result = {}; + for (const file of files) { + const { fileName } = file; + const extension = extname(fileName).substring(1); + result[extension] = (result[extension] || []).concat(file); + } + + return result; +}; + +const makeHtmlAttributes = (attributes) => { + if (!attributes) { + return ''; + } + + const keys = Object.keys(attributes); + // eslint-disable-next-line no-param-reassign + return keys.reduce((result, key) => (result += ` ${key}="${attributes[key]}"`), ''); +}; + +const defaultTemplate = async ({ attributes, files, publicPath, title }) => { + const scripts = (files.js || []) + .map(({ fileName }) => { + const attrs = makeHtmlAttributes(attributes.script); + return ``; + }) + .join('\n'); + + const links = (files.css || []) + .map(({ fileName }) => { + const attrs = makeHtmlAttributes(attributes.link); + return ``; + }) + .join('\n'); + + return ` + + + + + ${title} + ${links} + + + ${scripts} + +`; +}; + +const supportedFormats = ['es', 'esm', 'iife', 'umd']; + +const defaults = { + attributes: { + link: null, + html: { lang: 'en' }, + script: null + }, + fileName: 'index.html', + publicPath: '', + template: defaultTemplate, + title: 'Rollup Bundle' +}; + +const html = (opts = {}) => { + const { attributes, fileName, publicPath, template, title } = Object.assign({}, defaults, opts); + return { + name: 'html', + + async generateBundle(output, bundle) { + if (!supportedFormats.includes(output.format) && !opts.template) { + this.warn( + `plugin-html: The output format '${ + output.format + }' is not directly supported. A custom \`template\` is probably required. Supported formats include: ${supportedFormats.join( + ', ' + )}` + ); + } + + if (output.format === 'esm' || output.format === 'es') { + attributes.script = Object.assign({}, attributes.script, { type: 'module' }); + } + + const files = getFiles(bundle); + const source = await template({ attributes, bundle, files, publicPath, title }); + + const htmlFile = { + type: 'asset', + source, + name: 'Rollup HTML Asset', + fileName + }; + + this.emitFile(htmlFile); + } + }; +}; + +module.exports = html; +module.exports.makeHtmlAttributes = makeHtmlAttributes; diff --git a/packages/html/package.json b/packages/html/package.json new file mode 100644 index 000000000..bab44539f --- /dev/null +++ b/packages/html/package.json @@ -0,0 +1,56 @@ +{ + "name": "@rollup/plugin-html", + "version": "0.1.0", + "publishConfig": { + "access": "public" + }, + "description": "Creates HTML files to serve Rollup bundles", + "license": "MIT", + "repository": "rollup/plugins", + "author": "Andrew Powell ", + "homepage": "https://github.com/rollup/plugins/packages/beep", + "bugs": "https://github.com/rollup/plugins/issues", + "main": "lib/index.js", + "engines": { + "node": ">= 8.0.0" + }, + "scripts": { + "ci:coverage": "nyc pnpm run test && nyc report --reporter=text-lcov > coverage.lcov", + "ci:lint": "pnpm run lint && pnpm run security", + "ci:lint:commits": "commitlint --from=${CIRCLE_BRANCH} --to=${CIRCLE_SHA1}", + "ci:test": "pnpm run test -- --verbose", + "lint": "pnpm run lint:js && pnpm run lint:docs && pnpm run lint:package", + "lint:docs": "prettier --single-quote --write *.md", + "lint:js": "eslint --fix --cache lib test", + "lint:package": "prettier --write package.json --plugin=prettier-plugin-package", + "prepublishOnly": "pnpm run lint", + "security": "echo 'pnpm needs `npm audit` support'", + "test": "ava" + }, + "files": [ + "lib", + "README.md", + "LICENSE" + ], + "keywords": [ + "rollup", + "plugin", + "html", + "template" + ], + "peerDependencies": { + "rollup": "^1.20.0" + }, + "devDependencies": { + "rollup": "^1.27.5", + "rollup-plugin-postcss": "^2.0.3" + }, + "ava": { + "files": [ + "!**/fixtures/**", + "!**/helpers/**", + "!**/recipes/**", + "!**/types.ts" + ] + } +} diff --git a/packages/html/test/fixtures/batman.js b/packages/html/test/fixtures/batman.js new file mode 100644 index 000000000..e69de29bb diff --git a/packages/html/test/fixtures/joker.css b/packages/html/test/fixtures/joker.css new file mode 100644 index 000000000..8e916215d --- /dev/null +++ b/packages/html/test/fixtures/joker.css @@ -0,0 +1 @@ +* { width: 100%; } diff --git a/packages/html/test/fixtures/joker.js b/packages/html/test/fixtures/joker.js new file mode 100644 index 000000000..deb774e21 --- /dev/null +++ b/packages/html/test/fixtures/joker.js @@ -0,0 +1,2 @@ +// eslint-disable-next-line +import style from './joker.css'; diff --git a/packages/html/test/fixtures/robin.js b/packages/html/test/fixtures/robin.js new file mode 100644 index 000000000..d1016436c --- /dev/null +++ b/packages/html/test/fixtures/robin.js @@ -0,0 +1,2 @@ +// eslint-disable-next-line +import * as batman from './batman.js'; diff --git a/packages/html/test/snapshots/test.js.md b/packages/html/test/snapshots/test.js.md new file mode 100644 index 000000000..e6771f46d --- /dev/null +++ b/packages/html/test/snapshots/test.js.md @@ -0,0 +1,334 @@ +# Snapshot report for `test/test.js` + +The actual snapshot is saved in `test.js.snap`. + +Generated by [AVA](https://ava.li). + +## attributes + +> Snapshot 1 + + [ + { + code: `(function (factory) {␊ + typeof define === 'function' && define.amd ? define(factory) :␊ + factory();␊ + }((function () { 'use strict';␊ + ␊ + ␊ + ␊ + })));␊ + `, + fileName: 'joker.js', + source: undefined, + }, + { + code: undefined, + fileName: 'joker.css', + source: Buffer @Uint8Array [ + 2a207b20 77696474 683a2031 3030253b 207d0a + ], + }, + { + code: undefined, + fileName: 'index.html', + source: `␊ + ␊ + ␊ + ␊ + ␊ + Rollup Bundle␊ + ␊ + ␊ + ␊ + ␊ + ␊ + `, + }, + ] + +## css + +> Snapshot 1 + + [ + { + code: `(function (factory) {␊ + typeof define === 'function' && define.amd ? define(factory) :␊ + factory();␊ + }((function () { 'use strict';␊ + ␊ + ␊ + ␊ + })));␊ + `, + fileName: 'joker.js', + source: undefined, + }, + { + code: undefined, + fileName: 'joker.css', + source: Buffer @Uint8Array [ + 2a207b20 77696474 683a2031 3030253b 207d0a + ], + }, + { + code: undefined, + fileName: 'index.html', + source: `␊ + ␊ + ␊ + ␊ + ␊ + Rollup Bundle␊ + ␊ + ␊ + ␊ + ␊ + ␊ + `, + }, + ] + +## default options + +> Snapshot 1 + + [ + { + code: `(function (factory) {␊ + typeof define === 'function' && define.amd ? define(factory) :␊ + factory();␊ + }((function () { 'use strict';␊ + ␊ + ␊ + ␊ + })));␊ + `, + fileName: 'batman.js', + source: undefined, + }, + { + code: undefined, + fileName: 'index.html', + source: `␊ + ␊ + ␊ + ␊ + ␊ + Rollup Bundle␊ + ␊ + ␊ + ␊ + ␊ + ␊ + `, + }, + ] + +## esm + +> Snapshot 1 + + [ + { + code: `␊ + `, + fileName: 'batman.js', + source: undefined, + }, + { + code: undefined, + fileName: 'index.html', + source: `␊ + ␊ + ␊ + ␊ + ␊ + Rollup Bundle␊ + ␊ + ␊ + ␊ + ␊ + ␊ + `, + }, + ] + +## iife + +> Snapshot 1 + + [ + { + code: `(function () {␊ + 'use strict';␊ + ␊ + ␊ + ␊ + }());␊ + `, + fileName: 'batman.js', + source: undefined, + }, + { + code: undefined, + fileName: 'index.html', + source: `␊ + ␊ + ␊ + ␊ + ␊ + Rollup Bundle␊ + ␊ + ␊ + ␊ + ␊ + ␊ + `, + }, + ] + +## imports + +> Snapshot 1 + + [ + { + code: `(function (factory) {␊ + typeof define === 'function' && define.amd ? define(factory) :␊ + factory();␊ + }((function () { 'use strict';␊ + ␊ + ␊ + ␊ + })));␊ + `, + fileName: 'robin.js', + source: undefined, + }, + { + code: undefined, + fileName: 'index.html', + source: `␊ + ␊ + ␊ + ␊ + ␊ + Rollup Bundle␊ + ␊ + ␊ + ␊ + ␊ + ␊ + `, + }, + ] + +## options + +> Snapshot 1 + + [ + { + code: `(function (factory) {␊ + typeof define === 'function' && define.amd ? define(factory) :␊ + factory();␊ + }((function () { 'use strict';␊ + ␊ + ␊ + ␊ + })));␊ + `, + fileName: 'batman.js', + source: undefined, + }, + { + code: undefined, + fileName: 'batman.html', + source: `␊ + ␊ + ␊ + ␊ + ␊ + Batcave␊ + ␊ + ␊ + ␊ + ␊ + ␊ + `, + }, + ] + +## template + +> Snapshot 1 + + [ + { + code: `(function (factory) {␊ + typeof define === 'function' && define.amd ? define(factory) :␊ + factory();␊ + }((function () { 'use strict';␊ + ␊ + ␊ + ␊ + })));␊ + `, + fileName: 'batman.js', + source: undefined, + }, + { + code: undefined, + fileName: 'index.html', + source: '
', + }, + ] + +## unsupported output format + +> Snapshot 1 + + [ + { + code: `'use strict';␊ + ␊ + `, + fileName: 'batman.js', + source: undefined, + }, + { + code: undefined, + fileName: 'index.html', + source: `␊ + ␊ + ␊ + ␊ + ␊ + Rollup Bundle␊ + ␊ + ␊ + ␊ + ␊ + ␊ + `, + }, + ] + +> Snapshot 2 + + [ + { + chunkName: 'batman', + code: 'EMPTY_BUNDLE', + message: 'Generated an empty chunk: "batman"', + toString: Function {}, + }, + { + code: 'PLUGIN_WARNING', + message: 'plugin-html: The output format \'cjs\' is not directly supported. A custom `template` is probably required. Supported formats include: es, esm, iife, umd', + plugin: 'html', + toString: Function {}, + }, + ] diff --git a/packages/html/test/snapshots/test.js.snap b/packages/html/test/snapshots/test.js.snap new file mode 100644 index 0000000000000000000000000000000000000000..36b25dd12bc7fb29e3270583064c50810ae5a7f9 GIT binary patch literal 1456 zcmV;h1yA}xRzVz3^=`fbp>!`^@8Z2JeIJVm00000000B+ zS8Hq(RTRE=A8mJlJ_I8w=w;OImOzV%5?FRCEnowd7J&*rBFxU**`0PC%gh~QF(n8_ zV~rRwXf)Bpq8JQO`C%c3AVwlF$S(|0F`~wV2vHLa$`1{mdF(%$0@t=q9Cwe5!kU5B!VK76J63+#H2lp~}^$UD8`a@)sG-}lQ)iMM*O>%EObDErOH z&wopA+|{$W_tkyxC*KaZUVEg6`BezXe~i6(f9t8%gU|0;J1?m9Vb|MTgV2_zpFQ#A z(y1$Fz42>o#X+M5yWY8D5ZbpTw!gPNcKn79PJH_A#M(~mdfUe$WOcn@SKcp7-}Z6h z(Y^=TH)7YjY8*mARPL@3SK#0jcuob(1dPUIH8|X4nnDiayj4|Ig)oP30O1iB-{&<1 zYqj&lP9LGIV7>=f0-<{X`~8%)r#h*~aG+pTS693A*MagT;3L4XVtTMYeH6k$gsXrP z7~@#s8XOW0iTW>r9u$*pU1W-(lb9@s%rJ9xGp9h;@h#h8C-Ylj4_~d616Q#EM_Vqi_YNS*Iic!yrOwl$cjqa1T8;T z97zdG6ZHB{tB6@<8MY~Uyz)^c7VQuQ9*0wOiLR>8Fijm`AP8O`;t~@iLv&(A9C{;{ za2`Yz^mLM^I^W0AJ*?>*Y5~_ zoYDf`dHDt0EHF`6d2!Np8a52BgntK&FD>CXP-X%i20V3X62{T~>f$12%PTgNk|)@7+@Aa zzeEjH71g6*MP0j!T2oL|csrOo07n27Adz_`RTY+i0v9B-2{0dSa@jyplh9ep3KeZl zM9kQF*O}W`<^^LQ1&*9Ef5GAhmo;~^&2F7jL@d{+WeMp5mv5muH3dc`BItx_S(YR2 zm~rBVokzG5;~toML0ZgM1oGC?=bUoCsZ=g#?P!_Xwrok$!nV0>Edx&`@G{D(c3ROV zJ3AOBi!+oMHp|+K$cCv2j6}swD@qiL=msN_VnXE99I@h@!}J60tR@IAOeL7FO)# z6hvwJxubNW)40al`-*%0uNSAT6kgo@KQ}GhpEiUpBg2>J!K>0Z>el2&uVf}PLD8Wa z`VY@{hdBrm!;teBOmU|L!3Z6cR{gJL-vK_yg$(B$Ry^CZ_Dku3u40!m`QIovIaw@el zlrnF`l1Z80s|!dQDnJPj?q@Cr&-2zh4AR%Dll9H&a(>a9Ly?EiT|Yvz^A08 zq;&xj)X;gqD1dVissfP&CQM$bsEVNb#0#zzARuZcd1l(@Q7DeWj=+@>m4~i;q4)>d K&^+pJ9RL7fbGZ%x literal 0 HcmV?d00001 diff --git a/packages/html/test/test.js b/packages/html/test/test.js new file mode 100644 index 000000000..af7eea8bc --- /dev/null +++ b/packages/html/test/test.js @@ -0,0 +1,118 @@ +const { join } = require('path'); + +const test = require('ava'); +const { rollup } = require('rollup'); +const css = require('rollup-plugin-postcss'); + +const { getCode } = require('../../../util/test'); + +const html = require('..'); + +// const read = (file = 'index.html') => readFileSync(join('output/', file), 'utf-8'); + +const output = { dir: 'output', format: 'umd' }; + +process.chdir(join(__dirname, 'fixtures')); + +test('default options', async (t) => { + const bundle = await rollup({ + input: 'batman.js', + plugins: [html()] + }); + const code = await getCode(bundle, output, true); + t.snapshot(code); +}); + +test('options', async (t) => { + const bundle = await rollup({ + input: 'batman.js', + plugins: [ + html({ + fileName: 'batman.html', + publicPath: 'batcave/', + title: 'Batcave' + }) + ] + }); + const code = await getCode(bundle, output, true); + t.snapshot(code); +}); + +test('iife', async (t) => { + const bundle = await rollup({ + input: 'batman.js', + plugins: [html()] + }); + const code = await getCode(bundle, { dir: 'output', format: 'iife' }, true); + t.snapshot(code); +}); + +test('esm', async (t) => { + const bundle = await rollup({ + input: 'batman.js', + plugins: [html()] + }); + const code = await getCode(bundle, { dir: 'output', format: 'esm' }, true); + t.snapshot(code); +}); + +test('unsupported output format', async (t) => { + const warnings = []; + const bundle = await rollup({ + input: 'batman.js', + onwarn: (warning) => warnings.push(warning), + plugins: [html()] + }); + const code = await getCode(bundle, { dir: 'output', format: 'cjs' }, true); + t.snapshot(code); + t.snapshot(warnings); +}); + +test('css', async (t) => { + const bundle = await rollup({ + input: 'joker.js', + plugins: [css({ extract: true }), html()] + }); + const code = await getCode(bundle, output, true); + t.snapshot(code); +}); + +test('attributes', async (t) => { + const bundle = await rollup({ + input: 'joker.js', + plugins: [ + css({ extract: true }), + html({ + attributes: { + html: { batsignal: 'on', lang: 'bat' }, + link: { 'data-vilian': 'joker' }, + script: { defer: true } + } + }) + ] + }); + const code = await getCode(bundle, output, true); + t.snapshot(code); +}); + +test('imports', async (t) => { + const bundle = await rollup({ + input: 'robin.js', + plugins: [html()] + }); + const code = await getCode(bundle, output, true); + t.snapshot(code); +}); + +test('template', async (t) => { + const bundle = await rollup({ + input: 'batman.js', + plugins: [ + html({ + template: () => '
' + }) + ] + }); + const code = await getCode(bundle, output, true); + t.snapshot(code); +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 56c10aa61..aa80e7a18 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,8 +1,8 @@ importers: .: devDependencies: - '@typescript-eslint/eslint-plugin': 2.8.0_77f4dd8173ee26617e81699fb17b8eb8 - '@typescript-eslint/parser': 2.8.0_typescript@3.7.2 + '@typescript-eslint/eslint-plugin': 2.9.0_7d81ef8db268c0610d875f6201091ee0 + '@typescript-eslint/parser': 2.9.0_typescript@3.7.2 ava: 2.4.0 chalk: 2.4.2 codecov-lite: 0.3.1 @@ -13,7 +13,7 @@ importers: husky: 3.1.0 lint-staged: 9.4.3 nyc: 14.1.1 - pnpm: 4.3.0 + pnpm: 4.3.3 prettier: 1.19.1 prettier-plugin-package: 0.3.1_prettier@1.19.1 rollup: 1.27.5 @@ -107,6 +107,13 @@ importers: rollup: ^1.20.0 rollup-pluginutils: ^2.8.2 tosource: ^1.0.0 + packages/html: + devDependencies: + rollup: 1.27.5 + rollup-plugin-postcss: 2.0.3 + specifiers: + rollup: ^1.27.5 + rollup-plugin-postcss: ^2.0.3 packages/image: dependencies: rollup-pluginutils: 2.8.2 @@ -1170,7 +1177,7 @@ packages: dependencies: '@types/events': 3.0.0 '@types/minimatch': 3.0.3 - '@types/node': 12.12.12 + '@types/node': 12.12.14 dev: true resolution: integrity: sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== @@ -1219,10 +1226,18 @@ packages: dev: true resolution: integrity: sha512-MGuvYJrPU0HUwqF7LqvIj50RZUX23Z+m583KBygKYUZLlZ88n6w28XRNJRJgsHukLEnLz6w6SvxZoLgbr5wLqQ== + /@types/node/12.12.14: + dev: true + resolution: + integrity: sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA== /@types/normalize-package-data/2.4.0: dev: true resolution: integrity: sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + /@types/q/1.5.2: + dev: true + resolution: + integrity: sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== /@types/resolve/0.0.8: dependencies: '@types/node': 12.12.12 @@ -1239,10 +1254,10 @@ packages: dev: true resolution: integrity: sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ== - /@typescript-eslint/eslint-plugin/2.8.0_77f4dd8173ee26617e81699fb17b8eb8: + /@typescript-eslint/eslint-plugin/2.9.0_7d81ef8db268c0610d875f6201091ee0: dependencies: - '@typescript-eslint/experimental-utils': 2.8.0_typescript@3.7.2 - '@typescript-eslint/parser': 2.8.0_typescript@3.7.2 + '@typescript-eslint/experimental-utils': 2.9.0_typescript@3.7.2 + '@typescript-eslint/parser': 2.9.0_typescript@3.7.2 eslint-utils: 1.4.3 functional-red-black-tree: 1.0.1 regexpp: 3.0.0 @@ -1259,11 +1274,11 @@ packages: typescript: optional: true resolution: - integrity: sha512-ohqul5s6XEB0AzPWZCuJF5Fd6qC0b4+l5BGEnrlpmvXxvyymb8yw8Bs4YMF8usNAeuCJK87eFIHy8g8GFvOtGA== - /@typescript-eslint/experimental-utils/2.8.0_typescript@3.7.2: + integrity: sha512-98rfOt3NYn5Gr9wekTB8TexxN6oM8ZRvYuphPs1Atfsy419SDLYCaE30aJkRiiTCwGEY98vOhFsEVm7Zs4toQQ== + /@typescript-eslint/experimental-utils/2.9.0_typescript@3.7.2: dependencies: '@types/json-schema': 7.0.3 - '@typescript-eslint/typescript-estree': 2.8.0_typescript@3.7.2 + '@typescript-eslint/typescript-estree': 2.9.0_typescript@3.7.2 eslint-scope: 5.0.0 dev: true engines: @@ -1272,12 +1287,12 @@ packages: eslint: '*' typescript: '*' resolution: - integrity: sha512-jZ05E4SxCbbXseQGXOKf3ESKcsGxT8Ucpkp1jiVp55MGhOvZB2twmWKf894PAuVQTCgbPbJz9ZbRDqtUWzP8xA== - /@typescript-eslint/parser/2.8.0_typescript@3.7.2: + integrity: sha512-0lOLFdpdJsCMqMSZT7l7W2ta0+GX8A3iefG3FovJjrX+QR8y6htFlFdU7aOVPL6pDvt6XcsOb8fxk5sq+girTw== + /@typescript-eslint/parser/2.9.0_typescript@3.7.2: dependencies: '@types/eslint-visitor-keys': 1.0.0 - '@typescript-eslint/experimental-utils': 2.8.0_typescript@3.7.2 - '@typescript-eslint/typescript-estree': 2.8.0_typescript@3.7.2 + '@typescript-eslint/experimental-utils': 2.9.0_typescript@3.7.2 + '@typescript-eslint/typescript-estree': 2.9.0_typescript@3.7.2 eslint-visitor-keys: 1.1.0 dev: true engines: @@ -1286,8 +1301,8 @@ packages: eslint: ^5.0.0 || ^6.0.0 typescript: '*' resolution: - integrity: sha512-NseXWzhkucq+JM2HgqAAoKEzGQMb5LuTRjFPLQzGIdLthXMNUfuiskbl7QSykvWW6mvzCtYbw1fYWGa2EIaekw== - /@typescript-eslint/typescript-estree/2.8.0_typescript@3.7.2: + integrity: sha512-fJ+dNs3CCvEsJK2/Vg5c2ZjuQ860ySOAsodDPwBaVlrGvRN+iCNC8kUfLFL8cT49W4GSiLPa/bHiMjYXA7EhKQ== + /@typescript-eslint/typescript-estree/2.9.0_typescript@3.7.2: dependencies: debug: 4.1.1 eslint-visitor-keys: 1.1.0 @@ -1306,7 +1321,7 @@ packages: typescript: optional: true resolution: - integrity: sha512-ksvjBDTdbAQ04cR5JyFSDX113k66FxH1tAXmi+dj6hufsl/G0eMc/f1GgLjEVPkYClDbRKv+rnBFuE5EusomUw== + integrity: sha512-v6btSPXEWCP594eZbM+JCXuFoXWXyF/z8kaSBSdCb83DF+Y7+xItW29SsKtSULgLemqJBT+LpT+0ZqdfH7QVmA== /acorn-dynamic-import/4.0.0_acorn@6.3.0: dependencies: acorn: 6.3.0 @@ -1379,6 +1394,10 @@ packages: dev: true resolution: integrity: sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== + /alphanum-sort/1.0.2: + dev: true + resolution: + integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= /ansi-align/3.0.0: dependencies: string-width: 3.1.0 @@ -1472,10 +1491,10 @@ packages: dev: true resolution: integrity: sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= - /arg/4.1.1: + /arg/4.1.2: dev: true resolution: - integrity: sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw== + integrity: sha512-+ytCkGcBtHZ3V2r2Z06AncYO8jz46UEamcspGoU8lHcEbpn6J77QK0vdWvChsclg/tM5XIJC5tnjmPp7Eq6Obg== /argparse/1.0.10: dependencies: sprintf-js: 1.0.3 @@ -1653,6 +1672,10 @@ packages: dev: true resolution: integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + /big.js/3.2.0: + dev: true + resolution: + integrity: sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== /binary-extensions/2.0.0: dev: true engines: @@ -1667,6 +1690,10 @@ packages: dev: true resolution: integrity: sha512-zo+HIdIhzojv6F1siQPqPFROyVy7C50KzHv/k/Iz+BtvtVzSHXiMXOpq2wCfNkeBqdCv+V8XOV96tsEt2W/3rQ== + /boolbase/1.0.0: + dev: true + resolution: + integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24= /boxen/3.2.0: dependencies: ansi-align: 3.0.0 @@ -1831,6 +1858,15 @@ packages: node: '>=6' resolution: integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + /caniuse-api/3.0.0: + dependencies: + browserslist: 4.7.3 + caniuse-lite: 1.0.30001012 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + dev: true + resolution: + integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== /caniuse-lite/1.0.30001012: dev: true resolution: @@ -1970,6 +2006,16 @@ packages: node: '>=0.8' resolution: integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + /coa/2.0.2: + dependencies: + '@types/q': 1.5.2 + chalk: 2.4.2 + q: 1.5.1 + dev: true + engines: + node: '>= 4.0' + resolution: + integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== /code-excerpt/2.1.1: dependencies: convert-to-spaces: 1.0.2 @@ -2013,6 +2059,20 @@ packages: dev: true resolution: integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + /color-string/1.5.3: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: true + resolution: + integrity: sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + /color/3.1.2: + dependencies: + color-convert: 1.9.3 + color-string: 1.5.3 + dev: true + resolution: + integrity: sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== /commander/2.20.3: dev: true resolution: @@ -2029,6 +2089,12 @@ packages: dev: true resolution: integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + /concat-with-sourcemaps/1.1.0: + dependencies: + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== /concordance/4.0.0: dependencies: date-time: 2.1.0 @@ -2157,6 +2223,164 @@ packages: node: '>=4' resolution: integrity: sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= + /css-color-names/0.0.4: + dev: true + resolution: + integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + /css-declaration-sorter/4.0.1: + dependencies: + postcss: 7.0.23 + timsort: 0.3.0 + dev: true + engines: + node: '>4' + resolution: + integrity: sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + /css-modules-loader-core/1.1.0: + dependencies: + icss-replace-symbols: 1.1.0 + postcss: 6.0.1 + postcss-modules-extract-imports: 1.1.0 + postcss-modules-local-by-default: 1.2.0 + postcss-modules-scope: 1.1.0 + postcss-modules-values: 1.3.0 + dev: true + resolution: + integrity: sha1-WQhmgpShvs0mGuCkziGwtVHyHRY= + /css-select-base-adapter/0.1.1: + dev: true + resolution: + integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + /css-select/2.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 3.2.1 + domutils: 1.7.0 + nth-check: 1.0.2 + dev: true + resolution: + integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + /css-selector-tokenizer/0.7.1: + dependencies: + cssesc: 0.1.0 + fastparse: 1.1.2 + regexpu-core: 1.0.0 + dev: true + resolution: + integrity: sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA== + /css-tree/1.0.0-alpha.37: + dependencies: + mdn-data: 2.0.4 + source-map: 0.6.1 + dev: true + engines: + node: '>=8.0.0' + resolution: + integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + /css-unit-converter/1.1.1: + dev: true + resolution: + integrity: sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= + /css-what/3.2.1: + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== + /cssesc/0.1.0: + dev: true + hasBin: true + resolution: + integrity: sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= + /cssesc/2.0.0: + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== + /cssnano-preset-default/4.0.7: + dependencies: + css-declaration-sorter: 4.0.1 + cssnano-util-raw-cache: 4.0.1 + postcss: 7.0.23 + postcss-calc: 7.0.1 + postcss-colormin: 4.0.3 + postcss-convert-values: 4.0.1 + postcss-discard-comments: 4.0.2 + postcss-discard-duplicates: 4.0.2 + postcss-discard-empty: 4.0.1 + postcss-discard-overridden: 4.0.1 + postcss-merge-longhand: 4.0.11 + postcss-merge-rules: 4.0.3 + postcss-minify-font-values: 4.0.2 + postcss-minify-gradients: 4.0.2 + postcss-minify-params: 4.0.2 + postcss-minify-selectors: 4.0.2 + postcss-normalize-charset: 4.0.1 + postcss-normalize-display-values: 4.0.2 + postcss-normalize-positions: 4.0.2 + postcss-normalize-repeat-style: 4.0.2 + postcss-normalize-string: 4.0.2 + postcss-normalize-timing-functions: 4.0.2 + postcss-normalize-unicode: 4.0.1 + postcss-normalize-url: 4.0.1 + postcss-normalize-whitespace: 4.0.2 + postcss-ordered-values: 4.1.2 + postcss-reduce-initial: 4.0.3 + postcss-reduce-transforms: 4.0.2 + postcss-svgo: 4.0.2 + postcss-unique-selectors: 4.0.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== + /cssnano-util-get-arguments/4.0.0: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + /cssnano-util-get-match/4.0.0: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + /cssnano-util-raw-cache/4.0.1: + dependencies: + postcss: 7.0.23 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + /cssnano-util-same-parent/4.0.1: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + /cssnano/4.1.10: + dependencies: + cosmiconfig: 5.2.1 + cssnano-preset-default: 4.0.7 + is-resolvable: 1.1.0 + postcss: 7.0.23 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== + /csso/4.0.2: + dependencies: + css-tree: 1.0.0-alpha.37 + dev: true + engines: + node: '>=8.0.0' + resolution: + integrity: sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg== /currently-unhandled/0.4.1: dependencies: array-find-index: 1.0.2 @@ -2350,6 +2574,28 @@ packages: node: '>=6.0.0' resolution: integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + /dom-serializer/0.2.2: + dependencies: + domelementtype: 2.0.1 + entities: 2.0.0 + dev: true + resolution: + integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + /domelementtype/1.3.1: + dev: true + resolution: + integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + /domelementtype/2.0.1: + dev: true + resolution: + integrity: sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + /domutils/1.7.0: + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + dev: true + resolution: + integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== /dot-prop/4.2.0: dependencies: is-obj: 1.0.1 @@ -2394,6 +2640,12 @@ packages: dev: true resolution: integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + /emojis-list/2.1.0: + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha1-TapNnbAPmBmIDHn6RXrlsJof04k= /empower-core/1.2.0: dependencies: call-signature: 0.0.2 @@ -2407,6 +2659,10 @@ packages: dev: true resolution: integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + /entities/2.0.0: + dev: true + resolution: + integrity: sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== /equal-length/1.0.1: dev: true engines: @@ -2475,7 +2731,7 @@ packages: /eslint-import-resolver-node/0.3.2: dependencies: debug: 2.6.9 - resolve: 1.12.2 + resolve: 1.13.1 dev: true resolution: integrity: sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== @@ -2501,7 +2757,7 @@ packages: minimatch: 3.0.4 object.values: 1.1.0 read-pkg-up: 2.0.0 - resolve: 1.12.2 + resolve: 1.13.1 dev: true engines: node: '>=4' @@ -2748,6 +3004,10 @@ packages: dev: true resolution: integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + /fastparse/1.1.2: + dev: true + resolution: + integrity: sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== /fastq/1.6.0: dependencies: reusify: 1.0.4 @@ -2870,6 +3130,12 @@ packages: dev: true resolution: integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + /generic-names/1.0.3: + dependencies: + loader-utils: 0.2.17 + dev: true + resolution: + integrity: sha1-LXhqEhruUIh2eWk56OO/+DbCCRc= /get-caller-file/2.0.5: dev: true engines: @@ -3016,7 +3282,7 @@ packages: node: '>=0.4.7' hasBin: true optionalDependencies: - uglify-js: 3.6.9 + uglify-js: 3.7.0 resolution: integrity: sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA== /has-ansi/2.0.0: @@ -3027,6 +3293,12 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + /has-flag/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= /has-flag/3.0.0: engines: node: '>=4' @@ -3075,10 +3347,26 @@ packages: node: '>=8' resolution: integrity: sha512-OFPDWmzPN1l7atOV1TgBVmNtBxaIysToK6Ve9DK+vT6pYuklw/nPNT+HJbZi0KDcI6vWB+9tgvZ5YD7fA3CXcA== + /hex-color-regex/1.1.0: + dev: true + resolution: + integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== /hosted-git-info/2.8.5: dev: true resolution: integrity: sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== + /hsl-regex/1.0.0: + dev: true + resolution: + integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + /hsla-regex/1.0.0: + dev: true + resolution: + integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + /html-comment-regex/1.1.2: + dev: true + resolution: + integrity: sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== /http-cache-semantics/4.0.3: dev: true resolution: @@ -3111,6 +3399,10 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + /icss-replace-symbols/1.1.0: + dev: true + resolution: + integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= /ignore-by-default/1.0.1: dev: true resolution: @@ -3127,6 +3419,14 @@ packages: node: '>= 4' resolution: integrity: sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== + /import-cwd/2.1.0: + dependencies: + import-from: 2.1.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= /import-fresh/2.0.0: dependencies: caller-path: 2.0.0 @@ -3145,6 +3445,14 @@ packages: node: '>=6' resolution: integrity: sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + /import-from/2.1.0: + dependencies: + resolve-from: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-M1238qev/VOqpHHUuAId7ja387E= /import-lazy/2.1.0: dev: true engines: @@ -3179,6 +3487,10 @@ packages: node: '>=8' resolution: integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + /indexes-of/1.0.1: + dev: true + resolution: + integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc= /inflight/1.0.6: dependencies: once: 1.4.0 @@ -3226,6 +3538,12 @@ packages: node: '>=6' resolution: integrity: sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw== + /is-absolute-url/2.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= /is-arguments/1.0.4: dev: true engines: @@ -3236,6 +3554,10 @@ packages: dev: true resolution: integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + /is-arrayish/0.3.2: + dev: true + resolution: + integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== /is-binary-path/2.1.0: dependencies: binary-extensions: 2.0.0 @@ -3257,6 +3579,17 @@ packages: hasBin: true resolution: integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + /is-color-stop/1.1.0: + 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 + dev: true + resolution: + integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= /is-date-object/1.0.1: dev: true engines: @@ -3432,6 +3765,10 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + /is-resolvable/1.1.0: + dev: true + resolution: + integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== /is-stream/1.1.0: dev: true engines: @@ -3444,6 +3781,14 @@ packages: node: '>=8' resolution: integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + /is-svg/3.0.0: + dependencies: + html-comment-regex: 1.1.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== /is-symbol/1.0.3: dependencies: has-symbols: 1.0.1 @@ -3611,6 +3956,11 @@ packages: dev: true resolution: integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + /json5/0.5.1: + dev: true + hasBin: true + resolution: + integrity: sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= /json5/1.0.1: dependencies: minimist: 1.2.0 @@ -3765,6 +4115,15 @@ packages: node: '>=6' resolution: integrity: sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw== + /loader-utils/0.2.17: + dependencies: + big.js: 3.2.0 + emojis-list: 2.1.0 + json5: 0.5.1 + object-assign: 4.1.1 + dev: true + resolution: + integrity: sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= /locate-character/2.0.5: dev: true resolution: @@ -3795,6 +4154,10 @@ packages: node: '>=8' resolution: integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + /lodash.camelcase/4.3.0: + dev: true + resolution: + integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY= /lodash.clonedeep/4.5.0: dev: true resolution: @@ -3807,6 +4170,10 @@ packages: dev: true resolution: integrity: sha1-Tpho1FJXXXUK/9NYyXlUPcIO1Xc= + /lodash.memoize/4.1.2: + dev: true + resolution: + integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= /lodash.merge/4.6.2: dev: true resolution: @@ -3815,6 +4182,10 @@ packages: dev: true resolution: integrity: sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= + /lodash.uniq/4.5.0: + dev: true + resolution: + integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= /lodash/4.17.15: dev: true resolution: @@ -3980,6 +4351,10 @@ packages: dev: true resolution: integrity: sha1-givM1l4RfFFPqxdrJZRdVBAKA8M= + /mdn-data/2.0.4: + dev: true + resolution: + integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== /meow/5.0.0: dependencies: camelcase-keys: 4.2.0 @@ -4136,7 +4511,7 @@ packages: /normalize-package-data/2.5.0: dependencies: hosted-git-info: 2.8.5 - resolve: 1.12.2 + resolve: 1.13.1 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -4148,6 +4523,12 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + /normalize-url/3.3.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== /normalize-url/4.5.0: dev: true engines: @@ -4170,6 +4551,12 @@ packages: node: '>=8' resolution: integrity: sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg== + /nth-check/1.0.2: + dependencies: + boolbase: 1.0.0 + dev: true + resolution: + integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== /number-is-nan/1.0.1: dev: true engines: @@ -4242,6 +4629,15 @@ packages: node: '>= 0.4' resolution: integrity: sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + /object.getownpropertydescriptors/2.0.3: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.16.2 + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= /object.values/1.1.0: dependencies: define-properties: 1.1.3 @@ -4412,6 +4808,12 @@ packages: node: '>=8' resolution: integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + /p-queue/2.4.2: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng== /p-try/1.0.0: dev: true engines: @@ -4658,13 +5060,376 @@ packages: node: '>=6' resolution: integrity: sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w== - /pnpm/4.3.0: + /pnpm/4.3.3: dev: true engines: node: '>=10' hasBin: true resolution: - integrity: sha512-dra2MDyO1Kj2iJSMt/ApS5q2+to/EWFwmY0/RwA12IX9U+xlOrRPx3yop2RAl4G47pZTvSGddEcXJAHCnG4BXA== + integrity: sha512-YI9+eu3oJWoS9TyGZBScpQAZo1ScPXj68tqbQWRQrjN59o9myoQmUtVy4i7+4IloJHouT1y7/Dw6VkZO9J+5Ow== + /postcss-calc/7.0.1: + dependencies: + css-unit-converter: 1.1.1 + postcss: 7.0.23 + postcss-selector-parser: 5.0.0 + postcss-value-parser: 3.3.1 + dev: true + resolution: + integrity: sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== + /postcss-colormin/4.0.3: + dependencies: + browserslist: 4.7.3 + color: 3.1.2 + has: 1.0.3 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + /postcss-convert-values/4.0.1: + dependencies: + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + /postcss-discard-comments/4.0.2: + dependencies: + postcss: 7.0.23 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + /postcss-discard-duplicates/4.0.2: + dependencies: + postcss: 7.0.23 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + /postcss-discard-empty/4.0.1: + dependencies: + postcss: 7.0.23 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + /postcss-discard-overridden/4.0.1: + dependencies: + postcss: 7.0.23 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + /postcss-load-config/2.1.0: + dependencies: + cosmiconfig: 5.2.1 + import-cwd: 2.1.0 + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== + /postcss-merge-longhand/4.0.11: + dependencies: + css-color-names: 0.0.4 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + stylehacks: 4.0.3 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + /postcss-merge-rules/4.0.3: + dependencies: + browserslist: 4.7.3 + caniuse-api: 3.0.0 + cssnano-util-same-parent: 4.0.1 + postcss: 7.0.23 + postcss-selector-parser: 3.1.1 + vendors: 1.0.3 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + /postcss-minify-font-values/4.0.2: + dependencies: + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + /postcss-minify-gradients/4.0.2: + dependencies: + cssnano-util-get-arguments: 4.0.0 + is-color-stop: 1.1.0 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== + /postcss-minify-params/4.0.2: + dependencies: + alphanum-sort: 1.0.2 + browserslist: 4.7.3 + cssnano-util-get-arguments: 4.0.0 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + uniqs: 2.0.0 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== + /postcss-minify-selectors/4.0.2: + dependencies: + alphanum-sort: 1.0.2 + has: 1.0.3 + postcss: 7.0.23 + postcss-selector-parser: 3.1.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + /postcss-modules-extract-imports/1.1.0: + dependencies: + postcss: 6.0.1 + dev: true + resolution: + integrity: sha1-thTJcgvmgW6u41+zpfqh26agXds= + /postcss-modules-local-by-default/1.2.0: + dependencies: + css-selector-tokenizer: 0.7.1 + postcss: 6.0.1 + dev: true + resolution: + integrity: sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= + /postcss-modules-scope/1.1.0: + dependencies: + css-selector-tokenizer: 0.7.1 + postcss: 6.0.1 + dev: true + resolution: + integrity: sha1-1upkmUx5+XtipytCb75gVqGUu5A= + /postcss-modules-values/1.3.0: + dependencies: + icss-replace-symbols: 1.1.0 + postcss: 6.0.1 + dev: true + resolution: + integrity: sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= + /postcss-modules/1.4.1: + dependencies: + css-modules-loader-core: 1.1.0 + generic-names: 1.0.3 + lodash.camelcase: 4.3.0 + postcss: 7.0.23 + string-hash: 1.1.3 + dev: true + resolution: + integrity: sha512-btTrbK+Xc3NBuYF8TPBjCMRSp5h6NoQ1iVZ6WiDQENIze6KIYCSf0+UFQuV3yJ7gRHA+4AAtF8i2jRvUpbBMMg== + /postcss-normalize-charset/4.0.1: + dependencies: + postcss: 7.0.23 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + /postcss-normalize-display-values/4.0.2: + dependencies: + cssnano-util-get-match: 4.0.0 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== + /postcss-normalize-positions/4.0.2: + dependencies: + cssnano-util-get-arguments: 4.0.0 + has: 1.0.3 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== + /postcss-normalize-repeat-style/4.0.2: + dependencies: + cssnano-util-get-arguments: 4.0.0 + cssnano-util-get-match: 4.0.0 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== + /postcss-normalize-string/4.0.2: + dependencies: + has: 1.0.3 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + /postcss-normalize-timing-functions/4.0.2: + dependencies: + cssnano-util-get-match: 4.0.0 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + /postcss-normalize-unicode/4.0.1: + dependencies: + browserslist: 4.7.3 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + /postcss-normalize-url/4.0.1: + dependencies: + is-absolute-url: 2.1.0 + normalize-url: 3.3.0 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + /postcss-normalize-whitespace/4.0.2: + dependencies: + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + /postcss-ordered-values/4.1.2: + dependencies: + cssnano-util-get-arguments: 4.0.0 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + /postcss-reduce-initial/4.0.3: + dependencies: + browserslist: 4.7.3 + caniuse-api: 3.0.0 + has: 1.0.3 + postcss: 7.0.23 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + /postcss-reduce-transforms/4.0.2: + dependencies: + cssnano-util-get-match: 4.0.0 + has: 1.0.3 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + /postcss-selector-parser/3.1.1: + dependencies: + dot-prop: 4.2.0 + indexes-of: 1.0.1 + uniq: 1.0.1 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= + /postcss-selector-parser/5.0.0: + dependencies: + cssesc: 2.0.0 + indexes-of: 1.0.1 + uniq: 1.0.1 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + /postcss-svgo/4.0.2: + dependencies: + is-svg: 3.0.0 + postcss: 7.0.23 + postcss-value-parser: 3.3.1 + svgo: 1.3.2 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== + /postcss-unique-selectors/4.0.1: + dependencies: + alphanum-sort: 1.0.2 + postcss: 7.0.23 + uniqs: 2.0.0 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + /postcss-value-parser/3.3.1: + dev: true + resolution: + integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + /postcss/6.0.1: + dependencies: + chalk: 1.1.3 + source-map: 0.5.7 + supports-color: 3.2.3 + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha1-AA29H47vIXqjaLmiEsX8QLKo8/I= + /postcss/7.0.23: + dependencies: + chalk: 2.4.2 + source-map: 0.6.1 + supports-color: 6.1.0 + dev: true + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-hOlMf3ouRIFXD+j2VJecwssTwbvsPGJVMzupptg+85WA+i7MwyrydmQAgY3R+m0Bc0exunhbJmijy8u8+vufuQ== /prelude-ls/1.1.2: dev: true engines: @@ -4733,6 +5498,12 @@ packages: node: '>=0.4.0' resolution: integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + /promise.series/0.2.0: + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= /pseudomap/1.0.2: dev: true resolution: @@ -4750,6 +5521,13 @@ packages: node: '>=6' resolution: integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + /q/1.5.1: + dev: true + engines: + node: '>=0.6.0' + teleport: '>=0.2.0' + resolution: + integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= /quick-lru/1.1.0: dev: true engines: @@ -4885,6 +5663,14 @@ packages: node: '>=8' resolution: integrity: sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== + /regexpu-core/1.0.0: + dependencies: + regenerate: 1.4.0 + regjsgen: 0.2.0 + regjsparser: 0.1.5 + dev: true + resolution: + integrity: sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= /regexpu-core/4.6.0: dependencies: regenerate: 1.4.0 @@ -4914,9 +5700,20 @@ packages: node: '>=8' resolution: integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + /regjsgen/0.2.0: + dev: true + resolution: + integrity: sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= /regjsgen/0.5.1: resolution: integrity: sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== + /regjsparser/0.1.5: + dependencies: + jsesc: 0.5.0 + dev: true + hasBin: true + resolution: + integrity: sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= /regjsparser/0.6.0: dependencies: jsesc: 0.5.0 @@ -4947,6 +5744,10 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-WhtS63Dr7UPrmC6XTIWrWVceVvo= + /reserved-words/0.1.2: + dev: true + resolution: + integrity: sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= /resolve-cwd/3.0.0: dependencies: resolve-from: 5.0.0 @@ -4979,6 +5780,12 @@ packages: dev: true resolution: integrity: sha512-cAVTI2VLHWYsGOirfeYVVQ7ZDejtQ9fp4YhYckWDEkFfqbVjaT11iM8k6xSAfGFMM+gDpZjMnFssPu8we+mqFw== + /resolve/1.13.1: + dependencies: + path-parse: 1.0.6 + dev: true + resolution: + integrity: sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w== /responselike/1.0.2: dependencies: lowercase-keys: 1.0.1 @@ -5010,6 +5817,14 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + /rgb-regex/1.0.1: + dev: true + resolution: + integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + /rgba-regex/1.0.0: + dev: true + resolution: + integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= /rimraf/2.6.3: dependencies: glob: 7.1.6 @@ -5094,6 +5909,27 @@ packages: rollup: '>=1.11.0' resolution: integrity: sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw== + /rollup-plugin-postcss/2.0.3: + dependencies: + chalk: 2.4.2 + concat-with-sourcemaps: 1.1.0 + cssnano: 4.1.10 + import-cwd: 2.1.0 + p-queue: 2.4.2 + pify: 3.0.0 + postcss: 7.0.23 + postcss-load-config: 2.1.0 + postcss-modules: 1.4.1 + promise.series: 0.2.0 + reserved-words: 0.1.2 + resolve: 1.13.1 + rollup-pluginutils: 2.8.2 + style-inject: 0.3.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-d12oKl6za/GGXmlytzVPzzTdPCKgti/Kq2kNhtfm5vv9hkNbyrTvizMBm6zZ5rRWX/sIWl3znjIJ8xy6Hofoeg== /rollup-plugin-typescript/1.0.1_typescript@3.7.2: dependencies: resolve: 1.12.2 @@ -5165,6 +6001,10 @@ packages: dev: true resolution: integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + /sax/1.2.4: + dev: true + resolution: + integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== /semver-compare/1.0.0: dev: true resolution: @@ -5228,6 +6068,12 @@ packages: dev: true resolution: integrity: sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + /simple-swizzle/0.2.2: + dependencies: + is-arrayish: 0.3.2 + dev: true + resolution: + integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= /sinon/7.5.0: dependencies: '@sinonjs/commons': 1.6.0 @@ -5325,6 +6171,10 @@ packages: /sprintf-js/1.0.3: resolution: integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + /stable/0.1.8: + dev: true + resolution: + integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== /stack-utils/1.0.2: dev: true engines: @@ -5337,6 +6187,10 @@ packages: node: '>=0.6.19' resolution: integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + /string-hash/1.1.3: + dev: true + resolution: + integrity: sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= /string-width/1.0.2: dependencies: code-point-at: 1.1.0 @@ -5480,6 +6334,20 @@ packages: node: '>=8' resolution: integrity: sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + /style-inject/0.3.0: + dev: true + resolution: + integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== + /stylehacks/4.0.3: + dependencies: + browserslist: 4.7.3 + postcss: 7.0.23 + postcss-selector-parser: 3.1.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== /supertap/1.0.0: dependencies: arrify: 1.0.1 @@ -5498,6 +6366,14 @@ packages: node: '>=0.8.0' resolution: integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + /supports-color/3.2.3: + dependencies: + has-flag: 1.0.0 + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= /supports-color/5.5.0: dependencies: has-flag: 3.0.0 @@ -5521,6 +6397,27 @@ packages: node: '>=8' resolution: integrity: sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + /svgo/1.3.2: + dependencies: + chalk: 2.4.2 + coa: 2.0.2 + css-select: 2.1.0 + css-select-base-adapter: 0.1.1 + css-tree: 1.0.0-alpha.37 + csso: 4.0.2 + js-yaml: 3.13.1 + mkdirp: 0.5.1 + object.values: 1.1.0 + sax: 1.2.4 + stable: 0.1.8 + unquote: 1.1.1 + util.promisify: 1.0.0 + dev: true + engines: + node: '>=4.0.0' + hasBin: true + resolution: + integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== /symbol-observable/1.2.0: dev: true engines: @@ -5571,6 +6468,10 @@ packages: node: '>=4' resolution: integrity: sha1-mcW/VZWJZq9tBtg73zgA3IL67F0= + /timsort/0.3.0: + dev: true + resolution: + integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= /tmp/0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -5625,7 +6526,7 @@ packages: integrity: sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= /ts-node/8.5.2_typescript@3.7.2: dependencies: - arg: 4.1.1 + arg: 4.1.2 diff: 4.0.1 make-error: 1.3.5 source-map-support: 0.5.16 @@ -5708,7 +6609,7 @@ packages: hasBin: true resolution: integrity: sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ== - /uglify-js/3.6.9: + /uglify-js/3.7.0: dependencies: commander: 2.20.3 source-map: 0.6.1 @@ -5718,7 +6619,7 @@ packages: hasBin: true optional: true resolution: - integrity: sha512-pcnnhaoG6RtrvHJ1dFncAe8Od6Nuy30oaJ82ts6//sGSXOP5UjBMEthiProjXmMNHOfd93sqlkztifFMcb+4yw== + integrity: sha512-PC/ee458NEMITe1OufAjal65i6lB58R1HWMRcxwvdz1UopW0DYqlRL3xdu3IcTvTXsB02CRHykidkTRL+A3hQA== /uid2/0.0.3: dev: true resolution: @@ -5746,6 +6647,14 @@ packages: node: '>=4' resolution: integrity: sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== + /uniq/1.0.1: + dev: true + resolution: + integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + /uniqs/2.0.0: + dev: true + resolution: + integrity: sha1-/+3ks2slKQaW5uFl1KWe25mOawI= /unique-string/1.0.0: dependencies: crypto-random-string: 1.0.0 @@ -5764,6 +6673,10 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U= + /unquote/1.1.1: + dev: true + resolution: + integrity: sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= /update-notifier/3.0.1: dependencies: boxen: 3.2.0 @@ -5797,6 +6710,13 @@ packages: node: '>=4' resolution: integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + /util.promisify/1.0.0: + dependencies: + define-properties: 1.1.3 + object.getownpropertydescriptors: 2.0.3 + dev: true + resolution: + integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== /uuid/3.3.3: dev: true hasBin: true @@ -5813,6 +6733,10 @@ packages: dev: true resolution: integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + /vendors/1.0.3: + dev: true + resolution: + integrity: sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw== /vlq/0.2.3: dev: true resolution: diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 4f5e324fc..ed0d4251a 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -1,13 +1,7 @@ { "extends": "./tsconfig.base.json", "include": [ - ".eslintrc.js", - "./**/rollup.config.js", - "./**/fixtures", - "./**/lib", - "./**/src", - "./**/test", - "./**/types/**/*.d.ts", + "packages", "scripts", "util" ] diff --git a/util/test.js b/util/test.js index d96507246..a0612f108 100644 --- a/util/test.js +++ b/util/test.js @@ -1,7 +1,12 @@ -const getCode = async (bundle) => { - const { output } = await bundle.generate({ format: 'cjs' }); - const [{ code }] = output; +const getCode = async (bundle, outputOptions, allFiles = false) => { + const { output } = await bundle.generate(outputOptions || { format: 'cjs' }); + if (allFiles) { + return output.map(({ code, fileName, source }) => { + return { code, fileName, source }; + }); + } + const [{ code }] = output; return code; };