From 7713eec336167f856575592924f81e6cc3e85ef9 Mon Sep 17 00:00:00 2001 From: spiltcoffee Date: Thu, 8 Apr 2021 17:04:14 +1000 Subject: [PATCH] feat: updated all of postdfm to use esmodules correctly --- .eslintrc.cjs | 1 + .eslintrc.js | 1 - .husky/commit-msg | 2 +- .../transform/everything/plugin.js | 8 +- .../transform/hello-world/plugin.js | 8 +- commitlint.config.cjs | 3 + commitlint.config.js | 3 - eslint.config.js => eslint.config.cjs | 24 +- jest.config.js | 28 - jest.config.json | 34 + package.json | 10 +- packages/@postdfm/ast/.eslintrc.cjs | 1 + packages/@postdfm/ast/.eslintrc.js | 1 - packages/@postdfm/ast/package.json | 3 +- packages/@postdfm/ast/typedoc.config.cjs | 4 + packages/@postdfm/ast/typedoc.config.js | 4 - packages/@postdfm/ast2dfm/.eslintrc.cjs | 1 + packages/@postdfm/ast2dfm/.eslintrc.js | 1 - .../ast2dfm/__test__/broken/index.test.ts | 14 +- packages/@postdfm/ast2dfm/package.json | 3 +- packages/@postdfm/ast2dfm/typedoc.config.cjs | 4 + packages/@postdfm/ast2dfm/typedoc.config.js | 4 - packages/@postdfm/dfm2ast/.eslintrc.cjs | 1 + packages/@postdfm/dfm2ast/.eslintrc.js | 1 - .../dfm2ast/__test__/broken/index.test.ts | 9 +- .../dfm2ast/__test__/fixtures/index.test.ts | 26 +- packages/@postdfm/dfm2ast/package.json | 3 +- packages/@postdfm/dfm2ast/src/index.ts | 9 +- packages/@postdfm/dfm2ast/typedoc.config.cjs | 4 + packages/@postdfm/dfm2ast/typedoc.config.js | 4 - packages/@postdfm/plugin/.eslintrc.cjs | 1 + packages/@postdfm/plugin/.eslintrc.js | 1 - .../plugin/__test__/plugin/index.test.ts | 1 + packages/@postdfm/plugin/package.json | 6 +- .../{typedoc.config.js => typedoc.config.cjs} | 2 +- packages/@postdfm/transform/.eslintrc.cjs | 1 + packages/@postdfm/transform/.eslintrc.js | 1 - .../transform/__test__/fixtures/index.test.ts | 44 +- packages/@postdfm/transform/package.json | 3 +- .../{typedoc.config.js => typedoc.config.cjs} | 2 +- packages/postdfm/.eslintrc.cjs | 1 + packages/postdfm/.eslintrc.js | 1 - .../postdfm/__test__/broken/index.test.ts | 22 +- .../postdfm/__test__/fixtures/index.test.ts | 78 +- .../postdfm/__test__/options/index.test.ts | 117 +- packages/postdfm/__test__/options/parser.js | 4 +- packages/postdfm/__test__/options/plugin.js | 6 +- .../postdfm/__test__/options/stringifier.js | 4 +- packages/postdfm/package.json | 3 +- packages/postdfm/src/index.ts | 86 +- packages/postdfm/typedoc.config.cjs | 4 + packages/postdfm/typedoc.config.js | 4 - release.config.js => release.config.cjs | 22 +- release/{dependency.js => dependency.cjs} | 0 tsconfig.json | 4 +- typedoc.js => typedoc.config.cjs | 0 yarn.lock | 1219 +++++++++-------- 57 files changed, 1041 insertions(+), 815 deletions(-) create mode 100644 .eslintrc.cjs delete mode 100644 .eslintrc.js create mode 100644 commitlint.config.cjs delete mode 100644 commitlint.config.js rename eslint.config.js => eslint.config.cjs (76%) delete mode 100644 jest.config.js create mode 100644 jest.config.json create mode 100644 packages/@postdfm/ast/.eslintrc.cjs delete mode 100644 packages/@postdfm/ast/.eslintrc.js create mode 100644 packages/@postdfm/ast/typedoc.config.cjs delete mode 100644 packages/@postdfm/ast/typedoc.config.js create mode 100644 packages/@postdfm/ast2dfm/.eslintrc.cjs delete mode 100644 packages/@postdfm/ast2dfm/.eslintrc.js create mode 100644 packages/@postdfm/ast2dfm/typedoc.config.cjs delete mode 100644 packages/@postdfm/ast2dfm/typedoc.config.js create mode 100644 packages/@postdfm/dfm2ast/.eslintrc.cjs delete mode 100644 packages/@postdfm/dfm2ast/.eslintrc.js create mode 100644 packages/@postdfm/dfm2ast/typedoc.config.cjs delete mode 100644 packages/@postdfm/dfm2ast/typedoc.config.js create mode 100644 packages/@postdfm/plugin/.eslintrc.cjs delete mode 100644 packages/@postdfm/plugin/.eslintrc.js rename packages/@postdfm/plugin/{typedoc.config.js => typedoc.config.cjs} (52%) create mode 100644 packages/@postdfm/transform/.eslintrc.cjs delete mode 100644 packages/@postdfm/transform/.eslintrc.js rename packages/@postdfm/transform/{typedoc.config.js => typedoc.config.cjs} (53%) create mode 100644 packages/postdfm/.eslintrc.cjs delete mode 100644 packages/postdfm/.eslintrc.js create mode 100644 packages/postdfm/typedoc.config.cjs delete mode 100644 packages/postdfm/typedoc.config.js rename release.config.js => release.config.cjs (86%) rename release/{dependency.js => dependency.cjs} (100%) rename typedoc.js => typedoc.config.cjs (100%) diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 00000000..b4c1026e --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1 @@ +module.exports = require("./eslint.config.cjs")(); diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 8e608c0b..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./eslint.config")(); diff --git a/.husky/commit-msg b/.husky/commit-msg index ce7e3a8c..13d80741 100755 --- a/.husky/commit-msg +++ b/.husky/commit-msg @@ -1,4 +1,4 @@ #!/bin/sh . "$(dirname $0)/_/husky.sh" -yarn run commitlint --edit $1 +yarn run commitlint --config commitlint.config.cjs --edit $1 diff --git a/__test__/__fixtures__/transform/everything/plugin.js b/__test__/__fixtures__/transform/everything/plugin.js index afe4e520..567afa3d 100644 --- a/__test__/__fixtures__/transform/everything/plugin.js +++ b/__test__/__fixtures__/transform/everything/plugin.js @@ -1,11 +1,11 @@ -// eslint-disable-next-line node/no-extraneous-require -const { Plugin } = require("@postdfm/plugin"); +// eslint-disable-next-line node/no-extraneous-import +import { Plugin } from "@postdfm/plugin"; function reverseString(str) { return str.split("").reverse().join(""); } -module.exports = class ReverseEverythingPlugin extends Plugin { +export default class ReverseEverythingPlugin extends Plugin { PLUGIN_NAME = "ReverseEverythingPlugin"; hookCallback; @@ -134,4 +134,4 @@ module.exports = class ReverseEverythingPlugin extends Plugin { // nothing to reverse here }); } -}; +} diff --git a/__test__/__fixtures__/transform/hello-world/plugin.js b/__test__/__fixtures__/transform/hello-world/plugin.js index 8986740b..dd2d9a8c 100644 --- a/__test__/__fixtures__/transform/hello-world/plugin.js +++ b/__test__/__fixtures__/transform/hello-world/plugin.js @@ -1,11 +1,11 @@ -// eslint-disable-next-line node/no-extraneous-require -const { Plugin } = require("@postdfm/plugin"); +// eslint-disable-next-line node/no-extraneous-import +import { Plugin } from "@postdfm/plugin"; -module.exports = class HelloWorldPlugin extends Plugin { +export default class HelloWorldPlugin extends Plugin { install(hooks) { hooks.property.tap("HelloWorldPlugin", (node) => { node.name = node.name.split("").reverse().join(""); return node; }); } -}; +} diff --git a/commitlint.config.cjs b/commitlint.config.cjs new file mode 100644 index 00000000..661d8952 --- /dev/null +++ b/commitlint.config.cjs @@ -0,0 +1,3 @@ +module.exports = { + extends: ["@commitlint/config-conventional"] +}; diff --git a/commitlint.config.js b/commitlint.config.js deleted file mode 100644 index 69b4242c..00000000 --- a/commitlint.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: ["@commitlint/config-conventional"], -}; diff --git a/eslint.config.js b/eslint.config.cjs similarity index 76% rename from eslint.config.js rename to eslint.config.cjs index 2834c425..4bb214a1 100644 --- a/eslint.config.js +++ b/eslint.config.cjs @@ -5,18 +5,18 @@ module.exports = function getConfig(enableTypeChecking) { settings: { node: { allowModules: ["@postdfm/ast2dfm", "@postdfm/ast", "@postdfm/dfm2ast"], - tryExtensions: [".js", ".ts", ".json", ".node"], - }, + tryExtensions: [".js", ".cjs", ".ts", ".json", ".node"] + } }, - ignorePatterns: [".eslintrc.js"], parserOptions: { - project: "./tsconfig.json", + extraFileExtensions: [".cjs"], + project: "./tsconfig.json" }, extends: [ "eslint:recommended", "plugin:node/recommended", "plugin:jest/recommended", - "prettier", + "prettier" ], overrides: [ { @@ -30,17 +30,17 @@ module.exports = function getConfig(enableTypeChecking) { enableTypeChecking && "plugin:@typescript-eslint/recommended-requiring-type-checking", "prettier", - "prettier/@typescript-eslint", + "prettier/@typescript-eslint" ].filter((v) => !!v), rules: { "node/no-unsupported-features/es-syntax": [ "error", { - ignores: ["modules"], - }, - ], - }, - }, - ], + ignores: ["modules", "dynamicImport"] + } + ] + } + } + ] }; }; diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 2365bf1e..00000000 --- a/jest.config.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - reporters: [ - "default", - [ - "jest-junit", - { - usePathForSuiteName: "true", - classNameTemplate: "[{classname}]", - titleTemplate: "{title}", - outputDirectory: "test-results/jest", - outputName: "./report.xml", - }, - ], - ], - transform: { - "^.+\\.tsx?$": "ts-jest", - }, - collectCoverage: true, - collectCoverageFrom: [ - "**/*.ts", - "!**/node_modules/**", - "!**/dist/**", - "!packages/@postdfm/dfm2ast/src/grammar.ts", - ], - coverageReporters: ["lcov", "text"], - coverageDirectory: "coverage", - rootDir: "./", -}; diff --git a/jest.config.json b/jest.config.json new file mode 100644 index 00000000..ac840212 --- /dev/null +++ b/jest.config.json @@ -0,0 +1,34 @@ +{ + "reporters": [ + "default", + [ + "jest-junit", + { + "usePathForSuiteName": "true", + "classNameTemplate": "[{classname}]", + "titleTemplate": "{title}", + "outputDirectory": "test-results/jest", + "outputName": "./report.xml" + } + ] + ], + "preset": "ts-jest/presets/default-esm", + "globals": { + "ts-jest": { + "useESM": true + } + }, + "transform": { + "^.+\\.tsx?$": "ts-jest" + }, + "collectCoverage": true, + "collectCoverageFrom": [ + "**/*.ts", + "!**/node_modules/**", + "!**/dist/**", + "!packages/@postdfm/dfm2ast/src/grammar.ts" + ], + "coverageReporters": ["lcov", "text"], + "coverageDirectory": "coverage", + "rootDir": "./" +} diff --git a/package.json b/package.json index 0bb594c5..045655fb 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "packages/postdfm" ], "description": "Provides an API for easily transforming Delphi Forms", + "type": "module", "scripts": { "postinstall": "husky install", "ci": "yarn --frozen-lockfile && yarn run compile && yarn run lint:check && yarn run format:check && yarn test && yarn docs", @@ -15,7 +16,7 @@ "format:fix": "yarn format --write --list-different", "format:check": "yarn format --check", "compile": "yarn workspaces run compile", - "test": "jest --coverage", + "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage --verbose --maxWorkers=16", "docs": "yarn workspaces run docs", "release": "semantic-release", "snyk-protect": "snyk protect", @@ -33,6 +34,7 @@ "@typescript-eslint/eslint-plugin": "^4.14.0", "@typescript-eslint/parser": "^4.14.0", "commitlint": "^12.0.1", + "cross-env": "^7.0.3", "cz-conventional-changelog": "^3.0.2", "eslint": "^7.18.0", "eslint-config-prettier": "^7.2.0", @@ -40,13 +42,13 @@ "eslint-plugin-node": "^11.1.0", "execa": "^4.0.0", "husky": "^5.0.6", - "jest": "^26.0.0", + "jest": "^27.0.0-next.7", "jest-junit": "^10.0.0", "lint-staged": "^10.0.3", "nearley": "^2.16.0", "prettier": "^2.2.1", - "semantic-release": "^17.3.8", - "ts-jest": "^26.4.4", + "semantic-release": "^17.4.0", + "ts-jest": "^27.0.0-next.10", "typedoc": "^0.20.24", "typescript": "^4.1.3" }, diff --git a/packages/@postdfm/ast/.eslintrc.cjs b/packages/@postdfm/ast/.eslintrc.cjs new file mode 100644 index 00000000..c9ee6518 --- /dev/null +++ b/packages/@postdfm/ast/.eslintrc.cjs @@ -0,0 +1 @@ +module.exports = require("../../../eslint.config.cjs")(true); diff --git a/packages/@postdfm/ast/.eslintrc.js b/packages/@postdfm/ast/.eslintrc.js deleted file mode 100644 index dad6750a..00000000 --- a/packages/@postdfm/ast/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../../../eslint.config.js")(true); diff --git a/packages/@postdfm/ast/package.json b/packages/@postdfm/ast/package.json index aaff38c0..ba0ef87b 100644 --- a/packages/@postdfm/ast/package.json +++ b/packages/@postdfm/ast/package.json @@ -4,9 +4,10 @@ "description": "Abstract Syntax Tree classes for postdfm", "main": "dist/index.js", "types": "dist/index.d.ts", + "type": "module", "scripts": { "compile": "tsc --listEmittedFiles", - "docs": "typedoc --options typedoc.config.js" + "docs": "typedoc --options typedoc.config.cjs" }, "author": "SpiltCoffee", "license": "MIT", diff --git a/packages/@postdfm/ast/typedoc.config.cjs b/packages/@postdfm/ast/typedoc.config.cjs new file mode 100644 index 00000000..5a4e0ed3 --- /dev/null +++ b/packages/@postdfm/ast/typedoc.config.cjs @@ -0,0 +1,4 @@ +module.exports = require("../../../typedoc.config.cjs")({ + entryPoints: ["src/index.ts"], + out: "@postdfm/ast" +}); diff --git a/packages/@postdfm/ast/typedoc.config.js b/packages/@postdfm/ast/typedoc.config.js deleted file mode 100644 index 6b4a14d1..00000000 --- a/packages/@postdfm/ast/typedoc.config.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = require("../../../typedoc")({ - entryPoints: ["src/index.ts"], - out: "@postdfm/ast", -}); diff --git a/packages/@postdfm/ast2dfm/.eslintrc.cjs b/packages/@postdfm/ast2dfm/.eslintrc.cjs new file mode 100644 index 00000000..c9ee6518 --- /dev/null +++ b/packages/@postdfm/ast2dfm/.eslintrc.cjs @@ -0,0 +1 @@ +module.exports = require("../../../eslint.config.cjs")(true); diff --git a/packages/@postdfm/ast2dfm/.eslintrc.js b/packages/@postdfm/ast2dfm/.eslintrc.js deleted file mode 100644 index dad6750a..00000000 --- a/packages/@postdfm/ast2dfm/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../../../eslint.config.js")(true); diff --git a/packages/@postdfm/ast2dfm/__test__/broken/index.test.ts b/packages/@postdfm/ast2dfm/__test__/broken/index.test.ts index ecbc112b..4480e6e0 100644 --- a/packages/@postdfm/ast2dfm/__test__/broken/index.test.ts +++ b/packages/@postdfm/ast2dfm/__test__/broken/index.test.ts @@ -1,13 +1,17 @@ -import * as AST from "@postdfm/ast"; -import * as fs from "fs"; -import * as path from "path"; +import fs from "fs"; +import { fileURLToPath } from "url"; + +import { Root } from "@postdfm/ast"; import stringify from "../../src"; describe("dfm2ast", () => { test("broken AST throws error", () => { const ast = JSON.parse( - fs.readFileSync(path.join(__dirname, "ast.json"), "utf8") - ) as AST.Root; + fs.readFileSync( + fileURLToPath(new URL("./ast.json", import.meta.url)), + "utf8" + ) + ) as Root; expect(() => stringify(ast)).toThrow("Cannot stringify astType unknown"); }); diff --git a/packages/@postdfm/ast2dfm/package.json b/packages/@postdfm/ast2dfm/package.json index 03c80808..80a68776 100644 --- a/packages/@postdfm/ast2dfm/package.json +++ b/packages/@postdfm/ast2dfm/package.json @@ -4,9 +4,10 @@ "description": "Convert DFM Abstract Syntax Trees to a Delphi Form file", "main": "dist/index.js", "types": "dist/index.d.ts", + "type": "module", "scripts": { "compile": "tsc --listEmittedFiles", - "docs": "typedoc --options typedoc.config.js" + "docs": "typedoc --options typedoc.config.cjs" }, "author": "SpiltCoffee", "license": "MIT", diff --git a/packages/@postdfm/ast2dfm/typedoc.config.cjs b/packages/@postdfm/ast2dfm/typedoc.config.cjs new file mode 100644 index 00000000..80af0b68 --- /dev/null +++ b/packages/@postdfm/ast2dfm/typedoc.config.cjs @@ -0,0 +1,4 @@ +module.exports = require("../../../typedoc.config.cjs")({ + entryPoints: ["src/index.ts"], + out: "@postdfm/ast2dfm" +}); diff --git a/packages/@postdfm/ast2dfm/typedoc.config.js b/packages/@postdfm/ast2dfm/typedoc.config.js deleted file mode 100644 index 8a9c2964..00000000 --- a/packages/@postdfm/ast2dfm/typedoc.config.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = require("../../../typedoc")({ - entryPoints: ["src/index.ts"], - out: "@postdfm/ast2dfm", -}); diff --git a/packages/@postdfm/dfm2ast/.eslintrc.cjs b/packages/@postdfm/dfm2ast/.eslintrc.cjs new file mode 100644 index 00000000..c9ee6518 --- /dev/null +++ b/packages/@postdfm/dfm2ast/.eslintrc.cjs @@ -0,0 +1 @@ +module.exports = require("../../../eslint.config.cjs")(true); diff --git a/packages/@postdfm/dfm2ast/.eslintrc.js b/packages/@postdfm/dfm2ast/.eslintrc.js deleted file mode 100644 index dad6750a..00000000 --- a/packages/@postdfm/dfm2ast/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../../../eslint.config.js")(true); diff --git a/packages/@postdfm/dfm2ast/__test__/broken/index.test.ts b/packages/@postdfm/dfm2ast/__test__/broken/index.test.ts index e25221ef..56a0e2fe 100644 --- a/packages/@postdfm/dfm2ast/__test__/broken/index.test.ts +++ b/packages/@postdfm/dfm2ast/__test__/broken/index.test.ts @@ -1,10 +1,13 @@ -import * as fs from "fs"; -import * as path from "path"; +import fs from "fs"; +import { fileURLToPath } from "url"; import parse from "../../src"; describe("dfm2ast", () => { test("broken DFM throws error", () => { - const dfm = fs.readFileSync(path.join(__dirname, "form.dfm"), "ascii"); + const dfm = fs.readFileSync( + fileURLToPath(new URL("./form.dfm", import.meta.url)), + "ascii" + ); expect(() => parse(dfm)).toThrow("Unexpected End Of Input"); }); diff --git a/packages/@postdfm/dfm2ast/__test__/fixtures/index.test.ts b/packages/@postdfm/dfm2ast/__test__/fixtures/index.test.ts index 9b6ebc9c..9502a7c8 100644 --- a/packages/@postdfm/dfm2ast/__test__/fixtures/index.test.ts +++ b/packages/@postdfm/dfm2ast/__test__/fixtures/index.test.ts @@ -1,21 +1,27 @@ -import * as fs from "fs"; -import * as path from "path"; +import fs from "fs"; +import { ASTNode } from "@postdfm/ast"; import parse from "../../src"; -const rootFixturesDir = path.join("__test__", "__fixtures__"); -const parseFixturesDir = path.join(rootFixturesDir, "parse"); +const parseFixturesPath = new URL( + "../../../../../__test__/__fixtures__/parse/", + import.meta.url +); describe("dfm2ast", () => { describe("parse fixtures", () => { - const fixtures = fs.readdirSync(parseFixturesDir); + const fixtures = fs.readdirSync(parseFixturesPath); fixtures.forEach((fixture) => { - const formFile = path.join(parseFixturesDir, fixture, "form.dfm"); - const astFile = path.join(parseFixturesDir, fixture, "ast.json"); + const fixturePath = new URL(`./${fixture}/`, parseFixturesPath); + const formFile = fs.readFileSync( + new URL("./form.dfm", fixturePath), + "ascii" + ); + const astJson = JSON.parse( + fs.readFileSync(new URL("./ast.json", fixturePath), "utf-8") + ) as ASTNode; test(`${fixture}`, () => { - expect( - JSON.parse(JSON.stringify(parse(fs.readFileSync(formFile, "ascii")))) - ).toEqual(JSON.parse(fs.readFileSync(astFile, "utf8"))); + expect(JSON.parse(JSON.stringify(parse(formFile)))).toEqual(astJson); }); }); }); diff --git a/packages/@postdfm/dfm2ast/package.json b/packages/@postdfm/dfm2ast/package.json index 1e4d1281..447fa04d 100644 --- a/packages/@postdfm/dfm2ast/package.json +++ b/packages/@postdfm/dfm2ast/package.json @@ -4,10 +4,11 @@ "description": "Convert Delphi Form files to an Abstract Syntax Tree", "main": "dist/index.js", "types": "dist/index.d.ts", + "type": "module", "scripts": { "precompile": "nearleyc ne/grammar.ne -o src/grammar.ts", "compile": "tsc --listEmittedFiles", - "docs": "typedoc --options typedoc.config.js" + "docs": "typedoc --options typedoc.config.cjs" }, "author": "SpiltCoffee", "license": "MIT", diff --git a/packages/@postdfm/dfm2ast/src/index.ts b/packages/@postdfm/dfm2ast/src/index.ts index e2acef88..80e4878f 100644 --- a/packages/@postdfm/dfm2ast/src/index.ts +++ b/packages/@postdfm/dfm2ast/src/index.ts @@ -1,5 +1,12 @@ import { Root } from "@postdfm/ast"; -import { Grammar, Parser } from "nearley"; + +// nearley isn't a proper ESM module here (not even CommonJS - it's UMD) +import * as nearleyPkg from "nearley"; +import type { Parser as ParserType, Grammar as GrammarType } from "nearley"; +const { Parser, Grammar } = (< + { default: { Parser: typeof ParserType; Grammar: typeof GrammarType } } +>(nearleyPkg)).default; + import grammar from "./grammar"; function parse(dfm: string): Root { diff --git a/packages/@postdfm/dfm2ast/typedoc.config.cjs b/packages/@postdfm/dfm2ast/typedoc.config.cjs new file mode 100644 index 00000000..5f8938e1 --- /dev/null +++ b/packages/@postdfm/dfm2ast/typedoc.config.cjs @@ -0,0 +1,4 @@ +module.exports = require("../../../typedoc.config.cjs")({ + entryPoints: ["src/index.ts"], + out: "@postdfm/dfm2ast" +}); diff --git a/packages/@postdfm/dfm2ast/typedoc.config.js b/packages/@postdfm/dfm2ast/typedoc.config.js deleted file mode 100644 index c0765084..00000000 --- a/packages/@postdfm/dfm2ast/typedoc.config.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = require("../../../typedoc")({ - entryPoints: ["src/index.ts"], - out: "@postdfm/dfm2ast", -}); diff --git a/packages/@postdfm/plugin/.eslintrc.cjs b/packages/@postdfm/plugin/.eslintrc.cjs new file mode 100644 index 00000000..c9ee6518 --- /dev/null +++ b/packages/@postdfm/plugin/.eslintrc.cjs @@ -0,0 +1 @@ +module.exports = require("../../../eslint.config.cjs")(true); diff --git a/packages/@postdfm/plugin/.eslintrc.js b/packages/@postdfm/plugin/.eslintrc.js deleted file mode 100644 index dad6750a..00000000 --- a/packages/@postdfm/plugin/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../../../eslint.config.js")(true); diff --git a/packages/@postdfm/plugin/__test__/plugin/index.test.ts b/packages/@postdfm/plugin/__test__/plugin/index.test.ts index ed86b8fa..a2382b7b 100644 --- a/packages/@postdfm/plugin/__test__/plugin/index.test.ts +++ b/packages/@postdfm/plugin/__test__/plugin/index.test.ts @@ -1,5 +1,6 @@ import * as AST from "@postdfm/ast"; import { Plugin, Hooks } from "../../src"; +import { jest } from "@jest/globals"; class TapAllPlugin extends Plugin { hookCallback: () => void; diff --git a/packages/@postdfm/plugin/package.json b/packages/@postdfm/plugin/package.json index 38a31ac2..2cb82af6 100644 --- a/packages/@postdfm/plugin/package.json +++ b/packages/@postdfm/plugin/package.json @@ -4,9 +4,10 @@ "description": "Provides structure and utilities for making plugins that can modify a postdfm AST.", "main": "dist/index.js", "types": "dist/index.d.ts", + "type": "module", "scripts": { "compile": "tsc --listEmittedFiles", - "docs": "typedoc --options typedoc.config.js" + "docs": "typedoc --options typedoc.config.cjs" }, "author": "SpiltCoffee", "license": "MIT", @@ -18,6 +19,9 @@ "@postdfm/ast": "^6.0.3", "tapable": "^2.2.0" }, + "devDependencies": { + "@jest/globals": "^27.0.0-next.7" + }, "files": [ "/dist", "README.md" diff --git a/packages/@postdfm/plugin/typedoc.config.js b/packages/@postdfm/plugin/typedoc.config.cjs similarity index 52% rename from packages/@postdfm/plugin/typedoc.config.js rename to packages/@postdfm/plugin/typedoc.config.cjs index 2aa84b03..96d991f9 100644 --- a/packages/@postdfm/plugin/typedoc.config.js +++ b/packages/@postdfm/plugin/typedoc.config.cjs @@ -1,4 +1,4 @@ -module.exports = require("../../../typedoc")({ +module.exports = require("../../../typedoc.config.cjs")({ entryPoints: ["src/index.ts"], out: "@postdfm/plugin", }); diff --git a/packages/@postdfm/transform/.eslintrc.cjs b/packages/@postdfm/transform/.eslintrc.cjs new file mode 100644 index 00000000..c9ee6518 --- /dev/null +++ b/packages/@postdfm/transform/.eslintrc.cjs @@ -0,0 +1 @@ +module.exports = require("../../../eslint.config.cjs")(true); diff --git a/packages/@postdfm/transform/.eslintrc.js b/packages/@postdfm/transform/.eslintrc.js deleted file mode 100644 index dad6750a..00000000 --- a/packages/@postdfm/transform/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../../../eslint.config.js")(true); diff --git a/packages/@postdfm/transform/__test__/fixtures/index.test.ts b/packages/@postdfm/transform/__test__/fixtures/index.test.ts index dd13e995..9d5260cd 100644 --- a/packages/@postdfm/transform/__test__/fixtures/index.test.ts +++ b/packages/@postdfm/transform/__test__/fixtures/index.test.ts @@ -1,11 +1,14 @@ -import * as fs from "fs"; -import * as path from "path"; -import * as AST from "@postdfm/ast"; +import fs from "fs"; +import { fileURLToPath } from "url"; + +import { ASTNode } from "@postdfm/ast"; import { Plugin } from "@postdfm/plugin"; import { Transformer } from "../../src"; -const rootFixturesDir = path.resolve("__test__", "__fixtures__"); -const transformFixturesDir = path.join(rootFixturesDir, "transform"); +const transformFixturesPath = new URL( + "../../../../../__test__/__fixtures__/transform/", + import.meta.url +); interface ReferencedPlugin { new (): Plugin; @@ -13,28 +16,29 @@ interface ReferencedPlugin { describe("transform", () => { describe("transform fixtures", () => { - const fixtures = fs.readdirSync(transformFixturesDir); + const fixtures = fs.readdirSync(transformFixturesPath); fixtures.forEach((fixture) => { - const fixtureDir = path.join(transformFixturesDir, fixture); + test(`${fixture}`, async () => { + const fixturePath = new URL(`./${fixture}/`, transformFixturesPath); - const cisAst = JSON.parse( - fs.readFileSync(path.join(fixtureDir, "cis.json"), "utf-8") - ) as AST.ASTNode; + const cisAst = JSON.parse( + fs.readFileSync(new URL("./cis.json", fixturePath), "utf-8") + ) as ASTNode; - const transAst = JSON.parse( - fs.readFileSync(path.join(fixtureDir, "trans.json"), "utf-8") - ) as AST.ASTNode; + const transAst = JSON.parse( + fs.readFileSync(new URL("./trans.json", fixturePath), "utf-8") + ) as ASTNode; - const plugins = [ - // eslint-disable-next-line @typescript-eslint/no-var-requires - new (require(path.join(fixtureDir, "plugin.js")) as ReferencedPlugin)(), - ]; + const plugins = [ + new (<{ default: ReferencedPlugin }>( + await import(fileURLToPath(new URL("./plugin.js", fixturePath))) + )).default(), + ]; - const transformer = new Transformer(plugins); + const transformer = new Transformer(plugins); - transformer.transform(cisAst); + transformer.transform(cisAst); - test(`${fixture}`, () => { expect(cisAst).toEqual(transAst); }); }); diff --git a/packages/@postdfm/transform/package.json b/packages/@postdfm/transform/package.json index dd1281b7..53a0eaeb 100644 --- a/packages/@postdfm/transform/package.json +++ b/packages/@postdfm/transform/package.json @@ -4,9 +4,10 @@ "description": "Iterates a Delphi Form Abstract Syntax Tree, allowing modification via Hooks", "main": "dist/index.js", "types": "dist/index.d.ts", + "type": "module", "scripts": { "compile": "tsc --listEmittedFiles", - "docs": "typedoc --options typedoc.config.js" + "docs": "typedoc --options typedoc.config.cjs" }, "author": "SpiltCoffee", "license": "MIT", diff --git a/packages/@postdfm/transform/typedoc.config.js b/packages/@postdfm/transform/typedoc.config.cjs similarity index 53% rename from packages/@postdfm/transform/typedoc.config.js rename to packages/@postdfm/transform/typedoc.config.cjs index e45d7af5..3af5eaa8 100644 --- a/packages/@postdfm/transform/typedoc.config.js +++ b/packages/@postdfm/transform/typedoc.config.cjs @@ -1,4 +1,4 @@ -module.exports = require("../../../typedoc")({ +module.exports = require("../../../typedoc.config.cjs")({ entryPoints: ["src/index.ts"], out: "@postdfm/transform", }); diff --git a/packages/postdfm/.eslintrc.cjs b/packages/postdfm/.eslintrc.cjs new file mode 100644 index 00000000..ae2b7b5f --- /dev/null +++ b/packages/postdfm/.eslintrc.cjs @@ -0,0 +1 @@ +module.exports = require("../../eslint.config.cjs")(true); diff --git a/packages/postdfm/.eslintrc.js b/packages/postdfm/.eslintrc.js deleted file mode 100644 index 1dc4a604..00000000 --- a/packages/postdfm/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("../../eslint.config.js")(true); diff --git a/packages/postdfm/__test__/broken/index.test.ts b/packages/postdfm/__test__/broken/index.test.ts index 1744372b..5d4acbc1 100644 --- a/packages/postdfm/__test__/broken/index.test.ts +++ b/packages/postdfm/__test__/broken/index.test.ts @@ -1,38 +1,42 @@ -import * as fs from "fs"; -import * as path from "path"; -import postdfm from "../../src"; +import fs from "fs"; +import { fileURLToPath } from "url"; +import { postdfmSync } from "../../src"; describe("postdfm", () => { describe("broken DFMs throw errors", () => { describe("unexpected end", () => { - const file = path.join(__dirname, "unexpectedEnd.dfm"); + const file = fileURLToPath( + new URL("./unexpectedEnd.dfm", import.meta.url) + ); const dfm = fs.readFileSync(file, "ascii"); test("without `from`", () => { - expect(() => postdfm().processSync(dfm)).toThrow( + expect(() => postdfmSync().processSync(dfm)).toThrow( /Unexpected End Of Input/ ); }); test("with `from`", () => { - expect(() => postdfm().processSync(dfm, { from: file })).toThrow( + expect(() => postdfmSync().processSync(dfm, { from: file })).toThrow( /unexpectedEnd.dfm: Unexpected End Of Input/ ); }); }); describe("invalid property", () => { - const file = path.join(__dirname, "invalidProperty.dfm"); + const file = fileURLToPath( + new URL("./invalidProperty.dfm", import.meta.url) + ); const dfm = fs.readFileSync(file, "ascii"); test("without `from`", () => { - expect(() => postdfm().processSync(dfm)).toThrow( + expect(() => postdfmSync().processSync(dfm)).toThrow( /Syntax error at line 3 col 1/ ); }); test("with `from`", () => { - expect(() => postdfm().processSync(dfm, { from: file })).toThrow( + expect(() => postdfmSync().processSync(dfm, { from: file })).toThrow( /invalidProperty.dfm: Syntax error at line 3 col 1/ ); }); diff --git a/packages/postdfm/__test__/fixtures/index.test.ts b/packages/postdfm/__test__/fixtures/index.test.ts index 434a0702..b0fed421 100644 --- a/packages/postdfm/__test__/fixtures/index.test.ts +++ b/packages/postdfm/__test__/fixtures/index.test.ts @@ -1,11 +1,17 @@ -import * as fs from "fs"; -import * as path from "path"; -import postdfm from "../../src"; +import fs from "fs"; +import { fileURLToPath } from "url"; import { Plugin } from "@postdfm/plugin"; +import { postdfm, postdfmSync } from "../../src"; -const rootFixturesDir = path.resolve("__test__", "__fixtures__"); -const parseFixturesDir = path.join(rootFixturesDir, "parse"); -const transformFixturesDir = path.join(rootFixturesDir, "transform"); +const parseFixturesPath = new URL( + "../../../../__test__/__fixtures__/parse/", + import.meta.url +); + +const transformFixturesPath = new URL( + "../../../../__test__/__fixtures__/transform/", + import.meta.url +); class NoopPlugin extends Plugin { install(): void { @@ -15,56 +21,70 @@ class NoopPlugin extends Plugin { describe("postdfm", () => { describe("parse fixtures", () => { - const runner = postdfm({ - plugins: [NoopPlugin], - }); - - const fixtures = fs.readdirSync(parseFixturesDir); + const fixtures = fs.readdirSync(parseFixturesPath); fixtures.forEach((fixture) => { + const fixturePath = new URL(`./${fixture}/`, parseFixturesPath); const cisForm = fs.readFileSync( - path.join(parseFixturesDir, fixture, "form.dfm"), + new URL("./form.dfm", fixturePath), "ascii" ); describe(`${fixture}`, () => { test("sync", () => { - expect(runner.processSync(cisForm)).toEqual(cisForm); + const runner = postdfmSync({ plugins: [NoopPlugin] }); + + const dfm = runner.processSync(cisForm); + + expect(dfm).toEqual(cisForm); }); - test("async", () => { - return runner - .process(cisForm) - .then((dfm) => expect(dfm).toEqual(cisForm)); + test("async", async () => { + const runner = await postdfm({ plugins: [NoopPlugin] }); + + const dfm = await runner.process(cisForm); + + expect(dfm).toEqual(cisForm); }); }); }); }); describe("transform fixtures", () => { - const fixtures = fs.readdirSync(transformFixturesDir); + const fixtures = fs.readdirSync(transformFixturesPath); fixtures.forEach((fixture) => { - const fixtureDir = path.join(transformFixturesDir, fixture); + const fixturePath = new URL(`./${fixture}/`, transformFixturesPath); const cisForm = fs.readFileSync( - path.join(fixtureDir, "cis.dfm"), + new URL("./cis.dfm", fixturePath), "ascii" ); const transForm = fs.readFileSync( - path.join(fixtureDir, "trans.dfm"), + new URL("./trans.dfm", fixturePath), "ascii" ); - const plugins = [require(path.join(fixtureDir, "plugin.js"))]; - const runner = postdfm({ plugins }); + const pluginFile = fileURLToPath(new URL("./plugin.js", fixturePath)); describe(`${fixture}`, () => { - test("sync", () => { - expect(runner.processSync(cisForm)).toEqual(transForm); + test("sync", async () => { + const plugins = [ + (<{ default: Plugin }>await import(pluginFile)).default, + ]; + + const runner = postdfmSync({ plugins }); + + const dfm = runner.processSync(cisForm); + + expect(dfm).toEqual(transForm); }); - test("async", () => { - return runner - .process(cisForm) - .then((dfm) => expect(dfm).toEqual(transForm)); + test("async", async () => { + const plugins = [pluginFile]; + + const runner = await postdfm({ plugins }); + + const dfm = await runner.process(cisForm); + + expect(dfm).toEqual(transForm); }); }); }); diff --git a/packages/postdfm/__test__/options/index.test.ts b/packages/postdfm/__test__/options/index.test.ts index be5e0f5c..a37bc759 100644 --- a/packages/postdfm/__test__/options/index.test.ts +++ b/packages/postdfm/__test__/options/index.test.ts @@ -1,7 +1,13 @@ +import { fileURLToPath } from "url"; + import { stringify } from "@postdfm/ast2dfm"; import { parse } from "@postdfm/dfm2ast"; -import * as path from "path"; -import postdfm, { RunnerOptions } from "../../src"; +import { + postdfm, + postdfmSync, + RunnerOptions, + RunnerOptionsSync, +} from "../../src"; import { Plugin } from "@postdfm/plugin"; class NoopPlugin extends Plugin { @@ -12,7 +18,7 @@ class NoopPlugin extends Plugin { describe("postdfm", () => { describe("options", () => { - test("valid (normal)", () => { + test("valid (normal)", async () => { const parser = parse; const stringifier = stringify; const plugins: Array = [ @@ -20,52 +26,101 @@ describe("postdfm", () => { new NoopPlugin(), ]; - expect(() => postdfm()).not.toThrow(); - expect(() => postdfm({})).not.toThrow(); - expect(() => postdfm({ parser })).not.toThrow(); - expect(() => postdfm({ stringifier })).not.toThrow(); - expect(() => postdfm({ plugins })).not.toThrow(); - expect(() => postdfm({ parser, stringifier })).not.toThrow(); - expect(() => postdfm({ parser, plugins })).not.toThrow(); - expect(() => postdfm({ stringifier, plugins })).not.toThrow(); - expect(() => postdfm({ parser, stringifier, plugins })).not.toThrow(); + await expect(postdfm()).resolves.not.toThrow(); + expect(() => postdfmSync()).not.toThrow(); + + await expect(postdfm({})).resolves.not.toThrow(); + expect(() => postdfmSync({})).not.toThrow(); + + await expect(postdfm({ parser })).resolves.not.toThrow(); + expect(() => postdfmSync({ parser })).not.toThrow(); + + await expect(postdfm({ stringifier })).resolves.not.toThrow(); + expect(() => postdfmSync({ stringifier })).not.toThrow(); + + await expect(postdfm({ plugins })).resolves.not.toThrow(); + expect(() => postdfmSync({ plugins })).not.toThrow(); + + await expect(postdfm({ parser, stringifier })).resolves.not.toThrow(); + expect(() => postdfmSync({ parser, stringifier })).not.toThrow(); + + await expect(postdfm({ parser, plugins })).resolves.not.toThrow(); + expect(() => postdfmSync({ parser, plugins })).not.toThrow(); + + await expect(postdfm({ stringifier, plugins })).resolves.not.toThrow(); + expect(() => postdfmSync({ stringifier, plugins })).not.toThrow(); + + await expect( + postdfm({ parser, stringifier, plugins }) + ).resolves.not.toThrow(); + expect(() => postdfmSync({ parser, stringifier, plugins })).not.toThrow(); }); - test("valid (using strings)", () => { + test("valid (using strings)", async () => { const parser = "@postdfm/dfm2ast"; const stringifier = "@postdfm/ast2dfm"; - const plugins = [path.join(__dirname, "plugin.js")]; - - expect(() => postdfm({ parser })).not.toThrow(); - expect(() => postdfm({ stringifier })).not.toThrow(); - expect(() => postdfm({ plugins })).not.toThrow(); - expect(() => postdfm({ parser, stringifier })).not.toThrow(); - expect(() => postdfm({ parser, plugins })).not.toThrow(); - expect(() => postdfm({ stringifier, plugins })).not.toThrow(); - expect(() => postdfm({ parser, stringifier, plugins })).not.toThrow(); + const plugins = [fileURLToPath(new URL("./plugin.js", import.meta.url))]; + + await expect(postdfm({ parser })).resolves.not.toThrow(); + await expect(postdfm({ stringifier })).resolves.not.toThrow(); + await expect(postdfm({ plugins })).resolves.not.toThrow(); + await expect(postdfm({ parser, stringifier })).resolves.not.toThrow(); + await expect(postdfm({ parser, plugins })).resolves.not.toThrow(); + await expect(postdfm({ stringifier, plugins })).resolves.not.toThrow(); + await expect( + postdfm({ parser, stringifier, plugins }) + ).resolves.not.toThrow(); }); - test("invalid", () => { + test("invalid", async () => { const parser = true; + const parserSync = "hello"; const stringifier = 5; - const plugin1 = {}; + const stringifierSync = "world"; + const plugin1 = 5; const plugin2 = [5]; + const pluginSync = [NoopPlugin, "hello", "world"]; - expect(() => postdfm(({ parser } as unknown) as RunnerOptions)).toThrow( - /parser must be a string or a function/ + await expect( + postdfm(({ parser } as unknown) as RunnerOptions) + ).rejects.toThrow( + /parser must be a function, or \(only if async\) a string/ ); + expect(() => + postdfmSync(({ parser: parserSync } as unknown) as RunnerOptionsSync) + ).toThrow(/parser must be a function, or \(only if async\) a string/); + + await expect( postdfm(({ stringifier } as unknown) as RunnerOptions) - ).toThrow(/stringifier must be a string or a function/); + ).rejects.toThrow( + /stringifier must be a function, or \(only if async\) a string/ + ); + expect(() => - postdfm(({ plugins: plugin1 } as unknown) as RunnerOptions) + postdfmSync(({ + stringifier: stringifierSync, + } as unknown) as RunnerOptionsSync) ).toThrow( - /plugins must be an array of strings, functions and\/or objects/ + /stringifier must be a function, or \(only if async\) a string/ ); - expect(() => + + await expect( + postdfm(({ plugins: plugin1 } as unknown) as RunnerOptions) + ).rejects.toThrow( + /plugins must be an array of functions\/objects, or \(only if async\) strings/ + ); + + await expect( postdfm(({ plugins: plugin2 } as unknown) as RunnerOptions) + ).rejects.toThrow( + /plugins must be an array of functions\/objects, or \(only if async\) strings/ + ); + + expect(() => + postdfmSync(({ plugins: pluginSync } as unknown) as RunnerOptionsSync) ).toThrow( - /plugins must be an array of strings, functions and\/or objects/ + /plugins must be an array of functions\/objects, or \(only if async\) strings/ ); }); }); diff --git a/packages/postdfm/__test__/options/parser.js b/packages/postdfm/__test__/options/parser.js index 922f7ac7..90d71505 100644 --- a/packages/postdfm/__test__/options/parser.js +++ b/packages/postdfm/__test__/options/parser.js @@ -1,2 +1,2 @@ -const { parse } = require("@postdfm/dfm2ast"); -module.exports = parse; +import { parse } from "@postdfm/dfm2ast"; +export default parse; diff --git a/packages/postdfm/__test__/options/plugin.js b/packages/postdfm/__test__/options/plugin.js index e5f91e5d..ed68c550 100644 --- a/packages/postdfm/__test__/options/plugin.js +++ b/packages/postdfm/__test__/options/plugin.js @@ -1,7 +1,7 @@ -const { Plugin } = require("@postdfm/plugin"); +import { Plugin } from "@postdfm/plugin"; -module.exports = class NoopPlugin extends Plugin { +export default class NoopPlugin extends Plugin { install() { // do nothing } -}; +} diff --git a/packages/postdfm/__test__/options/stringifier.js b/packages/postdfm/__test__/options/stringifier.js index ece3dcbb..d09567ee 100644 --- a/packages/postdfm/__test__/options/stringifier.js +++ b/packages/postdfm/__test__/options/stringifier.js @@ -1,2 +1,2 @@ -const { stringify } = require("@postdfm/ast2dfm"); -module.exports = stringify; +import { stringify } from "@postdfm/ast2dfm"; +export default stringify; diff --git a/packages/postdfm/package.json b/packages/postdfm/package.json index 8c76e8b8..db6bb587 100644 --- a/packages/postdfm/package.json +++ b/packages/postdfm/package.json @@ -4,9 +4,10 @@ "description": "Provides an API for easily transforming Delphi Forms", "main": "dist/index.js", "types": "dist/index.d.ts", + "type": "module", "scripts": { "compile": "tsc --listEmittedFiles", - "docs": "typedoc --options typedoc.config.js" + "docs": "typedoc --options typedoc.config.cjs" }, "keywords": [ "dfm", diff --git a/packages/postdfm/src/index.ts b/packages/postdfm/src/index.ts index efc1ffe3..044b5f9a 100644 --- a/packages/postdfm/src/index.ts +++ b/packages/postdfm/src/index.ts @@ -14,6 +14,12 @@ interface ReferencedPlugin { new (): Plugin; } +export interface RunnerOptionsSync { + parser?: Parser; + stringifier?: Stringifier; + plugins?: Array; +} + export interface RunnerOptions { parser?: Parser | string; stringifier?: Stringifier | string; @@ -83,7 +89,7 @@ export class Runner { } } -export default function postdfm(options?: RunnerOptions): Runner { +export function postdfmSync(options?: RunnerOptionsSync): Runner { const internalOptions: InternalRunnerOptions = { parser: parse, stringifier: stringify, @@ -92,46 +98,41 @@ export default function postdfm(options?: RunnerOptions): Runner { if (options) { if (options.parser) { - if (typeof options.parser === "string") { - // eslint-disable-next-line @typescript-eslint/no-var-requires - internalOptions.parser = require(options.parser) as Parser; - } else if (typeof options.parser === "function") { + if (typeof options.parser === "function") { internalOptions.parser = options.parser; } else { - throw new Error("parser must be a string or a function"); + throw new Error( + "parser must be a function, or (only if async) a string" + ); } } if (options.stringifier) { - if (typeof options.stringifier === "string") { - // eslint-disable-next-line @typescript-eslint/no-var-requires - internalOptions.stringifier = require(options.stringifier) as Stringifier; - } else if (typeof options.stringifier === "function") { + if (typeof options.stringifier === "function") { internalOptions.stringifier = options.stringifier; } else { - throw new Error("stringifier must be a string or a function"); + throw new Error( + "stringifier must be a function, or (only if async) a string" + ); } } if (options.plugins) { if (!Array.isArray(options.plugins)) { throw new Error( - "plugins must be an array of strings, functions and/or objects" + "plugins must be an array of functions/objects, or (only if async) strings" ); } options.plugins.forEach((plugin) => { let internalPlugin: Plugin; - if (typeof plugin === "string") { - // eslint-disable-next-line @typescript-eslint/no-var-requires - internalPlugin = new (require(plugin) as ReferencedPlugin)(); - } else if (typeof plugin === "function") { + if (typeof plugin === "function") { internalPlugin = new (plugin as ReferencedPlugin)(); } else if (typeof plugin === "object") { internalPlugin = plugin; } else { throw new Error( - "plugins must be an array of strings, functions and/or objects" + "plugins must be an array of functions/objects, or (only if async) strings" ); } @@ -142,3 +143,54 @@ export default function postdfm(options?: RunnerOptions): Runner { return new Runner(internalOptions); } + +export async function postdfm(options?: RunnerOptions): Promise { + const syncOptions: RunnerOptionsSync = { + parser: undefined, + stringifier: undefined, + plugins: [], + }; + + if (options) { + if (options.parser) { + if (typeof options.parser === "string") { + syncOptions.parser = (<{ default: Parser }>( + await import(options.parser) + )).default; + } else { + syncOptions.parser = options.parser; + } + } + + if (options.stringifier) { + if (typeof options.stringifier === "string") { + syncOptions.stringifier = (<{ default: Stringifier }>( + await import(options.stringifier) + )).default; + } else { + syncOptions.stringifier = options.stringifier; + } + } + + if (options.plugins) { + if (Array.isArray(options.plugins)) { + for (const plugin of options.plugins) { + let syncPlugin; + if (typeof plugin === "string") { + syncPlugin = new (<{ default: ReferencedPlugin }>( + await import(plugin) + )).default(); + } else { + syncPlugin = plugin; + } + + syncOptions.plugins?.push(syncPlugin); + } + } else { + syncOptions.plugins = options.plugins; + } + } + } + + return postdfmSync(syncOptions); +} diff --git a/packages/postdfm/typedoc.config.cjs b/packages/postdfm/typedoc.config.cjs new file mode 100644 index 00000000..da19847d --- /dev/null +++ b/packages/postdfm/typedoc.config.cjs @@ -0,0 +1,4 @@ +module.exports = require("../../typedoc.config.cjs")({ + entryPoints: ["src/index.ts"], + out: "postdfm" +}); diff --git a/packages/postdfm/typedoc.config.js b/packages/postdfm/typedoc.config.js deleted file mode 100644 index d3b88143..00000000 --- a/packages/postdfm/typedoc.config.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = require("../../typedoc")({ - entryPoints: ["src/index.ts"], - out: "postdfm", -}); diff --git a/release.config.js b/release.config.cjs similarity index 86% rename from release.config.js rename to release.config.cjs index 9451fc83..c887a6dc 100644 --- a/release.config.js +++ b/release.config.cjs @@ -15,13 +15,13 @@ module.exports = { plugins: [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", - ["./release/dependency", { pkgs }], + ["./release/dependency.cjs", { pkgs }], ...pkgs.map(({ location: pkgRoot }) => [ "@semantic-release/npm", { pkgRoot, - tarballDir, - }, + tarballDir + } ]), [ "@semantic-release/github", @@ -31,17 +31,17 @@ module.exports = { tarballDir, `${name.replace("@", "").replace("/", "-")}-*.tgz` ), - label: name, - })), - }, + label: name + })) + } ], [ "@semantic-release/git", { assets: [ - ["packages/**/package.json", "!**/node_modules/**/package.json"], - ], - }, - ], - ], + ["packages/**/package.json", "!**/node_modules/**/package.json"] + ] + } + ] + ] }; diff --git a/release/dependency.js b/release/dependency.cjs similarity index 100% rename from release/dependency.js rename to release/dependency.cjs diff --git a/tsconfig.json b/tsconfig.json index 866b9dd5..c8511d47 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,9 @@ "strictNullChecks": true, "strictFunctionTypes": true, "alwaysStrict": true, + "esModuleInterop": true, "module": "esnext", "typeRoots": ["node_modules/@types"] - } + }, + "include": ["**/*"] } diff --git a/typedoc.js b/typedoc.config.cjs similarity index 100% rename from typedoc.js rename to typedoc.config.cjs diff --git a/yarn.lock b/yarn.lock index e772e2e7..c6ec6b3a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,6 +16,13 @@ dependencies: "@babel/highlight" "^7.10.3" +"@babel/code-frame@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== + dependencies: + "@babel/highlight" "^7.12.13" + "@babel/core@^7.1.0", "@babel/core@^7.7.5": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.3.tgz#73b0e8ddeec1e3fdd7a2de587a60e17c440ec77e" @@ -48,6 +55,15 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/generator@^7.13.9", "@babel/generator@^7.7.2": + version "7.13.9" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.9.tgz#3a7aa96f9efb8e2be42d38d80e2ceb4c64d8de39" + integrity sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw== + dependencies: + "@babel/types" "^7.13.0" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-function-name@^7.10.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz#79316cd75a9fa25ba9787ff54544307ed444f197" @@ -57,6 +73,15 @@ "@babel/template" "^7.10.3" "@babel/types" "^7.10.3" +"@babel/helper-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" + integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== + dependencies: + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.12.13" + "@babel/helper-get-function-arity@^7.10.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz#3a28f7b28ccc7719eacd9223b659fdf162e4c45e" @@ -64,6 +89,13 @@ dependencies: "@babel/types" "^7.10.3" +"@babel/helper-get-function-arity@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" + integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== + dependencies: + "@babel/types" "^7.12.13" + "@babel/helper-member-expression-to-functions@^7.10.1": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz#bc3663ac81ac57c39148fef4c69bf48a77ba8dd6" @@ -108,6 +140,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== +"@babel/helper-plugin-utils@^7.12.13": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" + integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== + "@babel/helper-replace-supers@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz#ec6859d20c5d8087f6a2dc4e014db7228975f13d" @@ -133,11 +170,23 @@ dependencies: "@babel/types" "^7.10.1" +"@babel/helper-split-export-declaration@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" + integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== + dependencies: + "@babel/types" "^7.12.13" + "@babel/helper-validator-identifier@^7.10.3", "@babel/helper-validator-identifier@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + "@babel/helpers@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.1.tgz#a6827b7cb975c9d9cef5fd61d919f60d8844a973" @@ -156,11 +205,25 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.12.13": + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" + integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.10.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.3.tgz#7e71d892b0d6e7d04a1af4c3c79d72c1f10f5315" integrity sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA== +"@babel/parser@^7.12.13", "@babel/parser@^7.13.13", "@babel/parser@^7.7.2": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.13.tgz#42f03862f4aed50461e543270916b47dd501f0df" + integrity sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw== + "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -245,6 +308,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474" + integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/template@^7.10.1", "@babel/template@^7.10.3", "@babel/template@^7.3.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.3.tgz#4d13bc8e30bf95b0ce9d175d30306f42a2c9a7b8" @@ -254,6 +324,15 @@ "@babel/parser" "^7.10.3" "@babel/types" "^7.10.3" +"@babel/template@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" + integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" + "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.1", "@babel/traverse@^7.10.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.3.tgz#0b01731794aa7b77b214bcd96661f18281155d7e" @@ -269,6 +348,20 @@ globals "^11.1.0" lodash "^4.17.13" +"@babel/traverse@^7.7.2": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.13.tgz#39aa9c21aab69f74d948a486dd28a2dbdbf5114d" + integrity sha512-CblEcwmXKR6eP43oQGG++0QMTtCjAsa3frUuzHoiIJWpaIIi8dwMyEFUJoXRLxagGqCK+jALRwIO+o3R9p/uUg== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.9" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.13.13" + "@babel/types" "^7.13.13" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.10.1", "@babel/types@^7.10.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.3.tgz#6535e3b79fea86a6b09e012ea8528f935099de8e" @@ -278,19 +371,20 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.13": + version "7.13.14" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.14.tgz#c35a4abb15c7cd45a2746d78ab328e362cbace0d" + integrity sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - "@commitlint/cli@^12.0.1": version "12.0.1" resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-12.0.1.tgz#8960e34e8f1aed8b2ea50f223ee817fdf2264ffb" @@ -499,93 +593,94 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jest/console@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== +"@jest/console@^27.0.0-next.7": + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.0.0-next.7.tgz#aea7c5faf642c4a0bd917622279a5cb14fd4c3e1" + integrity sha512-CqLIn2weCavHQwN+plAF2WyLfhaCKqpE1BfJwRLpyNREfjg91RNZHdna6U6+Gkfe3vRtgaKNFZkUDc5lFxXymQ== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.0.0-next.7" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" + jest-message-util "^27.0.0-next.7" + jest-util "^27.0.0-next.7" slash "^3.0.0" -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== +"@jest/core@^27.0.0-next.7": + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.0.0-next.7.tgz#763c1ca304d7505d61308df6b9eaa621a8b4a37f" + integrity sha512-a6GYbl6S6qGSa7wwGZ5+kIOi8zOnd65FFWsO8fPmBD5BNw0gQZPHe12WAQ1rbv0nkuzGMs8w45Q6lBMQvpgyOg== dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.0.0-next.7" + "@jest/reporters" "^27.0.0-next.7" + "@jest/test-result" "^27.0.0-next.7" + "@jest/transform" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" + emittery "^0.8.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" + jest-changed-files "^27.0.0-next.7" + jest-config "^27.0.0-next.7" + jest-haste-map "^27.0.0-next.7" + jest-message-util "^27.0.0-next.7" + jest-regex-util "^27.0.0-next.0" + jest-resolve "^27.0.0-next.7" + jest-resolve-dependencies "^27.0.0-next.7" + jest-runner "^27.0.0-next.7" + jest-runtime "^27.0.0-next.7" + jest-snapshot "^27.0.0-next.7" + jest-util "^27.0.0-next.7" + jest-validate "^27.0.0-next.7" + jest-watcher "^27.0.0-next.7" micromatch "^4.0.2" p-each-series "^2.1.0" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== +"@jest/environment@^27.0.0-next.7": + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.0-next.7.tgz#c420d12b14769929a9283fda08f33504749ff745" + integrity sha512-5U2JardL5yLQKJ0HUbJmffKdOzD6jLpKryAr2eSnhL2mOESNdClZP3tqVJEBTrZlROsx7QE9eV5cgMCo23Wfqg== dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/fake-timers" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" "@types/node" "*" - jest-mock "^26.6.2" + jest-mock "^27.0.0-next.7" -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== +"@jest/fake-timers@^27.0.0-next.7": + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.0-next.7.tgz#fd0b9c198343cd098fe65332c655255d3ad186c6" + integrity sha512-PX+NpN71Z9JmsvJMo6rgWqQWZkQBstGBxlFoZ5hBUt1iCPRqL5mCkwV6NlBPs0BZ8h0xxbFaOsp3d2NCZxba8A== dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" + "@jest/types" "^27.0.0-next.7" + "@sinonjs/fake-timers" "^7.0.2" "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" + jest-message-util "^27.0.0-next.7" + jest-mock "^27.0.0-next.7" + jest-util "^27.0.0-next.7" -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== +"@jest/globals@^27.0.0-next.7": + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.0-next.7.tgz#9c8d426221fe93b320a221235b963df772f87794" + integrity sha512-HrwXcnF8iBxsP0L/+SWBGWwdRCAl2DRtNf6orR7bACrbUfCtgptpcKJ1ZfebhwuSfDTiF/HiEt8M0uX/ebULsA== dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" + "@jest/environment" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" + expect "^27.0.0-next.7" -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== +"@jest/reporters@^27.0.0-next.7": + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.0-next.7.tgz#e645495a6a41722ffab6b16f4bf6901f22c812e3" + integrity sha512-lPyT35UapxKx6eZ5t5nJcxE35RLFT4jnRN19fJd7RHwpkQh7sQnPOjZng5s6IrO+TxDDp3DSadwJ4avTV2I7Ig== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.0.0-next.7" + "@jest/test-result" "^27.0.0-next.7" + "@jest/transform" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" @@ -596,63 +691,61 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" + jest-haste-map "^27.0.0-next.7" + jest-resolve "^27.0.0-next.7" + jest-util "^27.0.0-next.7" + jest-worker "^27.0.0-next.7" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" terminal-link "^2.0.0" v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== +"@jest/source-map@^27.0.0-next.3": + version "27.0.0-next.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.0-next.3.tgz#ef4498c1641041cfb90b28bef51a59877742818b" + integrity sha512-cup/B3GygP6Y61tL+owv94ftGs1ndnUsk8bYh8Ud+jF3nMRY2mIv6dwL6sXhh/SW5pEsc2OyRI4oKRgNFxvZBw== dependencies: callsites "^3.0.0" graceful-fs "^4.2.4" source-map "^0.6.0" -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== +"@jest/test-result@^27.0.0-next.7": + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.0-next.7.tgz#27a00b196543eaeaab1e56bd55e99234cf9967b6" + integrity sha512-IdFDZBo6arrOgwKNJ2sNtTsXCoWo6hsIJS+UphfmB6FaS2pt5a88HxNHbVCdJGYorXyykTrszQiG/WFZ1A++dA== dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== +"@jest/test-sequencer@^27.0.0-next.7": + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.0-next.7.tgz#b413ab543e196fab0cbe046181314ed477846e26" + integrity sha512-ZpzPVXSa3NCXolLb7Kkni8+TsUGnjWIgm8hcGj49fE6i2V7IY2RNbzGPy8UbT4GRfFmnsDNZ3Y8ohb5fiD/QOQ== dependencies: - "@jest/test-result" "^26.6.2" + "@jest/test-result" "^27.0.0-next.7" graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" + jest-haste-map "^27.0.0-next.7" + jest-runner "^27.0.0-next.7" + jest-runtime "^27.0.0-next.7" -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== +"@jest/transform@^27.0.0-next.7": + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.0-next.7.tgz#541f2b061c2b0b7197fbd5994dd9582ce3f2fd16" + integrity sha512-+upXoG4LbB0XmfFe5c//Vws33e2nd6IcLq3DBr7vR2BBKh6YnqMzhYLjLa3dcy2i8358gtbi5h34qao/38Bl4A== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" + "@jest/types" "^27.0.0-next.7" babel-plugin-istanbul "^6.0.0" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" + jest-haste-map "^27.0.0-next.7" + jest-regex-util "^27.0.0-next.0" + jest-util "^27.0.0-next.7" micromatch "^4.0.2" pirates "^4.0.1" slash "^3.0.0" @@ -678,15 +771,15 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== +"@jest/types@^27.0.0-next.3", "@jest/types@^27.0.0-next.7": + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.0-next.7.tgz#b453d57e91fb5c6185a83abc7128ab164ee6a20a" + integrity sha512-ojXC0wy4mUL2OTBrvEhq9MYtVVIYjUfKWGTVpeIhg2eUqIFMdF6UhXiQLcx0G7s7mO2x4IP4zLqT22W8rPQ9uw== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" - "@types/yargs" "^15.0.0" + "@types/yargs" "^16.0.0" chalk "^4.0.0" "@nodelib/fs.scandir@2.1.3": @@ -1066,10 +1159,10 @@ dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== +"@sinonjs/fake-timers@^7.0.2": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.0.2.tgz#a53e71d4154ee704ea9b36a6d0b0780e246fadd1" + integrity sha512-dF84L5YC90gIOegPDCYymPIsDmwMWWSh7BwfDXQYePi8lVIEp7IZ1UVGkME8FjXOsDPxan12x4aaK+Lo6wVh9A== dependencies: "@sinonjs/commons" "^1.7.0" @@ -1359,10 +1452,10 @@ "@types/babel__template" "*" "@types/babel__traverse" "*" -"@types/babel__core@^7.1.7": - version "7.1.8" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.8.tgz#057f725aca3641f49fc11c7a87a9de5ec588a5d7" - integrity sha512-KXBiQG2OXvaPWFPDS1rD8yV9vO0OuWIqAEqLsbfX0oU2REN5KuoMnZ1gClWcBhO5I3n6oTVAmrMufOvRqdmFTQ== +"@types/babel__core@^7.1.14": + version "7.1.14" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402" + integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1468,14 +1561,6 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@26.x": - version "26.0.16" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.16.tgz#b47abd50f6ed0503f589db8e126fc8eb470cf87c" - integrity sha512-Gp12+7tmKCgv9JjtltxUXokohCAEZfpJaEW5tn871SGRp8I+bRWBonQO7vW5NHwnAHe5dd50+Q4zyKuN35i09g== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - "@types/jest@^25.1.0": version "25.2.3" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" @@ -1564,10 +1649,10 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/prettier@^2.0.0": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.5.tgz#b6ab3bba29e16b821d84e09ecfaded462b816b00" - integrity sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ== +"@types/prettier@^2.1.5": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0" + integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA== "@types/responselike@*", "@types/responselike@^1.0.0": version "1.0.0" @@ -1615,6 +1700,13 @@ dependencies: "@types/yargs-parser" "*" +"@types/yargs@^16.0.0": + version "16.0.1" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.1.tgz#5fc5d41f69762e00fbecbc8d4bf9dea47d8726f4" + integrity sha512-x4HABGLyzr5hKUzBC9dvjciOTm11WVH1NWonNjGgxapnTHu5SWUqyqn0zQ6Re0yQU0lsQ6ztLCoMAKDGZflyxA== + dependencies: + "@types/yargs-parser" "*" + "@typescript-eslint/eslint-plugin@^4.14.0": version "4.14.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz#92db8e7c357ed7d69632d6843ca70b71be3a721d" @@ -1839,6 +1931,11 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: dependencies: color-convert "^2.0.1" +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + ansicolors@^0.3.2, ansicolors@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" @@ -1849,14 +1946,6 @@ ansistyles@~0.1.3: resolved "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz#5de60415bda071bb37127854c864f41b23254539" integrity sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk= -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - anymatch@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" @@ -1999,16 +2088,16 @@ axios@^0.21.1: dependencies: follow-redirects "^1.10.0" -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== +babel-jest@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.0-next.7.tgz#b004c37e7cf589dc32018013af37005393a98a17" + integrity sha512-3svbeFI5Tx9osFItsJixYRlxSxofmmFJyjG0hiSxtJTDFHlxgxFNhOYmxPNAebjZwiHYkC5Cg/RZzMtqPej+yw== dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" + "@jest/transform" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" + "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" + babel-preset-jest "^27.0.0-next.3" chalk "^4.0.0" graceful-fs "^4.2.4" slash "^3.0.0" @@ -2024,10 +2113,10 @@ babel-plugin-istanbul@^6.0.0: istanbul-lib-instrument "^4.0.0" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== +babel-plugin-jest-hoist@^27.0.0-next.3: + version "27.0.0-next.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.0-next.3.tgz#5a8a32acda0946bfad7ae25a99168b42e39229f9" + integrity sha512-s6XOBa+TIoy3tu8SLENLGk435ynzc6ojJ6O3ErI7iHyNSPjsQIZqZLbV1nIEdD5e7IrbtWml3umtxJqMnjmcAA== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -2052,12 +2141,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== +babel-preset-jest@^27.0.0-next.3: + version "27.0.0-next.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.0-next.3.tgz#2c696e2e048f7bf5597f9602790b36373beb8c28" + integrity sha512-1WoguNHYXSFCVvPqfjf+/J7q+OLohJzkT3vyGOACBlpjwE0b7yixW+M9O66U958/8n3UmpHXuC+cSR5p49XkcQ== dependencies: - babel-plugin-jest-hoist "^26.6.2" + babel-plugin-jest-hoist "^27.0.0-next.3" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -2313,7 +2402,7 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" -camelcase@^5.0.0, camelcase@^5.3.1: +camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== @@ -2323,13 +2412,6 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - cardinal@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" @@ -2393,6 +2475,11 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +ci-info@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.1.1.tgz#9a32fcefdf7bcdb6f0a7e1c0f8098ec57897b80a" + integrity sha512-kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ== + cidr-regex@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-3.1.1.tgz#ba1972c57c66f61875f18fd7dd487469770b571d" @@ -2400,10 +2487,10 @@ cidr-regex@^3.1.1: dependencies: ip-regex "^4.1.0" -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== +cjs-module-lexer@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.1.1.tgz#4a62531147dd488d0369c1cf1580b621796a9b26" + integrity sha512-7/a2+QJu5Bt1WYi4vk0NinXin/4pEUBlygSree2N5dSlhc/szO0+HwYKL3llv7myOVingwTgmEHH4WO6Q7Zv7w== class-utils@^0.3.5: version "0.3.6" @@ -2492,15 +2579,6 @@ cli-width@^3.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -2771,6 +2849,13 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" +cross-env@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + dependencies: + cross-spawn "^7.0.1" + cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -2782,7 +2867,7 @@ cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.1, 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== @@ -2894,7 +2979,7 @@ decamelize-keys@^1.1.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.2.0: +decamelize@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3056,10 +3141,10 @@ diff-sequences@^25.2.6: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== +diff-sequences@^27.0.0-next.0: + version "27.0.0-next.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.0-next.0.tgz#4f0502557fd02bd7596f9c42ce67bf7d022559e8" + integrity sha512-57AobYOk6dK5sIDqkULZyHSbxA6JLMhBEZWuiVuwuNJafFOkgz4tez9DaKylgOPXX+/5YCI1GZSp+8+ctthy+w== diff@^4.0.1: version "4.0.2" @@ -3175,10 +3260,10 @@ email-validator@^2.0.4: resolved "https://registry.yarnpkg.com/email-validator/-/email-validator-2.0.4.tgz#b8dfaa5d0dae28f1b03c95881d904d4e40bfe7ed" integrity sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ== -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== +emittery@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" + integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== emoji-regex@^7.0.1: version "7.0.3" @@ -3445,11 +3530,6 @@ event-loop-spinner@^2.1.0: dependencies: tslib "^2.1.0" -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -3518,17 +3598,17 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== +expect@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.0.0-next.7.tgz#e8befaeed77981b9957fcbad2cec1adcd4d498a6" + integrity sha512-VcohjVdLf5jS0E4LMfBN9PggEsCJI2KsfCPT2Oz0isIuserczGXB7sbkMp1+l8H05+eUOSerSHmKZOlQu2dBAw== dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" + "@jest/types" "^27.0.0-next.7" + ansi-styles "^5.0.0" + jest-get-type "^27.0.0-next.0" + jest-matcher-utils "^27.0.0-next.7" + jest-message-util "^27.0.0-next.7" + jest-regex-util "^27.0.0-next.0" extend-shallow@^2.0.1: version "2.0.1" @@ -3813,10 +3893,10 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== +fsevents@^2.2.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: version "1.1.1" @@ -3847,7 +3927,7 @@ gensync@^1.0.0-beta.1: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== -get-caller-file@^2.0.1, get-caller-file@^2.0.5: +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== @@ -4081,11 +4161,6 @@ graphlib@^2.1.8: dependencies: lodash "^4.17.15" -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - gunzip-maybe@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz#b913564ae3be0eda6f3de36464837a9cd94b98ac" @@ -4212,14 +4287,14 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== -hosted-git-info@^3.0.0, hosted-git-info@^3.0.4, hosted-git-info@^3.0.6, hosted-git-info@^3.0.7: +hosted-git-info@^3.0.4, hosted-git-info@^3.0.6, hosted-git-info@^3.0.7: version "3.0.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== dependencies: lru-cache "^6.0.0" -hosted-git-info@^4.0.1, hosted-git-info@^4.0.2: +hosted-git-info@^4.0.0, hosted-git-info@^4.0.1, hosted-git-info@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== @@ -4498,6 +4573,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-ci@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994" + integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== + dependencies: + ci-info "^3.1.1" + is-cidr@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-4.0.2.tgz#94c7585e4c6c77ceabf920f8cde51b8c0fda8814" @@ -4512,6 +4594,13 @@ is-core-module@^2.1.0: dependencies: has "^1.0.3" +is-core-module@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -4719,7 +4808,7 @@ is-windows@^1.0.1, is-windows@^1.0.2: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -is-wsl@^2.1.1, is-wsl@^2.2.0: +is-wsl@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== @@ -4815,57 +4904,83 @@ java-properties@^1.0.0: resolved "https://registry.yarnpkg.com/java-properties/-/java-properties-1.0.2.tgz#ccd1fa73907438a5b5c38982269d0e771fe78211" integrity sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ== -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== +jest-changed-files@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.0-next.7.tgz#ee07bcb2c55581fa3cbf176e00bffe607cabe2b3" + integrity sha512-3J5/+7o7DIoN5oKIeFQfUIBwsnJIoYTnaNlEcmMBI1Z8kKw7cgqVxodG3Vcduy1FYlKmwsd1YB7yEtePyBovUw== dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" + "@jest/types" "^27.0.0-next.7" + execa "^5.0.0" + throat "^6.0.1" -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== +jest-circus@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.0-next.7.tgz#3e4dfda8f2f65fcfc1c5e6cdae6cd58717d819e1" + integrity sha512-qagAf1o3tV4d0dneP+AnC5PoJ3X/rv/COMqUy1wLzS7xO3fw7Y5huvTo5OkMdNPaL1GdMXVI5t9AFNtnbqO0Rg== dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/environment" "^27.0.0-next.7" + "@jest/test-result" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^27.0.0-next.7" + is-generator-fn "^2.0.0" + jest-each "^27.0.0-next.7" + jest-matcher-utils "^27.0.0-next.7" + jest-message-util "^27.0.0-next.7" + jest-runner "^27.0.0-next.7" + jest-runtime "^27.0.0-next.7" + jest-snapshot "^27.0.0-next.7" + jest-util "^27.0.0-next.7" + pretty-format "^27.0.0-next.7" + stack-utils "^2.0.3" + throat "^6.0.1" + +jest-cli@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.0-next.7.tgz#eaeda2193cff305dd970c6b2346e914ea7ff4f1c" + integrity sha512-ESj1fTQIXj349BcvsNju8FeKO35LjrywnZ9qnehwROPaitw9+hOvYCqT61ZTEkMS4jepRYagSgaekFsgO7or3A== + dependencies: + "@jest/core" "^27.0.0-next.7" + "@jest/test-result" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" + is-ci "^3.0.0" + jest-config "^27.0.0-next.7" + jest-util "^27.0.0-next.7" + jest-validate "^27.0.0-next.7" prompts "^2.0.1" - yargs "^15.4.1" + yargs "^16.0.3" -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== +jest-config@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.0-next.7.tgz#ed11fca28e8f1b0b046c739f3825ff896ac27e80" + integrity sha512-pIl7MNUHUC9pd/053sB7+2RTmpsSb0pF7ucMGr7GYcihEo8F/EkSyvt7Mzk9IOvIPkmsF5pM9Yxdf76q+EC/tA== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" + "@jest/test-sequencer" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" + babel-jest "^27.0.0-next.7" chalk "^4.0.0" deepmerge "^4.2.2" glob "^7.1.1" graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" + jest-circus "^27.0.0-next.7" + jest-environment-jsdom "^27.0.0-next.7" + jest-environment-node "^27.0.0-next.7" + jest-get-type "^27.0.0-next.0" + jest-jasmine2 "^27.0.0-next.7" + jest-regex-util "^27.0.0-next.0" + jest-resolve "^27.0.0-next.7" + jest-util "^27.0.0-next.7" + jest-validate "^27.0.0-next.7" micromatch "^4.0.2" - pretty-format "^26.6.2" + pretty-format "^27.0.0-next.7" jest-diff@^25.2.1: version "25.5.0" @@ -4877,58 +4992,58 @@ jest-diff@^25.2.1: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-diff@^26.0.0, jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== +jest-diff@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.0-next.7.tgz#cd1e20c4a9ef686b58ae3e6d72d3c305a6b77b2d" + integrity sha512-NDJgJhQlUTuV17bXfbZGSOrRJ5pVXG/VMvYYk290M5zcwRdYWVuloAhNZnhTcDq+ZsDwV/jJcy6aKj55tz+g8Q== dependencies: chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" + diff-sequences "^27.0.0-next.0" + jest-get-type "^27.0.0-next.0" + pretty-format "^27.0.0-next.7" -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== +jest-docblock@^27.0.0-next.0: + version "27.0.0-next.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.0-next.0.tgz#c65a5d914d2108c70541ea195dc6fba8a32d28b4" + integrity sha512-YZU1l+n0mo55VHY3+Mt6wsRxkaCV7iQ+Xhv1AtEQI1hrXmSeR0ligscyIy4rr8zA3Isfw9N62zREb605FZnKZg== dependencies: detect-newline "^3.0.0" -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== +jest-each@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.0-next.7.tgz#4922fd7e12347facf70307810917dc1fd0e5faa3" + integrity sha512-NVBfyRk9mhfA9C+N3gxgMv3gLAXBq0lbh/XkpvOUnazyIL6FPUrKdJOO0doTm3HIODE+urtK043q+ke/AvqXng== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.0.0-next.7" chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" + jest-get-type "^27.0.0-next.0" + jest-util "^27.0.0-next.7" + pretty-format "^27.0.0-next.7" + +jest-environment-jsdom@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.0-next.7.tgz#8d75d8b709ac7dbf1e51e8445b7a94396602d881" + integrity sha512-UYNLtVPAuGLor93IhqS3abHloxE9p0wA/39bNjB6sHI9eCO0NHiVpeT8Q6TBaKaBaKA5J94aqJc5KD84QZYdOw== + dependencies: + "@jest/environment" "^27.0.0-next.7" + "@jest/fake-timers" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" + jest-mock "^27.0.0-next.7" + jest-util "^27.0.0-next.7" jsdom "^16.4.0" -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== +jest-environment-node@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.0-next.7.tgz#73ced17c0f2388ef883408a49b50b43cf3e4f477" + integrity sha512-UDg6y0ZbgmlGO01FJEc1kMATt9vhdgT7rPfx/j3Fkza3K6dI1X8dImCQPoyOmeQm26h54j/VY/2sEtB1kb0yiw== dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/environment" "^27.0.0-next.7" + "@jest/fake-timers" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" + jest-mock "^27.0.0-next.7" + jest-util "^27.0.0-next.7" jest-get-type@^24.9.0: version "24.9.0" @@ -4940,55 +5055,54 @@ jest-get-type@^25.2.6: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== -jest-get-type@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== +jest-get-type@^27.0.0-next.0: + version "27.0.0-next.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.0-next.0.tgz#3881f161b4380ff5dc7983a8fc22f49611331799" + integrity sha512-Fp0uZdy/HNhqHxhBrYvR+AjtfkQgsWTGNmJuqKfGrjn3j4ke0LTXq2ryZW+Fliix9geW8NNK3gnxQ7BfeP6sTg== -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== +jest-haste-map@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.0-next.7.tgz#1646f7cd5dd79972a7656bc50cc950a443f04e65" + integrity sha512-1pjZpKftragVwXEFmzruSwrliMN0b2uASDBbqpVQAmNT4aPCdEEDWve7wAAkCFlMHRr3HZs0/asx+OAM/e0t1g== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.0.0-next.7" "@types/graceful-fs" "^4.1.2" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" + jest-regex-util "^27.0.0-next.0" + jest-serializer "^27.0.0-next.0" + jest-util "^27.0.0-next.7" + jest-worker "^27.0.0-next.7" micromatch "^4.0.2" - sane "^4.0.3" walker "^1.0.7" optionalDependencies: - fsevents "^2.1.2" + fsevents "^2.2.1" -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== +jest-jasmine2@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.0-next.7.tgz#dc97547e8ea1d3599ae444c490e293afdd01acc4" + integrity sha512-Vpanz6ch6XTS3YrIBA9eunN+2GaFhNm/h9NZC3M6OoEbD9BunpqahbSSa/9eavJjvgun+3fM7tPyvUD+dKdwPQ== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/environment" "^27.0.0-next.7" + "@jest/source-map" "^27.0.0-next.3" + "@jest/test-result" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^26.6.2" + expect "^27.0.0-next.7" is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" + jest-each "^27.0.0-next.7" + jest-matcher-utils "^27.0.0-next.7" + jest-message-util "^27.0.0-next.7" + jest-runtime "^27.0.0-next.7" + jest-snapshot "^27.0.0-next.7" + jest-util "^27.0.0-next.7" + pretty-format "^27.0.0-next.7" + throat "^6.0.1" jest-junit@^10.0.0: version "10.0.0" @@ -5001,45 +5115,45 @@ jest-junit@^10.0.0: uuid "^3.3.3" xml "^1.0.1" -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== +jest-leak-detector@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.0-next.7.tgz#bf818b414143bef9ecb7b6a54e468afa58f1a95c" + integrity sha512-p4VSUNWCOLkxcpDD0zFhW7BQTRjbUhQCGUpHfYd0A7/GO1G8O9hDyy00ruR2yiw4s5/oOibOBAdW2Uevg2QFFw== dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" + jest-get-type "^27.0.0-next.0" + pretty-format "^27.0.0-next.7" -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== +jest-matcher-utils@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.0-next.7.tgz#f7a94cfbf9deb7028a7caa2b1d83e525ded9b254" + integrity sha512-V6enU60OWZfKksRgR39VMxFnwK8tS8hqPXHc+71BcPfC24DFkuNDMf+SnElHLxvk3WGlR293FhXcnmM1D3O7Dw== dependencies: chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" + jest-diff "^27.0.0-next.7" + jest-get-type "^27.0.0-next.0" + pretty-format "^27.0.0-next.7" -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== +jest-message-util@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.0-next.7.tgz#ab3afcecfc1810e20027f4aa966d077183d9d84c" + integrity sha512-OBPSSoepUYridf0BsLWNaaVZJ1K8jNOPc6gqVOaCORqdvk3aLSiabJipNSfHrR7ctuVTXuZ4WSZ41jOrqyAIdQ== dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.0.0-next.7" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.4" micromatch "^4.0.2" - pretty-format "^26.6.2" + pretty-format "^27.0.0-next.7" slash "^3.0.0" - stack-utils "^2.0.2" + stack-utils "^2.0.3" -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== +jest-mock@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.0-next.7.tgz#097a14cac728cd415fe924bcf6450630869f8f00" + integrity sha512-OqTWrO0PyPq7gCJ8ktG5+w9eGFHsn5/COOPNtwab5E2YMavMuQlYz3HRHoHFEATYQif6VV7dGH9RcCj/8+tFDg== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.0.0-next.7" "@types/node" "*" jest-pnp-resolver@^1.2.2: @@ -5047,133 +5161,150 @@ jest-pnp-resolver@^1.2.2: resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== +jest-regex-util@^27.0.0-next.0: + version "27.0.0-next.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.0-next.0.tgz#559ff0c5388000d3b82dacc6adca682af9f9dabb" + integrity sha512-9f6JHFuKOGaTaBWAfneX6k/20o9t2O0JTwOCn/2qlBUZRbQt1sqd2U3qme7t85n8qZVdd/LRteUyZ6lnbWDNvg== -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== +jest-resolve-dependencies@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.0-next.7.tgz#8e4644341a50da9aa585116be64676012636da1d" + integrity sha512-pXyefLxB7Azc3Kpa+ISF5dBi+yd1kkZeOSSDMGPvMnvkrxjhH4woTQS0QBUAvB61bLuseNMzDwtiduMcq7py4Q== dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" + "@jest/types" "^27.0.0-next.7" + jest-regex-util "^27.0.0-next.0" + jest-snapshot "^27.0.0-next.7" -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== +jest-resolve@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.0-next.7.tgz#59404cd9bf969d61a6acca835ba13deaa918907c" + integrity sha512-zp6AHxdHl5hNRIiZPGHuL5IuHMiG6X0QKfQRPGxuNeaDmyjjsXaxBl5oJGbYT74o8YPkyrhjnG60AnclrBiBlw== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.0.0-next.7" chalk "^4.0.0" + escalade "^3.1.1" graceful-fs "^4.2.4" jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" + jest-util "^27.0.0-next.7" + resolve "^1.20.0" slash "^3.0.0" -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== +jest-runner@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.0-next.7.tgz#2f2551ec52490f45b51c1612f12521ea47b1f133" + integrity sha512-qEvfZngmIhXbnefJlhezx8GWrijiLaiV/n54aEN2MKQCLukjeG1rDxOljMvFd2yavgJhmRrsOvE4L7Zz4gTXRA== dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.0.0-next.7" + "@jest/environment" "^27.0.0-next.7" + "@jest/test-result" "^27.0.0-next.7" + "@jest/transform" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" "@types/node" "*" chalk "^4.0.0" - emittery "^0.7.1" + emittery "^0.8.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" + jest-config "^27.0.0-next.7" + jest-docblock "^27.0.0-next.0" + jest-haste-map "^27.0.0-next.7" + jest-leak-detector "^27.0.0-next.7" + jest-message-util "^27.0.0-next.7" + jest-resolve "^27.0.0-next.7" + jest-runtime "^27.0.0-next.7" + jest-util "^27.0.0-next.7" + jest-worker "^27.0.0-next.7" source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" + throat "^6.0.1" + +jest-runtime@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.0-next.7.tgz#b83e448d65366988985f04cbf5e96d470bca4256" + integrity sha512-89E/iSewgzPXToxYlwo8kTUw56AF/5BxmhTlcq+/Tt/vd/Xqw9N5RVogUp4Khm+Mt0KR2HGm/F37jJ8vDKfq2g== + dependencies: + "@jest/console" "^27.0.0-next.7" + "@jest/environment" "^27.0.0-next.7" + "@jest/fake-timers" "^27.0.0-next.7" + "@jest/globals" "^27.0.0-next.7" + "@jest/source-map" "^27.0.0-next.3" + "@jest/test-result" "^27.0.0-next.7" + "@jest/transform" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" + "@types/yargs" "^16.0.0" chalk "^4.0.0" - cjs-module-lexer "^0.6.0" + cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" + jest-haste-map "^27.0.0-next.7" + jest-message-util "^27.0.0-next.7" + jest-mock "^27.0.0-next.7" + jest-regex-util "^27.0.0-next.0" + jest-resolve "^27.0.0-next.7" + jest-snapshot "^27.0.0-next.7" + jest-util "^27.0.0-next.7" + jest-validate "^27.0.0-next.7" slash "^3.0.0" strip-bom "^4.0.0" - yargs "^15.4.1" + yargs "^16.0.3" -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== +jest-serializer@^27.0.0-next.0: + version "27.0.0-next.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.0-next.0.tgz#204b6875cd6940349aa3c88a0016a71ecf881b3e" + integrity sha512-OHmMpNbutgJXyYeTeMmz/fN7hAOr/LfJOCt94SzTe1z9OTERKmnDIQJQcudXZKQ78oID9hkC8P1fSu64LRKJzw== dependencies: "@types/node" "*" graceful-fs "^4.2.4" -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== +jest-snapshot@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.0-next.7.tgz#8fb8ae04940c1246c90f3e5e5b57262071b903ad" + integrity sha512-p6zqc8B8lDukSxFL0AP3lRQW63N2cHmkFSoBgWIP0Oi9KXS1/WfNHkx+sc2a4oIyHfhdndHXPsaUFYbi22RFgg== dependencies: + "@babel/generator" "^7.7.2" + "@babel/parser" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" + "@jest/types" "^27.0.0-next.7" "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^26.6.2" + expect "^27.0.0-next.7" graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" + jest-diff "^27.0.0-next.7" + jest-get-type "^27.0.0-next.0" + jest-haste-map "^27.0.0-next.7" + jest-matcher-utils "^27.0.0-next.7" + jest-message-util "^27.0.0-next.7" + jest-resolve "^27.0.0-next.7" natural-compare "^1.4.0" - pretty-format "^26.6.2" + pretty-format "^27.0.0-next.7" semver "^7.3.2" -jest-util@^26.1.0, jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== +jest-util@27.0.0-next.6: + version "27.0.0-next.6" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.0-next.6.tgz#639cc0b026a4a8e61ce15a8ff549db5c1a873831" + integrity sha512-qC0W3xOJZbgH3mpeaGDo0FnLYmIqPiPjwSucJSGCHRyemXlYwdnOdBTZlioU9YqcELLzDOEYvEKQYiH3+zMZ3A== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.0.0-next.3" "@types/node" "*" chalk "^4.0.0" graceful-fs "^4.2.4" - is-ci "^2.0.0" + is-ci "^3.0.0" + micromatch "^4.0.2" + +jest-util@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.0-next.7.tgz#6ac264b9ed00f18df56352fcc8d0b920473719dd" + integrity sha512-u5lDpmtrtXsQn+OBxbhGU91SUrJGHGPYCuesPQxm+oivd+olS0yoQ+11mu8M5DTAD2M+y3Ezza/pSPm76AU0YQ== + dependencies: + "@jest/types" "^27.0.0-next.7" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^3.0.0" micromatch "^4.0.2" jest-validate@^24.9.0: @@ -5188,48 +5319,48 @@ jest-validate@^24.9.0: leven "^3.1.0" pretty-format "^24.9.0" -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== +jest-validate@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.0-next.7.tgz#411c0569f848f5f79b5fab8cc6a424b2e53c7f45" + integrity sha512-IkfmHmzHM6FrVJAutDLPhybzkhwMaFmfWNvxvBdD0rUxJ8pp65u2j6NLK7gzL1AoXVNH3rAmF6BpQegqD+cOAw== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.0.0-next.7" camelcase "^6.0.0" chalk "^4.0.0" - jest-get-type "^26.3.0" + jest-get-type "^27.0.0-next.0" leven "^3.1.0" - pretty-format "^26.6.2" + pretty-format "^27.0.0-next.7" -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== +jest-watcher@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.0-next.7.tgz#fd76a1604d633cfd6579b9b4041548795226a231" + integrity sha512-gDEL7/lfSw5/VgsAX2i9xPU3s/e7ooCDTXY9T5cAvPN/4o6YSlGkYYVa2EfgzfsX4AwaSaEOOZ/mTuu++hKxBg== dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/test-result" "^27.0.0-next.7" + "@jest/types" "^27.0.0-next.7" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^26.6.2" + jest-util "^27.0.0-next.7" string-length "^4.0.1" -jest-worker@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== +jest-worker@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.0-next.7.tgz#2d76116ef03f6e0ac80cb2636b48f6e3f8768e24" + integrity sha512-YaygvytwDNbNdWsebwEHuvVnmL3pfI3EsMik9HFYxG/rl+mrOt4GgVyJZ2wKkq6sq1qvsVsJdqUVCMbxbBjc0Q== dependencies: "@types/node" "*" merge-stream "^2.0.0" - supports-color "^7.0.0" + supports-color "^8.0.0" -jest@^26.0.0: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== +jest@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.0.0-next.7.tgz#4ad26bfd78ecfb25c8b7856e9382c6dbe304c4db" + integrity sha512-vZBfqpMiFseaF6Jf+5CFT3SE+ETSRdlZ8Vddlr7s0TZLIJ4HPk8ZH94QVAOTZvXqJbcyDdvVvATFrRd1DA/W9w== dependencies: - "@jest/core" "^26.6.3" + "@jest/core" "^27.0.0-next.7" import-local "^3.0.2" - jest-cli "^26.6.3" + jest-cli "^27.0.0-next.7" js-tokens@^4.0.0: version "4.0.0" @@ -5832,11 +5963,6 @@ lodash.map@^4.5.1, lodash.map@^4.6.0: resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= -lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" @@ -5932,7 +6058,7 @@ lodash.values@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" integrity sha1-o6bCsOvsxcLLocF+bmIP6BtT00c= -lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4: +lodash@4.x, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -6063,14 +6189,14 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -marked-terminal@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-4.1.0.tgz#01087372d3636dc7cb286475a1d6147187f500e0" - integrity sha512-5KllfAOW02WS6hLRQ7cNvGOxvKW1BKuXELH4EtbWfyWgxQhROoMxEvuQ/3fTgkNjledR0J48F4HbapvYp1zWkQ== +marked-terminal@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-4.1.1.tgz#34a6f063cd6cfe26bffaf5bac3724e24242168a9" + integrity sha512-t7Mdf6T3PvOEyN01c3tYxDzhyKZ8xnkp8Rs6Fohno63L/0pFTJ5Qtwto2AQVuDtbQiWzD+4E5AAu1Z2iLc8miQ== dependencies: ansi-escapes "^4.3.1" cardinal "^2.1.1" - chalk "^4.0.0" + chalk "^4.1.0" cli-table "^0.3.1" node-emoji "^1.10.0" supports-hyperlinks "^2.1.0" @@ -6127,7 +6253,7 @@ micromatch@4.0.2, micromatch@^4.0.0, micromatch@^4.0.2: braces "^3.0.1" picomatch "^2.0.5" -micromatch@^3.0.4, micromatch@^3.1.4: +micromatch@^3.0.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -6204,7 +6330,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@1.2.5, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: +minimist@1.2.5, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -6439,18 +6565,6 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - nopt@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" @@ -6478,13 +6592,6 @@ normalize-package-data@^3.0.0: semver "^7.3.2" validate-npm-package-license "^3.0.1" -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -7165,14 +7272,14 @@ pretty-format@^25.2.1, pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== +pretty-format@^27.0.0-next.7: + version "27.0.0-next.7" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.0-next.7.tgz#48fcf4058857114c6326410894ad39ac97e84555" + integrity sha512-EIZkBDWdmTBGTBmvvVBn/CST1fnESlojElgry2GTOBxFs7fbIIeyf5tb46yqIwJjiPg0oRqIExOBGGWgPw+qRA== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.0.0-next.7" ansi-regex "^5.0.0" - ansi-styles "^4.0.0" + ansi-styles "^5.0.0" react-is "^17.0.1" process-nextick-args@~2.0.0: @@ -7494,11 +7601,6 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - repeat-element@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" @@ -7561,11 +7663,6 @@ require-from-string@^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== -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - resolve-alpn@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c" @@ -7615,7 +7712,7 @@ resolve@^1.1.6, resolve@^1.10.1, resolve@^1.3.2: dependencies: path-parse "^1.0.6" -resolve@^1.10.0, resolve@^1.17.0, resolve@^1.18.1: +resolve@^1.10.0, resolve@^1.17.0: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== @@ -7623,6 +7720,14 @@ resolve@^1.10.0, resolve@^1.17.0, resolve@^1.18.1: is-core-module "^2.1.0" path-parse "^1.0.6" +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== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -7694,11 +7799,6 @@ roarr@^2.15.3: semver-compare "^1.0.0" sprintf-js "^1.1.2" -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - run-async@^2.2.0, run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -7738,21 +7838,6 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - sax@>=0.6.0, sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -7765,10 +7850,10 @@ saxes@^5.0.0: dependencies: xmlchars "^2.2.0" -semantic-release@^17.3.8: - version "17.3.8" - resolved "https://registry.yarnpkg.com/semantic-release/-/semantic-release-17.3.8.tgz#ae713d239f60a6ea9ca1c431318507d54b278c67" - integrity sha512-VOYRY/qm4ysTUbOTrMaVRd+boG0HQlHgSCvVgNqvG0l99RCIwuUkamD0D+T5l7XhMHc4XGxNRGrElcVyPPS86A== +semantic-release@^17.4.0: + version "17.4.2" + resolved "https://registry.yarnpkg.com/semantic-release/-/semantic-release-17.4.2.tgz#b5147b5a629c227b7074ad4cc89920a14cb08c96" + integrity sha512-TPLWuoe2L2DmgnQEh+OLWW5V1T+ZAa1xWuHXsuPAWEko0BqSdLPl+5+BlQ+D5Bp27S5gDJ1//Y1tgbmvUhnOCw== dependencies: "@semantic-release/commit-analyzer" "^8.0.0" "@semantic-release/error" "^2.2.0" @@ -7785,10 +7870,10 @@ semantic-release@^17.3.8: get-stream "^6.0.0" git-log-parser "^1.2.0" hook-std "^2.0.0" - hosted-git-info "^3.0.0" + hosted-git-info "^4.0.0" lodash "^4.17.15" marked "^2.0.0" - marked-terminal "^4.0.0" + marked-terminal "^4.1.1" micromatch "^4.0.2" p-each-series "^2.1.0" p-reduce "^2.0.0" @@ -7847,7 +7932,7 @@ serialize-error@^7.0.1: dependencies: type-fest "^0.13.1" -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= @@ -7900,11 +7985,6 @@ shelljs@^0.8.4: interpret "^1.0.0" rechoir "^0.6.2" -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - shiki@^0.9.2: version "0.9.2" resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.9.2.tgz#b9e660b750d38923275765c4dc4c92b23877b115" @@ -8501,7 +8581,7 @@ ssri@^8.0.0, ssri@^8.0.1: dependencies: minipass "^3.1.1" -stack-utils@^2.0.2: +stack-utils@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== @@ -8699,6 +8779,13 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@^8.0.0: + 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-hyperlinks@^2.0.0, supports-hyperlinks@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" @@ -8818,10 +8905,10 @@ then-fs@^2.0.0: dependencies: promise ">=3.2 <8" -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== +throat@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" + integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== through2@^2.0.2, through2@^2.0.3, through2@~2.0.0: version "2.0.5" @@ -8970,18 +9057,17 @@ trim-off-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= -ts-jest@^26.4.4: - version "26.4.4" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.4.tgz#61f13fb21ab400853c532270e52cc0ed7e502c49" - integrity sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg== +ts-jest@^27.0.0-next.10: + version "27.0.0-next.10" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.0.0-next.10.tgz#23a848388c0c4765d8a736ff4020eb2ebec9af4c" + integrity sha512-fC1NSewNCnJQM7xz4TxG9PKRSXIajkc5ZaML6I75ig3vwHxZs4UC84qLAm4IBxelWSCKYTIQobOioT3fcXj1jQ== dependencies: - "@types/jest" "26.x" bs-logger "0.x" buffer-from "1.x" fast-json-stable-stringify "2.x" - jest-util "^26.1.0" + jest-util "27.0.0-next.6" json5 "2.x" - lodash.memoize "4.x" + lodash "4.x" make-error "1.x" mkdirp "1.x" semver "7.x" @@ -9310,7 +9396,7 @@ walk-up-path@^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== -walker@^1.0.7, walker@~1.0.5: +walker@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= @@ -9355,11 +9441,6 @@ whatwg-url@^8.0.0: tr46 "^2.0.2" webidl-conversions "^6.1.0" -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - which@^1.2.14, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -9497,11 +9578,6 @@ xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== - y18n@^5.0.5: version "5.0.5" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" @@ -9532,32 +9608,7 @@ yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^15.4.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^16.2.0: +yargs@^16.0.3, 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==