diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml
index 6c6a872ad6..afef0e6dd7 100644
--- a/.github/workflows/node.js.yml
+++ b/.github/workflows/node.js.yml
@@ -15,7 +15,7 @@ jobs:
strategy:
matrix:
- node-version: [12.x]
+ node-version: [14.x]
steps:
- uses: actions/checkout@v2
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index acd2eed7bd..5f4acba76a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -10,9 +10,7 @@ cd plot
yarn
```
-Plot is written in ES modules and uses [Snowpack](https://snowpack.dev/) for
-development; this means that you can edit the Plot source code and examples, and
-they’ll update live as you save changes. To start Snowpack:
+Plot is written in ES modules and uses [Snowpack](https://snowpack.dev/) for development; this means that you can edit the Plot source code and examples, and they’ll update live as you save changes. To start Snowpack:
```
yarn dev
@@ -24,15 +22,9 @@ This should open http://localhost:8008/ where you can browse the tests.
Plot has both unit tests and snapshot tests.
-**Unit tests** live in `test` and have the `-test.js` extension. These tests are
-written using [Tape](https://github.com/substack/tape) (more precisely,
-[tape-await](https://github.com/mbostock/tape-await) for easier async testing).
-Generally speaking, unit tests make specific assertions about the behavior of
-Plot’s internals and helper methods.
+**Unit tests** live in `test` and have the `-test.js` extension. These tests are written using [Mocha](https://mochajs.org). Generally speaking, unit tests make specific assertions about the behavior of Plot’s internals and helper methods.
-**Snapshot tests** live in `test/plots`; these also serve as examples of how to
-use the Plot API. Each snapshot test defines a plot by exporting a default async
-function. For example, here’s a line chart using BLS unemployment data:
+**Snapshot tests** live in `test/plots`; these also serve as examples of how to use the Plot API. Each snapshot test defines a plot by exporting a default async function. For example, here’s a line chart using BLS unemployment data:
```js
import * as Plot from "@observablehq/plot";
@@ -49,18 +41,9 @@ export default async function() {
}
```
-When a snapshot test is run, its output is compared against the SVG snapshot
-saved in the `test/output` folder. This makes it easier to see the effect of
-code changes and to catch unintended changes.
+When a snapshot test is run, its output is compared against the SVG snapshot saved in the `test/output` folder. This makes it easier to see the effect of code changes and to catch unintended changes.
-To add a new snapshot test, create a new JavaScript file in the `test/plots`
-folder. Then register your test in the test registry, `test/plots/index.js`.
-Once you’ve registered your test, it will also appear automatically in the test
-browser (http://localhost:8008), where you can inspect and debug the output.
-(Snapshot tests must have deterministic, reproducible behavior; they should not
-depend on live data, external servers, the current time, the weather, etc. To
-use randomness in a test, use a seeded random number generator such as
-[d3.randomLcg](https://github.com/d3/d3-random/blob/master/README.md#randomLcg).)
+To add a new snapshot test, create a new JavaScript file in the `test/plots` folder. Then register your test in the test registry, `test/plots/index.js`. Once you’ve registered your test, it will also appear automatically in the test browser (http://localhost:8008), where you can inspect and debug the output. (Snapshot tests must have deterministic, reproducible behavior; they should not depend on live data, external servers, the current time, the weather, etc. To use randomness in a test, use a seeded random number generator such as [d3.randomLcg](https://github.com/d3/d3-random/blob/master/README.md#randomLcg).)
To run the tests:
@@ -68,13 +51,9 @@ To run the tests:
yarn test
```
-This will automatically generate any missing snapshots in `test/output`, which
-you should remember to `git add` before committing your changes. (If you forget,
-your PR will fail in CI, and you’ll get a reminder.)
+This will automatically generate any missing snapshots in `test/output`, which you should remember to `git add` before committing your changes. (If you forget, your PR will fail in CI, and you’ll get a reminder.)
-If your code intentionally changes some of the existing snapshots, simply blow
-away the existing snapshots and run the tests again. You can then review what’s
-changed using `git diff`.
+If your code intentionally changes some of the existing snapshots, simply blow away the existing snapshots and run the tests again. You can then review what’s changed using `git diff`.
```
rm -rf test/output
diff --git a/README.md b/README.md
index f7cabc7799..3be95e9e43 100644
--- a/README.md
+++ b/README.md
@@ -990,6 +990,7 @@ The following aggregation methods are supported:
* *median* - the median value
* *deviation* - the standard deviation
* *variance* - the variance per [Welford’s algorithm](https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Welford's_online_algorithm)
+* *mode* - the value with the most occurrences
* a function to be passed the array of values for each bin
* an object with a *reduce* method
diff --git a/esm.js b/esm.js
deleted file mode 100644
index 85c6e3a2e8..0000000000
--- a/esm.js
+++ /dev/null
@@ -1,7 +0,0 @@
-const {readFileSync} = require("fs");
-const {Module} = require("module");
-
-// https://github.com/standard-things/esm/issues/855
-Module._extensions[".js"] = (module, filename) => {
- module._compile(readFileSync(filename, "utf8"), filename);
-};
diff --git a/package.json b/package.json
index 985655809b..ae7adeb0dd 100644
--- a/package.json
+++ b/package.json
@@ -7,10 +7,15 @@
"url": "https://observablehq.com"
},
"license": "ISC",
- "main": "dist/plot.cjs.js",
+ "type": "module",
+ "main": "src/index.js",
+ "module": "src/index.js",
"jsdelivr": "dist/plot.umd.min.js",
"unpkg": "dist/plot.umd.min.js",
- "module": "src/index.js",
+ "exports": {
+ "umd": "./dist/plot.umd.min.js",
+ "default": "./src/index.js"
+ },
"repository": {
"type": "git",
"url": "https://github.com/observablehq/plot.git"
@@ -20,35 +25,38 @@
"src/**/*.js"
],
"scripts": {
- "bundle": "rm -rf dist && rollup -c",
- "test": "mkdir -p test/output && tape -r ./esm.js -r esm -r module-alias/register 'test/**/*-test.js' | tap-dot && node -r ./esm.js -r esm -r module-alias/register test/plot.js | tap-dot && eslint src test",
- "prepublishOnly": "yarn bundle",
+ "test": "mkdir -p test/output && mocha -r module-alias/register 'test/**/*-test.js' && mocha -r module-alias/register test/plot.js && eslint src test",
+ "prepublishOnly": "rm -rf dist && rollup -c",
"postpublish": "git push && git push --tags",
"dev": "snowpack dev"
},
"_moduleAliases": {
"@observablehq/plot": "./src/index.js"
},
+ "sideEffects": false,
"devDependencies": {
"@rollup/plugin-json": "^4.1.0",
- "@rollup/plugin-node-resolve": "^11.2.1",
+ "@rollup/plugin-node-resolve": "^13.0.4",
"clean-css": "^5.1.1",
"eslint": "^7.12.1",
- "esm": "^3.2.25",
- "htl": "^0.2.5",
+ "htl": "^0.3.0",
"js-beautify": "^1.13.0",
"jsdom": "^16.4.0",
"jsesc": "^3.0.2",
+ "mocha": "^9.0.3",
"module-alias": "^2.2.2",
"rollup": "^2.32.1",
"rollup-plugin-terser": "^7.0.2",
- "snowpack": "^3.0.11",
- "tap-dot": "^2.0.0",
- "tape": "^4.13.3",
- "tape-await": "^0.1.2"
+ "snowpack": "^3.0.11"
},
"dependencies": {
- "d3": "^6.7.0",
+ "d3": "^7.0.0",
"isoformat": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "publishConfig": {
+ "registry": "https://npm.pkg.github.com"
}
}
diff --git a/rollup.config.js b/rollup.config.js
index cccedd6ab3..9fe1f5e963 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -10,7 +10,7 @@ import * as meta from "./package.json";
const filename = meta.name.split("/").pop();
// Resolve D3 dependency.
-const d3 = require("d3/package.json");
+const d3 = JSON.parse(fs.readFileSync("./node_modules/d3/package.json", "utf-8"));
if (typeof d3.jsdelivr === "undefined") throw new Error("unable to resolve d3");
const d3Path = `d3@${d3.version}/${d3.jsdelivr}`;
@@ -55,14 +55,6 @@ const config = {
};
export default [
- {
- ...config,
- output: {
- ...config.output,
- format: "cjs",
- file: `dist/${filename}.cjs.js`
- }
- },
{
...config,
output: {
diff --git a/snowpack.config.js b/snowpack.config.js
index 0060677559..5d113bceeb 100644
--- a/snowpack.config.js
+++ b/snowpack.config.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
alias: {
"@observablehq/plot": "./src/index.js"
},
diff --git a/src/transforms/group.js b/src/transforms/group.js
index 7c6ee2f3b5..b3d7bcb5ae 100644
--- a/src/transforms/group.js
+++ b/src/transforms/group.js
@@ -1,4 +1,4 @@
-import {group as grouper, sort, sum, deviation, min, max, mean, median, variance, InternSet} from "d3";
+import {group as grouper, sort, sum, deviation, min, max, mean, median, mode, variance, InternSet} from "d3";
import {firstof} from "../defined.js";
import {valueof, maybeColor, maybeInput, maybeTransform, maybeTuple, maybeLazyChannel, lazyChannel, first, identity, take, labelof, range} from "../mark.js";
@@ -149,6 +149,7 @@ export function maybeReduce(reduce, value) {
case "mean": return reduceAccessor(mean);
case "median": return reduceAccessor(median);
case "variance": return reduceAccessor(variance);
+ case "mode": return reduceAccessor(mode);
}
throw new Error("invalid reduce");
}
diff --git a/test/.eslintrc.json b/test/.eslintrc.json
new file mode 100644
index 0000000000..7eeefc33b6
--- /dev/null
+++ b/test/.eslintrc.json
@@ -0,0 +1,5 @@
+{
+ "env": {
+ "mocha": true
+ }
+}
diff --git a/test/cjs-test.js b/test/cjs-test.js
deleted file mode 100644
index 3442fa0c1a..0000000000
--- a/test/cjs-test.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
-
-tape("exports Frame", test => {
- test.ok(Object.keys(Plot).includes("plot"));
-});
diff --git a/test/marks/area-test.js b/test/marks/area-test.js
index aadb6c8194..7c214bc2e8 100644
--- a/test/marks/area-test.js
+++ b/test/marks/area-test.js
@@ -1,132 +1,132 @@
import * as Plot from "@observablehq/plot";
import {curveLinear, curveStep} from "d3";
-import tape from "tape-await";
+import assert from "assert";
-tape("area(data, options) has the expected defaults", test => {
+it("area(data, options) has the expected defaults", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1"});
- test.strictEqual(area.data, undefined);
- // test.strictEqual(area.transform, undefined);
- test.deepEqual(area.channels.map(c => c.name), ["x1", "y1"]);
- test.deepEqual(area.channels.map(c => c.value), ["0", "1"]);
- test.deepEqual(area.channels.map(c => c.scale), ["x", "y"]);
- test.strictEqual(area.curve, curveLinear);
- test.strictEqual(area.fill, undefined);
- test.strictEqual(area.fillOpacity, undefined);
- test.strictEqual(area.stroke, undefined);
- test.strictEqual(area.strokeWidth, undefined);
- test.strictEqual(area.strokeOpacity, undefined);
- test.strictEqual(area.strokeLinejoin, undefined);
- test.strictEqual(area.strokeLinecap, undefined);
- test.strictEqual(area.strokeMiterlimit, undefined);
- test.strictEqual(area.strokeDasharray, undefined);
- test.strictEqual(area.mixBlendMode, undefined);
-});
-
-tape("area(data, {x1, y1, y2}) specifies an optional y2 channel", test => {
+ assert.strictEqual(area.data, undefined);
+ // assert.strictEqual(area.transform, undefined);
+ assert.deepStrictEqual(area.channels.map(c => c.name), ["x1", "y1"]);
+ assert.deepStrictEqual(area.channels.map(c => c.value), ["0", "1"]);
+ assert.deepStrictEqual(area.channels.map(c => c.scale), ["x", "y"]);
+ assert.strictEqual(area.curve, curveLinear);
+ assert.strictEqual(area.fill, undefined);
+ assert.strictEqual(area.fillOpacity, undefined);
+ assert.strictEqual(area.stroke, undefined);
+ assert.strictEqual(area.strokeWidth, undefined);
+ assert.strictEqual(area.strokeOpacity, undefined);
+ assert.strictEqual(area.strokeLinejoin, undefined);
+ assert.strictEqual(area.strokeLinecap, undefined);
+ assert.strictEqual(area.strokeMiterlimit, undefined);
+ assert.strictEqual(area.strokeDasharray, undefined);
+ assert.strictEqual(area.mixBlendMode, undefined);
+});
+
+it("area(data, {x1, y1, y2}) specifies an optional y2 channel", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1", y2: "2"});
const y2 = area.channels.find(c => c.name === "y2");
- test.strictEqual(y2.value, "2");
- test.strictEqual(y2.scale, "y");
+ assert.strictEqual(y2.value, "2");
+ assert.strictEqual(y2.scale, "y");
});
-tape("area(data, {x1, x2, y1}) specifies an optional x2 channel", test => {
+it("area(data, {x1, x2, y1}) specifies an optional x2 channel", () => {
const area = Plot.area(undefined, {x1: "0", x2: "1", y1: "2"});
const x2 = area.channels.find(c => c.name === "x2");
- test.strictEqual(x2.value, "1");
- test.strictEqual(x2.scale, "x");
+ assert.strictEqual(x2.value, "1");
+ assert.strictEqual(x2.scale, "x");
});
-tape("area(data, {z}) specifies an optional z channel", test => {
+it("area(data, {z}) specifies an optional z channel", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1", z: "2"});
const z = area.channels.find(c => c.name === "z");
- test.strictEqual(z.value, "2");
- test.strictEqual(z.scale, undefined);
+ assert.strictEqual(z.value, "2");
+ assert.strictEqual(z.scale, undefined);
});
-tape("area(data, {title}) specifies an optional title channel", test => {
+it("area(data, {title}) specifies an optional title channel", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1", title: "2"});
const title = area.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "2");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "2");
+ assert.strictEqual(title.scale, undefined);
});
-tape("area(data, {fill}) allows fill to be a constant color", test => {
+it("area(data, {fill}) allows fill to be a constant color", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1", fill: "red"});
- test.strictEqual(area.fill, "red");
+ assert.strictEqual(area.fill, "red");
});
-tape("area(data, {fill}) allows fill to be null", test => {
+it("area(data, {fill}) allows fill to be null", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1", fill: null});
- test.strictEqual(area.fill, "none");
+ assert.strictEqual(area.fill, "none");
});
-tape("area(data, {fill}) allows fill to be a variable color", test => {
+it("area(data, {fill}) allows fill to be a variable color", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1", fill: "x"});
- test.strictEqual(area.fill, undefined);
+ assert.strictEqual(area.fill, undefined);
const fill = area.channels.find(c => c.name === "fill");
- test.strictEqual(fill.value, "x");
- test.strictEqual(fill.scale, "color");
+ assert.strictEqual(fill.value, "x");
+ assert.strictEqual(fill.scale, "color");
});
-tape("area(data, {fill}) implies a default z channel if fill is variable", test => {
+it("area(data, {fill}) implies a default z channel if fill is variable", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1", fill: "2", stroke: "3"}); // fill takes priority
const z = area.channels.find(c => c.name === "z");
- test.strictEqual(z.value, "2");
- test.strictEqual(z.scale, undefined);
+ assert.strictEqual(z.value, "2");
+ assert.strictEqual(z.scale, undefined);
});
-tape("area(data, {stroke}) allows stroke to be a constant color", test => {
+it("area(data, {stroke}) allows stroke to be a constant color", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1", stroke: "red"});
- test.strictEqual(area.stroke, "red");
+ assert.strictEqual(area.stroke, "red");
});
-tape("area(data, {stroke}) allows stroke to be null", test => {
+it("area(data, {stroke}) allows stroke to be null", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1", stroke: null});
- test.strictEqual(area.stroke, undefined);
+ assert.strictEqual(area.stroke, undefined);
});
-tape("area(data, {stroke}) allows stroke to be a variable color", test => {
+it("area(data, {stroke}) allows stroke to be a variable color", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1", stroke: "x"});
- test.strictEqual(area.stroke, undefined);
+ assert.strictEqual(area.stroke, undefined);
const stroke = area.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "x");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "x");
+ assert.strictEqual(stroke.scale, "color");
});
-tape("area(data, {stroke}) implies a default z channel if stroke is variable", test => {
+it("area(data, {stroke}) implies a default z channel if stroke is variable", () => {
const area = Plot.area(undefined, {x1: "0", y1: "1", stroke: "2"});
const z = area.channels.find(c => c.name === "z");
- test.strictEqual(z.value, "2");
- test.strictEqual(z.scale, undefined);
+ assert.strictEqual(z.value, "2");
+ assert.strictEqual(z.scale, undefined);
});
-tape("area(data, {curve}) specifies a named curve or function", test => {
- test.strictEqual(Plot.area(undefined, {x1: "0", y1: "1", curve: "step"}).curve, curveStep);
- test.strictEqual(Plot.area(undefined, {x1: "0", y1: "1", curve: curveStep}).curve, curveStep);
+it("area(data, {curve}) specifies a named curve or function", () => {
+ assert.strictEqual(Plot.area(undefined, {x1: "0", y1: "1", curve: "step"}).curve, curveStep);
+ assert.strictEqual(Plot.area(undefined, {x1: "0", y1: "1", curve: curveStep}).curve, curveStep);
});
-tape("areaX(data, {x, y}) defaults x1 to zero, x2 to x, and y1 to y", test => {
+it("areaX(data, {x, y}) defaults x1 to zero, x2 to x, and y1 to y", () => {
const area = Plot.areaX(undefined, {x: "0", y: "1"});
const x1 = area.channels.find(c => c.name === "x1");
- // test.strictEqual(x1.value, 0);
- test.strictEqual(x1.scale, "x");
+ // assert.strictEqual(x1.value, 0);
+ assert.strictEqual(x1.scale, "x");
const x2 = area.channels.find(c => c.name === "x2");
- test.strictEqual(x2.value.label, "0");
- test.strictEqual(x2.scale, "x");
+ assert.strictEqual(x2.value.label, "0");
+ assert.strictEqual(x2.scale, "x");
const y1 = area.channels.find(c => c.name === "y1");
- test.strictEqual(y1.value, "1");
- test.strictEqual(y1.scale, "y");
+ assert.strictEqual(y1.value, "1");
+ assert.strictEqual(y1.scale, "y");
});
-tape("areaY(data, {x, y}) defaults x1 to x, y1 to zero, and y2 to y", test => {
+it("areaY(data, {x, y}) defaults x1 to x, y1 to zero, and y2 to y", () => {
const area = Plot.areaY(undefined, {x: "0", y: "1"});
const x1 = area.channels.find(c => c.name === "x1");
- test.strictEqual(x1.value, "0");
- test.strictEqual(x1.scale, "x");
+ assert.strictEqual(x1.value, "0");
+ assert.strictEqual(x1.scale, "x");
const y1 = area.channels.find(c => c.name === "y1");
- // test.strictEqual(y1.value, 0);
- test.strictEqual(y1.scale, "y");
+ // assert.strictEqual(y1.value, 0);
+ assert.strictEqual(y1.scale, "y");
const y2 = area.channels.find(c => c.name === "y2");
- test.strictEqual(y2.value.label, "1");
- test.strictEqual(y2.scale, "y");
+ assert.strictEqual(y2.value.label, "1");
+ assert.strictEqual(y2.scale, "y");
});
diff --git a/test/marks/bar-test.js b/test/marks/bar-test.js
index 73cbde102e..93a1f3eff8 100644
--- a/test/marks/bar-test.js
+++ b/test/marks/bar-test.js
@@ -1,176 +1,176 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("barX() has the expected defaults", test => {
+it("barX() has the expected defaults", () => {
const bar = Plot.barX();
- test.strictEqual(bar.data, undefined);
- // test.strictEqual(bar.transform, undefined);
- test.deepEqual(bar.channels.map(c => c.name), ["x1", "x2"]);
- // test.deepEqual(bar.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[0, 0, 0], [1, 2, 3]]);
- test.deepEqual(bar.channels.map(c => c.scale), ["x", "x"]);
- test.strictEqual(bar.fill, undefined);
- test.strictEqual(bar.fillOpacity, undefined);
- test.strictEqual(bar.stroke, undefined);
- test.strictEqual(bar.strokeWidth, undefined);
- test.strictEqual(bar.strokeOpacity, undefined);
- test.strictEqual(bar.strokeLinejoin, undefined);
- test.strictEqual(bar.strokeLinecap, undefined);
- test.strictEqual(bar.strokeMiterlimit, undefined);
- test.strictEqual(bar.strokeDasharray, undefined);
- test.strictEqual(bar.mixBlendMode, undefined);
- test.strictEqual(bar.insetTop, 0);
- test.strictEqual(bar.insetRight, 0);
- test.strictEqual(bar.insetBottom, 0);
- test.strictEqual(bar.insetLeft, 0);
-});
-
-tape("barX(data, {y}) uses a band scale", test => {
+ assert.strictEqual(bar.data, undefined);
+ // assert.strictEqual(bar.transform, undefined);
+ assert.deepStrictEqual(bar.channels.map(c => c.name), ["x1", "x2"]);
+ // assert.deepStrictEqual(bar.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[0, 0, 0], [1, 2, 3]]);
+ assert.deepStrictEqual(bar.channels.map(c => c.scale), ["x", "x"]);
+ assert.strictEqual(bar.fill, undefined);
+ assert.strictEqual(bar.fillOpacity, undefined);
+ assert.strictEqual(bar.stroke, undefined);
+ assert.strictEqual(bar.strokeWidth, undefined);
+ assert.strictEqual(bar.strokeOpacity, undefined);
+ assert.strictEqual(bar.strokeLinejoin, undefined);
+ assert.strictEqual(bar.strokeLinecap, undefined);
+ assert.strictEqual(bar.strokeMiterlimit, undefined);
+ assert.strictEqual(bar.strokeDasharray, undefined);
+ assert.strictEqual(bar.mixBlendMode, undefined);
+ assert.strictEqual(bar.insetTop, 0);
+ assert.strictEqual(bar.insetRight, 0);
+ assert.strictEqual(bar.insetBottom, 0);
+ assert.strictEqual(bar.insetLeft, 0);
+});
+
+it("barX(data, {y}) uses a band scale", () => {
const bar = Plot.barX(undefined, {y: "x"});
- test.deepEqual(bar.channels.map(c => c.name), ["x1", "x2", "y"]);
- test.deepEqual(bar.channels.map(c => c.scale), ["x", "x", "y"]);
- test.strictEqual(bar.channels.find(c => c.name === "y").type, "band");
- test.strictEqual(bar.channels.find(c => c.name === "y").value.label, "x");
+ assert.deepStrictEqual(bar.channels.map(c => c.name), ["x1", "x2", "y"]);
+ assert.deepStrictEqual(bar.channels.map(c => c.scale), ["x", "x", "y"]);
+ assert.strictEqual(bar.channels.find(c => c.name === "y").type, "band");
+ assert.strictEqual(bar.channels.find(c => c.name === "y").value.label, "x");
});
-tape("barX(data, {title}) specifies an optional title channel", test => {
+it("barX(data, {title}) specifies an optional title channel", () => {
const bar = Plot.barX(undefined, {title: "x"});
const title = bar.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "x");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "x");
+ assert.strictEqual(title.scale, undefined);
});
-tape("barX(data, {fill}) allows fill to be a constant color", test => {
+it("barX(data, {fill}) allows fill to be a constant color", () => {
const bar = Plot.barX(undefined, {fill: "red"});
- test.strictEqual(bar.fill, "red");
+ assert.strictEqual(bar.fill, "red");
});
-tape("barX(data, {fill}) allows fill to be null", test => {
+it("barX(data, {fill}) allows fill to be null", () => {
const bar = Plot.barX(undefined, {fill: null});
- test.strictEqual(bar.fill, "none");
+ assert.strictEqual(bar.fill, "none");
});
-tape("barX(data, {fill}) allows fill to be a variable color", test => {
+it("barX(data, {fill}) allows fill to be a variable color", () => {
const bar = Plot.barX(undefined, {fill: "x"});
- test.strictEqual(bar.fill, undefined);
+ assert.strictEqual(bar.fill, undefined);
const fill = bar.channels.find(c => c.name === "fill");
- test.strictEqual(fill.value, "x");
- test.strictEqual(fill.scale, "color");
+ assert.strictEqual(fill.value, "x");
+ assert.strictEqual(fill.scale, "color");
});
-tape("barX(data, {stroke}) allows stroke to be a constant color", test => {
+it("barX(data, {stroke}) allows stroke to be a constant color", () => {
const bar = Plot.barX(undefined, {stroke: "red"});
- test.strictEqual(bar.stroke, "red");
+ assert.strictEqual(bar.stroke, "red");
});
-tape("barX(data, {stroke}) allows stroke to be null", test => {
+it("barX(data, {stroke}) allows stroke to be null", () => {
const bar = Plot.barX(undefined, {stroke: null});
- test.strictEqual(bar.stroke, undefined);
+ assert.strictEqual(bar.stroke, undefined);
});
-tape("barX(data, {stroke}) allows stroke to be a variable color", test => {
+it("barX(data, {stroke}) allows stroke to be a variable color", () => {
const bar = Plot.barX(undefined, {stroke: "x"});
- test.strictEqual(bar.stroke, undefined);
+ assert.strictEqual(bar.stroke, undefined);
const stroke = bar.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "x");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "x");
+ assert.strictEqual(stroke.scale, "color");
});
-tape("barX(data, {x, y}) defaults x1 to zero and x2 to x", test => {
+it("barX(data, {x, y}) defaults x1 to zero and x2 to x", () => {
const bar = Plot.barX(undefined, {x: "0", y: "1"});
const x1 = bar.channels.find(c => c.name === "x1");
- // test.strictEqual(x1.value, 0);
- test.strictEqual(x1.scale, "x");
+ // assert.strictEqual(x1.value, 0);
+ assert.strictEqual(x1.scale, "x");
const x2 = bar.channels.find(c => c.name === "x2");
- test.strictEqual(x2.value.label, "0");
- test.strictEqual(x2.scale, "x");
+ assert.strictEqual(x2.value.label, "0");
+ assert.strictEqual(x2.scale, "x");
const y = bar.channels.find(c => c.name === "y");
- test.strictEqual(y.value.label, "1");
- test.strictEqual(y.scale, "y");
+ assert.strictEqual(y.value.label, "1");
+ assert.strictEqual(y.scale, "y");
});
-tape("barY() has the expected defaults", test => {
+it("barY() has the expected defaults", () => {
const bar = Plot.barY();
- test.strictEqual(bar.data, undefined);
- // test.strictEqual(bar.transform, undefined);
- test.deepEqual(bar.channels.map(c => c.name), ["y1", "y2"]);
- // test.deepEqual(bar.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[0, 0, 0], [1, 2, 3]]);
- test.deepEqual(bar.channels.map(c => c.scale), ["y", "y"]);
- test.strictEqual(bar.fill, undefined);
- test.strictEqual(bar.fillOpacity, undefined);
- test.strictEqual(bar.stroke, undefined);
- test.strictEqual(bar.strokeWidth, undefined);
- test.strictEqual(bar.strokeOpacity, undefined);
- test.strictEqual(bar.strokeLinejoin, undefined);
- test.strictEqual(bar.strokeLinecap, undefined);
- test.strictEqual(bar.strokeMiterlimit, undefined);
- test.strictEqual(bar.strokeDasharray, undefined);
- test.strictEqual(bar.mixBlendMode, undefined);
- test.strictEqual(bar.insetTop, 0);
- test.strictEqual(bar.insetRight, 0);
- test.strictEqual(bar.insetBottom, 0);
- test.strictEqual(bar.insetLeft, 0);
-});
-
-tape("barY(data, {x}) uses a band scale", test => {
+ assert.strictEqual(bar.data, undefined);
+ // assert.strictEqual(bar.transform, undefined);
+ assert.deepStrictEqual(bar.channels.map(c => c.name), ["y1", "y2"]);
+ // assert.deepStrictEqual(bar.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[0, 0, 0], [1, 2, 3]]);
+ assert.deepStrictEqual(bar.channels.map(c => c.scale), ["y", "y"]);
+ assert.strictEqual(bar.fill, undefined);
+ assert.strictEqual(bar.fillOpacity, undefined);
+ assert.strictEqual(bar.stroke, undefined);
+ assert.strictEqual(bar.strokeWidth, undefined);
+ assert.strictEqual(bar.strokeOpacity, undefined);
+ assert.strictEqual(bar.strokeLinejoin, undefined);
+ assert.strictEqual(bar.strokeLinecap, undefined);
+ assert.strictEqual(bar.strokeMiterlimit, undefined);
+ assert.strictEqual(bar.strokeDasharray, undefined);
+ assert.strictEqual(bar.mixBlendMode, undefined);
+ assert.strictEqual(bar.insetTop, 0);
+ assert.strictEqual(bar.insetRight, 0);
+ assert.strictEqual(bar.insetBottom, 0);
+ assert.strictEqual(bar.insetLeft, 0);
+});
+
+it("barY(data, {x}) uses a band scale", () => {
const bar = Plot.barY(undefined, {x: "y"});
- test.deepEqual(bar.channels.map(c => c.name), ["y1", "y2", "x"]);
- test.deepEqual(bar.channels.map(c => c.scale), ["y", "y", "x"]);
- test.strictEqual(bar.channels.find(c => c.name === "x").type, "band");
- test.strictEqual(bar.channels.find(c => c.name === "x").value.label, "y");
+ assert.deepStrictEqual(bar.channels.map(c => c.name), ["y1", "y2", "x"]);
+ assert.deepStrictEqual(bar.channels.map(c => c.scale), ["y", "y", "x"]);
+ assert.strictEqual(bar.channels.find(c => c.name === "x").type, "band");
+ assert.strictEqual(bar.channels.find(c => c.name === "x").value.label, "y");
});
-tape("barY(data, {title}) specifies an optional title channel", test => {
+it("barY(data, {title}) specifies an optional title channel", () => {
const bar = Plot.barY(undefined, {title: "x"});
const title = bar.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "x");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "x");
+ assert.strictEqual(title.scale, undefined);
});
-tape("barY(data, {fill}) allows fill to be a constant color", test => {
+it("barY(data, {fill}) allows fill to be a constant color", () => {
const bar = Plot.barY(undefined, {fill: "red"});
- test.strictEqual(bar.fill, "red");
+ assert.strictEqual(bar.fill, "red");
});
-tape("barY(data, {fill}) allows fill to be null", test => {
+it("barY(data, {fill}) allows fill to be null", () => {
const bar = Plot.barY(undefined, {fill: null});
- test.strictEqual(bar.fill, "none");
+ assert.strictEqual(bar.fill, "none");
});
-tape("barY(data, {fill}) allows fill to be a variable color", test => {
+it("barY(data, {fill}) allows fill to be a variable color", () => {
const bar = Plot.barY(undefined, {fill: "x"});
- test.strictEqual(bar.fill, undefined);
+ assert.strictEqual(bar.fill, undefined);
const fill = bar.channels.find(c => c.name === "fill");
- test.strictEqual(fill.value, "x");
- test.strictEqual(fill.scale, "color");
+ assert.strictEqual(fill.value, "x");
+ assert.strictEqual(fill.scale, "color");
});
-tape("barY(data, {stroke}) allows stroke to be a constant color", test => {
+it("barY(data, {stroke}) allows stroke to be a constant color", () => {
const bar = Plot.barY(undefined, {stroke: "red"});
- test.strictEqual(bar.stroke, "red");
+ assert.strictEqual(bar.stroke, "red");
});
-tape("barY(data, {stroke}) allows stroke to be null", test => {
+it("barY(data, {stroke}) allows stroke to be null", () => {
const bar = Plot.barY(undefined, {stroke: null});
- test.strictEqual(bar.stroke, undefined);
+ assert.strictEqual(bar.stroke, undefined);
});
-tape("barY(data, {stroke}) allows stroke to be a variable color", test => {
+it("barY(data, {stroke}) allows stroke to be a variable color", () => {
const bar = Plot.barY(undefined, {stroke: "x"});
- test.strictEqual(bar.stroke, undefined);
+ assert.strictEqual(bar.stroke, undefined);
const stroke = bar.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "x");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "x");
+ assert.strictEqual(stroke.scale, "color");
});
-tape("barY(data, {x, y}) defaults y1 to zero and y2 to y", test => {
+it("barY(data, {x, y}) defaults y1 to zero and y2 to y", () => {
const bar = Plot.barY(undefined, {x: "0", y: "1"});
const x = bar.channels.find(c => c.name === "x");
- test.strictEqual(x.value.label, "0");
- test.strictEqual(x.scale, "x");
+ assert.strictEqual(x.value.label, "0");
+ assert.strictEqual(x.scale, "x");
const y1 = bar.channels.find(c => c.name === "y1");
- // test.strictEqual(y1.value, 0);
- test.strictEqual(y1.scale, "y");
+ // assert.strictEqual(y1.value, 0);
+ assert.strictEqual(y1.scale, "y");
const y2 = bar.channels.find(c => c.name === "y2");
- test.strictEqual(y2.value.label, "1");
- test.strictEqual(y2.scale, "y");
+ assert.strictEqual(y2.value.label, "1");
+ assert.strictEqual(y2.scale, "y");
});
diff --git a/test/marks/cell-test.js b/test/marks/cell-test.js
index fa1ec201ec..f3d476a28e 100644
--- a/test/marks/cell-test.js
+++ b/test/marks/cell-test.js
@@ -1,90 +1,90 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("cell() has the expected defaults", test => {
+it("cell() has the expected defaults", () => {
const cell = Plot.cell();
- test.strictEqual(cell.data, undefined);
- test.strictEqual(cell.transform, undefined);
- test.deepEqual(cell.channels.map(c => c.name), ["x", "y"]);
- test.deepEqual(cell.channels.map(c => Plot.valueof([[1, 2], [3, 4]], c.value)), [[1, 3], [2, 4]]);
- test.deepEqual(cell.channels.map(c => c.scale), ["x", "y"]);
- test.strictEqual(cell.channels.find(c => c.name === "x").type, "band");
- test.strictEqual(cell.channels.find(c => c.name === "y").type, "band");
- test.strictEqual(cell.fill, undefined);
- test.strictEqual(cell.fillOpacity, undefined);
- test.strictEqual(cell.stroke, undefined);
- test.strictEqual(cell.strokeWidth, undefined);
- test.strictEqual(cell.strokeOpacity, undefined);
- test.strictEqual(cell.strokeLinejoin, undefined);
- test.strictEqual(cell.strokeLinecap, undefined);
- test.strictEqual(cell.strokeMiterlimit, undefined);
- test.strictEqual(cell.strokeDasharray, undefined);
- test.strictEqual(cell.mixBlendMode, undefined);
- test.strictEqual(cell.insetTop, 0);
- test.strictEqual(cell.insetRight, 0);
- test.strictEqual(cell.insetBottom, 0);
- test.strictEqual(cell.insetLeft, 0);
+ assert.strictEqual(cell.data, undefined);
+ assert.strictEqual(cell.transform, undefined);
+ assert.deepStrictEqual(cell.channels.map(c => c.name), ["x", "y"]);
+ assert.deepStrictEqual(cell.channels.map(c => Plot.valueof([[1, 2], [3, 4]], c.value)), [[1, 3], [2, 4]]);
+ assert.deepStrictEqual(cell.channels.map(c => c.scale), ["x", "y"]);
+ assert.strictEqual(cell.channels.find(c => c.name === "x").type, "band");
+ assert.strictEqual(cell.channels.find(c => c.name === "y").type, "band");
+ assert.strictEqual(cell.fill, undefined);
+ assert.strictEqual(cell.fillOpacity, undefined);
+ assert.strictEqual(cell.stroke, undefined);
+ assert.strictEqual(cell.strokeWidth, undefined);
+ assert.strictEqual(cell.strokeOpacity, undefined);
+ assert.strictEqual(cell.strokeLinejoin, undefined);
+ assert.strictEqual(cell.strokeLinecap, undefined);
+ assert.strictEqual(cell.strokeMiterlimit, undefined);
+ assert.strictEqual(cell.strokeDasharray, undefined);
+ assert.strictEqual(cell.mixBlendMode, undefined);
+ assert.strictEqual(cell.insetTop, 0);
+ assert.strictEqual(cell.insetRight, 0);
+ assert.strictEqual(cell.insetBottom, 0);
+ assert.strictEqual(cell.insetLeft, 0);
});
-tape("cell(data, {title}) specifies an optional title channel", test => {
+it("cell(data, {title}) specifies an optional title channel", () => {
const cell = Plot.cell(undefined, {title: "x"});
const title = cell.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "x");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "x");
+ assert.strictEqual(title.scale, undefined);
});
-tape("cell(data, {fill}) allows fill to be a constant color", test => {
+it("cell(data, {fill}) allows fill to be a constant color", () => {
const cell = Plot.cell(undefined, {fill: "red"});
- test.strictEqual(cell.fill, "red");
+ assert.strictEqual(cell.fill, "red");
});
-tape("cell(data, {fill}) allows fill to be null", test => {
+it("cell(data, {fill}) allows fill to be null", () => {
const cell = Plot.cell(undefined, {fill: null});
- test.strictEqual(cell.fill, "none");
+ assert.strictEqual(cell.fill, "none");
});
-tape("cell(data, {fill}) allows fill to be a variable color", test => {
+it("cell(data, {fill}) allows fill to be a variable color", () => {
const cell = Plot.cell(undefined, {fill: "x"});
- test.strictEqual(cell.fill, undefined);
+ assert.strictEqual(cell.fill, undefined);
const fill = cell.channels.find(c => c.name === "fill");
- test.strictEqual(fill.value, "x");
- test.strictEqual(fill.scale, "color");
+ assert.strictEqual(fill.value, "x");
+ assert.strictEqual(fill.scale, "color");
});
-tape("cell(data, {stroke}) allows stroke to be a constant color", test => {
+it("cell(data, {stroke}) allows stroke to be a constant color", () => {
const cell = Plot.cell(undefined, {stroke: "red"});
- test.strictEqual(cell.stroke, "red");
+ assert.strictEqual(cell.stroke, "red");
});
-tape("cell(data, {stroke}) allows stroke to be null", test => {
+it("cell(data, {stroke}) allows stroke to be null", () => {
const cell = Plot.cell(undefined, {stroke: null});
- test.strictEqual(cell.stroke, undefined);
+ assert.strictEqual(cell.stroke, undefined);
});
-tape("cell(data, {stroke}) allows stroke to be a variable color", test => {
+it("cell(data, {stroke}) allows stroke to be a variable color", () => {
const cell = Plot.cell(undefined, {stroke: "x"});
- test.strictEqual(cell.stroke, undefined);
+ assert.strictEqual(cell.stroke, undefined);
const stroke = cell.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "x");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "x");
+ assert.strictEqual(stroke.scale, "color");
});
-tape("cellX() defaults x to identity and y to null", test => {
+it("cellX() defaults x to identity and y to null", () => {
const cell = Plot.cellX();
- test.strictEqual(cell.data, undefined);
- test.strictEqual(cell.transform, undefined);
- test.deepEqual(cell.channels.map(c => c.name), ["x", "fill"]);
- test.deepEqual(cell.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[ 0, 1, 2 ], [ 1, 2, 3 ]]);
- test.deepEqual(cell.channels.map(c => c.scale), ["x", "color"]);
- test.strictEqual(cell.channels.find(c => c.name === "x").type, "band");
+ assert.strictEqual(cell.data, undefined);
+ assert.strictEqual(cell.transform, undefined);
+ assert.deepStrictEqual(cell.channels.map(c => c.name), ["x", "fill"]);
+ assert.deepStrictEqual(cell.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[ 0, 1, 2 ], [ 1, 2, 3 ]]);
+ assert.deepStrictEqual(cell.channels.map(c => c.scale), ["x", "color"]);
+ assert.strictEqual(cell.channels.find(c => c.name === "x").type, "band");
});
-tape("cellY() defaults y to identity and x to null", test => {
+it("cellY() defaults y to identity and x to null", () => {
const cell = Plot.cellY();
- test.strictEqual(cell.data, undefined);
- test.strictEqual(cell.transform, undefined);
- test.deepEqual(cell.channels.map(c => c.name), ["y", "fill"]);
- test.deepEqual(cell.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[ 0, 1, 2 ], [ 1, 2, 3 ]]);
- test.deepEqual(cell.channels.map(c => c.scale), ["y", "color"]);
- test.strictEqual(cell.channels.find(c => c.name === "y").type, "band");
+ assert.strictEqual(cell.data, undefined);
+ assert.strictEqual(cell.transform, undefined);
+ assert.deepStrictEqual(cell.channels.map(c => c.name), ["y", "fill"]);
+ assert.deepStrictEqual(cell.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[ 0, 1, 2 ], [ 1, 2, 3 ]]);
+ assert.deepStrictEqual(cell.channels.map(c => c.scale), ["y", "color"]);
+ assert.strictEqual(cell.channels.find(c => c.name === "y").type, "band");
});
diff --git a/test/marks/dot-test.js b/test/marks/dot-test.js
index c7a3818398..2d2230854f 100644
--- a/test/marks/dot-test.js
+++ b/test/marks/dot-test.js
@@ -1,90 +1,90 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("dot() has the expected defaults", test => {
+it("dot() has the expected defaults", () => {
const dot = Plot.dot();
- test.strictEqual(dot.data, undefined);
- test.strictEqual(dot.transform, undefined);
- test.deepEqual(dot.channels.map(c => c.name), ["x", "y"]);
- test.deepEqual(dot.channels.map(c => Plot.valueof([[1, 2], [3, 4]], c.value)), [[1, 3], [2, 4]]);
- test.deepEqual(dot.channels.map(c => c.scale), ["x", "y"]);
- test.strictEqual(dot.r, 3);
- test.strictEqual(dot.fill, "none");
- test.strictEqual(dot.fillOpacity, undefined);
- test.strictEqual(dot.stroke, "currentColor");
- test.strictEqual(dot.strokeWidth, 1.5);
- test.strictEqual(dot.strokeOpacity, undefined);
- test.strictEqual(dot.strokeLinejoin, undefined);
- test.strictEqual(dot.strokeLinecap, undefined);
- test.strictEqual(dot.strokeMiterlimit, undefined);
- test.strictEqual(dot.strokeDasharray, undefined);
- test.strictEqual(dot.mixBlendMode, undefined);
+ assert.strictEqual(dot.data, undefined);
+ assert.strictEqual(dot.transform, undefined);
+ assert.deepStrictEqual(dot.channels.map(c => c.name), ["x", "y"]);
+ assert.deepStrictEqual(dot.channels.map(c => Plot.valueof([[1, 2], [3, 4]], c.value)), [[1, 3], [2, 4]]);
+ assert.deepStrictEqual(dot.channels.map(c => c.scale), ["x", "y"]);
+ assert.strictEqual(dot.r, 3);
+ assert.strictEqual(dot.fill, "none");
+ assert.strictEqual(dot.fillOpacity, undefined);
+ assert.strictEqual(dot.stroke, "currentColor");
+ assert.strictEqual(dot.strokeWidth, 1.5);
+ assert.strictEqual(dot.strokeOpacity, undefined);
+ assert.strictEqual(dot.strokeLinejoin, undefined);
+ assert.strictEqual(dot.strokeLinecap, undefined);
+ assert.strictEqual(dot.strokeMiterlimit, undefined);
+ assert.strictEqual(dot.strokeDasharray, undefined);
+ assert.strictEqual(dot.mixBlendMode, undefined);
});
-tape("dot(data, {r}) allows r to be a constant radius", test => {
+it("dot(data, {r}) allows r to be a constant radius", () => {
const dot = Plot.dot(undefined, {r: 42});
- test.strictEqual(dot.r, 42);
+ assert.strictEqual(dot.r, 42);
});
-tape("dot(data, {r}) allows r to be a variable radius", test => {
+it("dot(data, {r}) allows r to be a variable radius", () => {
const dot = Plot.dot(undefined, {r: "x"});
- test.strictEqual(dot.r, undefined);
+ assert.strictEqual(dot.r, undefined);
const r = dot.channels.find(c => c.name === "r");
- test.strictEqual(r.value, "x");
- test.strictEqual(r.scale, "r");
+ assert.strictEqual(r.value, "x");
+ assert.strictEqual(r.scale, "r");
});
-tape("dot(data, {title}) specifies an optional title channel", test => {
+it("dot(data, {title}) specifies an optional title channel", () => {
const dot = Plot.dot(undefined, {title: "x"});
const title = dot.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "x");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "x");
+ assert.strictEqual(title.scale, undefined);
});
-tape("dot(data, {fill}) allows fill to be a constant color", test => {
+it("dot(data, {fill}) allows fill to be a constant color", () => {
const dot = Plot.dot(undefined, {fill: "red"});
- test.strictEqual(dot.fill, "red");
+ assert.strictEqual(dot.fill, "red");
});
-tape("dot(data, {fill}) allows fill to be null", test => {
+it("dot(data, {fill}) allows fill to be null", () => {
const dot = Plot.dot(undefined, {fill: null});
- test.strictEqual(dot.fill, "none");
+ assert.strictEqual(dot.fill, "none");
});
-tape("dot(data, {fill}) allows fill to be a variable color", test => {
+it("dot(data, {fill}) allows fill to be a variable color", () => {
const dot = Plot.dot(undefined, {fill: "x"});
- test.strictEqual(dot.fill, undefined);
+ assert.strictEqual(dot.fill, undefined);
const fill = dot.channels.find(c => c.name === "fill");
- test.strictEqual(fill.value, "x");
- test.strictEqual(fill.scale, "color");
+ assert.strictEqual(fill.value, "x");
+ assert.strictEqual(fill.scale, "color");
});
-tape("dot(data, {fill}) defaults stroke to undefined if fill is not none", test => {
- test.strictEqual(Plot.dot(undefined, {fill: "red"}).stroke, undefined);
- test.strictEqual(Plot.dot(undefined, {fill: "x"}).stroke, undefined);
- test.strictEqual(Plot.dot(undefined, {fill: "none"}).stroke, "currentColor");
+it("dot(data, {fill}) defaults stroke to undefined if fill is not none", () => {
+ assert.strictEqual(Plot.dot(undefined, {fill: "red"}).stroke, undefined);
+ assert.strictEqual(Plot.dot(undefined, {fill: "x"}).stroke, undefined);
+ assert.strictEqual(Plot.dot(undefined, {fill: "none"}).stroke, "currentColor");
});
-tape("dot(data, {stroke}) allows stroke to be a constant color", test => {
+it("dot(data, {stroke}) allows stroke to be a constant color", () => {
const dot = Plot.dot(undefined, {stroke: "red"});
- test.strictEqual(dot.stroke, "red");
+ assert.strictEqual(dot.stroke, "red");
});
-tape("dot(data, {stroke}) allows stroke to be null", test => {
+it("dot(data, {stroke}) allows stroke to be null", () => {
const dot = Plot.dot(undefined, {stroke: null});
- test.strictEqual(dot.stroke, undefined);
+ assert.strictEqual(dot.stroke, undefined);
});
-tape("dot(data, {stroke}) allows stroke to be a variable color", test => {
+it("dot(data, {stroke}) allows stroke to be a variable color", () => {
const dot = Plot.dot(undefined, {stroke: "x"});
- test.strictEqual(dot.stroke, undefined);
+ assert.strictEqual(dot.stroke, undefined);
const stroke = dot.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "x");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "x");
+ assert.strictEqual(stroke.scale, "color");
});
-tape("dot(data, {stroke}) defaults strokeWidth to 1.5 if stroke is defined", test => {
- test.strictEqual(Plot.dot(undefined, {stroke: "red"}).strokeWidth, 1.5);
- test.strictEqual(Plot.dot(undefined, {stroke: "x"}).strokeWidth, 1.5);
- test.strictEqual(Plot.dot(undefined, {stroke: null}).strokeWidth, undefined);
+it("dot(data, {stroke}) defaults strokeWidth to 1.5 if stroke is defined", () => {
+ assert.strictEqual(Plot.dot(undefined, {stroke: "red"}).strokeWidth, 1.5);
+ assert.strictEqual(Plot.dot(undefined, {stroke: "x"}).strokeWidth, 1.5);
+ assert.strictEqual(Plot.dot(undefined, {stroke: null}).strokeWidth, undefined);
});
diff --git a/test/marks/format-test.js b/test/marks/format-test.js
index 368a38a95c..3dad221547 100644
--- a/test/marks/format-test.js
+++ b/test/marks/format-test.js
@@ -1,77 +1,77 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("formatMonth(locale, format) does the right thing", test => {
- test.equal(Plot.formatMonth("en", "long")(0), "January");
- test.equal(Plot.formatMonth("en", "short")(0), "Jan");
- test.equal(Plot.formatMonth("en", "narrow")(0), "J");
+it("formatMonth(locale, format) does the right thing", () => {
+ assert.strictEqual(Plot.formatMonth("en", "long")(0), "January");
+ assert.strictEqual(Plot.formatMonth("en", "short")(0), "Jan");
+ assert.strictEqual(Plot.formatMonth("en", "narrow")(0), "J");
});
// GitHub Actions does not support locales.
-tape.skip("formatMonth('fr', format) does the right thing", test => {
- test.equal(Plot.formatMonth("fr", "long")(11), "décembre");
- test.equal(Plot.formatMonth("fr", "short")(11), "déc.");
- test.equal(Plot.formatMonth("fr", "narrow")(11), "D");
+it.skip("formatMonth('fr', format) does the right thing", () => {
+ assert.strictEqual(Plot.formatMonth("fr", "long")(11), "décembre");
+ assert.strictEqual(Plot.formatMonth("fr", "short")(11), "déc.");
+ assert.strictEqual(Plot.formatMonth("fr", "narrow")(11), "D");
});
-tape("formatMonth(locale, format) handles undefined input", test => {
- test.equal(Plot.formatMonth()(undefined), undefined);
- test.equal(Plot.formatMonth()(null), undefined);
- test.equal(Plot.formatMonth()(NaN), undefined);
- test.equal(Plot.formatMonth()(Infinity), undefined);
- test.equal(Plot.formatMonth()(1e32), undefined);
+it("formatMonth(locale, format) handles undefined input", () => {
+ assert.strictEqual(Plot.formatMonth()(undefined), undefined);
+ assert.strictEqual(Plot.formatMonth()(null), undefined);
+ assert.strictEqual(Plot.formatMonth()(NaN), undefined);
+ assert.strictEqual(Plot.formatMonth()(Infinity), undefined);
+ assert.strictEqual(Plot.formatMonth()(1e32), undefined);
});
-tape("formatMonth(locale) has the expected default", test => {
- test.equal(Plot.formatMonth("en")(0), "Jan");
- test.equal(Plot.formatMonth("en", undefined)(0), "Jan");
+it("formatMonth(locale) has the expected default", () => {
+ assert.strictEqual(Plot.formatMonth("en")(0), "Jan");
+ assert.strictEqual(Plot.formatMonth("en", undefined)(0), "Jan");
});
-tape.skip("formatMonth('fr') has the expected default", test => {
- test.equal(Plot.formatMonth("fr")(11), "déc.");
- test.equal(Plot.formatMonth("fr", undefined)(11), "déc.");
+it.skip("formatMonth('fr') has the expected default", () => {
+ assert.strictEqual(Plot.formatMonth("fr")(11), "déc.");
+ assert.strictEqual(Plot.formatMonth("fr", undefined)(11), "déc.");
});
-tape("formatMonth() has the expected default", test => {
- test.equal(Plot.formatMonth()(0), "Jan");
- test.equal(Plot.formatMonth(undefined, "narrow")(0), "J");
- test.equal(Plot.formatMonth(undefined, "short")(0), "Jan");
- test.equal(Plot.formatMonth(undefined, "long")(0), "January");
+it("formatMonth() has the expected default", () => {
+ assert.strictEqual(Plot.formatMonth()(0), "Jan");
+ assert.strictEqual(Plot.formatMonth(undefined, "narrow")(0), "J");
+ assert.strictEqual(Plot.formatMonth(undefined, "short")(0), "Jan");
+ assert.strictEqual(Plot.formatMonth(undefined, "long")(0), "January");
});
-tape("formatWeekday(locale, format) does the right thing", test => {
- test.equal(Plot.formatWeekday("en", "long")(0), "Sunday");
- test.equal(Plot.formatWeekday("en", "short")(0), "Sun");
- test.equal(Plot.formatWeekday("en", "narrow")(0), "S");
+it("formatWeekday(locale, format) does the right thing", () => {
+ assert.strictEqual(Plot.formatWeekday("en", "long")(0), "Sunday");
+ assert.strictEqual(Plot.formatWeekday("en", "short")(0), "Sun");
+ assert.strictEqual(Plot.formatWeekday("en", "narrow")(0), "S");
});
-tape.skip("formatWeekday('fr', format) does the right thing", test => {
- test.equal(Plot.formatWeekday("fr", "long")(6), "samedi");
- test.equal(Plot.formatWeekday("fr", "short")(6), "sam.");
- test.equal(Plot.formatWeekday("fr", "narrow")(6), "S");
+it.skip("formatWeekday('fr', format) does the right thing", () => {
+ assert.strictEqual(Plot.formatWeekday("fr", "long")(6), "samedi");
+ assert.strictEqual(Plot.formatWeekday("fr", "short")(6), "sam.");
+ assert.strictEqual(Plot.formatWeekday("fr", "narrow")(6), "S");
});
-tape("formatWeekday(locale) has the expected default", test => {
- test.equal(Plot.formatWeekday("en")(0), "Sun");
- test.equal(Plot.formatWeekday("en", undefined)(0), "Sun");
+it("formatWeekday(locale) has the expected default", () => {
+ assert.strictEqual(Plot.formatWeekday("en")(0), "Sun");
+ assert.strictEqual(Plot.formatWeekday("en", undefined)(0), "Sun");
});
-tape.skip("formatWeekday('fr') has the expected default", test => {
- test.equal(Plot.formatWeekday("fr")(6), "sam.");
- test.equal(Plot.formatWeekday("fr", undefined)(6), "sam.");
+it.skip("formatWeekday('fr') has the expected default", () => {
+ assert.strictEqual(Plot.formatWeekday("fr")(6), "sam.");
+ assert.strictEqual(Plot.formatWeekday("fr", undefined)(6), "sam.");
});
-tape("formatWeekday() has the expected default", test => {
- test.equal(Plot.formatWeekday()(0), "Sun");
- test.equal(Plot.formatWeekday(undefined, "narrow")(0), "S");
- test.equal(Plot.formatWeekday(undefined, "short")(0), "Sun");
- test.equal(Plot.formatWeekday(undefined, "long")(0), "Sunday");
+it("formatWeekday() has the expected default", () => {
+ assert.strictEqual(Plot.formatWeekday()(0), "Sun");
+ assert.strictEqual(Plot.formatWeekday(undefined, "narrow")(0), "S");
+ assert.strictEqual(Plot.formatWeekday(undefined, "short")(0), "Sun");
+ assert.strictEqual(Plot.formatWeekday(undefined, "long")(0), "Sunday");
});
-tape("formatWeekday() handles undefined input", test => {
- test.equal(Plot.formatWeekday()(undefined), undefined);
- test.equal(Plot.formatWeekday()(null), undefined);
- test.equal(Plot.formatWeekday()(NaN), undefined);
- test.equal(Plot.formatWeekday()(Infinity), undefined);
- test.equal(Plot.formatWeekday()(1e32), undefined);
+it("formatWeekday() handles undefined input", () => {
+ assert.strictEqual(Plot.formatWeekday()(undefined), undefined);
+ assert.strictEqual(Plot.formatWeekday()(null), undefined);
+ assert.strictEqual(Plot.formatWeekday()(NaN), undefined);
+ assert.strictEqual(Plot.formatWeekday()(Infinity), undefined);
+ assert.strictEqual(Plot.formatWeekday()(1e32), undefined);
});
diff --git a/test/marks/line-test.js b/test/marks/line-test.js
index 3edc23a997..6df74281ef 100644
--- a/test/marks/line-test.js
+++ b/test/marks/line-test.js
@@ -1,97 +1,97 @@
import * as Plot from "@observablehq/plot";
import {curveLinear, curveStep} from "d3";
-import tape from "tape-await";
+import assert from "assert";
-tape("line() has the expected defaults", test => {
+it("line() has the expected defaults", () => {
const line = Plot.line();
- test.strictEqual(line.data, undefined);
- test.strictEqual(line.transform, undefined);
- test.deepEqual(line.channels.map(c => c.name), ["x", "y"]);
- test.deepEqual(line.channels.map(c => Plot.valueof([[1, 2], [3, 4]], c.value)), [[1, 3], [2, 4]]);
- test.deepEqual(line.channels.map(c => c.scale), ["x", "y"]);
- test.strictEqual(line.curve, curveLinear);
- test.strictEqual(line.fill, "none");
- test.strictEqual(line.fillOpacity, undefined);
- test.strictEqual(line.stroke, "currentColor");
- test.strictEqual(line.strokeWidth, 1.5);
- test.strictEqual(line.strokeOpacity, undefined);
- test.strictEqual(line.strokeLinejoin, undefined);
- test.strictEqual(line.strokeLinecap, undefined);
- test.strictEqual(line.strokeMiterlimit, 1);
- test.strictEqual(line.strokeDasharray, undefined);
- test.strictEqual(line.mixBlendMode, undefined);
+ assert.strictEqual(line.data, undefined);
+ assert.strictEqual(line.transform, undefined);
+ assert.deepStrictEqual(line.channels.map(c => c.name), ["x", "y"]);
+ assert.deepStrictEqual(line.channels.map(c => Plot.valueof([[1, 2], [3, 4]], c.value)), [[1, 3], [2, 4]]);
+ assert.deepStrictEqual(line.channels.map(c => c.scale), ["x", "y"]);
+ assert.strictEqual(line.curve, curveLinear);
+ assert.strictEqual(line.fill, "none");
+ assert.strictEqual(line.fillOpacity, undefined);
+ assert.strictEqual(line.stroke, "currentColor");
+ assert.strictEqual(line.strokeWidth, 1.5);
+ assert.strictEqual(line.strokeOpacity, undefined);
+ assert.strictEqual(line.strokeLinejoin, undefined);
+ assert.strictEqual(line.strokeLinecap, undefined);
+ assert.strictEqual(line.strokeMiterlimit, 1);
+ assert.strictEqual(line.strokeDasharray, undefined);
+ assert.strictEqual(line.mixBlendMode, undefined);
});
-tape("line(data, {z}) specifies an optional z channel", test => {
+it("line(data, {z}) specifies an optional z channel", () => {
const line = Plot.line(undefined, {z: "2"});
const z = line.channels.find(c => c.name === "z");
- test.strictEqual(z.value, "2");
- test.strictEqual(z.scale, undefined);
+ assert.strictEqual(z.value, "2");
+ assert.strictEqual(z.scale, undefined);
});
-tape("line(data, {title}) specifies an optional title channel", test => {
+it("line(data, {title}) specifies an optional title channel", () => {
const line = Plot.line(undefined, {title: "2"});
const title = line.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "2");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "2");
+ assert.strictEqual(title.scale, undefined);
});
-tape("line(data, {fill}) allows fill to be a constant color", test => {
+it("line(data, {fill}) allows fill to be a constant color", () => {
const line = Plot.line(undefined, {fill: "red"});
- test.strictEqual(line.fill, "red");
+ assert.strictEqual(line.fill, "red");
});
-tape("line(data, {fill}) allows fill to be null", test => {
+it("line(data, {fill}) allows fill to be null", () => {
const line = Plot.line(undefined, {fill: null});
- test.strictEqual(line.fill, "none");
+ assert.strictEqual(line.fill, "none");
});
-tape("line(data, {fill}) allows fill to be a variable color", test => {
+it("line(data, {fill}) allows fill to be a variable color", () => {
const line = Plot.line(undefined, {fill: "x"});
- test.strictEqual(line.fill, undefined);
+ assert.strictEqual(line.fill, undefined);
const fill = line.channels.find(c => c.name === "fill");
- test.strictEqual(fill.value, "x");
- test.strictEqual(fill.scale, "color");
+ assert.strictEqual(fill.value, "x");
+ assert.strictEqual(fill.scale, "color");
});
-tape("line(data, {fill}) implies a default z channel if fill is variable", test => {
+it("line(data, {fill}) implies a default z channel if fill is variable", () => {
const line = Plot.line(undefined, {fill: "2"});
const z = line.channels.find(c => c.name === "z");
- test.strictEqual(z.value, "2");
- test.strictEqual(z.scale, undefined);
+ assert.strictEqual(z.value, "2");
+ assert.strictEqual(z.scale, undefined);
});
-tape("line(data, {stroke}) allows stroke to be a constant color", test => {
+it("line(data, {stroke}) allows stroke to be a constant color", () => {
const line = Plot.line(undefined, {stroke: "red"});
- test.strictEqual(line.stroke, "red");
+ assert.strictEqual(line.stroke, "red");
});
-tape("line(data, {stroke}) allows stroke to be null", test => {
+it("line(data, {stroke}) allows stroke to be null", () => {
const line = Plot.line(undefined, {stroke: null});
- test.strictEqual(line.stroke, undefined);
+ assert.strictEqual(line.stroke, undefined);
});
-tape("line(data, {stroke}) implies no stroke width if stroke is null", test => {
+it("line(data, {stroke}) implies no stroke width if stroke is null", () => {
const line = Plot.line(undefined, {stroke: null});
- test.strictEqual(line.strokeWidth, undefined);
+ assert.strictEqual(line.strokeWidth, undefined);
});
-tape("line(data, {stroke}) allows stroke to be a variable color", test => {
+it("line(data, {stroke}) allows stroke to be a variable color", () => {
const line = Plot.line(undefined, {stroke: "x", fill: "3"}); // stroke takes priority
- test.strictEqual(line.stroke, undefined);
+ assert.strictEqual(line.stroke, undefined);
const stroke = line.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "x");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "x");
+ assert.strictEqual(stroke.scale, "color");
});
-tape("line(data, {stroke}) implies a default z channel if stroke is variable", test => {
+it("line(data, {stroke}) implies a default z channel if stroke is variable", () => {
const line = Plot.line(undefined, {stroke: "2"});
const z = line.channels.find(c => c.name === "z");
- test.strictEqual(z.value, "2");
- test.strictEqual(z.scale, undefined);
+ assert.strictEqual(z.value, "2");
+ assert.strictEqual(z.scale, undefined);
});
-tape("line(data, {curve}) specifies a named curve or function", test => {
- test.strictEqual(Plot.line(undefined, {curve: "step"}).curve, curveStep);
- test.strictEqual(Plot.line(undefined, {curve: curveStep}).curve, curveStep);
+it("line(data, {curve}) specifies a named curve or function", () => {
+ assert.strictEqual(Plot.line(undefined, {curve: "step"}).curve, curveStep);
+ assert.strictEqual(Plot.line(undefined, {curve: curveStep}).curve, curveStep);
});
diff --git a/test/marks/link-test.js b/test/marks/link-test.js
index 85759af763..9c3e6110e2 100644
--- a/test/marks/link-test.js
+++ b/test/marks/link-test.js
@@ -1,46 +1,46 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("link(data, options) has the expected defaults", test => {
+it("link(data, options) has the expected defaults", () => {
const link = Plot.link(undefined, {x1: "0", y1: "1", x2: "2", y2: "3"});
- test.strictEqual(link.data, undefined);
- test.strictEqual(link.transform, undefined);
- test.deepEqual(link.channels.map(c => c.name), ["x1", "y1", "x2", "y2"]);
- test.deepEqual(link.channels.map(c => c.value), ["0", "1", "2", "3"]);
- test.deepEqual(link.channels.map(c => c.scale), ["x", "y", "x", "y"]);
- test.strictEqual(link.fill, "none");
- test.strictEqual(link.fillOpacity, undefined);
- test.strictEqual(link.stroke, "currentColor");
- test.strictEqual(link.strokeWidth, undefined);
- test.strictEqual(link.strokeOpacity, undefined);
- test.strictEqual(link.strokeLinejoin, undefined);
- test.strictEqual(link.strokeLinecap, undefined);
- test.strictEqual(link.strokeMiterlimit, 1);
- test.strictEqual(link.strokeDasharray, undefined);
- test.strictEqual(link.mixBlendMode, undefined);
+ assert.strictEqual(link.data, undefined);
+ assert.strictEqual(link.transform, undefined);
+ assert.deepStrictEqual(link.channels.map(c => c.name), ["x1", "y1", "x2", "y2"]);
+ assert.deepStrictEqual(link.channels.map(c => c.value), ["0", "1", "2", "3"]);
+ assert.deepStrictEqual(link.channels.map(c => c.scale), ["x", "y", "x", "y"]);
+ assert.strictEqual(link.fill, "none");
+ assert.strictEqual(link.fillOpacity, undefined);
+ assert.strictEqual(link.stroke, "currentColor");
+ assert.strictEqual(link.strokeWidth, undefined);
+ assert.strictEqual(link.strokeOpacity, undefined);
+ assert.strictEqual(link.strokeLinejoin, undefined);
+ assert.strictEqual(link.strokeLinecap, undefined);
+ assert.strictEqual(link.strokeMiterlimit, 1);
+ assert.strictEqual(link.strokeDasharray, undefined);
+ assert.strictEqual(link.mixBlendMode, undefined);
});
-tape("link(data, {title}) specifies an optional title channel", test => {
+it("link(data, {title}) specifies an optional title channel", () => {
const link = Plot.link(undefined, {x1: "0", y1: "1", x2: "2", y2: "3", title: "4"});
const title = link.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "4");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "4");
+ assert.strictEqual(title.scale, undefined);
});
-tape("link(data, {stroke}) allows stroke to be a constant color", test => {
+it("link(data, {stroke}) allows stroke to be a constant color", () => {
const link = Plot.link(undefined, {x1: "0", y1: "1", x2: "2", y2: "3", stroke: "red"});
- test.strictEqual(link.stroke, "red");
+ assert.strictEqual(link.stroke, "red");
});
-tape("link(data, {stroke}) allows stroke to be null", test => {
+it("link(data, {stroke}) allows stroke to be null", () => {
const link = Plot.link(undefined, {x1: "0", y1: "1", x2: "2", y2: "3", stroke: null});
- test.strictEqual(link.stroke, undefined);
+ assert.strictEqual(link.stroke, undefined);
});
-tape("link(data, {stroke}) allows stroke to be a variable color", test => {
+it("link(data, {stroke}) allows stroke to be a variable color", () => {
const link = Plot.link(undefined, {x1: "0", y1: "1", x2: "2", y2: "3", stroke: "4"});
- test.strictEqual(link.stroke, undefined);
+ assert.strictEqual(link.stroke, undefined);
const stroke = link.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "4");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "4");
+ assert.strictEqual(stroke.scale, "color");
});
diff --git a/test/marks/rect-test.js b/test/marks/rect-test.js
index fb386e5028..9c4cd8676d 100644
--- a/test/marks/rect-test.js
+++ b/test/marks/rect-test.js
@@ -1,68 +1,68 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("rect(data, options) has the expected defaults", test => {
+it("rect(data, options) has the expected defaults", () => {
const rect = Plot.rect(undefined, {x1: "0", y1: "1", x2: "2", y2: "3"});
- test.strictEqual(rect.data, undefined);
- test.strictEqual(rect.transform, undefined);
- test.deepEqual(rect.channels.map(c => c.name), ["x1", "y1", "x2", "y2"]);
- test.deepEqual(rect.channels.map(c => c.value), ["0", "1", "2", "3"]);
- test.deepEqual(rect.channels.map(c => c.scale), ["x", "y", "x", "y"]);
- test.strictEqual(rect.fill, undefined);
- test.strictEqual(rect.fillOpacity, undefined);
- test.strictEqual(rect.stroke, undefined);
- test.strictEqual(rect.strokeWidth, undefined);
- test.strictEqual(rect.strokeOpacity, undefined);
- test.strictEqual(rect.strokeLinejoin, undefined);
- test.strictEqual(rect.strokeLinecap, undefined);
- test.strictEqual(rect.strokeMiterlimit, undefined);
- test.strictEqual(rect.strokeDasharray, undefined);
- test.strictEqual(rect.mixBlendMode, undefined);
- test.strictEqual(rect.insetTop, 0);
- test.strictEqual(rect.insetRight, 0);
- test.strictEqual(rect.insetBottom, 0);
- test.strictEqual(rect.insetLeft, 0);
+ assert.strictEqual(rect.data, undefined);
+ assert.strictEqual(rect.transform, undefined);
+ assert.deepStrictEqual(rect.channels.map(c => c.name), ["x1", "y1", "x2", "y2"]);
+ assert.deepStrictEqual(rect.channels.map(c => c.value), ["0", "1", "2", "3"]);
+ assert.deepStrictEqual(rect.channels.map(c => c.scale), ["x", "y", "x", "y"]);
+ assert.strictEqual(rect.fill, undefined);
+ assert.strictEqual(rect.fillOpacity, undefined);
+ assert.strictEqual(rect.stroke, undefined);
+ assert.strictEqual(rect.strokeWidth, undefined);
+ assert.strictEqual(rect.strokeOpacity, undefined);
+ assert.strictEqual(rect.strokeLinejoin, undefined);
+ assert.strictEqual(rect.strokeLinecap, undefined);
+ assert.strictEqual(rect.strokeMiterlimit, undefined);
+ assert.strictEqual(rect.strokeDasharray, undefined);
+ assert.strictEqual(rect.mixBlendMode, undefined);
+ assert.strictEqual(rect.insetTop, 0);
+ assert.strictEqual(rect.insetRight, 0);
+ assert.strictEqual(rect.insetBottom, 0);
+ assert.strictEqual(rect.insetLeft, 0);
});
-tape("rect(data, {title}) specifies an optional title channel", test => {
+it("rect(data, {title}) specifies an optional title channel", () => {
const rect = Plot.rect(undefined, {x1: "0", y1: "1", x2: "2", y2: "3", title: "4"});
const title = rect.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "4");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "4");
+ assert.strictEqual(title.scale, undefined);
});
-tape("rect(data, {fill}) allows fill to be a constant color", test => {
+it("rect(data, {fill}) allows fill to be a constant color", () => {
const rect = Plot.rect(undefined, {x1: "0", y1: "1", x2: "2", y2: "3", fill: "red"});
- test.strictEqual(rect.fill, "red");
+ assert.strictEqual(rect.fill, "red");
});
-tape("rect(data, {fill}) allows fill to be null", test => {
+it("rect(data, {fill}) allows fill to be null", () => {
const rect = Plot.rect(undefined, {x1: "0", y1: "1", x2: "2", y2: "3", fill: null});
- test.strictEqual(rect.fill, "none");
+ assert.strictEqual(rect.fill, "none");
});
-tape("rect(data, {fill}) allows fill to be a variable color", test => {
+it("rect(data, {fill}) allows fill to be a variable color", () => {
const rect = Plot.rect(undefined, {x1: "0", y1: "1", x2: "2", y2: "3", fill: "4"});
- test.strictEqual(rect.fill, undefined);
+ assert.strictEqual(rect.fill, undefined);
const fill = rect.channels.find(c => c.name === "fill");
- test.strictEqual(fill.value, "4");
- test.strictEqual(fill.scale, "color");
+ assert.strictEqual(fill.value, "4");
+ assert.strictEqual(fill.scale, "color");
});
-tape("rect(data, {stroke}) allows stroke to be a constant color", test => {
+it("rect(data, {stroke}) allows stroke to be a constant color", () => {
const rect = Plot.rect(undefined, {x1: "0", y1: "1", x2: "2", y2: "3", stroke: "red"});
- test.strictEqual(rect.stroke, "red");
+ assert.strictEqual(rect.stroke, "red");
});
-tape("rect(data, {stroke}) allows stroke to be null", test => {
+it("rect(data, {stroke}) allows stroke to be null", () => {
const rect = Plot.rect(undefined, {x1: "0", y1: "1", x2: "2", y2: "3", stroke: null});
- test.strictEqual(rect.stroke, undefined);
+ assert.strictEqual(rect.stroke, undefined);
});
-tape("rect(data, {stroke}) allows stroke to be a variable color", test => {
+it("rect(data, {stroke}) allows stroke to be a variable color", () => {
const rect = Plot.rect(undefined, {x1: "0", y1: "1", x2: "2", y2: "3", stroke: "4"});
- test.strictEqual(rect.stroke, undefined);
+ assert.strictEqual(rect.stroke, undefined);
const stroke = rect.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "4");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "4");
+ assert.strictEqual(stroke.scale, "color");
});
diff --git a/test/marks/rule-test.js b/test/marks/rule-test.js
index f72d80c7be..14f47b6203 100644
--- a/test/marks/rule-test.js
+++ b/test/marks/rule-test.js
@@ -1,176 +1,176 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("ruleX() has the expected defaults", test => {
+it("ruleX() has the expected defaults", () => {
const rule = Plot.ruleX();
- test.strictEqual(rule.data, undefined);
- test.strictEqual(rule.transform, undefined);
- test.deepEqual(rule.channels.map(c => c.name), ["x"]);
- test.deepEqual(rule.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[1, 2, 3]]);
- test.deepEqual(rule.channels.map(c => c.scale), ["x"]);
- test.strictEqual(rule.fill, undefined);
- test.strictEqual(rule.fillOpacity, undefined);
- test.strictEqual(rule.stroke, "currentColor");
- test.strictEqual(rule.strokeWidth, undefined);
- test.strictEqual(rule.strokeOpacity, undefined);
- test.strictEqual(rule.strokeLinejoin, undefined);
- test.strictEqual(rule.strokeLinecap, undefined);
- test.strictEqual(rule.strokeMiterlimit, undefined);
- test.strictEqual(rule.strokeDasharray, undefined);
- test.strictEqual(rule.mixBlendMode, undefined);
-});
-
-tape("ruleX(data, {title}) specifies an optional title channel", test => {
+ assert.strictEqual(rule.data, undefined);
+ assert.strictEqual(rule.transform, undefined);
+ assert.deepStrictEqual(rule.channels.map(c => c.name), ["x"]);
+ assert.deepStrictEqual(rule.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[1, 2, 3]]);
+ assert.deepStrictEqual(rule.channels.map(c => c.scale), ["x"]);
+ assert.strictEqual(rule.fill, undefined);
+ assert.strictEqual(rule.fillOpacity, undefined);
+ assert.strictEqual(rule.stroke, "currentColor");
+ assert.strictEqual(rule.strokeWidth, undefined);
+ assert.strictEqual(rule.strokeOpacity, undefined);
+ assert.strictEqual(rule.strokeLinejoin, undefined);
+ assert.strictEqual(rule.strokeLinecap, undefined);
+ assert.strictEqual(rule.strokeMiterlimit, undefined);
+ assert.strictEqual(rule.strokeDasharray, undefined);
+ assert.strictEqual(rule.mixBlendMode, undefined);
+});
+
+it("ruleX(data, {title}) specifies an optional title channel", () => {
const rule = Plot.ruleX(undefined, {title: "x"});
const title = rule.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "x");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "x");
+ assert.strictEqual(title.scale, undefined);
});
-tape("ruleX(data, {stroke}) allows stroke to be a constant color", test => {
+it("ruleX(data, {stroke}) allows stroke to be a constant color", () => {
const rule = Plot.ruleX(undefined, {stroke: "red"});
- test.strictEqual(rule.stroke, "red");
+ assert.strictEqual(rule.stroke, "red");
});
-tape("ruleX(data, {stroke}) allows stroke to be null", test => {
+it("ruleX(data, {stroke}) allows stroke to be null", () => {
const rule = Plot.ruleX(undefined, {stroke: null});
- test.strictEqual(rule.stroke, undefined);
+ assert.strictEqual(rule.stroke, undefined);
});
-tape("ruleX(data, {stroke}) allows stroke to be a variable color", test => {
+it("ruleX(data, {stroke}) allows stroke to be a variable color", () => {
const rule = Plot.ruleX(undefined, {stroke: "x"});
- test.strictEqual(rule.stroke, undefined);
+ assert.strictEqual(rule.stroke, undefined);
const stroke = rule.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "x");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "x");
+ assert.strictEqual(stroke.scale, "color");
});
-tape("ruleX(data, {x, y}) specifies y1 = zero, y2 = y", test => {
+it("ruleX(data, {x, y}) specifies y1 = zero, y2 = y", () => {
const rule = Plot.ruleX(undefined, {x: "0", y: "1"});
const y1 = rule.channels.find(c => c.name === "y1");
- test.strictEqual(y1.value, 0);
- test.strictEqual(y1.scale, "y");
+ assert.strictEqual(y1.value, 0);
+ assert.strictEqual(y1.scale, "y");
const y2 = rule.channels.find(c => c.name === "y2");
- test.strictEqual(y2.value, "1");
- test.strictEqual(y2.scale, "y");
+ assert.strictEqual(y2.value, "1");
+ assert.strictEqual(y2.scale, "y");
});
-tape("ruleX(data, {x, y1}) specifies y1 = zero, y2 = y1", test => {
+it("ruleX(data, {x, y1}) specifies y1 = zero, y2 = y1", () => {
const rule = Plot.ruleX(undefined, {x: "0", y1: "1"});
const y1 = rule.channels.find(c => c.name === "y1");
- test.strictEqual(y1.value, 0);
- test.strictEqual(y1.scale, "y");
+ assert.strictEqual(y1.value, 0);
+ assert.strictEqual(y1.scale, "y");
const y2 = rule.channels.find(c => c.name === "y2");
- test.strictEqual(y2.value, "1");
- test.strictEqual(y2.scale, "y");
+ assert.strictEqual(y2.value, "1");
+ assert.strictEqual(y2.scale, "y");
});
-tape("ruleX(data, {x, y2}) specifies y1 = zero, y2 = y2", test => {
+it("ruleX(data, {x, y2}) specifies y1 = zero, y2 = y2", () => {
const rule = Plot.ruleX(undefined, {x: "0", y2: "1"});
const y1 = rule.channels.find(c => c.name === "y1");
- test.strictEqual(y1.value, 0);
- test.strictEqual(y1.scale, "y");
+ assert.strictEqual(y1.value, 0);
+ assert.strictEqual(y1.scale, "y");
const y2 = rule.channels.find(c => c.name === "y2");
- test.strictEqual(y2.value, "1");
- test.strictEqual(y2.scale, "y");
+ assert.strictEqual(y2.value, "1");
+ assert.strictEqual(y2.scale, "y");
});
-tape("ruleX(data, {x, y1, y2}) specifies x, y1, y2", test => {
+it("ruleX(data, {x, y1, y2}) specifies x, y1, y2", () => {
const rule = Plot.ruleX(undefined, {x: "0", y1: "1", y2: "2"});
const x = rule.channels.find(c => c.name === "x");
- test.strictEqual(x.value, "0");
- test.strictEqual(x.scale, "x");
+ assert.strictEqual(x.value, "0");
+ assert.strictEqual(x.scale, "x");
const y1 = rule.channels.find(c => c.name === "y1");
- test.strictEqual(y1.value, "1");
- test.strictEqual(y1.scale, "y");
+ assert.strictEqual(y1.value, "1");
+ assert.strictEqual(y1.scale, "y");
const y2 = rule.channels.find(c => c.name === "y2");
- test.strictEqual(y2.value, "2");
- test.strictEqual(y2.scale, "y");
+ assert.strictEqual(y2.value, "2");
+ assert.strictEqual(y2.scale, "y");
});
-tape("ruleY() has the expected defaults", test => {
+it("ruleY() has the expected defaults", () => {
const rule = Plot.ruleY();
- test.strictEqual(rule.data, undefined);
- test.strictEqual(rule.transform, undefined);
- test.deepEqual(rule.channels.map(c => c.name), ["y"]);
- test.deepEqual(rule.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[1, 2, 3]]);
- test.deepEqual(rule.channels.map(c => c.scale), ["y"]);
- test.strictEqual(rule.fill, undefined);
- test.strictEqual(rule.fillOpacity, undefined);
- test.strictEqual(rule.stroke, "currentColor");
- test.strictEqual(rule.strokeWidth, undefined);
- test.strictEqual(rule.strokeOpacity, undefined);
- test.strictEqual(rule.strokeLinejoin, undefined);
- test.strictEqual(rule.strokeLinecap, undefined);
- test.strictEqual(rule.strokeMiterlimit, undefined);
- test.strictEqual(rule.strokeDasharray, undefined);
- test.strictEqual(rule.mixBlendMode, undefined);
-});
-
-tape("ruleY(data, {title}) specifies an optional title channel", test => {
+ assert.strictEqual(rule.data, undefined);
+ assert.strictEqual(rule.transform, undefined);
+ assert.deepStrictEqual(rule.channels.map(c => c.name), ["y"]);
+ assert.deepStrictEqual(rule.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[1, 2, 3]]);
+ assert.deepStrictEqual(rule.channels.map(c => c.scale), ["y"]);
+ assert.strictEqual(rule.fill, undefined);
+ assert.strictEqual(rule.fillOpacity, undefined);
+ assert.strictEqual(rule.stroke, "currentColor");
+ assert.strictEqual(rule.strokeWidth, undefined);
+ assert.strictEqual(rule.strokeOpacity, undefined);
+ assert.strictEqual(rule.strokeLinejoin, undefined);
+ assert.strictEqual(rule.strokeLinecap, undefined);
+ assert.strictEqual(rule.strokeMiterlimit, undefined);
+ assert.strictEqual(rule.strokeDasharray, undefined);
+ assert.strictEqual(rule.mixBlendMode, undefined);
+});
+
+it("ruleY(data, {title}) specifies an optional title channel", () => {
const rule = Plot.ruleY(undefined, {title: "x"});
const title = rule.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "x");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "x");
+ assert.strictEqual(title.scale, undefined);
});
-tape("ruleY(data, {stroke}) allows stroke to be a constant color", test => {
+it("ruleY(data, {stroke}) allows stroke to be a constant color", () => {
const rule = Plot.ruleY(undefined, {stroke: "red"});
- test.strictEqual(rule.stroke, "red");
+ assert.strictEqual(rule.stroke, "red");
});
-tape("ruleY(data, {stroke}) allows stroke to be null", test => {
+it("ruleY(data, {stroke}) allows stroke to be null", () => {
const rule = Plot.ruleY(undefined, {stroke: null});
- test.strictEqual(rule.stroke, undefined);
+ assert.strictEqual(rule.stroke, undefined);
});
-tape("ruleY(data, {stroke}) allows stroke to be a variable color", test => {
+it("ruleY(data, {stroke}) allows stroke to be a variable color", () => {
const rule = Plot.ruleY(undefined, {stroke: "x"});
- test.strictEqual(rule.stroke, undefined);
+ assert.strictEqual(rule.stroke, undefined);
const stroke = rule.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "x");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "x");
+ assert.strictEqual(stroke.scale, "color");
});
-tape("ruleY(data, {x, y}) specifies x1 = zero, x2 = x", test => {
+it("ruleY(data, {x, y}) specifies x1 = zero, x2 = x", () => {
const rule = Plot.ruleY(undefined, {x: "0", y: "1"});
const x1 = rule.channels.find(c => c.name === "x1");
- test.strictEqual(x1.value, 0);
- test.strictEqual(x1.scale, "x");
+ assert.strictEqual(x1.value, 0);
+ assert.strictEqual(x1.scale, "x");
const x2 = rule.channels.find(c => c.name === "x2");
- test.strictEqual(x2.value, "0");
- test.strictEqual(x2.scale, "x");
+ assert.strictEqual(x2.value, "0");
+ assert.strictEqual(x2.scale, "x");
});
-tape("ruleY(data, {y, x1}) specifies x1 = zero, x2 = x1", test => {
+it("ruleY(data, {y, x1}) specifies x1 = zero, x2 = x1", () => {
const rule = Plot.ruleY(undefined, {x1: "0", y: "1"});
const x1 = rule.channels.find(c => c.name === "x1");
- test.strictEqual(x1.value, 0);
- test.strictEqual(x1.scale, "x");
+ assert.strictEqual(x1.value, 0);
+ assert.strictEqual(x1.scale, "x");
const x2 = rule.channels.find(c => c.name === "x2");
- test.strictEqual(x2.value, "0");
- test.strictEqual(x2.scale, "x");
+ assert.strictEqual(x2.value, "0");
+ assert.strictEqual(x2.scale, "x");
});
-tape("ruleY(data, {y, x2}) specifies x1 = zero, x2 = x2", test => {
+it("ruleY(data, {y, x2}) specifies x1 = zero, x2 = x2", () => {
const rule = Plot.ruleY(undefined, {x2: "0", y: "1"});
const x1 = rule.channels.find(c => c.name === "x1");
- test.strictEqual(x1.value, 0);
- test.strictEqual(x1.scale, "x");
+ assert.strictEqual(x1.value, 0);
+ assert.strictEqual(x1.scale, "x");
const x2 = rule.channels.find(c => c.name === "x2");
- test.strictEqual(x2.value, "0");
- test.strictEqual(x2.scale, "x");
+ assert.strictEqual(x2.value, "0");
+ assert.strictEqual(x2.scale, "x");
});
-tape("ruleY(data, {x1, x2, y}) specifies x1, x2, y", test => {
+it("ruleY(data, {x1, x2, y}) specifies x1, x2, y", () => {
const rule = Plot.ruleY(undefined, {x1: "0", x2: "1", y: "2"});
const x1 = rule.channels.find(c => c.name === "x1");
- test.strictEqual(x1.value, "0");
- test.strictEqual(x1.scale, "x");
+ assert.strictEqual(x1.value, "0");
+ assert.strictEqual(x1.scale, "x");
const x2 = rule.channels.find(c => c.name === "x2");
- test.strictEqual(x2.value, "1");
- test.strictEqual(x2.scale, "x");
+ assert.strictEqual(x2.value, "1");
+ assert.strictEqual(x2.scale, "x");
const y = rule.channels.find(c => c.name === "y");
- test.strictEqual(y.value, "2");
- test.strictEqual(y.scale, "y");
+ assert.strictEqual(y.value, "2");
+ assert.strictEqual(y.scale, "y");
});
diff --git a/test/marks/text-test.js b/test/marks/text-test.js
index 897558b3f5..067e696746 100644
--- a/test/marks/text-test.js
+++ b/test/marks/text-test.js
@@ -1,50 +1,50 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("text() has the expected defaults", test => {
+it("text() has the expected defaults", () => {
const text = Plot.text();
- test.strictEqual(text.data, undefined);
- test.strictEqual(text.transform, undefined);
- test.deepEqual(text.channels.map(c => c.name), ["x", "y", "fontSize", "rotate", "text"]);
- test.deepEqual(text.channels.map(c => Plot.valueof([[1, 2], [3, 4]], c.value)), [[1, 3], [2, 4], undefined, undefined, [0, 1]]);
- test.deepEqual(text.channels.map(c => c.scale), ["x", "y", undefined, undefined, undefined]);
- test.strictEqual(text.fill, undefined);
- test.strictEqual(text.fillOpacity, undefined);
- test.strictEqual(text.stroke, undefined);
- test.strictEqual(text.strokeWidth, undefined);
- test.strictEqual(text.strokeOpacity, undefined);
- test.strictEqual(text.strokeLinejoin, undefined);
- test.strictEqual(text.strokeLinecap, undefined);
- test.strictEqual(text.strokeMiterlimit, undefined);
- test.strictEqual(text.strokeDasharray, undefined);
- test.strictEqual(text.mixBlendMode, undefined);
- test.strictEqual(text.textAnchor, undefined);
- test.strictEqual(text.dx, undefined);
- test.strictEqual(text.dy, "0.32em");
- test.strictEqual(text.rotate, 0);
+ assert.strictEqual(text.data, undefined);
+ assert.strictEqual(text.transform, undefined);
+ assert.deepStrictEqual(text.channels.map(c => c.name), ["x", "y", "fontSize", "rotate", "text"]);
+ assert.deepStrictEqual(text.channels.map(c => Plot.valueof([[1, 2], [3, 4]], c.value)), [[1, 3], [2, 4], undefined, undefined, [0, 1]]);
+ assert.deepStrictEqual(text.channels.map(c => c.scale), ["x", "y", undefined, undefined, undefined]);
+ assert.strictEqual(text.fill, undefined);
+ assert.strictEqual(text.fillOpacity, undefined);
+ assert.strictEqual(text.stroke, undefined);
+ assert.strictEqual(text.strokeWidth, undefined);
+ assert.strictEqual(text.strokeOpacity, undefined);
+ assert.strictEqual(text.strokeLinejoin, undefined);
+ assert.strictEqual(text.strokeLinecap, undefined);
+ assert.strictEqual(text.strokeMiterlimit, undefined);
+ assert.strictEqual(text.strokeDasharray, undefined);
+ assert.strictEqual(text.mixBlendMode, undefined);
+ assert.strictEqual(text.textAnchor, undefined);
+ assert.strictEqual(text.dx, undefined);
+ assert.strictEqual(text.dy, "0.32em");
+ assert.strictEqual(text.rotate, 0);
});
-tape("text(data, {title}) specifies an optional title channel", test => {
+it("text(data, {title}) specifies an optional title channel", () => {
const text = Plot.text(undefined, {title: "x"});
const title = text.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "x");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "x");
+ assert.strictEqual(title.scale, undefined);
});
-tape("text(data, {fill}) allows fill to be a constant color", test => {
+it("text(data, {fill}) allows fill to be a constant color", () => {
const text = Plot.text(undefined, {fill: "red"});
- test.strictEqual(text.fill, "red");
+ assert.strictEqual(text.fill, "red");
});
-tape("text(data, {fill}) allows fill to be null", test => {
+it("text(data, {fill}) allows fill to be null", () => {
const text = Plot.text(undefined, {fill: null});
- test.strictEqual(text.fill, "none");
+ assert.strictEqual(text.fill, "none");
});
-tape("text(data, {fill}) allows fill to be a variable color", test => {
+it("text(data, {fill}) allows fill to be a variable color", () => {
const text = Plot.text(undefined, {fill: "x"});
- test.strictEqual(text.fill, undefined);
+ assert.strictEqual(text.fill, undefined);
const fill = text.channels.find(c => c.name === "fill");
- test.strictEqual(fill.value, "x");
- test.strictEqual(fill.scale, "color");
+ assert.strictEqual(fill.value, "x");
+ assert.strictEqual(fill.scale, "color");
});
diff --git a/test/marks/tick-test.js b/test/marks/tick-test.js
index b53ad12529..0392077de3 100644
--- a/test/marks/tick-test.js
+++ b/test/marks/tick-test.js
@@ -1,106 +1,106 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("tickX() has the expected defaults", test => {
+it("tickX() has the expected defaults", () => {
const tick = Plot.tickX();
- test.strictEqual(tick.data, undefined);
- test.strictEqual(tick.transform, undefined);
- test.deepEqual(tick.channels.map(c => c.name), ["x"]);
- test.deepEqual(tick.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[1, 2, 3]]);
- test.deepEqual(tick.channels.map(c => c.scale), ["x"]);
- test.strictEqual(tick.fill, undefined);
- test.strictEqual(tick.fillOpacity, undefined);
- test.strictEqual(tick.stroke, "currentColor");
- test.strictEqual(tick.strokeWidth, undefined);
- test.strictEqual(tick.strokeOpacity, undefined);
- test.strictEqual(tick.strokeLinejoin, undefined);
- test.strictEqual(tick.strokeLinecap, undefined);
- test.strictEqual(tick.strokeMiterlimit, undefined);
- test.strictEqual(tick.strokeDasharray, undefined);
- test.strictEqual(tick.mixBlendMode, undefined);
+ assert.strictEqual(tick.data, undefined);
+ assert.strictEqual(tick.transform, undefined);
+ assert.deepStrictEqual(tick.channels.map(c => c.name), ["x"]);
+ assert.deepStrictEqual(tick.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[1, 2, 3]]);
+ assert.deepStrictEqual(tick.channels.map(c => c.scale), ["x"]);
+ assert.strictEqual(tick.fill, undefined);
+ assert.strictEqual(tick.fillOpacity, undefined);
+ assert.strictEqual(tick.stroke, "currentColor");
+ assert.strictEqual(tick.strokeWidth, undefined);
+ assert.strictEqual(tick.strokeOpacity, undefined);
+ assert.strictEqual(tick.strokeLinejoin, undefined);
+ assert.strictEqual(tick.strokeLinecap, undefined);
+ assert.strictEqual(tick.strokeMiterlimit, undefined);
+ assert.strictEqual(tick.strokeDasharray, undefined);
+ assert.strictEqual(tick.mixBlendMode, undefined);
});
-tape("tickX(data, {y}) uses a band scale", test => {
+it("tickX(data, {y}) uses a band scale", () => {
const tick = Plot.tickX(undefined, {y: "x"});
- test.deepEqual(tick.channels.map(c => c.name), ["x", "y"]);
- test.deepEqual(tick.channels.map(c => c.scale), ["x", "y"]);
- test.strictEqual(tick.channels.find(c => c.name === "y").type, "band");
- test.strictEqual(tick.channels.find(c => c.name === "y").value, "x");
+ assert.deepStrictEqual(tick.channels.map(c => c.name), ["x", "y"]);
+ assert.deepStrictEqual(tick.channels.map(c => c.scale), ["x", "y"]);
+ assert.strictEqual(tick.channels.find(c => c.name === "y").type, "band");
+ assert.strictEqual(tick.channels.find(c => c.name === "y").value, "x");
});
-tape("tickX(data, {title}) specifies an optional title channel", test => {
+it("tickX(data, {title}) specifies an optional title channel", () => {
const tick = Plot.tickX(undefined, {title: "x"});
const title = tick.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "x");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "x");
+ assert.strictEqual(title.scale, undefined);
});
-tape("tickX(data, {stroke}) allows stroke to be a constant color", test => {
+it("tickX(data, {stroke}) allows stroke to be a constant color", () => {
const tick = Plot.tickX(undefined, {stroke: "red"});
- test.strictEqual(tick.stroke, "red");
+ assert.strictEqual(tick.stroke, "red");
});
-tape("tickX(data, {stroke}) allows stroke to be null", test => {
+it("tickX(data, {stroke}) allows stroke to be null", () => {
const tick = Plot.tickX(undefined, {stroke: null});
- test.strictEqual(tick.stroke, undefined);
+ assert.strictEqual(tick.stroke, undefined);
});
-tape("tickX(data, {stroke}) allows stroke to be a variable color", test => {
+it("tickX(data, {stroke}) allows stroke to be a variable color", () => {
const tick = Plot.tickX(undefined, {stroke: "x"});
- test.strictEqual(tick.stroke, undefined);
+ assert.strictEqual(tick.stroke, undefined);
const stroke = tick.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "x");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "x");
+ assert.strictEqual(stroke.scale, "color");
});
-tape("tickY() has the expected defaults", test => {
+it("tickY() has the expected defaults", () => {
const tick = Plot.tickY();
- test.strictEqual(tick.data, undefined);
- test.strictEqual(tick.transform, undefined);
- test.deepEqual(tick.channels.map(c => c.name), ["y"]);
- test.deepEqual(tick.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[1, 2, 3]]);
- test.deepEqual(tick.channels.map(c => c.scale), ["y"]);
- test.strictEqual(tick.fill, undefined);
- test.strictEqual(tick.fillOpacity, undefined);
- test.strictEqual(tick.stroke, "currentColor");
- test.strictEqual(tick.strokeWidth, undefined);
- test.strictEqual(tick.strokeOpacity, undefined);
- test.strictEqual(tick.strokeLinejoin, undefined);
- test.strictEqual(tick.strokeLinecap, undefined);
- test.strictEqual(tick.strokeMiterlimit, undefined);
- test.strictEqual(tick.strokeDasharray, undefined);
- test.strictEqual(tick.mixBlendMode, undefined);
+ assert.strictEqual(tick.data, undefined);
+ assert.strictEqual(tick.transform, undefined);
+ assert.deepStrictEqual(tick.channels.map(c => c.name), ["y"]);
+ assert.deepStrictEqual(tick.channels.map(c => Plot.valueof([1, 2, 3], c.value)), [[1, 2, 3]]);
+ assert.deepStrictEqual(tick.channels.map(c => c.scale), ["y"]);
+ assert.strictEqual(tick.fill, undefined);
+ assert.strictEqual(tick.fillOpacity, undefined);
+ assert.strictEqual(tick.stroke, "currentColor");
+ assert.strictEqual(tick.strokeWidth, undefined);
+ assert.strictEqual(tick.strokeOpacity, undefined);
+ assert.strictEqual(tick.strokeLinejoin, undefined);
+ assert.strictEqual(tick.strokeLinecap, undefined);
+ assert.strictEqual(tick.strokeMiterlimit, undefined);
+ assert.strictEqual(tick.strokeDasharray, undefined);
+ assert.strictEqual(tick.mixBlendMode, undefined);
});
-tape("tickY(data, {x}) uses a band scale", test => {
+it("tickY(data, {x}) uses a band scale", () => {
const tick = Plot.tickY(undefined, {x: "y"});
- test.deepEqual(tick.channels.map(c => c.name), ["y", "x"]);
- test.deepEqual(tick.channels.map(c => c.scale), ["y", "x"]);
- test.strictEqual(tick.channels.find(c => c.name === "x").type, "band");
- test.strictEqual(tick.channels.find(c => c.name === "x").value, "y");
+ assert.deepStrictEqual(tick.channels.map(c => c.name), ["y", "x"]);
+ assert.deepStrictEqual(tick.channels.map(c => c.scale), ["y", "x"]);
+ assert.strictEqual(tick.channels.find(c => c.name === "x").type, "band");
+ assert.strictEqual(tick.channels.find(c => c.name === "x").value, "y");
});
-tape("tickY(data, {title}) specifies an optional title channel", test => {
+it("tickY(data, {title}) specifies an optional title channel", () => {
const tick = Plot.tickY(undefined, {title: "x"});
const title = tick.channels.find(c => c.name === "title");
- test.strictEqual(title.value, "x");
- test.strictEqual(title.scale, undefined);
+ assert.strictEqual(title.value, "x");
+ assert.strictEqual(title.scale, undefined);
});
-tape("tickY(data, {stroke}) allows stroke to be a constant color", test => {
+it("tickY(data, {stroke}) allows stroke to be a constant color", () => {
const tick = Plot.tickY(undefined, {stroke: "red"});
- test.strictEqual(tick.stroke, "red");
+ assert.strictEqual(tick.stroke, "red");
});
-tape("tickY(data, {stroke}) allows stroke to be null", test => {
+it("tickY(data, {stroke}) allows stroke to be null", () => {
const tick = Plot.tickY(undefined, {stroke: null});
- test.strictEqual(tick.stroke, undefined);
+ assert.strictEqual(tick.stroke, undefined);
});
-tape("tickY(data, {stroke}) allows stroke to be a variable color", test => {
+it("tickY(data, {stroke}) allows stroke to be a variable color", () => {
const tick = Plot.tickY(undefined, {stroke: "x"});
- test.strictEqual(tick.stroke, undefined);
+ assert.strictEqual(tick.stroke, undefined);
const stroke = tick.channels.find(c => c.name === "stroke");
- test.strictEqual(stroke.value, "x");
- test.strictEqual(stroke.scale, "color");
+ assert.strictEqual(stroke.value, "x");
+ assert.strictEqual(stroke.scale, "color");
});
diff --git a/test/output/wordLengthMobyDick.svg b/test/output/wordLengthMobyDick.svg
index c01a5f9d45..5b9cff28d1 100644
--- a/test/output/wordLengthMobyDick.svg
+++ b/test/output/wordLengthMobyDick.svg
@@ -90,19 +90,47 @@
Word length →
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ a
+
+
+ of
+
+
+ the
+
+
+ that
+
+
+ there
+
+
+ though
+
+
+ because
+
+
+ whenever
+
+
+ passenger
+
+
+ passengers
+
+
+ circulation
+
+
+ metaphysical
+
+
+ involuntarily
+
+
+ Circumambulate
+
\ No newline at end of file
diff --git a/test/plot.js b/test/plot.js
index 4765ce90a2..a2b4ee71f0 100644
--- a/test/plot.js
+++ b/test/plot.js
@@ -1,13 +1,13 @@
+import assert from "assert";
import {promises as fs} from "fs";
import * as path from "path";
import {JSDOM} from "jsdom";
-import {html as beautify} from "js-beautify";
-import tape from "tape-await";
+import beautify from "js-beautify";
import * as plots from "./plots/index.js";
(async () => {
for (const [name, plot] of Object.entries(plots)) {
- tape(`plot ${name}`, async test => {
+ it(`plot ${name}`, async () => {
try {
// Not recommended, but this is only our test code, so should be fine?
const {window} = new JSDOM("");
@@ -21,7 +21,7 @@ import * as plots from "./plots/index.js";
const [ext, svg] = root.tagName === "svg" ? ["svg", root] : ["html", root.querySelector("svg")];
svg.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns", "http://www.w3.org/2000/svg");
svg.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink", "http://www.w3.org/1999/xlink");
- const actual = beautify(root.outerHTML, {indent_size: 2});
+ const actual = beautify.html(root.outerHTML, {indent_size: 2});
const outfile = path.resolve("./test/output", path.basename(name, ".js") + "." + ext);
let expected;
@@ -37,7 +37,7 @@ import * as plots from "./plots/index.js";
}
}
- test.ok(actual === expected, `${name} must match snapshot`);
+ assert(actual === expected, `${name} must match snapshot`);
if (actual !== expected) {
const outfile = path.resolve("./test/output", path.basename(name, ".js") + "-changed." + ext);
console.warn(`! generating ${outfile}`);
diff --git a/test/plots/caltrain.js b/test/plots/caltrain.js
index da1ddfc126..d90ecbc3b3 100644
--- a/test/plots/caltrain.js
+++ b/test/plots/caltrain.js
@@ -9,7 +9,7 @@ export default async function() {
axis: null
},
y: {
- domain: d3.range(3, 26),
+ domain: d3.range(3, 26).map(String),
axis: null
},
color: {
@@ -17,11 +17,11 @@ export default async function() {
range: ["currentColor", "peru", "brown"]
},
marks: [
- Plot.text([[1, 3]], {
+ Plot.text([[1, "3"]], {
text: ["Northbound"],
textAnchor: "start"
}),
- Plot.text([[-1, 3]], {
+ Plot.text([[-1, "3"]], {
text: ["Southbound"],
textAnchor: "end"
}),
diff --git a/test/plots/d3-survey-2015-comfort.js b/test/plots/d3-survey-2015-comfort.js
index 184f2b31fb..fa0ab07f24 100644
--- a/test/plots/d3-survey-2015-comfort.js
+++ b/test/plots/d3-survey-2015-comfort.js
@@ -1,5 +1,5 @@
import * as d3 from "d3";
-import {chooseOne} from "./d3-survey-2015";
+import {chooseOne} from "./d3-survey-2015.js";
export default async function() {
const responses = await d3.json("data/d3-survey-2015.json");
diff --git a/test/plots/d3-survey-2015-why.js b/test/plots/d3-survey-2015-why.js
index 7a4b5cd088..c09b15edeb 100644
--- a/test/plots/d3-survey-2015-why.js
+++ b/test/plots/d3-survey-2015-why.js
@@ -1,5 +1,5 @@
import * as d3 from "d3";
-import {chooseMany} from "./d3-survey-2015";
+import {chooseMany} from "./d3-survey-2015.js";
export default async function() {
const responses = await d3.json("data/d3-survey-2015.json");
diff --git a/test/plots/word-length-moby-dick.js b/test/plots/word-length-moby-dick.js
index 15319707cc..5de3b53024 100644
--- a/test/plots/word-length-moby-dick.js
+++ b/test/plots/word-length-moby-dick.js
@@ -21,7 +21,7 @@ export default async function() {
percent: true
},
marks: [
- Plot.barY(words, Plot.groupX({y: "proportion"}, {x: "length"}))
+ Plot.barY(words, Plot.groupX({y: "proportion", title: "mode"}, {x: "length", title: d => d}))
]
});
}
diff --git a/test/transforms/bin-test.js b/test/transforms/bin-test.js
index 8afaaa6d4b..1a3ccce48e 100644
--- a/test/transforms/bin-test.js
+++ b/test/transforms/bin-test.js
@@ -1,36 +1,36 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("Plot.bin does not return unspecified options", test => {
+it("Plot.bin does not return unspecified options", () => {
const A = Plot.bin({});
- test.strictEqual("z" in A, false);
- test.strictEqual("fill" in A, false);
- test.strictEqual("stroke" in A, false);
+ assert.strictEqual("z" in A, false);
+ assert.strictEqual("fill" in A, false);
+ assert.strictEqual("stroke" in A, false);
const B = Plot.bin({}, {fill: "red"});
- test.strictEqual(B.fill, "red");
- test.strictEqual("z" in B, false);
- test.strictEqual("stroke" in B, false);
+ assert.strictEqual(B.fill, "red");
+ assert.strictEqual("z" in B, false);
+ assert.strictEqual("stroke" in B, false);
const C = Plot.bin({}, {stroke: "red"});
- test.strictEqual(C.stroke, "red");
- test.strictEqual("z" in C, false);
- test.strictEqual("fill" in C, false);
+ assert.strictEqual(C.stroke, "red");
+ assert.strictEqual("z" in C, false);
+ assert.strictEqual("fill" in C, false);
const D = Plot.bin({}, {fill: "red", stroke: "x"});
- test.strictEqual(D.fill, "red");
- test.strictEqual(D.stroke.label, "x");
- test.strictEqual("z" in D, false);
+ assert.strictEqual(D.fill, "red");
+ assert.strictEqual(D.stroke.label, "x");
+ assert.strictEqual("z" in D, false);
});
-tape("Plot.bin does return specified options", test => {
+it("Plot.bin does return specified options", () => {
const A = Plot.bin({}, {fill: null});
- test.strictEqual(A.fill, null);
- test.strictEqual("z" in A, false);
- test.strictEqual("stroke" in A, false);
+ assert.strictEqual(A.fill, null);
+ assert.strictEqual("z" in A, false);
+ assert.strictEqual("stroke" in A, false);
const B = Plot.bin({}, {stroke: null});
- test.strictEqual(B.stroke, null);
- test.strictEqual("z" in B, false);
- test.strictEqual("fill" in B, false);
+ assert.strictEqual(B.stroke, null);
+ assert.strictEqual("z" in B, false);
+ assert.strictEqual("fill" in B, false);
const C = Plot.bin({}, {z: null});
- test.strictEqual(C.z, null);
- test.strictEqual("fill" in C, false);
- test.strictEqual("stroke" in C, false);
+ assert.strictEqual(C.z, null);
+ assert.strictEqual("fill" in C, false);
+ assert.strictEqual("stroke" in C, false);
});
diff --git a/test/transforms/group-test.js b/test/transforms/group-test.js
index 05892b2f24..b09b5e4316 100644
--- a/test/transforms/group-test.js
+++ b/test/transforms/group-test.js
@@ -1,36 +1,36 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("Plot.group does not return unspecified options", test => {
+it("Plot.group does not return unspecified options", () => {
const A = Plot.group({});
- test.strictEqual("z" in A, false);
- test.strictEqual("fill" in A, false);
- test.strictEqual("stroke" in A, false);
+ assert.strictEqual("z" in A, false);
+ assert.strictEqual("fill" in A, false);
+ assert.strictEqual("stroke" in A, false);
const B = Plot.group({}, {fill: "red"});
- test.strictEqual(B.fill, "red");
- test.strictEqual("z" in B, false);
- test.strictEqual("stroke" in B, false);
+ assert.strictEqual(B.fill, "red");
+ assert.strictEqual("z" in B, false);
+ assert.strictEqual("stroke" in B, false);
const C = Plot.group({}, {stroke: "red"});
- test.strictEqual(C.stroke, "red");
- test.strictEqual("z" in C, false);
- test.strictEqual("fill" in C, false);
+ assert.strictEqual(C.stroke, "red");
+ assert.strictEqual("z" in C, false);
+ assert.strictEqual("fill" in C, false);
const D = Plot.group({}, {fill: "red", stroke: "x"});
- test.strictEqual(D.fill, "red");
- test.strictEqual(D.stroke.label, "x");
- test.strictEqual("z" in D, false);
+ assert.strictEqual(D.fill, "red");
+ assert.strictEqual(D.stroke.label, "x");
+ assert.strictEqual("z" in D, false);
});
-tape("Plot.group does return specified options", test => {
+it("Plot.group does return specified options", () => {
const A = Plot.group({}, {fill: null});
- test.strictEqual(A.fill, null);
- test.strictEqual("z" in A, false);
- test.strictEqual("stroke" in A, false);
+ assert.strictEqual(A.fill, null);
+ assert.strictEqual("z" in A, false);
+ assert.strictEqual("stroke" in A, false);
const B = Plot.group({}, {stroke: null});
- test.strictEqual(B.stroke, null);
- test.strictEqual("z" in B, false);
- test.strictEqual("fill" in B, false);
+ assert.strictEqual(B.stroke, null);
+ assert.strictEqual("z" in B, false);
+ assert.strictEqual("fill" in B, false);
const C = Plot.group({}, {z: null});
- test.strictEqual(C.z, null);
- test.strictEqual("fill" in C, false);
- test.strictEqual("stroke" in C, false);
+ assert.strictEqual(C.z, null);
+ assert.strictEqual("fill" in C, false);
+ assert.strictEqual("stroke" in C, false);
});
diff --git a/test/transforms/reduce-test.js b/test/transforms/reduce-test.js
index a00d6eb36f..c57c6af9df 100644
--- a/test/transforms/reduce-test.js
+++ b/test/transforms/reduce-test.js
@@ -1,25 +1,25 @@
import * as Plot from "@observablehq/plot";
-import tape from "tape-await";
+import assert from "assert";
-tape("baked-in reducers reduce as expected", test => {
+it("baked-in reducers reduce as expected", () => {
const data = [0, 1, 2, 4, 5, 9];
- testReducer(test, data, "deviation", Math.sqrt(10.7));
- testReducer(test, data, "max", 9);
- testReducer(test, data, "mean", 3.5);
- testReducer(test, data, "median", 3);
- testReducer(test, data, "min", 0);
- testReducer(test, data, "sum", 21);
- testReducer(test, data, "variance", 10.7);
+ testReducer(data, "deviation", Math.sqrt(10.7));
+ testReducer(data, "max", 9);
+ testReducer(data, "mean", 3.5);
+ testReducer(data, "median", 3);
+ testReducer(data, "min", 0);
+ testReducer(data, "sum", 21);
+ testReducer(data, "variance", 10.7);
});
-tape("function reducers reduce as expected", test => {
+it("function reducers reduce as expected", () => {
const data = [0, 1, 2, 4, 5, 9];
- testReducer(test, data, v => v.length, 6);
- testReducer(test, data, v => v.join(", "), "0, 1, 2, 4, 5, 9");
+ testReducer(data, v => v.length, 6);
+ testReducer(data, v => v.join(", "), "0, 1, 2, 4, 5, 9");
});
-function testReducer(test, data, x, r) {
+function testReducer(data, x, r) {
const mark = Plot.dot(data, Plot.groupZ({x}, {x: d => d}));
const c = new Map(mark.initialize().channels);
- test.deepEqual(c.get("x").value, [r]);
+ assert.deepStrictEqual(c.get("x").value, [r]);
}
diff --git a/test/transforms/windowMax-test.js b/test/transforms/windowMax-test.js
index 3904632c9c..89834bf61d 100644
--- a/test/transforms/windowMax-test.js
+++ b/test/transforms/windowMax-test.js
@@ -1,49 +1,48 @@
import * as Plot from "@observablehq/plot";
import {range} from "d3";
-import tape from "tape-await";
+import assert from "assert";
/* eslint-disable no-sparse-arrays */
/* eslint-disable comma-dangle */
-tape("window max computes a moving maximum", test => {
+it("window max computes a moving maximum", () => {
const data = [0, 1, 2, 3, 4, 5];
const m1 = Plot.windowX({reduce: "max", k: 1, x: d => d});
m1.transform(data, [range(data.length)]);
- test.deepEqual(m1.x.transform(), [ 0, 1, 2, 3, 4, 5 ]);
+ assert.deepStrictEqual(m1.x.transform(), [0, 1, 2, 3, 4, 5]);
const m2 = Plot.windowX({reduce: "max", k: 2, x: d => d});
m2.transform(data, [range(data.length)]);
- test.deepEqual(m2.x.transform(), [ 1, 2, 3, 4, 5, ]);
+ assert.deepStrictEqual(m2.x.transform(), [1, 2, 3, 4, 5,, ]);
const m3 = Plot.windowX({reduce: "max", k: 3, x: d => d});
m3.transform(data, [range(data.length)]);
- test.deepEqual(m3.x.transform(), [ , 2, 3, 4, 5, ]);
+ assert.deepStrictEqual(m3.x.transform(), [, 2, 3, 4, 5,, ]);
const m4 = Plot.windowX({reduce: "max", k: 4, x: d => d});
m4.transform(data, [range(data.length)]);
- test.deepEqual(m4.x.transform(), [ , 3, 4, 5, , ]);
+ assert.deepStrictEqual(m4.x.transform(), [, 3, 4, 5,,, ]);
});
-tape("window max skips NaN", test => {
+it("window max skips NaN", () => {
const data = [1, 1, 1, NaN, 1, 1, 1, 1, 1, NaN, NaN, NaN, NaN, 1];
const m3 = Plot.windowX({reduce: "max", k: 3, x: d => d});
m3.transform(data, [range(data.length)]);
- test.deepEqual(m3.x.transform(), [ , 1, NaN, NaN, NaN, 1, 1, 1, NaN, NaN, NaN, NaN, NaN, ]);
+ assert.deepStrictEqual(m3.x.transform(), [, 1, NaN, NaN, NaN, 1, 1, 1, NaN, NaN, NaN, NaN, NaN,, ]);
});
-tape("window max treats null as NaN", test => {
+it("window max treats null as NaN", () => {
const data = [1, 1, 1, null, 1, 1, 1, 1, 1, null, null, null, null, 1];
const m3 = Plot.windowX({reduce: "max", k: 3, x: d => d});
m3.transform(data, [range(data.length)]);
- test.deepEqual(m3.x.transform(), [ , 1, NaN, NaN, NaN, 1, 1, 1, NaN, NaN, NaN, NaN, NaN, ]);
+ assert.deepStrictEqual(m3.x.transform(), [, 1, NaN, NaN, NaN, 1, 1, 1, NaN, NaN, NaN, NaN, NaN,, ]);
});
-tape("window max respects shift", test => {
+it("window max respects shift", () => {
const data = [0, 1, 2, 3, 4, 5];
const mc = Plot.windowX({reduce: "max", k: 3, x: d => d});
mc.transform(data, [range(data.length)]);
- test.deepEqual(mc.x.transform(), [ , 2, 3, 4, 5, ]);
+ assert.deepStrictEqual(mc.x.transform(), [, 2, 3, 4, 5,, ]);
const ml = Plot.windowX({reduce: "max", k: 3, shift: "leading", x: d => d});
ml.transform(data, [range(data.length)]);
- test.deepEqual(ml.x.transform(), [ 2, 3, 4, 5, , ]);
+ assert.deepStrictEqual(ml.x.transform(), [2, 3, 4, 5,,, ]);
const mt = Plot.windowX({reduce: "max", k: 3, shift: "trailing", x: d => d});
mt.transform(data, [range(data.length)]);
- test.deepEqual(mt.x.transform(), [ , , 2, 3, 4, 5 ]);
+ assert.deepStrictEqual(mt.x.transform(), [,, 2, 3, 4, 5]);
});
-
diff --git a/test/transforms/windowMean-test.js b/test/transforms/windowMean-test.js
index 77dba7aec5..0e087e9bd0 100644
--- a/test/transforms/windowMean-test.js
+++ b/test/transforms/windowMean-test.js
@@ -1,49 +1,49 @@
import * as Plot from "@observablehq/plot";
import * as d3 from "d3";
-import tape from "tape-await";
+import assert from "assert";
/* eslint-disable no-sparse-arrays */
/* eslint-disable comma-dangle */
-tape("movingAverage computes a moving average", test => {
+it("movingAverage computes a moving average", () => {
const data = d3.range(6);
const m1 = Plot.windowX({k: 1, x: d => d});
m1.transform(data, [d3.range(data.length)]);
- test.deepEqual(m1.x.transform(), [ 0, 1, 2, 3, 4, 5 ]);
+ assert.deepStrictEqual(m1.x.transform(), [0, 1, 2, 3, 4, 5]);
const m2 = Plot.windowX({k: 2, x: d => d});
m2.transform(data, [d3.range(data.length)]);
- test.deepEqual(m2.x.transform(), [ 0.5, 1.5, 2.5, 3.5, 4.5, ]);
+ assert.deepStrictEqual(m2.x.transform(), [0.5, 1.5, 2.5, 3.5, 4.5,, ]);
const m3 = Plot.windowX({k: 3, x: d => d});
m3.transform(data, [d3.range(data.length)]);
- test.deepEqual(m3.x.transform(), [ , 1, 2, 3, 4, ]);
+ assert.deepStrictEqual(m3.x.transform(), [, 1, 2, 3, 4,, ]);
const m4 = Plot.windowX({k: 4, x: d => d});
m4.transform(data, [d3.range(data.length)]);
- test.deepEqual(m4.x.transform(), [ , 1.5, 2.5, 3.5, , ]);
+ assert.deepStrictEqual(m4.x.transform(), [, 1.5, 2.5, 3.5,,, ]);
});
-tape("movingAverage skips NaN", test => {
+it("movingAverage skips NaN", () => {
const data = [1, 1, 1, null, 1, 1, 1, 1, 1, NaN, 1, 1, 1];
const m3 = Plot.windowX({k: 3, x: d => d});
m3.transform(data, [d3.range(data.length)]);
- test.deepEqual(m3.x.transform(), [ , 1, NaN, NaN, NaN, 1, 1, 1, NaN, NaN, NaN, 1, ]);
+ assert.deepStrictEqual(m3.x.transform(), [, 1, NaN, NaN, NaN, 1, 1, 1, NaN, NaN, NaN, 1,, ]);
});
-tape("movingAverage treats null as NaN", test => {
+it("movingAverage treats null as NaN", () => {
const data = [1, 1, 1, null, 1, 1, 1, 1, 1, null, 1, 1, 1];
const m3 = Plot.windowX({k: 3, x: d => d});
m3.transform(data, [d3.range(data.length)]);
- test.deepEqual(m3.x.transform(), [ , 1, NaN, NaN, NaN, 1, 1, 1, NaN, NaN, NaN, 1, ]);
+ assert.deepStrictEqual(m3.x.transform(), [, 1, NaN, NaN, NaN, 1, 1, 1, NaN, NaN, NaN, 1,, ]);
});
-tape("movingAverage respects shift", test => {
+it("movingAverage respects shift", () => {
const data = [0, 1, 2, 3, 4, 5];
const mc = Plot.windowX({k: 3, x: d => d});
mc.transform(data, [d3.range(data.length)]);
- test.deepEqual(mc.x.transform(), [ , 1, 2, 3, 4, ]);
+ assert.deepStrictEqual(mc.x.transform(), [, 1, 2, 3, 4,, ]);
const ml = Plot.windowX({k: 3, shift: "leading", x: d => d});
ml.transform(data, [d3.range(data.length)]);
- test.deepEqual(ml.x.transform(), [1, 2, 3, 4, , ]);
+ assert.deepStrictEqual(ml.x.transform(), [1, 2, 3, 4,,, ]);
const mt = Plot.windowX({k: 3, shift: "trailing", x: d => d});
mt.transform(data, [d3.range(data.length)]);
- test.deepEqual(mt.x.transform(), [ , , 1, 2, 3, 4]);
+ assert.deepStrictEqual(mt.x.transform(), [,, 1, 2, 3, 4]);
});
diff --git a/yarn.lock b/yarn.lock
index 92760e65a4..d190dce931 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9,46 +9,98 @@
dependencies:
"@babel/highlight" "^7.10.4"
-"@babel/code-frame@^7.10.4":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658"
- integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
+ integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==
dependencies:
- "@babel/highlight" "^7.12.13"
+ "@babel/highlight" "^7.14.5"
-"@babel/helper-validator-identifier@^7.14.0":
- version "7.14.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
- integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
+"@babel/helper-validator-identifier@^7.14.5":
+ version "7.14.8"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz#32be33a756f29e278a0d644fa08a2c9e0f88a34c"
+ integrity sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==
-"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13":
- version "7.14.0"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf"
- integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==
+"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
+ integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==
dependencies:
- "@babel/helper-validator-identifier" "^7.14.0"
+ "@babel/helper-validator-identifier" "^7.14.5"
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@eslint/eslintrc@^0.4.0":
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547"
- integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==
+"@eslint/eslintrc@^0.4.3":
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
+ integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==
dependencies:
ajv "^6.12.4"
debug "^4.1.1"
espree "^7.3.0"
- globals "^12.1.0"
+ globals "^13.9.0"
ignore "^4.0.6"
import-fresh "^3.2.1"
js-yaml "^3.13.1"
minimatch "^3.0.4"
strip-json-comments "^3.1.1"
-"@npmcli/git@^2.0.1":
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.0.8.tgz#c38b54cdeec556ab641cf6161cc7825711a88d65"
- integrity sha512-LPnzyBZ+1p7+JzHVwwKycMF8M3lr1ze3wxGRnxn/QxJtk++Y3prSJQrdBDGCxJyRpFsup6J3lrRBVYBhJVrM8Q==
+"@humanwhocodes/config-array@^0.5.0":
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9"
+ integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==
+ dependencies:
+ "@humanwhocodes/object-schema" "^1.2.0"
+ debug "^4.1.1"
+ minimatch "^3.0.4"
+
+"@humanwhocodes/object-schema@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf"
+ integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==
+
+"@npmcli/arborist@^2.6.4":
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-2.8.0.tgz#ff078287eba44595383eb58ad8aa8540bc8aae9e"
+ integrity sha512-R9rTyak1rGdmVTyiU14dgBb+qMllY3B6I8hp7FB4xXsU9dJDrYZJR8I+191CMo5Y1941jTDCtNcXXW9TldPEFQ==
+ dependencies:
+ "@npmcli/installed-package-contents" "^1.0.7"
+ "@npmcli/map-workspaces" "^1.0.2"
+ "@npmcli/metavuln-calculator" "^1.1.0"
+ "@npmcli/move-file" "^1.1.0"
+ "@npmcli/name-from-folder" "^1.0.1"
+ "@npmcli/node-gyp" "^1.0.1"
+ "@npmcli/package-json" "^1.0.1"
+ "@npmcli/run-script" "^1.8.2"
+ bin-links "^2.2.1"
+ cacache "^15.0.3"
+ common-ancestor-path "^1.0.1"
+ json-parse-even-better-errors "^2.3.1"
+ json-stringify-nice "^1.1.4"
+ mkdirp "^1.0.4"
+ mkdirp-infer-owner "^2.0.0"
+ npm-install-checks "^4.0.0"
+ npm-package-arg "^8.1.5"
+ npm-pick-manifest "^6.1.0"
+ npm-registry-fetch "^11.0.0"
+ pacote "^11.3.5"
+ parse-conflict-json "^1.1.1"
+ proc-log "^1.0.0"
+ promise-all-reject-late "^1.0.0"
+ promise-call-limit "^1.0.1"
+ read-package-json-fast "^2.0.2"
+ readdir-scoped-modules "^1.1.0"
+ rimraf "^3.0.2"
+ semver "^7.3.5"
+ ssri "^8.0.1"
+ tar "^6.1.0"
+ treeverse "^1.0.4"
+ walk-up-path "^1.0.0"
+
+"@npmcli/git@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.1.0.tgz#2fbd77e147530247d37f325930d457b3ebe894f6"
+ integrity sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==
dependencies:
"@npmcli/promise-spawn" "^1.3.2"
lru-cache "^6.0.0"
@@ -59,7 +111,7 @@
semver "^7.3.5"
which "^2.0.2"
-"@npmcli/installed-package-contents@^1.0.6":
+"@npmcli/installed-package-contents@^1.0.6", "@npmcli/installed-package-contents@^1.0.7":
version "1.0.7"
resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa"
integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==
@@ -67,7 +119,26 @@
npm-bundled "^1.1.1"
npm-normalize-package-bin "^1.0.1"
-"@npmcli/move-file@^1.0.1":
+"@npmcli/map-workspaces@^1.0.2":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-1.0.3.tgz#6072a0794762cf8f572e6080fa66d1bbefa991d5"
+ integrity sha512-SdlRlOoQw4WKD4vtb/n5gUkobEABYBEOo8fRE4L8CtBkyWDSvIrReTfKvQ/Jc/LQqDaaZ5iv1iMSQzKCUr1n1A==
+ dependencies:
+ "@npmcli/name-from-folder" "^1.0.1"
+ glob "^7.1.6"
+ minimatch "^3.0.4"
+ read-package-json-fast "^2.0.1"
+
+"@npmcli/metavuln-calculator@^1.1.0":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-1.1.1.tgz#2f95ff3c6d88b366dd70de1c3f304267c631b458"
+ integrity sha512-9xe+ZZ1iGVaUovBVFI9h3qW+UuECUzhvZPxK9RaEA2mjU26o5D0JloGYWwLYvQELJNmBdQB6rrpuN8jni6LwzQ==
+ dependencies:
+ cacache "^15.0.5"
+ pacote "^11.1.11"
+ semver "^7.3.2"
+
+"@npmcli/move-file@^1.0.1", "@npmcli/move-file@^1.1.0":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674"
integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==
@@ -75,11 +146,23 @@
mkdirp "^1.0.4"
rimraf "^3.0.2"
-"@npmcli/node-gyp@^1.0.2":
+"@npmcli/name-from-folder@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a"
+ integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==
+
+"@npmcli/node-gyp@^1.0.1", "@npmcli/node-gyp@^1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz#3cdc1f30e9736dbc417373ed803b42b1a0a29ede"
integrity sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==
+"@npmcli/package-json@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-1.0.1.tgz#1ed42f00febe5293c3502fd0ef785647355f6e89"
+ integrity sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==
+ dependencies:
+ json-parse-even-better-errors "^2.3.1"
+
"@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2":
version "1.3.2"
resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5"
@@ -98,17 +181,51 @@
node-gyp "^7.1.0"
read-package-json-fast "^2.0.1"
-"@rollup/plugin-json@^4.1.0":
+"@rollup/plugin-commonjs@^16.0.0":
+ version "16.0.0"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-16.0.0.tgz#169004d56cd0f0a1d0f35915d31a036b0efe281f"
+ integrity sha512-LuNyypCP3msCGVQJ7ki8PqYdpjfEkE/xtFa5DqlF+7IBD0JsfMZ87C58heSwIMint58sAUZbt3ITqOmdQv/dXw==
+ dependencies:
+ "@rollup/pluginutils" "^3.1.0"
+ commondir "^1.0.1"
+ estree-walker "^2.0.1"
+ glob "^7.1.6"
+ is-reference "^1.2.1"
+ magic-string "^0.25.7"
+ resolve "^1.17.0"
+
+"@rollup/plugin-inject@^4.0.0", "@rollup/plugin-inject@^4.0.2":
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-4.0.2.tgz#55b21bb244a07675f7fdde577db929c82fc17395"
+ integrity sha512-TSLMA8waJ7Dmgmoc8JfPnwUwVZgLjjIAM6MqeIFqPO2ODK36JqE0Cf2F54UTgCUuW8da93Mvoj75a6KAVWgylw==
+ dependencies:
+ "@rollup/pluginutils" "^3.0.4"
+ estree-walker "^1.0.1"
+ magic-string "^0.25.5"
+
+"@rollup/plugin-json@^4.0.0", "@rollup/plugin-json@^4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3"
integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==
dependencies:
"@rollup/pluginutils" "^3.0.8"
-"@rollup/plugin-node-resolve@^11.2.1":
- version "11.2.1"
- resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60"
- integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==
+"@rollup/plugin-node-resolve@^10.0.0":
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz#44064a2b98df7530e66acf8941ff262fc9b4ead8"
+ integrity sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A==
+ dependencies:
+ "@rollup/pluginutils" "^3.1.0"
+ "@types/resolve" "1.17.1"
+ builtin-modules "^3.1.0"
+ deepmerge "^4.2.2"
+ is-module "^1.0.0"
+ resolve "^1.17.0"
+
+"@rollup/plugin-node-resolve@^13.0.4":
+ version "13.0.4"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.4.tgz#b10222f4145a019740acb7738402130d848660c0"
+ integrity sha512-eYq4TFy40O8hjeDs+sIxEH/jc9lyuI2k9DM557WN6rO5OpnC2qXMBNj4IKH1oHrnAazL49C5p0tgP0/VpqJ+/w==
dependencies:
"@rollup/pluginutils" "^3.1.0"
"@types/resolve" "1.17.1"
@@ -117,7 +234,15 @@
is-module "^1.0.0"
resolve "^1.19.0"
-"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0":
+"@rollup/plugin-replace@^2.4.2":
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a"
+ integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==
+ dependencies:
+ "@rollup/pluginutils" "^3.1.0"
+ magic-string "^0.25.7"
+
+"@rollup/pluginutils@^3.0.4", "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
@@ -126,20 +251,64 @@
estree-walker "^1.0.1"
picomatch "^2.2.2"
+"@sindresorhus/is@^4.0.0":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5"
+ integrity sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==
+
+"@szmarczak/http-timer@^4.0.5":
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807"
+ integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==
+ dependencies:
+ defer-to-connect "^2.0.0"
+
"@tootallnate/once@1":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
+"@types/cacheable-request@^6.0.1":
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9"
+ integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==
+ dependencies:
+ "@types/http-cache-semantics" "*"
+ "@types/keyv" "*"
+ "@types/node" "*"
+ "@types/responselike" "*"
+
+"@types/estree@*":
+ version "0.0.50"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83"
+ integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==
+
"@types/estree@0.0.39":
version "0.0.39"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
+"@types/http-cache-semantics@*":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812"
+ integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==
+
+"@types/keyv@*":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.2.tgz#5d97bb65526c20b6e0845f6b0d2ade4f28604ee5"
+ integrity sha512-/FvAK2p4jQOaJ6CGDHJTqZcUtbZe820qIeTg7o0Shg7drB4JHeL+V/dhSaly7NXx6u8eSee+r7coT+yuJEvDLg==
+ dependencies:
+ "@types/node" "*"
+
"@types/node@*":
- version "15.0.1"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-15.0.1.tgz#ef34dea0881028d11398be5bf4e856743e3dc35a"
- integrity sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==
+ version "16.4.7"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.4.7.tgz#f7afa78769d4b477f5092d7c3468e2e8653d779c"
+ integrity sha512-aDDY54sst8sx47CWT6QQqIZp45yURq4dic0+HCYfYNcY5Ejlb/CLmFnRLfy3wQuYafOeh3lB/DAKaqRKBtcZmA==
+
+"@types/parse-json@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
"@types/resolve@1.17.1":
version "1.17.1"
@@ -148,6 +317,18 @@
dependencies:
"@types/node" "*"
+"@types/responselike@*", "@types/responselike@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
+ integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==
+ dependencies:
+ "@types/node" "*"
+
+"@ungap/promise-all-settled@1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
+ integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
+
abab@^2.0.3, abab@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a"
@@ -167,9 +348,9 @@ acorn-globals@^6.0.0:
acorn-walk "^7.1.1"
acorn-jsx@^5.3.1:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
- integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==
+ version "5.3.2"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+ integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
acorn-walk@^7.1.1:
version "7.2.0"
@@ -181,12 +362,17 @@ acorn@^7.1.1, acorn@^7.4.0:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-acorn@^8.1.0:
- version "8.2.2"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.2.tgz#c4574e4fea298d6e6ed4b85ab844b06dd59f26d6"
- integrity sha512-VrMS8kxT0e7J1EX0p6rI/E0FbfOVcvBpbIqHThFv+f8YrZIlMfVotYcXKVPmTvPW8sW5miJzfUFrrvthUZg8VQ==
+acorn@^8.2.4:
+ version "8.4.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c"
+ integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==
-agent-base@6:
+address@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6"
+ integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==
+
+agent-base@6, agent-base@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
@@ -221,16 +407,16 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4:
uri-js "^4.2.2"
ajv@^8.0.1:
- version "8.2.0"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.2.0.tgz#c89d3380a784ce81b2085f48811c4c101df4c602"
- integrity sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==
+ version "8.6.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz#2fb45e0e5fcbc0813326c1c3da535d1881bb0571"
+ integrity sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==
dependencies:
fast-deep-equal "^3.1.1"
json-schema-traverse "^1.0.0"
require-from-string "^2.0.2"
uri-js "^4.2.2"
-ansi-colors@^4.1.1:
+ansi-colors@4.1.1, ansi-colors@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
@@ -250,11 +436,6 @@ ansi-regex@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
-ansi-styles@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
- integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
-
ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
@@ -269,6 +450,14 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
dependencies:
color-convert "^2.0.1"
+anymatch@~3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
+ integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
aproba@^1.0.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
@@ -289,6 +478,16 @@ argparse@^1.0.7:
dependencies:
sprintf-js "~1.0.2"
+argparse@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+ integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+asap@^2.0.0:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
+ integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
+
asn1@~0.2.3:
version "0.2.4"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
@@ -301,6 +500,14 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+assert@^1.4.1:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
+ integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
+ dependencies:
+ object-assign "^4.1.1"
+ util "0.10.3"
+
astral-regex@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
@@ -338,6 +545,33 @@ big-integer@^1.6.7:
resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e"
integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==
+big.js@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
+ integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+
+bin-links@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-2.2.1.tgz#347d9dbb48f7d60e6c11fe68b77a424bee14d61b"
+ integrity sha512-wFzVTqavpgCCYAh8SVBdnZdiQMxTkGR+T3b14CNpBXIBe2neJWaMGAZ55XWWHELJJ89dscuq0VCBqcVaIOgCMg==
+ dependencies:
+ cmd-shim "^4.0.1"
+ mkdirp "^1.0.3"
+ npm-normalize-package-bin "^1.0.0"
+ read-cmd-shim "^2.0.0"
+ rimraf "^3.0.0"
+ write-file-atomic "^3.0.3"
+
+binary-extensions@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+ integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+boolbase@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
+
bplist-parser@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.1.1.tgz#d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6"
@@ -353,17 +587,36 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
+braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
browser-process-hrtime@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
+browser-stdout@1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
+ integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
+
buffer-from@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
- integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+bufferutil@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.3.tgz#66724b756bed23cd7c28c4d306d7994f9943cc6b"
+ integrity sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==
+ dependencies:
+ node-gyp-build "^4.2.0"
-builtin-modules@^3.1.0:
+builtin-modules@^3.1.0, builtin-modules@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887"
integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==
@@ -373,10 +626,10 @@ builtins@^1.0.3:
resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88"
integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og=
-cacache@^15.0.5:
- version "15.0.6"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.6.tgz#65a8c580fda15b59150fb76bf3f3a8e45d583099"
- integrity sha512-g1WYDMct/jzW+JdWEyjaX2zoBkZ6ZT9VpOyp2I/VMtDsNLffNat3kqPFfi1eDRSK9/SuKGyORDHcQMcPF8sQ/w==
+cacache@^15.0.0, cacache@^15.0.3, cacache@^15.0.5, cacache@^15.2.0:
+ version "15.2.0"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389"
+ integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==
dependencies:
"@npmcli/move-file" "^1.0.1"
chownr "^2.0.0"
@@ -396,35 +649,44 @@ cacache@^15.0.5:
tar "^6.0.2"
unique-filename "^1.1.1"
-call-bind@^1.0.0, call-bind@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
- integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
- dependencies:
- function-bind "^1.1.1"
- get-intrinsic "^1.0.2"
+cacheable-lookup@^5.0.3:
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005"
+ integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==
+
+cacheable-request@^7.0.1:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27"
+ integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==
+ dependencies:
+ clone-response "^1.0.2"
+ get-stream "^5.1.0"
+ http-cache-semantics "^4.0.0"
+ keyv "^4.0.0"
+ lowercase-keys "^2.0.0"
+ normalize-url "^6.0.1"
+ responselike "^2.0.0"
+
+cachedir@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8"
+ integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+camelcase@^6.0.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
+ integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
+
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-chalk@^1.1.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
- integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
- dependencies:
- ansi-styles "^2.2.1"
- escape-string-regexp "^1.0.2"
- has-ansi "^2.0.0"
- strip-ansi "^3.0.0"
- supports-color "^2.0.0"
-
chalk@^2.0.0:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
@@ -434,7 +696,7 @@ chalk@^2.0.0:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^4.0.0:
+chalk@^4.0.0, chalk@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
@@ -442,15 +704,59 @@ chalk@^4.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+cheerio-select@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.5.0.tgz#faf3daeb31b17c5e1a9dabcee288aaf8aafa5823"
+ integrity sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==
+ dependencies:
+ css-select "^4.1.3"
+ css-what "^5.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+ domutils "^2.7.0"
+
+cheerio@1.0.0-rc.10:
+ version "1.0.0-rc.10"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.10.tgz#2ba3dcdfcc26e7956fc1f440e61d51c643379f3e"
+ integrity sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==
+ dependencies:
+ cheerio-select "^1.5.0"
+ dom-serializer "^1.3.2"
+ domhandler "^4.2.0"
+ htmlparser2 "^6.1.0"
+ parse5 "^6.0.1"
+ parse5-htmlparser2-tree-adapter "^6.0.1"
+ tslib "^2.2.0"
+
+chokidar@3.5.2, chokidar@^3.4.0:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
+ integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
chownr@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
+cjs-module-lexer@^1.2.1:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
+ integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
+
clean-css@^5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.1.2.tgz#6ea0da7286b4ddc2469a1b776e2461a5007eed54"
- integrity sha512-QcaGg9OuMo+0Ds933yLOY+gHPWbxhxqF0HDexmToPf8pczvmvZGYzd+QqWp9/mkucAOKViI+dSFOqoZIvXbeBw==
+ version "5.1.4"
+ resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.1.4.tgz#d191c98347f9fc36b301f99bb827898151175782"
+ integrity sha512-e6JAuR0T2ahg7fOSv98Nxqh7mHWOac5TaCSgrr61h/6mkPLwlxX38hzob4h6IKj/UHlrrLXvAEjWqXlvi8r8lQ==
dependencies:
source-map "~0.6.0"
@@ -464,6 +770,29 @@ cli-spinners@^2.5.0:
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939"
integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==
+cliui@^7.0.2:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
+ integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^7.0.0"
+
+clone-response@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
+ integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
+ dependencies:
+ mimic-response "^1.0.0"
+
+cmd-shim@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-4.1.0.tgz#b3a904a6743e9fede4148c6f3800bf2a08135bdd"
+ integrity sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==
+ dependencies:
+ mkdirp-infer-owner "^2.0.0"
+
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"
@@ -493,27 +822,54 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-combined-stream@^1.0.6, combined-stream@~1.0.6:
+colorette@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
+ integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
+
+combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
dependencies:
delayed-stream "~1.0.0"
-commander@2, commander@^2.19.0, commander@^2.20.0:
+commander@7:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
+commander@^2.19.0, commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+common-ancestor-path@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7"
+ integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==
+
+commondir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+ integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
+
+compressible@^2.0.18:
+ version "2.0.18"
+ resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
+ integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
+ dependencies:
+ mime-db ">= 1.43.0 < 2"
+
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
config-chain@^1.1.12:
- version "1.1.12"
- resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
- integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==
+ version "1.1.13"
+ resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4"
+ integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==
dependencies:
ini "^1.3.4"
proto-list "~1.2.1"
@@ -528,7 +884,18 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-cross-spawn@^7.0.2:
+cosmiconfig@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
+ integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.2.1"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.10.0"
+
+cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -537,6 +904,27 @@ cross-spawn@^7.0.2:
shebang-command "^2.0.0"
which "^2.0.1"
+css-select@^4.1.3:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067"
+ integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^5.0.0"
+ domhandler "^4.2.0"
+ domutils "^2.6.0"
+ nth-check "^2.0.0"
+
+css-what@^5.0.0, css-what@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad"
+ integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==
+
+cssesc@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
+ integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+
cssom@^0.4.4:
version "0.4.4"
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10"
@@ -554,249 +942,249 @@ cssstyle@^2.3.0:
dependencies:
cssom "~0.3.6"
-d3-array@2, d3-array@>=2.5, d3-array@^2.3.0:
- version "2.12.1"
- resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81"
- integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==
+"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.0.1.tgz#ca45c263f5bb780ab5a34a6e1d3d5883fe4a8d14"
+ integrity sha512-l3Bh5o8RSoC3SBm5ix6ogaFW+J6rOUm42yOtZ2sQPCEvCqUMepeX7zgrlLLGIemxgOyo9s2CsWEidnLv5PwwRw==
dependencies:
- internmap "^1.0.0"
+ internmap "1 - 2"
-d3-axis@2:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-2.1.0.tgz#978db534092711117d032fad5d733d206307f6a0"
- integrity sha512-z/G2TQMyuf0X3qP+Mh+2PimoJD41VOCjViJzT0BHeL/+JQAofkiWZbWxlwFGb1N8EN+Cl/CW+MUKbVzr1689Cw==
+d3-axis@3:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-3.0.0.tgz#c42a4a13e8131d637b745fc2973824cfeaf93322"
+ integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==
-d3-brush@2:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-2.1.0.tgz#adadfbb104e8937af142e9a6e2028326f0471065"
- integrity sha512-cHLLAFatBATyIKqZOkk/mDHUbzne2B3ZwxkzMHvFTCZCmLaXDpZRihQSn8UNXTkGD/3lb/W2sQz0etAftmHMJQ==
+d3-brush@3:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-3.0.0.tgz#6f767c4ed8dcb79de7ede3e1c0f89e63ef64d31c"
+ integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==
dependencies:
- d3-dispatch "1 - 2"
- d3-drag "2"
- d3-interpolate "1 - 2"
- d3-selection "2"
- d3-transition "2"
+ d3-dispatch "1 - 3"
+ d3-drag "2 - 3"
+ d3-interpolate "1 - 3"
+ d3-selection "3"
+ d3-transition "3"
-d3-chord@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-2.0.0.tgz#32491b5665391180560f738e5c1ccd1e3c47ebae"
- integrity sha512-D5PZb7EDsRNdGU4SsjQyKhja8Zgu+SHZfUSO5Ls8Wsn+jsAKUUGkcshLxMg9HDFxG3KqavGWaWkJ8EpU8ojuig==
+d3-chord@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-3.0.1.tgz#d156d61f485fce8327e6abf339cb41d8cbba6966"
+ integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==
dependencies:
- d3-path "1 - 2"
+ d3-path "1 - 3"
-"d3-color@1 - 2", d3-color@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e"
- integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==
+"d3-color@1 - 3", d3-color@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.0.1.tgz#03316e595955d1fcd39d9f3610ad41bb90194d0a"
+ integrity sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw==
-d3-contour@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-2.0.0.tgz#80ee834988563e3bea9d99ddde72c0f8c089ea40"
- integrity sha512-9unAtvIaNk06UwqBmvsdHX7CZ+NPDZnn8TtNH1myW93pWJkhsV25JcgnYAu0Ck5Veb1DHiCv++Ic5uvJ+h50JA==
+d3-contour@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-3.0.1.tgz#2c64255d43059599cd0dba8fe4cc3d51ccdd9bbd"
+ integrity sha512-0Oc4D0KyhwhM7ZL0RMnfGycLN7hxHB8CMmwZ3+H26PWAG0ozNuYG5hXSDNgmP1SgJkQMrlG6cP20HoaSbvcJTQ==
dependencies:
- d3-array "2"
+ d3-array "2 - 3"
-d3-delaunay@5:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-5.3.0.tgz#b47f05c38f854a4e7b3cea80e0bb12e57398772d"
- integrity sha512-amALSrOllWVLaHTnDLHwMIiz0d1bBu9gZXd1FiLfXf8sHcX9jrcj81TVZOqD4UX7MgBZZ07c8GxzEgBpJqc74w==
+d3-delaunay@6:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.2.tgz#7fd3717ad0eade2fc9939f4260acfb503f984e92"
+ integrity sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==
dependencies:
- delaunator "4"
+ delaunator "5"
-"d3-dispatch@1 - 2", d3-dispatch@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-2.0.0.tgz#8a18e16f76dd3fcaef42163c97b926aa9b55e7cf"
- integrity sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==
+"d3-dispatch@1 - 3", d3-dispatch@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e"
+ integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==
-d3-drag@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-2.0.0.tgz#9eaf046ce9ed1c25c88661911c1d5a4d8eb7ea6d"
- integrity sha512-g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w==
+"d3-drag@2 - 3", d3-drag@3:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba"
+ integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==
dependencies:
- d3-dispatch "1 - 2"
- d3-selection "2"
+ d3-dispatch "1 - 3"
+ d3-selection "3"
-"d3-dsv@1 - 2", d3-dsv@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-2.0.0.tgz#b37b194b6df42da513a120d913ad1be22b5fe7c5"
- integrity sha512-E+Pn8UJYx9mViuIUkoc93gJGGYut6mSDKy2+XaPwccwkRGlR+LO97L2VCCRjQivTwLHkSnAJG7yo00BWY6QM+w==
+"d3-dsv@1 - 3", d3-dsv@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73"
+ integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==
dependencies:
- commander "2"
- iconv-lite "0.4"
+ commander "7"
+ iconv-lite "0.6"
rw "1"
-"d3-ease@1 - 2", d3-ease@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-2.0.0.tgz#fd1762bfca00dae4bacea504b1d628ff290ac563"
- integrity sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==
+"d3-ease@1 - 3", d3-ease@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4"
+ integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==
-d3-fetch@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-2.0.0.tgz#ecd7ef2128d9847a3b41b548fec80918d645c064"
- integrity sha512-TkYv/hjXgCryBeNKiclrwqZH7Nb+GaOwo3Neg24ZVWA3MKB+Rd+BY84Nh6tmNEMcjUik1CSUWjXYndmeO6F7sw==
+d3-fetch@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-3.0.1.tgz#83141bff9856a0edb5e38de89cdcfe63d0a60a22"
+ integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==
dependencies:
- d3-dsv "1 - 2"
+ d3-dsv "1 - 3"
-d3-force@2:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-2.1.1.tgz#f20ccbf1e6c9e80add1926f09b51f686a8bc0937"
- integrity sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==
+d3-force@3:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4"
+ integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==
dependencies:
- d3-dispatch "1 - 2"
- d3-quadtree "1 - 2"
- d3-timer "1 - 2"
+ d3-dispatch "1 - 3"
+ d3-quadtree "1 - 3"
+ d3-timer "1 - 3"
-"d3-format@1 - 2", d3-format@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-2.0.0.tgz#a10bcc0f986c372b729ba447382413aabf5b0767"
- integrity sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==
+"d3-format@1 - 3", d3-format@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.0.1.tgz#e41b81b2ab79277141ec1404aa5d05001da64084"
+ integrity sha512-hdL7+HBIohpgfolhBxr1KX47VMD6+vVD/oEFrxk5yhmzV2prk99EkFKYpXuhVkFpTgHdJ6/4bYcjdLPPXV4tIA==
-d3-geo@2:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-2.0.1.tgz#2437fdfed3fe3aba2812bd8f30609cac83a7ee39"
- integrity sha512-M6yzGbFRfxzNrVhxDJXzJqSLQ90q1cCyb3EWFZ1LF4eWOBYxFypw7I/NFVBNXKNqxv1bqLathhYvdJ6DC+th3A==
+d3-geo@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.0.1.tgz#4f92362fd8685d93e3b1fae0fd97dc8980b1ed7e"
+ integrity sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==
dependencies:
- d3-array ">=2.5"
+ d3-array "2.5.0 - 3"
-d3-hierarchy@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz#dab88a58ca3e7a1bc6cab390e89667fcc6d20218"
- integrity sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==
+d3-hierarchy@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.0.1.tgz#0365342d54972e38ca05e9143e0ab1c60846b3b5"
+ integrity sha512-RlLTaofEoOrMK1JoXYIGhKTkJFI/6rFrYPgxy6QlZo2BcVc4HGTqEU0rPpzuMq5T/5XcMtAzv1XiLA3zRTfygw==
-"d3-interpolate@1 - 2", "d3-interpolate@1.2.0 - 2", d3-interpolate@2:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-2.0.1.tgz#98be499cfb8a3b94d4ff616900501a64abc91163"
- integrity sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==
+"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d"
+ integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==
dependencies:
- d3-color "1 - 2"
+ d3-color "1 - 3"
-"d3-path@1 - 2", d3-path@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-2.0.0.tgz#55d86ac131a0548adae241eebfb56b4582dd09d8"
- integrity sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==
+"d3-path@1 - 3", d3-path@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.0.1.tgz#f09dec0aaffd770b7995f1a399152bf93052321e"
+ integrity sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w==
-d3-polygon@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-2.0.0.tgz#13608ef042fbec625ba1598327564f03c0396d8e"
- integrity sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==
+d3-polygon@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-3.0.1.tgz#0b45d3dd1c48a29c8e057e6135693ec80bf16398"
+ integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==
-"d3-quadtree@1 - 2", d3-quadtree@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-2.0.0.tgz#edbad045cef88701f6fee3aee8e93fb332d30f9d"
- integrity sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==
+"d3-quadtree@1 - 3", d3-quadtree@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f"
+ integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==
-d3-random@2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-2.2.2.tgz#5eebd209ef4e45a2b362b019c1fb21c2c98cbb6e"
- integrity sha512-0D9P8TRj6qDAtHhRQn6EfdOtHMfsUWanl3yb/84C4DqpZ+VsgfI5iTVRNRbELCfNvRfpMr8OrqqUTQ6ANGCijw==
+d3-random@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-3.0.1.tgz#d4926378d333d9c0bfd1e6fa0194d30aebaa20f4"
+ integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==
-d3-scale-chromatic@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz#c13f3af86685ff91323dc2f0ebd2dabbd72d8bab"
- integrity sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==
+d3-scale-chromatic@3:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz#15b4ceb8ca2bb0dcb6d1a641ee03d59c3b62376a"
+ integrity sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==
dependencies:
- d3-color "1 - 2"
- d3-interpolate "1 - 2"
+ d3-color "1 - 3"
+ d3-interpolate "1 - 3"
-d3-scale@3:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-3.3.0.tgz#28c600b29f47e5b9cd2df9749c206727966203f3"
- integrity sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==
+d3-scale@4:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.0.tgz#294377ea1d7e5a31509ee648b98d7916ac0b34e3"
+ integrity sha512-foHQYKpWQcyndH1CGoHdUC4PECxTxonzwwBXGT8qu+Drb1FIc6ON6dG2P5f4hRRMkLiIKeWK7iFtdznDUrnuPQ==
dependencies:
- d3-array "^2.3.0"
- d3-format "1 - 2"
- d3-interpolate "1.2.0 - 2"
- d3-time "^2.1.1"
- d3-time-format "2 - 3"
+ d3-array "2.10.0 - 3"
+ d3-format "1 - 3"
+ d3-interpolate "1.2.0 - 3"
+ d3-time "2.1.1 - 3"
+ d3-time-format "2 - 4"
-d3-selection@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-2.0.0.tgz#94a11638ea2141b7565f883780dabc7ef6a61066"
- integrity sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==
+"d3-selection@2 - 3", d3-selection@3:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31"
+ integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==
-d3-shape@2:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-2.1.0.tgz#3b6a82ccafbc45de55b57fcf956c584ded3b666f"
- integrity sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==
+d3-shape@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.0.1.tgz#9ccdfb28fd9b0d12f2d8aec234cd5c4a9ea27931"
+ integrity sha512-HNZNEQoDhuCrDWEc/BMbF/hKtzMZVoe64TvisFLDp2Iyj0UShB/E6/lBsLlJTfBMbYgftHj90cXJ0SEitlE6Xw==
dependencies:
- d3-path "1 - 2"
+ d3-path "1 - 3"
-"d3-time-format@2 - 3", d3-time-format@3:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-3.0.0.tgz#df8056c83659e01f20ac5da5fdeae7c08d5f1bb6"
- integrity sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==
+"d3-time-format@2 - 4", d3-time-format@4:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.0.0.tgz#930ded86a9de761702344760d8a25753467f28b7"
+ integrity sha512-nzaCwlj+ZVBIlFuVOT1RmU+6xb/7D5IcnhHzHQcBgS/aTa5K9fWZNN5LCXA27LgF5WxoSNJqKBbLcGMtM6Ca6A==
dependencies:
- d3-time "1 - 2"
+ d3-time "1 - 3"
-"d3-time@1 - 2", d3-time@2, d3-time@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-2.1.1.tgz#e9d8a8a88691f4548e68ca085e5ff956724a6682"
- integrity sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==
+"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.0.0.tgz#65972cb98ae2d4954ef5c932e8704061335d4975"
+ integrity sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==
dependencies:
- d3-array "2"
+ d3-array "2 - 3"
-"d3-timer@1 - 2", d3-timer@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-2.0.0.tgz#055edb1d170cfe31ab2da8968deee940b56623e6"
- integrity sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==
+"d3-timer@1 - 3", d3-timer@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0"
+ integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==
-d3-transition@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-2.0.0.tgz#366ef70c22ef88d1e34105f507516991a291c94c"
- integrity sha512-42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog==
+"d3-transition@2 - 3", d3-transition@3:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f"
+ integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==
dependencies:
- d3-color "1 - 2"
- d3-dispatch "1 - 2"
- d3-ease "1 - 2"
- d3-interpolate "1 - 2"
- d3-timer "1 - 2"
+ d3-color "1 - 3"
+ d3-dispatch "1 - 3"
+ d3-ease "1 - 3"
+ d3-interpolate "1 - 3"
+ d3-timer "1 - 3"
-d3-zoom@2:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-2.0.0.tgz#f04d0afd05518becce879d04709c47ecd93fba54"
- integrity sha512-fFg7aoaEm9/jf+qfstak0IYpnesZLiMX6GZvXtUSdv8RH2o4E2qeelgdU09eKS6wGuiGMfcnMI0nTIqWzRHGpw==
- dependencies:
- d3-dispatch "1 - 2"
- d3-drag "2"
- d3-interpolate "1 - 2"
- d3-selection "2"
- d3-transition "2"
-
-d3@^6.7.0:
- version "6.7.0"
- resolved "https://registry.yarnpkg.com/d3/-/d3-6.7.0.tgz#adac458597b4a2cafe8e08cf30948af0c95cd61f"
- integrity sha512-hNHRhe+yCDLUG6Q2LwvR/WdNFPOJQ5VWqsJcwIYVeI401+d2/rrCjxSXkiAdIlpx7/73eApFB4Olsmh3YN7a6g==
- dependencies:
- d3-array "2"
- d3-axis "2"
- d3-brush "2"
- d3-chord "2"
- d3-color "2"
- d3-contour "2"
- d3-delaunay "5"
- d3-dispatch "2"
- d3-drag "2"
- d3-dsv "2"
- d3-ease "2"
- d3-fetch "2"
- d3-force "2"
- d3-format "2"
- d3-geo "2"
- d3-hierarchy "2"
- d3-interpolate "2"
- d3-path "2"
- d3-polygon "2"
- d3-quadtree "2"
- d3-random "2"
- d3-scale "3"
- d3-scale-chromatic "2"
- d3-selection "2"
- d3-shape "2"
- d3-time "2"
- d3-time-format "3"
- d3-timer "2"
- d3-transition "2"
- d3-zoom "2"
+d3-zoom@3:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3"
+ integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==
+ dependencies:
+ d3-dispatch "1 - 3"
+ d3-drag "2 - 3"
+ d3-interpolate "1 - 3"
+ d3-selection "2 - 3"
+ d3-transition "2 - 3"
+
+d3@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/d3/-/d3-7.0.0.tgz#fe6036b38ba2026ff34223e208fd294db1b997da"
+ integrity sha512-t+jEKGO2jQiSBLJYYq6RFc500tsCeXBB4x41oQaSnZD3Som95nQrlw9XJGrFTMUOQOkwSMauWy9+8Tz1qm9UZw==
+ dependencies:
+ d3-array "3"
+ d3-axis "3"
+ d3-brush "3"
+ d3-chord "3"
+ d3-color "3"
+ d3-contour "3"
+ d3-delaunay "6"
+ d3-dispatch "3"
+ d3-drag "3"
+ d3-dsv "3"
+ d3-ease "3"
+ d3-fetch "3"
+ d3-force "3"
+ d3-format "3"
+ d3-geo "3"
+ d3-hierarchy "3"
+ d3-interpolate "3"
+ d3-path "3"
+ d3-polygon "3"
+ d3-quadtree "3"
+ d3-random "3"
+ d3-scale "4"
+ d3-scale-chromatic "3"
+ d3-selection "3"
+ d3-shape "3"
+ d3-time "3"
+ d3-time-format "4"
+ d3-timer "3"
+ d3-transition "3"
+ d3-zoom "3"
dashdash@^1.12.0:
version "1.14.1"
@@ -815,28 +1203,47 @@ data-urls@^2.0.0:
whatwg-url "^8.0.0"
debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
+ integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+ dependencies:
+ ms "2.1.2"
+
+debug@4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
dependencies:
ms "2.1.2"
+debug@^2.6.0:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
+debuglog@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
+ integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=
+
+decamelize@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837"
+ integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==
+
decimal.js@^10.2.1:
- version "10.2.1"
- resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3"
- integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==
+ version "10.3.1"
+ resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783"
+ integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==
-deep-equal@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
- integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==
+decompress-response@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
+ integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
dependencies:
- is-arguments "^1.0.4"
- is-date-object "^1.0.1"
- is-regex "^1.0.4"
- object-is "^1.0.1"
- object-keys "^1.1.1"
- regexp.prototype.flags "^1.2.0"
+ mimic-response "^3.1.0"
deep-is@^0.1.3, deep-is@~0.1.3:
version "0.1.3"
@@ -857,22 +1264,22 @@ default-browser-id@^2.0.0:
pify "^2.3.0"
untildify "^2.0.0"
-define-properties@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
- integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
- dependencies:
- object-keys "^1.0.12"
+defer-to-connect@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587"
+ integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==
-defined@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
- integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
+define-lazy-prop@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
+ integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==
-delaunator@4:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-4.0.1.tgz#3d779687f57919a7a418f8ab947d3bddb6846957"
- integrity sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==
+delaunator@5:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.0.tgz#60f052b28bd91c9b4566850ebf7756efe821d81b"
+ integrity sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==
+ dependencies:
+ robust-predicates "^3.0.0"
delayed-stream@~1.0.0:
version "1.0.0"
@@ -889,6 +1296,27 @@ depd@^1.1.2:
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
+detect-port@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1"
+ integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==
+ dependencies:
+ address "^1.0.1"
+ debug "^2.6.0"
+
+dezalgo@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456"
+ integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=
+ dependencies:
+ asap "^2.0.0"
+ wrappy "1"
+
+diff@5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
+ integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
+
doctrine@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
@@ -896,6 +1324,20 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
+dom-serializer@^1.0.1, dom-serializer@^1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91"
+ integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
+
+domelementtype@^2.0.1, domelementtype@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
+ integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
+
domexception@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304"
@@ -903,12 +1345,21 @@ domexception@^2.0.1:
dependencies:
webidl-conversions "^5.0.0"
-dotignore@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905"
- integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==
+domhandler@^4.0.0, domhandler@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059"
+ integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==
dependencies:
- minimatch "^3.0.4"
+ domelementtype "^2.2.0"
+
+domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.7.0.tgz#8ebaf0c41ebafcf55b0b72ec31c56323712c5442"
+ integrity sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
ecc-jsbn@~0.1.1:
version "0.1.2"
@@ -933,6 +1384,11 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+emojis-list@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
+ integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
+
encoding@^0.1.12:
version "0.1.13"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
@@ -940,6 +1396,13 @@ encoding@^0.1.12:
dependencies:
iconv-lite "^0.6.2"
+end-of-stream@^1.1.0:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+ dependencies:
+ once "^1.4.0"
+
enquirer@^2.3.5:
version "2.3.6"
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
@@ -947,6 +1410,11 @@ enquirer@^2.3.5:
dependencies:
ansi-colors "^4.1.1"
+entities@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+ integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
env-paths@^2.2.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
@@ -957,43 +1425,39 @@ err-code@^2.0.2:
resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9"
integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==
-es-abstract@^1.18.0-next.2:
- version "1.18.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4"
- integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==
- dependencies:
- call-bind "^1.0.2"
- es-to-primitive "^1.2.1"
- function-bind "^1.1.1"
- get-intrinsic "^1.1.1"
- has "^1.0.3"
- has-symbols "^1.0.2"
- is-callable "^1.2.3"
- is-negative-zero "^2.0.1"
- is-regex "^1.1.2"
- is-string "^1.0.5"
- object-inspect "^1.9.0"
- object-keys "^1.1.1"
- object.assign "^4.1.2"
- string.prototype.trimend "^1.0.4"
- string.prototype.trimstart "^1.0.4"
- unbox-primitive "^1.0.0"
-
-es-to-primitive@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
- integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+error-ex@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
- is-callable "^1.1.4"
- is-date-object "^1.0.1"
- is-symbol "^1.0.2"
+ is-arrayish "^0.2.1"
+
+es-module-lexer@^0.3.24:
+ version "0.3.26"
+ resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.3.26.tgz#7b507044e97d5b03b01d4392c74ffeb9c177a83b"
+ integrity sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA==
+
+es-module-lexer@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.6.0.tgz#e72ab05b7412e62b9be37c37a09bdb6000d706f0"
+ integrity sha512-f8kcHX1ArhllUtb/wVSyvygoKCznIjnxhLxy7TCvIiMdT7fL4ZDTIKaadMe6eLvOXg6Wk02UeoFgUoZ2EKZZUA==
-esbuild@^0.9.3:
+esbuild@~0.9.0:
version "0.9.7"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.9.7.tgz#ea0d639cbe4b88ec25fbed4d6ff00c8d788ef70b"
integrity sha512-VtUf6aQ89VTmMLKrWHYG50uByMF4JQlVysb8dmg6cOgW8JnFCipmz7p+HNBl+RR3LLCuBxFGVauAe2wfnF9bLg==
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+escalade@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+ integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+
+escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+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"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
@@ -1010,6 +1474,32 @@ escodegen@^2.0.0:
optionalDependencies:
source-map "~0.6.1"
+esinstall@^1.0.0, esinstall@^1.1.7:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/esinstall/-/esinstall-1.1.7.tgz#ceabeb4b8685bf48c805a503e292dfafe4e0cb22"
+ integrity sha512-irDsrIF7fZ5BCQEAV5gmH+4nsK6JhnkI9C9VloXdmzJLbM1EcshPw8Ap95UUGc4ZJdzGeOrjV+jgKjQ/Z7Q3pg==
+ dependencies:
+ "@rollup/plugin-commonjs" "^16.0.0"
+ "@rollup/plugin-inject" "^4.0.2"
+ "@rollup/plugin-json" "^4.0.0"
+ "@rollup/plugin-node-resolve" "^10.0.0"
+ "@rollup/plugin-replace" "^2.4.2"
+ builtin-modules "^3.2.0"
+ cjs-module-lexer "^1.2.1"
+ es-module-lexer "^0.6.0"
+ execa "^5.1.1"
+ is-valid-identifier "^2.0.2"
+ kleur "^4.1.1"
+ mkdirp "^1.0.3"
+ picomatch "^2.3.0"
+ resolve "^1.20.0"
+ rimraf "^3.0.0"
+ rollup "~2.37.1"
+ rollup-plugin-polyfill-node "^0.6.2"
+ slash "~3.0.0"
+ validate-npm-package-name "^3.0.0"
+ vm2 "^3.9.2"
+
eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
@@ -1036,27 +1526,30 @@ eslint-visitor-keys@^2.0.0:
integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
eslint@^7.12.1:
- version "7.25.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67"
- integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==
+ version "7.31.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.31.0.tgz#f972b539424bf2604907a970860732c5d99d3aca"
+ integrity sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==
dependencies:
"@babel/code-frame" "7.12.11"
- "@eslint/eslintrc" "^0.4.0"
+ "@eslint/eslintrc" "^0.4.3"
+ "@humanwhocodes/config-array" "^0.5.0"
ajv "^6.10.0"
chalk "^4.0.0"
cross-spawn "^7.0.2"
debug "^4.0.1"
doctrine "^3.0.0"
enquirer "^2.3.5"
+ escape-string-regexp "^4.0.0"
eslint-scope "^5.1.1"
eslint-utils "^2.1.0"
eslint-visitor-keys "^2.0.0"
espree "^7.3.1"
esquery "^1.4.0"
esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
file-entry-cache "^6.0.1"
functional-red-black-tree "^1.0.1"
- glob-parent "^5.0.0"
+ glob-parent "^5.1.2"
globals "^13.6.0"
ignore "^4.0.6"
import-fresh "^3.0.0"
@@ -1065,7 +1558,7 @@ eslint@^7.12.1:
js-yaml "^3.13.1"
json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.4.1"
- lodash "^4.17.21"
+ lodash.merge "^4.6.2"
minimatch "^3.0.4"
natural-compare "^1.4.0"
optionator "^0.9.1"
@@ -1074,15 +1567,10 @@ eslint@^7.12.1:
semver "^7.2.1"
strip-ansi "^6.0.0"
strip-json-comments "^3.1.0"
- table "^6.0.4"
+ table "^6.0.9"
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
-esm@^3.2.25:
- version "3.2.25"
- resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10"
- integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==
-
espree@^7.3.0, espree@^7.3.1:
version "7.3.1"
resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
@@ -1126,11 +1614,41 @@ estree-walker@^1.0.1:
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
+estree-walker@^2.0.1, estree-walker@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+ integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+etag@^1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+ integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
+
+eventemitter3@^4.0.4:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
+ integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
+
+execa@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
+ strip-final-newline "^2.0.0"
+
extend@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
@@ -1146,7 +1664,7 @@ extsprintf@^1.2.0:
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
-fast-deep-equal@^3.1.1:
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
@@ -1162,9 +1680,9 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
fdir@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/fdir/-/fdir-5.0.0.tgz#a40b5d9adfb530daeca55558e8ad87ec14a44769"
- integrity sha512-cteqwWMA43lEmgwOg5HSdvhVFD39vHjQDhZkRMlKmeoNPtSSgUw1nUypydiY2upMdGiBFBZvNBDbnoBh0yCzaQ==
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/fdir/-/fdir-5.1.0.tgz#973e4934e6a3666b59ebdfc56f60bb8e9b16acb8"
+ integrity sha512-IgTtZwL52tx2wqWeuGDzXYTnNsEjNLahZpJw30hCQDyVnoHXwY5acNDnjGImTTL1R0z1PCyLw20VAbE5qLic3Q==
file-entry-cache@^6.0.1:
version "6.0.1"
@@ -1173,6 +1691,38 @@ file-entry-cache@^6.0.1:
dependencies:
flat-cache "^3.0.4"
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+find-cache-dir@^3.3.1:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
+ integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^3.0.2"
+ pkg-dir "^4.1.0"
+
+find-up@5.0.0, find-up@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+ dependencies:
+ locate-path "^6.0.0"
+ path-exists "^4.0.0"
+
+find-up@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+ dependencies:
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
+
flat-cache@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
@@ -1181,23 +1731,30 @@ flat-cache@^3.0.4:
flatted "^3.1.0"
rimraf "^3.0.2"
-flatted@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469"
- integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==
+flat@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
+ integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
-for-each@~0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
- integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
- dependencies:
- is-callable "^1.1.3"
+flatted@^3.1.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561"
+ integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
+form-data@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
+ integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
@@ -1219,7 +1776,7 @@ fs.realpath@^1.0.0:
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
-fsevents@^2.2.0, fsevents@~2.3.1:
+fsevents@^2.3.2, fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
@@ -1229,7 +1786,7 @@ fsevents@~2.1.2:
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
-function-bind@^1.1.1, function-bind@~1.1.1:
+function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
@@ -1253,14 +1810,29 @@ gauge@~2.7.3:
strip-ansi "^3.0.1"
wide-align "^1.1.0"
-get-intrinsic@^1.0.2, get-intrinsic@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
- integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
+generic-names@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872"
+ integrity sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==
dependencies:
- function-bind "^1.1.1"
- has "^1.0.3"
- has-symbols "^1.0.1"
+ loader-utils "^1.1.0"
+
+get-caller-file@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-stream@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
+ integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+ dependencies:
+ pump "^3.0.0"
+
+get-stream@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
getpass@^0.1.1:
version "0.1.7"
@@ -1269,17 +1841,17 @@ getpass@^0.1.1:
dependencies:
assert-plus "^1.0.0"
-glob-parent@^5.0.0:
+glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies:
is-glob "^4.0.1"
-glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+glob@7.1.7, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7:
+ version "7.1.7"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
+ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -1288,25 +1860,40 @@ glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.6:
once "^1.3.0"
path-is-absolute "^1.0.0"
-globals@^12.1.0:
- version "12.4.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
- integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
- dependencies:
- type-fest "^0.8.1"
-
-globals@^13.6.0:
- version "13.8.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3"
- integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==
+globals@^13.6.0, globals@^13.9.0:
+ version "13.10.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-13.10.0.tgz#60ba56c3ac2ca845cfbf4faeca727ad9dd204676"
+ integrity sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==
dependencies:
type-fest "^0.20.2"
-graceful-fs@^4.2.3:
+got@^11.1.4:
+ version "11.8.2"
+ resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599"
+ integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==
+ dependencies:
+ "@sindresorhus/is" "^4.0.0"
+ "@szmarczak/http-timer" "^4.0.5"
+ "@types/cacheable-request" "^6.0.1"
+ "@types/responselike" "^1.0.0"
+ cacheable-lookup "^5.0.3"
+ cacheable-request "^7.0.1"
+ decompress-response "^6.0.0"
+ http2-wrapper "^1.0.0-beta.5.2"
+ lowercase-keys "^2.0.0"
+ p-cancelable "^2.0.0"
+ responselike "^2.0.0"
+
+graceful-fs@^4.1.2, graceful-fs@^4.2.3:
version "4.2.6"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
+growl@1.10.5:
+ version "1.10.5"
+ resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
+ integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
+
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
@@ -1320,18 +1907,6 @@ har-validator@~5.1.3:
ajv "^6.12.3"
har-schema "^2.0.0"
-has-ansi@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
- integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
- dependencies:
- ansi-regex "^2.0.0"
-
-has-bigints@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
- integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==
-
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
@@ -1342,23 +1917,23 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-has-symbols@^1.0.1, has-symbols@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
- integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
-
has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
-has@^1.0.3, has@~1.0.3:
+has@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
dependencies:
function-bind "^1.1.1"
+he@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+ integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
hosted-git-info@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961"
@@ -1366,10 +1941,10 @@ hosted-git-info@^4.0.1:
dependencies:
lru-cache "^6.0.0"
-htl@^0.2.5:
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/htl/-/htl-0.2.5.tgz#a702f9c150683c03d39644479ec9b8d0797de0e9"
- integrity sha512-U9lBgVHYD2uA+5ghRbN5g0G1aQkEm14ks5nR11Ia6RM+GarJ+pluAYN2fQfHdUZBU229ylQPIPSALGNxOy4Slg==
+htl@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/htl/-/htl-0.3.0.tgz#078769ae5cb77d110b976b0a15e44b6b158ebef3"
+ integrity sha512-BvVM78yP5/b9k7GmuXUh2GEadmRueFrJ6UGEpSm0JuvX/yqZ53akB+1tNqWEFDAQnFF3E79GhusZ003E9oOZKQ==
html-encoding-sniffer@^2.0.1:
version "2.0.1"
@@ -1378,7 +1953,17 @@ html-encoding-sniffer@^2.0.1:
dependencies:
whatwg-encoding "^1.0.5"
-http-cache-semantics@^4.1.0:
+htmlparser2@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
+ integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.0.0"
+ domutils "^2.5.2"
+ entities "^2.0.0"
+
+http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
@@ -1401,6 +1986,19 @@ http-signature@~1.2.0:
jsprim "^1.2.2"
sshpk "^1.7.0"
+http2-wrapper@^1.0.0-beta.5.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d"
+ integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==
+ dependencies:
+ quick-lru "^5.1.1"
+ resolve-alpn "^1.0.0"
+
+httpie@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/httpie/-/httpie-1.1.2.tgz#e76a6792c2172446ea6df8805977a6f57bc9615d"
+ integrity sha512-VQ82oXG95oY1fQw/XecHuvcFBA+lZQ9Vwj1RfLcO8a7HpDd4cc2ukwpJt+TUlFaLUAzZErylxWu6wclJ1rUhUQ==
+
https-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
@@ -1409,6 +2007,11 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+human-signals@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
humanize-ms@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
@@ -1416,24 +2019,34 @@ humanize-ms@^1.2.1:
dependencies:
ms "^2.0.0"
-iconv-lite@0.4, iconv-lite@0.4.24:
+iconv-lite@0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
-iconv-lite@^0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01"
- integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==
+iconv-lite@0.6, iconv-lite@^0.6.2:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
+ integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
+icss-replace-symbols@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
+ integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
+
+icss-utils@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
+ integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
+
ignore-walk@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
- integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335"
+ integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==
dependencies:
minimatch "^3.0.4"
@@ -1473,63 +2086,51 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@~2.0.3, inherits@~2.0.4:
+inherits@2, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+inherits@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+ integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
+
ini@^1.3.4:
version "1.3.8"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
-internmap@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95"
- integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==
+"internmap@1 - 2":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.1.tgz#33d0fa016185397549fb1a14ea3dbe5a2949d1cd"
+ integrity sha512-Ujwccrj9FkGqjbY3iVoxD1VV+KdZZeENx0rphrtzmRXbFvkFO88L80BL/zeSIguX/7T+y8k04xqtgWgS5vxwxw==
ip@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
-is-arguments@^1.0.4:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9"
- integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==
- dependencies:
- call-bind "^1.0.0"
-
-is-bigint@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2"
- integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
-is-boolean-object@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0"
- integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
dependencies:
- call-bind "^1.0.0"
-
-is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e"
- integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==
+ binary-extensions "^2.0.0"
is-core-module@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887"
- integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491"
+ integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==
dependencies:
has "^1.0.3"
-is-date-object@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
- integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
-
-is-docker@^2.0.0:
+is-docker@^2.0.0, is-docker@^2.1.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
@@ -1556,7 +2157,7 @@ is-fullwidth-code-point@^3.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-is-glob@^4.0.0, is-glob@^4.0.1:
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
@@ -1573,54 +2174,56 @@ is-module@^1.0.0:
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
-is-negative-zero@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
- integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-is-number-object@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197"
- integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==
+is-plain-obj@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
+ integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
+
+is-plain-object@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
+ integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
-is-potential-custom-element-name@^1.0.0:
+is-potential-custom-element-name@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
-is-regex@^1.0.4, is-regex@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251"
- integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==
- dependencies:
- call-bind "^1.0.2"
- has-symbols "^1.0.1"
-
-is-regex@~1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae"
- integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==
+is-reference@^1.1.4, is-reference@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
+ integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
dependencies:
- has "^1.0.3"
-
-is-string@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
- integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
+ "@types/estree" "*"
-is-symbol@^1.0.2, is-symbol@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
- integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
- dependencies:
- has-symbols "^1.0.1"
+is-stream@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
+ integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
-is-typedarray@~1.0.0:
+is-typedarray@^1.0.0, is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
-is-wsl@^2.1.1:
+is-unicode-supported@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
+ integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
+
+is-valid-identifier@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-valid-identifier/-/is-valid-identifier-2.0.2.tgz#146d9dbf29821b8118580b039d2203aa4bd1da4b"
+ integrity sha512-mpS5EGqXOwzXtKAg6I44jIAqeBfntFLxpAth1rrKbxtKyI6LPktyDYpHBI+tHlduhhX/SF26mFXmxQu995QVqg==
+ dependencies:
+ assert "^1.4.1"
+
+is-wsl@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
@@ -1632,6 +2235,11 @@ isarray@~1.0.0:
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+isbinaryfile@^4.0.6:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf"
+ integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==
+
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -1657,14 +2265,13 @@ jest-worker@^26.2.1:
supports-color "^7.0.0"
js-beautify@^1.13.0:
- version "1.13.13"
- resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.13.13.tgz#756907d1728f329f2b84c42efd56ad17514620bf"
- integrity sha512-oH+nc0U5mOAqX8M5JO1J0Pw/7Q35sAdOsM5W3i87pir9Ntx6P/5Gx1xLNoK+MGyvHk4rqqRCE4Oq58H6xl2W7A==
+ version "1.14.0"
+ resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.14.0.tgz#2ce790c555d53ce1e3d7363227acf5dc69024c2d"
+ integrity sha512-yuck9KirNSCAwyNJbqW+BxJqJ0NLJ4PwBUzQQACl5O3qHMBXVkXb/rD0ilh/Lat/tn88zSZ+CAHOlk0DsY7GuQ==
dependencies:
config-chain "^1.1.12"
editorconfig "^0.15.3"
glob "^7.1.3"
- mkdirp "^1.0.4"
nopt "^5.0.0"
js-tokens@^4.0.0:
@@ -1672,6 +2279,13 @@ js-tokens@^4.0.0:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+js-yaml@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
js-yaml@^3.13.1:
version "3.14.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
@@ -1686,12 +2300,12 @@ jsbn@~0.1.0:
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
jsdom@^16.4.0:
- version "16.5.3"
- resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.3.tgz#13a755b3950eb938b4482c407238ddf16f0d2136"
- integrity sha512-Qj1H+PEvUsOtdPJ056ewXM4UJPCi4hhLA8wpiz9F2YvsRBhuFsXxtrIFAgGBDynQA9isAMGE91PfUYbdMPXuTA==
+ version "16.6.0"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.6.0.tgz#f79b3786682065492a3da6a60a4695da983805ac"
+ integrity sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==
dependencies:
abab "^2.0.5"
- acorn "^8.1.0"
+ acorn "^8.2.4"
acorn-globals "^6.0.0"
cssom "^0.4.4"
cssstyle "^2.3.0"
@@ -1699,12 +2313,13 @@ jsdom@^16.4.0:
decimal.js "^10.2.1"
domexception "^2.0.1"
escodegen "^2.0.0"
+ form-data "^3.0.0"
html-encoding-sniffer "^2.0.1"
- is-potential-custom-element-name "^1.0.0"
+ http-proxy-agent "^4.0.1"
+ https-proxy-agent "^5.0.0"
+ is-potential-custom-element-name "^1.0.1"
nwsapi "^2.2.0"
parse5 "6.0.1"
- request "^2.88.2"
- request-promise-native "^1.0.9"
saxes "^5.0.1"
symbol-tree "^3.2.4"
tough-cookie "^4.0.0"
@@ -1714,7 +2329,7 @@ jsdom@^16.4.0:
whatwg-encoding "^1.0.5"
whatwg-mimetype "^2.3.0"
whatwg-url "^8.5.0"
- ws "^7.4.4"
+ ws "^7.4.5"
xml-name-validator "^3.0.0"
jsesc@^3.0.2:
@@ -1722,7 +2337,12 @@ jsesc@^3.0.2:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e"
integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==
-json-parse-even-better-errors@^2.3.0:
+json-buffer@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
+ integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
+
+json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
@@ -1747,16 +2367,33 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+json-stringify-nice@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67"
+ integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==
+
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+json5@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
+ integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
+ dependencies:
+ minimist "^1.2.0"
+
jsonparse@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
+jsonschema@~1.2.5:
+ version "1.2.11"
+ resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.11.tgz#7a799cc2aa5a285d893203e8dc81f5becbfb0e91"
+ integrity sha512-XNZHs3N1IOa3lPKm//npxMhOdaoPw+MvEV0NIgxcER83GTJcG13rehtWmpBCfEt8DrtYwIkMTs8bdXoYs4fvnQ==
+
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
@@ -1767,6 +2404,28 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.10.0"
+just-diff-apply@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-3.0.0.tgz#a77348d24f0694e378b57293dceb65bdf5a91c4f"
+ integrity sha512-K2MLc+ZC2DVxX4V61bIKPeMUUfj1YYZ3h0myhchDXOW1cKoPZMnjIoNCqv9bF2n5Oob1PFxuR2gVJxkxz4e58w==
+
+just-diff@^3.0.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-3.1.1.tgz#d50c597c6fd4776495308c63bdee1b6839082647"
+ integrity sha512-sdMWKjRq8qWZEjDcVA6llnUT8RDEBIfOiGpYFPYa9u+2c39JCsejktSP7mj5eRid5EIvTzIpQ2kDOCw1Nq9BjQ==
+
+keyv@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254"
+ integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==
+ dependencies:
+ json-buffer "3.0.1"
+
+kleur@^4.1.0, kleur@^4.1.1:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d"
+ integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==
+
levn@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
@@ -1783,26 +2442,72 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
+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"
+ integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
+
+loader-utils@^1.1.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
+ integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^1.0.1"
+
+locate-path@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+ dependencies:
+ p-locate "^4.1.0"
+
+locate-path@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+ dependencies:
+ p-locate "^5.0.0"
+
+lodash.camelcase@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
+ integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
+
lodash.clonedeep@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
-lodash.flatten@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
- integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
lodash.truncate@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
-lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0:
+lodash@^4.7.0:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+log-symbols@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
+ integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
+ dependencies:
+ chalk "^4.1.0"
+ is-unicode-supported "^0.1.0"
+
+lowercase-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
+ integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
+
lru-cache@^4.1.5:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
@@ -1818,13 +2523,27 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
-make-fetch-happen@^8.0.9:
- version "8.0.14"
- resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz#aaba73ae0ab5586ad8eaa68bd83332669393e222"
- integrity sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==
+magic-string@^0.25.5, magic-string@^0.25.7:
+ version "0.25.7"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
+ integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
+ dependencies:
+ sourcemap-codec "^1.4.4"
+
+make-dir@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+ dependencies:
+ semver "^6.0.0"
+
+make-fetch-happen@^9.0.1:
+ version "9.0.4"
+ resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.0.4.tgz#ceaa100e60e0ef9e8d1ede94614bb2ba83c8bb24"
+ integrity sha512-sQWNKMYqSmbAGXqJg2jZ+PmHh5JAybvwu0xM8mZR/bsTjGiTASj3ldXJV7KFHy1k/IJIBkjxQFoWIVsv9+PQMg==
dependencies:
agentkeepalive "^4.1.3"
- cacache "^15.0.5"
+ cacache "^15.2.0"
http-cache-semantics "^4.1.0"
http-proxy-agent "^4.0.1"
https-proxy-agent "^5.0.0"
@@ -1835,6 +2554,7 @@ make-fetch-happen@^8.0.9:
minipass-fetch "^1.3.2"
minipass-flush "^1.0.5"
minipass-pipeline "^1.2.4"
+ negotiator "^0.6.2"
promise-retry "^2.0.1"
socks-proxy-agent "^5.0.0"
ssri "^8.0.0"
@@ -1844,26 +2564,46 @@ merge-stream@^2.0.0:
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-mime-db@1.47.0:
- version "1.47.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c"
- integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==
+meriyah@^3.1.6:
+ version "3.1.6"
+ resolved "https://registry.yarnpkg.com/meriyah/-/meriyah-3.1.6.tgz#56c9c0edb63f9640c7609a39a413c60b038e4451"
+ integrity sha512-JDOSi6DIItDc33U5N52UdV6P8v+gn+fqZKfbAfHzdWApRQyQWdcvxPvAr9t01bI2rBxGvSrKRQSCg3SkZC1qeg==
+
+mime-db@1.49.0, "mime-db@>= 1.43.0 < 2":
+ version "1.49.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed"
+ integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==
-mime-types@^2.1.12, mime-types@~2.1.19:
- version "2.1.30"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d"
- integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==
+mime-types@^2.1.12, mime-types@^2.1.26, mime-types@~2.1.19:
+ version "2.1.32"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5"
+ integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==
dependencies:
- mime-db "1.47.0"
+ mime-db "1.49.0"
+
+mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+mimic-response@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
+ integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+
+mimic-response@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
+ integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
-minimatch@^3.0.4:
+minimatch@3.0.4, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
-minimist@~1.2.5:
+minimist@^1.2.0:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
@@ -1876,9 +2616,9 @@ minipass-collect@^1.0.2:
minipass "^3.0.0"
minipass-fetch@^1.3.0, minipass-fetch@^1.3.2:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.3.tgz#34c7cea038c817a8658461bf35174551dce17a0a"
- integrity sha512-akCrLDWfbdAWkMLBxJEeWTdNsjML+dt5YgOI4gJ53vuO0vrmYQkUPxa6j6V65s9CcePIr2SSWqjT2EcrNseryQ==
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.4.tgz#63f5af868a38746ca7b33b03393ddf8c291244fe"
+ integrity sha512-TielGogIzbUEtd1LsjZFs47RWuHHfhl6TiCx1InVxApBAmQ8bL0dL5ilkLGcRvuyW/A9nE+Lvn855Ewz8S0PnQ==
dependencies:
minipass "^3.1.0"
minipass-sized "^1.0.3"
@@ -1930,31 +2670,91 @@ minizlib@^2.0.0, minizlib@^2.1.1:
minipass "^3.0.0"
yallist "^4.0.0"
+mkdirp-infer-owner@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316"
+ integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==
+ dependencies:
+ chownr "^2.0.0"
+ infer-owner "^1.0.4"
+ mkdirp "^1.0.3"
+
mkdirp@^1.0.3, mkdirp@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+mocha@^9.0.3:
+ version "9.0.3"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.0.3.tgz#128cd6bbd3ee0adcdaef715f357f76ec1e6227c7"
+ integrity sha512-hnYFrSefHxYS2XFGtN01x8un0EwNu2bzKvhpRFhgoybIvMaOkkL60IVPmkb5h6XDmUl4IMSB+rT5cIO4/4bJgg==
+ dependencies:
+ "@ungap/promise-all-settled" "1.1.2"
+ ansi-colors "4.1.1"
+ browser-stdout "1.3.1"
+ chokidar "3.5.2"
+ debug "4.3.1"
+ diff "5.0.0"
+ escape-string-regexp "4.0.0"
+ find-up "5.0.0"
+ glob "7.1.7"
+ growl "1.10.5"
+ he "1.2.0"
+ js-yaml "4.1.0"
+ log-symbols "4.1.0"
+ minimatch "3.0.4"
+ ms "2.1.3"
+ nanoid "3.1.23"
+ serialize-javascript "6.0.0"
+ strip-json-comments "3.1.1"
+ supports-color "8.1.1"
+ which "2.0.2"
+ wide-align "1.1.3"
+ workerpool "6.1.5"
+ yargs "16.2.0"
+ yargs-parser "20.2.4"
+ yargs-unparser "2.0.0"
+
module-alias@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/module-alias/-/module-alias-2.2.2.tgz#151cdcecc24e25739ff0aa6e51e1c5716974c0e0"
integrity sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-ms@^2.0.0:
+ms@2.1.3, ms@^2.0.0:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+nanoid@3.1.23, nanoid@^3.1.23:
+ version "3.1.23"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
+ integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==
+
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+negotiator@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
+ integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
+
+node-gyp-build@^4.2.0:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739"
+ integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==
+
node-gyp@^7.1.0:
version "7.1.2"
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae"
@@ -1978,6 +2778,16 @@ nopt@^5.0.0:
dependencies:
abbrev "1"
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+normalize-url@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a"
+ integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
+
npm-bundled@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1"
@@ -1992,31 +2802,31 @@ npm-install-checks@^4.0.0:
dependencies:
semver "^7.1.1"
-npm-normalize-package-bin@^1.0.1:
+npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
-npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.2:
- version "8.1.2"
- resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.2.tgz#b868016ae7de5619e729993fbd8d11dc3c52ab62"
- integrity sha512-6Eem455JsSMJY6Kpd3EyWE+n5hC+g9bSyHr9K9U2zqZb7+02+hObQ2c0+8iDk/mNF+8r1MhY44WypKJAkySIYA==
+npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.2, npm-package-arg@^8.1.5:
+ version "8.1.5"
+ resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44"
+ integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==
dependencies:
hosted-git-info "^4.0.1"
semver "^7.3.4"
validate-npm-package-name "^3.0.0"
npm-packlist@^2.1.4:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.1.5.tgz#43ef5bbb9f59b7c0ef91e0905f1dd707b4cfb33c"
- integrity sha512-KCfK3Vi2F+PH1klYauoQzg81GQ8/GGjQRKYY6tRnpQUPKTs/1gBZSRWtTEd7jGdSn1LZL7gpAmJT+BcS55k2XQ==
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.2.2.tgz#076b97293fa620f632833186a7a8f65aaa6148c8"
+ integrity sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==
dependencies:
glob "^7.1.6"
ignore-walk "^3.0.3"
npm-bundled "^1.1.1"
npm-normalize-package-bin "^1.0.1"
-npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1:
+npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.0, npm-pick-manifest@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148"
integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==
@@ -2026,19 +2836,25 @@ npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1:
npm-package-arg "^8.1.2"
semver "^7.3.4"
-npm-registry-fetch@^10.0.0:
- version "10.1.1"
- resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-10.1.1.tgz#97bc7a0fca5e8f76cc5162185b8de8caa8bea639"
- integrity sha512-F6a3l+ffCQ7hvvN16YG5bpm1rPZntCg66PLHDQ1apWJPOCUVHoKnL2w5fqEaTVhp42dmossTyXeR7hTGirfXrg==
+npm-registry-fetch@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76"
+ integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==
dependencies:
- lru-cache "^6.0.0"
- make-fetch-happen "^8.0.9"
+ make-fetch-happen "^9.0.1"
minipass "^3.1.3"
minipass-fetch "^1.3.0"
minipass-json-stream "^1.0.1"
minizlib "^2.0.0"
npm-package-arg "^8.0.0"
+npm-run-path@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ dependencies:
+ path-key "^3.0.0"
+
npmlog@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
@@ -2049,6 +2865,13 @@ npmlog@^4.1.2:
gauge "~2.7.3"
set-blocking "~2.0.0"
+nth-check@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125"
+ integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==
+ dependencies:
+ boolbase "^1.0.0"
+
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"
@@ -2064,58 +2887,33 @@ oauth-sign@~0.9.0:
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-object-assign@^4.1.0:
+object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-object-inspect@^1.9.0:
- version "1.10.2"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.2.tgz#b6385a3e2b7cae0b5eafcf90cddf85d128767f30"
- integrity sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==
-
-object-inspect@~1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"
- integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==
-
-object-is@^1.0.1:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
- integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
-object-keys@^1.0.12, object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-object.assign@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
- integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
- dependencies:
- call-bind "^1.0.0"
- define-properties "^1.1.3"
- has-symbols "^1.0.1"
- object-keys "^1.1.1"
-
-once@^1.3.0:
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
-open@^7.0.4:
- version "7.4.2"
- resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321"
- integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
+onetime@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
dependencies:
- is-docker "^2.0.0"
- is-wsl "^2.1.1"
+ mimic-fn "^2.1.0"
+
+open@^8.2.1:
+ version "8.2.1"
+ resolved "https://registry.yarnpkg.com/open/-/open-8.2.1.tgz#82de42da0ccbf429bc12d099dad2e0975e14e8af"
+ integrity sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ==
+ dependencies:
+ define-lazy-prop "^2.0.0"
+ is-docker "^2.1.1"
+ is-wsl "^2.2.0"
optionator@^0.8.1:
version "0.8.3"
@@ -2146,6 +2944,44 @@ os-homedir@^1.0.0:
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
+p-cancelable@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf"
+ integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==
+
+p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
+
+p-limit@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+ dependencies:
+ p-try "^2.0.0"
+
+p-limit@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
+p-locate@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+ dependencies:
+ p-limit "^2.2.0"
+
+p-locate@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+ dependencies:
+ p-limit "^3.0.2"
+
p-map@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
@@ -2153,12 +2989,32 @@ p-map@^4.0.0:
dependencies:
aggregate-error "^3.0.0"
-pacote@^11.3.1:
- version "11.3.3"
- resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.3.3.tgz#d7d6091464f77c09691699df2ded13ab906b3e68"
- integrity sha512-GQxBX+UcVZrrJRYMK2HoG+gPeSUX/rQhnbPkkGrCYa4n2F/bgClFPaMm0nsdnYrxnmUy85uMHoFXZ0jTD0drew==
+p-queue@^6.2.1:
+ version "6.6.2"
+ resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426"
+ integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==
+ dependencies:
+ eventemitter3 "^4.0.4"
+ p-timeout "^3.2.0"
+
+p-timeout@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe"
+ integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==
+ dependencies:
+ p-finally "^1.0.0"
+
+p-try@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+
+pacote@^11.1.11, pacote@^11.3.4, pacote@^11.3.5:
+ version "11.3.5"
+ resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.3.5.tgz#73cf1fc3772b533f575e39efa96c50be8c3dc9d2"
+ integrity sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==
dependencies:
- "@npmcli/git" "^2.0.1"
+ "@npmcli/git" "^2.1.0"
"@npmcli/installed-package-contents" "^1.0.6"
"@npmcli/promise-spawn" "^1.2.0"
"@npmcli/run-script" "^1.8.2"
@@ -2171,7 +3027,7 @@ pacote@^11.3.1:
npm-package-arg "^8.0.1"
npm-packlist "^2.1.4"
npm-pick-manifest "^6.0.0"
- npm-registry-fetch "^10.0.0"
+ npm-registry-fetch "^11.0.0"
promise-retry "^2.0.1"
read-package-json-fast "^2.0.1"
rimraf "^3.0.2"
@@ -2185,41 +3041,156 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
-parse5@6.0.1:
+parse-conflict-json@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-1.1.1.tgz#54ec175bde0f2d70abf6be79e0e042290b86701b"
+ integrity sha512-4gySviBiW5TRl7XHvp1agcS7SOe0KZOjC//71dzZVWJrY9hCrgtvl5v3SyIxCZ4fZF47TxD9nfzmxcx76xmbUw==
+ dependencies:
+ json-parse-even-better-errors "^2.3.0"
+ just-diff "^3.0.1"
+ just-diff-apply "^3.0.0"
+
+parse-json@^5.0.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
+ integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ error-ex "^1.3.1"
+ json-parse-even-better-errors "^2.3.0"
+ lines-and-columns "^1.1.6"
+
+parse5-htmlparser2-tree-adapter@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6"
+ integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==
+ dependencies:
+ parse5 "^6.0.1"
+
+parse5@6.0.1, parse5@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-path-key@^3.1.0:
+path-key@^3.0.0, path-key@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
-picomatch@^2.2.2:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d"
- integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==
+periscopic@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-2.0.3.tgz#326e16c46068172ca9a9d20af1a684cd0796fa99"
+ integrity sha512-FuCZe61mWxQOJAQFEfmt9FjzebRlcpFz8sFPbyaCKtdusPkMEbA9ey0eARnRav5zAhmXznhaQkKGFAPn7X9NUw==
+ dependencies:
+ estree-walker "^2.0.2"
+ is-reference "^1.1.4"
+
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
+ integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
+pkg-dir@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
+ integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+ dependencies:
+ find-up "^4.0.0"
+
+postcss-modules-extract-imports@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d"
+ integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==
+
+postcss-modules-local-by-default@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c"
+ integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==
+ dependencies:
+ icss-utils "^5.0.0"
+ postcss-selector-parser "^6.0.2"
+ postcss-value-parser "^4.1.0"
+
+postcss-modules-scope@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06"
+ integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==
+ dependencies:
+ postcss-selector-parser "^6.0.4"
+
+postcss-modules-values@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c"
+ integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
+ dependencies:
+ icss-utils "^5.0.0"
+
+postcss-modules@^4.0.0:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-4.2.2.tgz#5e7777c5a8964ea176919d90b2e54ef891321ce5"
+ integrity sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==
+ dependencies:
+ generic-names "^2.0.1"
+ icss-replace-symbols "^1.1.0"
+ lodash.camelcase "^4.3.0"
+ postcss-modules-extract-imports "^3.0.0"
+ postcss-modules-local-by-default "^4.0.0"
+ postcss-modules-scope "^3.0.0"
+ postcss-modules-values "^4.0.0"
+ string-hash "^1.1.1"
+
+postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
+ version "6.0.6"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea"
+ integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
+postcss-value-parser@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
+ integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
+
+postcss@^8.3.5:
+ version "8.3.6"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea"
+ integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==
+ dependencies:
+ colorette "^1.2.2"
+ nanoid "^3.1.23"
+ source-map-js "^0.6.2"
+
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@@ -2230,6 +3201,11 @@ prelude-ls@~1.1.2:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+proc-log@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-1.0.0.tgz#0d927307401f69ed79341e83a0b2c9a13395eb77"
+ integrity sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg==
+
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@@ -2240,6 +3216,16 @@ progress@^2.0.0:
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+promise-all-reject-late@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2"
+ integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==
+
+promise-call-limit@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.1.tgz#4bdee03aeb85674385ca934da7114e9bcd3c6e24"
+ integrity sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==
+
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
@@ -2268,6 +3254,14 @@ psl@^1.1.28, psl@^1.1.33:
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
+pump@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
punycode@^2.1.0, punycode@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
@@ -2278,6 +3272,11 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+quick-lru@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
+ integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
+
randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@@ -2285,20 +3284,20 @@ randombytes@^2.1.0:
dependencies:
safe-buffer "^5.1.0"
-re-emitter@^1.0.0:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/re-emitter/-/re-emitter-1.1.4.tgz#15bdefca3d47e05d6442838fd26759c8a4eaa236"
- integrity sha512-C0SIXdXDSus2yqqvV7qifnb4NoWP7mEBXJq3axci301mXHCZb8Djwm4hrEZo4UeXRaEnfjH98uQ8EBppk2oNWA==
+read-cmd-shim@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz#4a50a71d6f0965364938e9038476f7eede3928d9"
+ integrity sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==
-read-package-json-fast@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz#2dcb24d9e8dd50fb322042c8c35a954e6cc7ac9e"
- integrity sha512-5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ==
+read-package-json-fast@^2.0.1, read-package-json-fast@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83"
+ integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==
dependencies:
json-parse-even-better-errors "^2.3.0"
npm-normalize-package-bin "^1.0.1"
-readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@~2.3.6:
+readable-stream@^2.0.6:
version "2.3.7"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
@@ -2311,34 +3310,27 @@ readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@~2.3.6:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-regexp.prototype.flags@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26"
- integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==
+readdir-scoped-modules@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309"
+ integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
-regexpp@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
- integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
+ debuglog "^1.0.1"
+ dezalgo "^1.0.0"
+ graceful-fs "^4.1.2"
+ once "^1.3.0"
-request-promise-core@1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f"
- integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
dependencies:
- lodash "^4.17.19"
+ picomatch "^2.2.1"
-request-promise-native@^1.0.9:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28"
- integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==
- dependencies:
- request-promise-core "1.1.4"
- stealthy-require "^1.1.1"
- tough-cookie "^2.3.3"
+regexpp@^3.1.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+ integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
request@^2.88.2:
version "2.88.2"
@@ -2366,17 +3358,32 @@ request@^2.88.2:
tunnel-agent "^0.6.0"
uuid "^3.3.2"
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+
require-from-string@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+resolve-alpn@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.0.tgz#058bb0888d1cd4d12474e9a4b6eb17bdd5addc44"
+ integrity sha512-e4FNQs+9cINYMO5NMFc6kOUCdohjqFPSgMuwuZAOUWqrfWsen+Yjy5qZFkV5K7VO7tFSLKcUL97olkED7sCBHA==
+
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-resolve@^1.19.0, resolve@^1.20.0:
+resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
+resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0:
version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
@@ -2384,32 +3391,37 @@ resolve@^1.19.0, resolve@^1.20.0:
is-core-module "^2.2.0"
path-parse "^1.0.6"
-resolve@~1.17.0:
- version "1.17.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
- integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
- dependencies:
- path-parse "^1.0.6"
-
-resumer@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759"
- integrity sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=
+responselike@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723"
+ integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==
dependencies:
- through "~2.3.4"
+ lowercase-keys "^2.0.0"
retry@^0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
-rimraf@^3.0.2:
+rimraf@^3.0.0, rimraf@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
dependencies:
glob "^7.1.3"
+robust-predicates@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.1.tgz#ecde075044f7f30118682bd9fb3f123109577f9a"
+ integrity sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==
+
+rollup-plugin-polyfill-node@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.6.2.tgz#dea62e00f5cc2c174e4b4654b5daab79b1a92fc3"
+ integrity sha512-gMCVuR0zsKq0jdBn8pSXN1Ejsc458k2QsFFvQdbHoM0Pot5hEnck+pBP/FDwFS6uAi77pD3rDTytsaUStsOMlA==
+ dependencies:
+ "@rollup/plugin-inject" "^4.0.0"
+
rollup-plugin-terser@^7.0.2:
version "7.0.2"
resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d"
@@ -2420,12 +3432,12 @@ rollup-plugin-terser@^7.0.2:
serialize-javascript "^4.0.0"
terser "^5.0.0"
-rollup@^2.32.1:
- version "2.46.0"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.46.0.tgz#8cacf89d2ee31a34755f1af40a665168f592b829"
- integrity sha512-qPGoUBNl+Z8uNu0z7pD3WPTABWRbcOwIrO/5ccDJzmrtzn0LVf6Lj91+L5CcWhXl6iWf23FQ6m8Jkl2CmN1O7Q==
+rollup@^2.23.0, rollup@^2.32.1:
+ version "2.55.1"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.55.1.tgz#66a444648e2fb603d8e329e77a61c608a6510fda"
+ integrity sha512-1P9w5fpb6b4qroePh8vHKGIvPNxwoCQhjJpIqfZGHLKpZ0xcU2/XBmFxFbc9697/6bmHpmFTLk5R1dAQhFSo0g==
optionalDependencies:
- fsevents "~2.3.1"
+ fsevents "~2.3.2"
rollup@~2.37.1:
version "2.37.1"
@@ -2466,6 +3478,11 @@ semver@^5.6.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+semver@^6.0.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
version "7.3.5"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
@@ -2473,6 +3490,13 @@ semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
dependencies:
lru-cache "^6.0.0"
+serialize-javascript@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8"
+ integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==
+ dependencies:
+ randombytes "^2.1.0"
+
serialize-javascript@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
@@ -2502,11 +3526,34 @@ sigmund@^1.0.1:
resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=
-signal-exit@^3.0.0:
+signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
+skypack@^0.3.0:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/skypack/-/skypack-0.3.2.tgz#9df9fde1ed73ae6874d15111f0636e16f2cab1b9"
+ integrity sha512-je1pix0QYER6iHuUGbgcafRJT5TI+EGUIBfzBLMqo3Wi22I2SzB9TVHQqwKCw8pzJMuHqhVTFEHc3Ey+ra25Sw==
+ dependencies:
+ cacache "^15.0.0"
+ cachedir "^2.3.0"
+ esinstall "^1.0.0"
+ etag "^1.8.1"
+ find-up "^5.0.0"
+ got "^11.1.4"
+ kleur "^4.1.0"
+ mkdirp "^1.0.3"
+ p-queue "^6.2.1"
+ rimraf "^3.0.0"
+ rollup "^2.23.0"
+ validate-npm-package-name "^3.0.0"
+
+slash@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
slice-ansi@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
@@ -2522,28 +3569,69 @@ smart-buffer@^4.1.0:
integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==
snowpack@^3.0.11:
- version "3.3.7"
- resolved "https://registry.yarnpkg.com/snowpack/-/snowpack-3.3.7.tgz#4ac0cb2615fadb6eabc137225a4362563af7354c"
- integrity sha512-7I5wznB6wGKq2fi6pxU3UZLEe3R0a5IChO8x+w0iYT7/oERubkbzc/SXTMXm6lVvtYMs2W1AkE+0VHP1KI0IEw==
- dependencies:
+ version "3.8.3"
+ resolved "https://registry.yarnpkg.com/snowpack/-/snowpack-3.8.3.tgz#5f136dcbe051189ce20092acd36759d03e6cbf87"
+ integrity sha512-nD699xWIDk9nGH4V9xKjgIVPA8jXWp/crUG46mu3/11rrdEv94v4xV/j373w3EvegGVQ3JdA5mlNpxDU8wk5uw==
+ dependencies:
+ "@npmcli/arborist" "^2.6.4"
+ bufferutil "^4.0.2"
+ cachedir "^2.3.0"
+ cheerio "1.0.0-rc.10"
+ chokidar "^3.4.0"
cli-spinners "^2.5.0"
+ compressible "^2.0.18"
+ cosmiconfig "^7.0.0"
+ deepmerge "^4.2.2"
default-browser-id "^2.0.0"
- esbuild "^0.9.3"
+ detect-port "^1.3.0"
+ es-module-lexer "^0.3.24"
+ esbuild "~0.9.0"
+ esinstall "^1.1.7"
+ estree-walker "^2.0.2"
+ etag "^1.8.1"
+ execa "^5.1.1"
fdir "^5.0.0"
- open "^7.0.4"
- pacote "^11.3.1"
- picomatch "^2.2.2"
+ find-cache-dir "^3.3.1"
+ find-up "^5.0.0"
+ glob "^7.1.7"
+ httpie "^1.1.2"
+ is-plain-object "^5.0.0"
+ is-reference "^1.2.1"
+ isbinaryfile "^4.0.6"
+ jsonschema "~1.2.5"
+ kleur "^4.1.1"
+ meriyah "^3.1.6"
+ mime-types "^2.1.26"
+ mkdirp "^1.0.3"
+ npm-run-path "^4.0.1"
+ open "^8.2.1"
+ pacote "^11.3.4"
+ periscopic "^2.0.3"
+ picomatch "^2.3.0"
+ postcss "^8.3.5"
+ postcss-modules "^4.0.0"
resolve "^1.20.0"
+ resolve-from "^5.0.0"
+ rimraf "^3.0.0"
rollup "~2.37.1"
+ signal-exit "^3.0.3"
+ skypack "^0.3.0"
+ slash "~3.0.0"
+ source-map "^0.7.3"
+ strip-ansi "^6.0.0"
+ strip-comments "^2.0.1"
+ utf-8-validate "^5.0.3"
+ ws "^7.3.0"
+ yargs-parser "^20.0.0"
optionalDependencies:
- fsevents "^2.2.0"
+ fsevents "^2.3.2"
socks-proxy-agent@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz#7c0f364e7b1cf4a7a437e71253bed72e9004be60"
- integrity sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA==
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e"
+ integrity sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==
dependencies:
- agent-base "6"
+ agent-base "^6.0.2"
debug "4"
socks "^2.3.3"
@@ -2555,6 +3643,11 @@ socks@^2.3.3:
ip "^1.1.5"
smart-buffer "^4.1.0"
+source-map-js@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e"
+ integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
+
source-map-support@~0.5.19:
version "0.5.19"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
@@ -2568,17 +3661,15 @@ source-map@^0.6.0, source-map@~0.6.0, source-map@~0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-source-map@~0.7.2:
+source-map@^0.7.3, source-map@~0.7.2:
version "0.7.3"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
-split@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
- integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
- dependencies:
- through "2"
+sourcemap-codec@^1.4.4:
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
+ integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
sprintf-js@~1.0.2:
version "1.0.3"
@@ -2607,10 +3698,10 @@ ssri@^8.0.0, ssri@^8.0.1:
dependencies:
minipass "^3.1.1"
-stealthy-require@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
- integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
+string-hash@^1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
+ integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=
string-width@^1.0.1:
version "1.0.2"
@@ -2629,7 +3720,7 @@ string-width@^1.0.1:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
-string-width@^4.2.0:
+string-width@^4.1.0, string-width@^4.2.0:
version "4.2.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
@@ -2638,31 +3729,6 @@ string-width@^4.2.0:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.0"
-string.prototype.trim@~1.2.1:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz#6014689baf5efaf106ad031a5fa45157666ed1bd"
- integrity sha512-hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.18.0-next.2"
-
-string.prototype.trimend@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
- integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
-string.prototype.trimstart@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
- integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
@@ -2691,15 +3757,27 @@ strip-ansi@^6.0.0:
dependencies:
ansi-regex "^5.0.0"
-strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+strip-comments@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b"
+ integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==
+
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
+strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-supports-color@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
- integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+supports-color@8.1.1:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
supports-color@^5.3.0:
version "5.5.0"
@@ -2720,68 +3798,22 @@ symbol-tree@^3.2.4:
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
-table@^6.0.4:
- version "6.6.0"
- resolved "https://registry.yarnpkg.com/table/-/table-6.6.0.tgz#905654b79df98d9e9a973de1dd58682532c40e8e"
- integrity sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg==
+table@^6.0.9:
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2"
+ integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==
dependencies:
ajv "^8.0.1"
lodash.clonedeep "^4.5.0"
- lodash.flatten "^4.4.0"
lodash.truncate "^4.4.2"
slice-ansi "^4.0.0"
string-width "^4.2.0"
strip-ansi "^6.0.0"
-tap-dot@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/tap-dot/-/tap-dot-2.0.0.tgz#3d6c5fe54ba4e1a419fa64db74b5eebfcf8cf840"
- integrity sha512-7N1yPcRDgdfHCUbG6lZ0hXo53NyXhKIjJNhqKBixl9HVEG4QasG16Nlvr8wRnqr2ZRYVWmbmxwF3NOBbTLtQLQ==
- dependencies:
- chalk "^1.1.1"
- tap-out "^1.3.2"
- through2 "^2.0.0"
-
-tap-out@^1.3.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/tap-out/-/tap-out-1.4.2.tgz#c907ec1bf9405111d088263e92f5608b88cbb37a"
- integrity sha1-yQfsG/lAURHQiCY+kvVgi4jLs3o=
- dependencies:
- re-emitter "^1.0.0"
- readable-stream "^2.0.0"
- split "^1.0.0"
- trim "0.0.1"
-
-tape-await@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/tape-await/-/tape-await-0.1.2.tgz#41f99110a2bc4728732d8bc058278b2fbf3c0bec"
- integrity sha512-Gt1bXilp9uRTVj+DecLDs37tP1XwGXfFzWVqQEfW7foO9TNacy+aN5TdT0Kv6LI5t/9l3iOE4nX2hr2SQ4+OSg==
-
-tape@^4.13.3:
- version "4.13.3"
- resolved "https://registry.yarnpkg.com/tape/-/tape-4.13.3.tgz#51b3d91c83668c7a45b1a594b607dee0a0b46278"
- integrity sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw==
- dependencies:
- deep-equal "~1.1.1"
- defined "~1.0.0"
- dotignore "~0.1.2"
- for-each "~0.3.3"
- function-bind "~1.1.1"
- glob "~7.1.6"
- has "~1.0.3"
- inherits "~2.0.4"
- is-regex "~1.0.5"
- minimist "~1.2.5"
- object-inspect "~1.7.0"
- resolve "~1.17.0"
- resumer "~0.0.0"
- string.prototype.trim "~1.2.1"
- through "~2.3.8"
-
tar@^6.0.2, tar@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83"
- integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==
+ version "6.1.2"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.2.tgz#1f045a90a6eb23557a603595f41a16c57d47adc6"
+ integrity sha512-EwKEgqJ7nJoS+s8QfLYVGMDmAsj+StbI2AM/RTHeUSsOw6Z8bwNBRv5z3CY0m7laC5qUAqruLX5AhMuc5deY3Q==
dependencies:
chownr "^2.0.0"
fs-minipass "^2.0.0"
@@ -2791,9 +3823,9 @@ tar@^6.0.2, tar@^6.1.0:
yallist "^4.0.0"
terser@^5.0.0:
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.0.tgz#a761eeec206bc87b605ab13029876ead938ae693"
- integrity sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.1.tgz#2dc7a61009b66bb638305cb2a824763b116bf784"
+ integrity sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==
dependencies:
commander "^2.20.0"
source-map "~0.7.2"
@@ -2804,26 +3836,12 @@ text-table@^0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
-through2@^2.0.0:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
- integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
- dependencies:
- readable-stream "~2.3.6"
- xtend "~4.0.1"
-
-through@2, through@~2.3.4, through@~2.3.8:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
- integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
-
-tough-cookie@^2.3.3, tough-cookie@~2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
dependencies:
- psl "^1.1.28"
- punycode "^2.1.1"
+ is-number "^7.0.0"
tough-cookie@^4.0.0:
version "4.0.0"
@@ -2834,17 +3852,30 @@ tough-cookie@^4.0.0:
punycode "^2.1.1"
universalify "^0.1.2"
-tr46@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479"
- integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==
+tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
+tr46@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240"
+ integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==
dependencies:
punycode "^2.1.1"
-trim@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
- integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
+treeverse@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-1.0.4.tgz#a6b0ebf98a1bca6846ddc7ecbc900df08cb9cd5f"
+ integrity sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==
+
+tslib@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
+ integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
tunnel-agent@^0.6.0:
version "0.6.0"
@@ -2877,20 +3908,12 @@ type-fest@^0.20.2:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
-type-fest@^0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
- integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
-
-unbox-primitive@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
- integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
+typedarray-to-buffer@^3.1.5:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
+ integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
dependencies:
- function-bind "^1.1.1"
- has-bigints "^1.0.1"
- has-symbols "^1.0.2"
- which-boxed-primitive "^1.0.2"
+ is-typedarray "^1.0.0"
unique-filename@^1.1.1:
version "1.1.1"
@@ -2925,11 +3948,25 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
-util-deprecate@~1.0.1:
+utf-8-validate@^5.0.3:
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.5.tgz#dd32c2e82c72002dc9f02eb67ba6761f43456ca1"
+ integrity sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ==
+ dependencies:
+ node-gyp-build "^4.2.0"
+
+util-deprecate@^1.0.2, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+util@0.10.3:
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
+ integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
+ dependencies:
+ inherits "2.0.1"
+
uuid@^3.3.2:
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
@@ -2956,6 +3993,11 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
+vm2@^3.9.2:
+ version "3.9.3"
+ resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.3.tgz#29917f6cc081cc43a3f580c26c5b553fd3c91f40"
+ integrity sha512-smLS+18RjXYMl9joyJxMNI9l4w7biW8ilSDaVRvFBDwOH8P0BK1ognFQTpg0wyQ6wIKLTblHJvROW692L/E53Q==
+
w3c-hr-time@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
@@ -2970,6 +4012,11 @@ w3c-xmlserializer@^2.0.0:
dependencies:
xml-name-validator "^3.0.0"
+walk-up-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e"
+ integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==
+
webidl-conversions@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
@@ -2993,33 +4040,22 @@ whatwg-mimetype@^2.3.0:
integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
whatwg-url@^8.0.0, whatwg-url@^8.5.0:
- version "8.5.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3"
- integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==
+ version "8.7.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
+ integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==
dependencies:
lodash "^4.7.0"
- tr46 "^2.0.2"
+ tr46 "^2.1.0"
webidl-conversions "^6.1.0"
-which-boxed-primitive@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
- integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
- dependencies:
- is-bigint "^1.0.1"
- is-boolean-object "^1.1.0"
- is-number-object "^1.0.4"
- is-string "^1.0.5"
- is-symbol "^1.0.3"
-
-which@^2.0.1, which@^2.0.2:
+which@2.0.2, which@^2.0.1, which@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
dependencies:
isexe "^2.0.0"
-wide-align@^1.1.0:
+wide-align@1.1.3, wide-align@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
@@ -3031,15 +4067,39 @@ word-wrap@^1.2.3, word-wrap@~1.2.3:
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+workerpool@6.1.5:
+ version "6.1.5"
+ resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.5.tgz#0f7cf076b6215fd7e1da903ff6f22ddd1886b581"
+ integrity sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==
+
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-ws@^7.4.4:
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1"
- integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==
+write-file-atomic@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
+ integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
+ dependencies:
+ imurmurhash "^0.1.4"
+ is-typedarray "^1.0.0"
+ signal-exit "^3.0.2"
+ typedarray-to-buffer "^3.1.5"
+
+ws@^7.3.0, ws@^7.4.5:
+ version "7.5.3"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74"
+ integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==
xml-name-validator@^3.0.0:
version "3.0.0"
@@ -3051,10 +4111,10 @@ xmlchars@^2.2.0:
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
-xtend@~4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+y18n@^5.0.5:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
+ integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
yallist@^2.1.2:
version "2.1.2"
@@ -3065,3 +4125,46 @@ yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yaml@^1.10.0:
+ version "1.10.2"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
+ integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
+yargs-parser@20.2.4:
+ version "20.2.4"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
+ integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
+
+yargs-parser@^20.0.0, yargs-parser@^20.2.2:
+ version "20.2.9"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
+ integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
+
+yargs-unparser@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb"
+ integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==
+ dependencies:
+ camelcase "^6.0.0"
+ decamelize "^4.0.0"
+ flat "^5.0.2"
+ is-plain-obj "^2.1.0"
+
+yargs@16.2.0:
+ version "16.2.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
+ integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
+ dependencies:
+ cliui "^7.0.2"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
+ require-directory "^2.1.1"
+ string-width "^4.2.0"
+ y18n "^5.0.5"
+ yargs-parser "^20.2.2"
+
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==