| diff --git a/node_modules/@docusaurus/utils/lib/.tsbuildinfo b/node_modules/@docusaurus/utils/lib/.tsbuildinfo |
| index 20d4fa6..f1d998b 100644 |
| --- a/node_modules/@docusaurus/utils/lib/.tsbuildinfo |
| +++ b/node_modules/@docusaurus/utils/lib/.tsbuildinfo |
| @@ -1 +1 @@ |
| -{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/ts3.6/base.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/base.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../src/codetranslationsutils.ts","../src/escapepath.ts","../../../node_modules/@nodelib/fs.stat/out/types/index.d.ts","../../../node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../../../node_modules/@nodelib/fs.stat/out/settings.d.ts","../../../node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../../../node_modules/@nodelib/fs.stat/out/index.d.ts","../../../node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../../../node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../../../node_modules/@nodelib/fs.scandir/out/settings.d.ts","../../../node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../../../node_modules/@nodelib/fs.scandir/out/index.d.ts","../../../node_modules/@nodelib/fs.walk/out/types/index.d.ts","../../../node_modules/@nodelib/fs.walk/out/settings.d.ts","../../../node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../../../node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../../../node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../../../node_modules/@nodelib/fs.walk/out/index.d.ts","../../../node_modules/fast-glob/out/types/index.d.ts","../../../node_modules/fast-glob/out/settings.d.ts","../../../node_modules/fast-glob/out/managers/tasks.d.ts","../../../node_modules/fast-glob/out/index.d.ts","../../../node_modules/globby/index.d.ts","../../../node_modules/@types/braces/index.d.ts","../../../node_modules/@types/micromatch/index.d.ts","../src/globutils.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../src/pathutils.ts","../src/hashutils.ts","../../../node_modules/chalk/index.d.ts","../node_modules/escape-string-regexp/index.d.ts","../../../node_modules/webpack/node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/ajv/lib/ajv.d.ts","../../../node_modules/schema-utils/declarations/validationerror.d.ts","../../../node_modules/schema-utils/declarations/validate.d.ts","../../../node_modules/schema-utils/declarations/index.d.ts","../../../node_modules/tapable/tapable.d.ts","../../../node_modules/webpack/types.d.ts","../../docusaurus-types/node_modules/commander/typings/index.d.ts","../../../node_modules/joi/lib/index.d.ts","../../docusaurus-types/src/index.d.ts","../src/posixpath.ts","../src/normalizeurl.ts","../src/tags.ts","../../../node_modules/gray-matter/gray-matter.d.ts","../src/markdownparser.ts","../src/markdownlinks.ts","../src/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/keyv/index.d.ts","../../../node_modules/@types/http-cache-semantics/index.d.ts","../../../node_modules/@types/responselike/index.d.ts","../../../node_modules/@types/cacheable-request/index.d.ts","../../../node_modules/source-map/source-map.d.ts","../../../node_modules/@types/clean-css/index.d.ts","../../../node_modules/@types/color-name/index.d.ts","../../../node_modules/@types/color-convert/conversions.d.ts","../../../node_modules/@types/color-convert/route.d.ts","../../../node_modules/@types/color-convert/index.d.ts","../../../node_modules/@types/color/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/connect-history-api-fallback/index.d.ts","../../../node_modules/@types/cssnano/node_modules/postcss/lib/postcss.d.ts","../../../node_modules/@types/cssnano/index.d.ts","../../../node_modules/@types/decompress/index.d.ts","../../../node_modules/@types/dedent/index.d.ts","../../../node_modules/@types/detect-port/index.d.ts","../../../node_modules/@types/got/index.d.ts","../../../node_modules/@types/download/index.d.ts","../../../node_modules/@types/escape-html/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/eslint/lib/rules/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/github-slugger/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/history/domutils.d.ts","../../../node_modules/@types/history/createbrowserhistory.d.ts","../../../node_modules/@types/history/createhashhistory.d.ts","../../../node_modules/@types/history/creatememoryhistory.d.ts","../../../node_modules/@types/history/locationutils.d.ts","../../../node_modules/@types/history/pathutils.d.ts","../../../node_modules/@types/history/index.d.ts","../../../node_modules/@types/uglify-js/index.d.ts","../../../node_modules/@types/relateurl/index.d.ts","../../../node_modules/@types/html-minifier/index.d.ts","../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../node_modules/@types/html-webpack-plugin/index.d.ts","../../../node_modules/@types/http-proxy/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/difflines.d.ts","../../../node_modules/jest-diff/build/printdiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/js-yaml/index.d.ts","../../../node_modules/ast-types/types.d.ts","../../../node_modules/ast-types/gen/kinds.d.ts","../../../node_modules/ast-types/gen/nodes.d.ts","../../../node_modules/ast-types/lib/types.d.ts","../../../node_modules/ast-types/lib/path.d.ts","../../../node_modules/ast-types/lib/scope.d.ts","../../../node_modules/ast-types/lib/node-path.d.ts","../../../node_modules/ast-types/lib/path-visitor.d.ts","../../../node_modules/ast-types/fork.d.ts","../../../node_modules/ast-types/gen/namedtypes.d.ts","../../../node_modules/ast-types/gen/builders.d.ts","../../../node_modules/ast-types/gen/visitor.d.ts","../../../node_modules/ast-types/main.d.ts","../../../node_modules/recast/lib/types.d.ts","../../../node_modules/recast/lib/options.d.ts","../../../node_modules/recast/lib/parser.d.ts","../../../node_modules/recast/lib/printer.d.ts","../../../node_modules/recast/main.d.ts","../../../node_modules/@types/jscodeshift/src/collections/jsxelement.d.ts","../../../node_modules/@types/jscodeshift/src/collections/node.d.ts","../../../node_modules/@types/jscodeshift/src/collections/variabledeclarator.d.ts","../../../node_modules/@types/jscodeshift/src/collection.d.ts","../../../node_modules/@types/jscodeshift/src/template.d.ts","../../../node_modules/@types/jscodeshift/src/core.d.ts","../../../node_modules/@types/jscodeshift/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/katex/contrib/auto-render.d.ts","../../../node_modules/@types/katex/contrib/katex2tex.d.ts","../../../node_modules/@types/katex/contrib/index.d.ts","../../../node_modules/@types/katex/index.d.ts","../../../node_modules/@types/loader-utils/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/mdx-js__react/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mkdirp/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/nprogress/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/parse-numeric-range/index.d.ts","../../../node_modules/@types/parse5/index.d.ts","../../../node_modules/@types/picomatch/lib/constants.d.ts","../../../node_modules/@types/picomatch/lib/parse.d.ts","../../../node_modules/@types/picomatch/lib/scan.d.ts","../../../node_modules/@types/picomatch/lib/picomatch.d.ts","../../../node_modules/@types/picomatch/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/prismjs/index.d.ts","../../../node_modules/@types/prompts/index.d.ts","../../../node_modules/@types/q/index.d.ts","../../../node_modules/@types/react-dev-utils/index.d.ts","../../../node_modules/@types/react-helmet/index.d.ts","../../../node_modules/@types/react-loadable/index.d.ts","../../../node_modules/@types/react-router/index.d.ts","../../../node_modules/@types/react-router-config/index.d.ts","../../../node_modules/@types/react-router-dom/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/source-map-js/source-map.d.ts","../../../node_modules/postcss/lib/comment.d.ts","../../../node_modules/postcss/lib/at-rule.d.ts","../../../node_modules/postcss/lib/rule.d.ts","../../../node_modules/postcss/lib/container.d.ts","../../../node_modules/postcss/lib/declaration.d.ts","../../../node_modules/postcss/lib/warning.d.ts","../../../node_modules/postcss/lib/previous-map.d.ts","../../../node_modules/postcss/lib/input.d.ts","../../../node_modules/postcss/lib/css-syntax-error.d.ts","../../../node_modules/postcss/lib/document.d.ts","../../../node_modules/postcss/lib/root.d.ts","../../../node_modules/postcss/lib/lazy-result.d.ts","../../../node_modules/postcss/lib/processor.d.ts","../../../node_modules/postcss/lib/result.d.ts","../../../node_modules/postcss/lib/node.d.ts","../../../node_modules/postcss/lib/list.d.ts","../../../node_modules/postcss/lib/postcss.d.ts","../../../node_modules/@types/rtlcss/index.d.ts","../../../node_modules/@types/sax/index.d.ts","../../../node_modules/@types/scheduler/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/shelljs/index.d.ts","../../../node_modules/@types/source-list-map/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/stringify-object/index.d.ts","../../../node_modules/@types/tapable/index.d.ts","../../../node_modules/@types/wait-on/index.d.ts","../../../node_modules/@types/webpack/node_modules/anymatch/index.d.ts","../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts","../../../node_modules/@types/webpack-sources/lib/source.d.ts","../../../node_modules/@types/webpack-sources/lib/compatsource.d.ts","../../../node_modules/@types/webpack-sources/lib/concatsource.d.ts","../../../node_modules/@types/webpack-sources/lib/originalsource.d.ts","../../../node_modules/@types/webpack-sources/lib/prefixsource.d.ts","../../../node_modules/@types/webpack-sources/lib/rawsource.d.ts","../../../node_modules/@types/webpack-sources/lib/replacesource.d.ts","../../../node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts","../../../node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts","../../../node_modules/@types/webpack-sources/lib/index.d.ts","../../../node_modules/@types/webpack-sources/lib/cachedsource.d.ts","../../../node_modules/@types/webpack-sources/index.d.ts","../../../node_modules/@types/webpack/index.d.ts","../../../node_modules/http-proxy-middleware/dist/types.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/response-interceptor.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/fix-request-body.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/public.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/index.d.ts","../../../node_modules/http-proxy-middleware/dist/index.d.ts","../../../node_modules/@types/webpack-dev-server/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"1dad4fe1561d99dfd6709127608b99a76e5c2643626c800434f99c48038567ee","affectsGlobalScope":true},{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},"12f4cfe2fe60b810c3174537bc2ddb20c1067b7768643d12cb1266fd183afb75",{"version":"25b4a0c4fab47c373ee49df4c239826ee3430019fc0c1b5e59edc3e398b7468d","affectsGlobalScope":true},"e23424b97418eca3226fd24de079f1203eb70360622e4e093af2aff14d4be6ec","a473cf45c3d9809518f8af913312139d9f4db6887dc554e0d06d0f4e52722e6b","a668dfae917097b30fc29bbebeeb869cee22529f2aa9976cea03c7e834a1b841","04eaa93bd75f937f9184dcb95a7983800c5770cf8ddd8ac0f3734dc02f5b20ef",{"version":"7ddd5487c03df04c01a8618e06d875e167524902ed3dd9a2a9345a0ef5202d6f","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","aab38abd210255237d4dc101c9e5b5f8d746fd75aeb30cc77b6a4d322b06693d","797a9d37eb1f76143311c3f0a186ce5c0d8735e94c0ca08ff8712a876c9b4f9e","bc31e01146eec89eb870b9ad8c55d759bcbc8989a894e6f0f81f832e0d10eb04",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"153d835dc32985120790e10102834b0a5bd979bb5e42bfbb33c0ff6260cf03ce","affectsGlobalScope":true},"a44c87a409b60f211a240341905d818f5f173420dcf7f989ee6c8a1a3d812ae9","bdaf554ae2d9d09e2a42f58a29ef7f80e5b5c1d7b96bfb717243dc91a477216e","ea194ae7fee69ab77ee0ff7b7f35227eb09515583f6c08988a59fa65661af990","321ea733ae7f611077a2d7b4bc378ac4a6b7e365e1a51c71a7e5b2818e1e310a","13257840c0850d4ebd7c2b17604a9e006f752de76c2400ebc752bc465c330452","42176966283d3835c34278b9b5c0f470d484c0c0c6a55c20a2c916a1ce69b6e8","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","ae7b9d7ab1652cc1866ba6e269d0eeaf1708d07327714124ed2cbd059f5e4766","69640cc2e76dad52daeb9914e6b70c5c9a5591a3a65190a2d3ea432cf0015e16","21e64a125f65dff99cc3ed366c96e922b90daed343eb52ecdace5f220401dcda","f25b17702bd5d9e1a21e223863d09774197e0832a0534ba12bd7558bcc8548f4",{"version":"b0b00cf2e8107ab671243a73d2fbd6296a853bebe3fcfaaca293f65aaa245eaf","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","992c6f6be16c0a1d2eec13ece33adeea2c747ba27fcd078353a8f4bb5b4fea58","3b790d08129aca55fd5ae1672d1d26594147ac0d5f2eedc30c7575eb18daef7e","a6b0abdb67d63ebe964ba5fee31bc3daf10c12eecd46b24d778426010c04c67e","e7b5a3f40f19d9eea71890c70dfb37ac5dd82cbffe5f95bc8f23c536455732d0","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","0953427f9c2498f71dd912fdd8a81b19cf6925de3e1ad67ab9a77b9a0f79bf0b","f89a6d56f0267f6e73c707f8a89d2f38e9928e10bfa505f39a4f4bf954093aee","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","dcc6910d95a3625fd2b0487fda055988e46ab46c357a1b3618c27b4a8dd739c9","e649840284bab8c4d09cadc125cd7fbde7529690cc1a0881872b6a9cd202819b","a364b4a8a015ae377052fa4fac94204d79a69d879567f444c7ceff1b7a18482d","60c9e27816ec8ac8df7240598bb086e95b47edfb454c5cbf4003c812e0ed6e39","6c63cb179eda2be5ab45dc146fa4151bec8ce4781986935fe40adfc69cbbf214","4926467de88a92a4fc9971d8c6f21b91eca1c0e7fc2a46cc4638ab9440c73875",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"4e0a4d84b15692ea8669fe4f3d05a4f204567906b1347da7a58b75f45bae48d3","ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c","b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","49daf80661034e07d919f1c716aef69324e34d18a63a282f8100f52c961b58a7","8d01c38ccb9af3a4035a68818799e5ef32ccc8cf70bdb83e181e1921d7ad32f6","495fe5f9708b202b8e560f940f2f1e8057f0e272681f925feab943e60bdc0e6f","1bd09d372ed4aae2fdd29d4ffd9b525bc6e4646b957bf552fcd3e4800f332bc6","46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","4498108732bcb5b7000ff9cdc011058b4155e985271ac3f926468acfed0c79dd","36d7b72ed8f35f9e21cc223c06697eca0d4699178fc59cfd3a310e2983fd0fd6","8ef499f8b856beca668333ffd33b7a29a83641cbe18c9ad8f25d2748efdf4f0f","51bfe35171efe121cefb2501a6cd674c367d541c4c8b0ae639c126adcc84f37d","41c78f187749098f9b8e8982839a010b6bf00dacc654d759b9c169127bcda034","40304c033bb6e39f0eb01b106d29523950148dfc3cd547ddb500167871171281","1a255ad66d2b50f7b42eca69228b9587878cf06900780ad57a306a933c6eaeb4","22f248a7281ed7d653427f66fbadc2cf0fadb3986d69661789ab882166e8e91d","3594c022901a1c8993b0f78a3f534cfb81e7b619ed215348f7f6882f3db02abc","438284c7c455a29b9c0e2d1e72abc62ee93d9a163029ffe918a34c5db3b92da2","0c75b204aed9cf6ff1c7b4bed87a3ece0d9d6fc857a6350c0c95ed0c38c814e8","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","782abf371043fc65a987f835a3acfd80602a30c3e2122f6d5756a86bf6913352","509235563ea2b939e1bbe92aae17e71e6a82ceab8f568b45fb4fce7d72523a32","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","82251920b05f30981c9a4109cb5f3169dce4b477effc845c6d781044a30e7672","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","4908e4c00832b26ce77a629de8501b0e23a903c094f9e79a7fec313a15da796a","2630a7cbb597e85d713b7ef47f2946d4280d3d4c02733282770741d40672b1a5",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"b13c966b9b4757efcb1101af765d6eb9ace5a5ba7cfcfea791f68387caf0cf99","80159d7d471b1d75b5ea3ac96be1926e45995845ef1353d01a60191a3b158f51","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","a9fd76613c52aa62a036e7d85d6503601ac3aae1444f4765c738567e5f687f4f","f1e8ecd1d960d12e57316fd2889b0a57635f38f8c4c976d8deafa29650bbf320","3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27","67f129ed8b372622ff36b8b10e39d03e09e363a5ff7821105f92f085b8d1ccba","327f42ab31ff4539ba868d0374f8825af328b104b5f78d26b2e3ce9cc17b43a0","62a05210201c793349ec28254f06a01814c5b4f5591f6d1921941286db78ea2a","8f877178233f74095130e129ce86128a6a15afcfc6171d714e154863b6a65fe8","b395ec0779c66de885f97974534e95ee2c8bbf9acaf5857a6782ddc32972b6d8","572b4d4c4e2cd3026db925ca5cb721f5c3f4f52938da404de1148a126348f29b","c72b982add26c5ddf410899bcafe3f47253a5d274d4b93d2ef67850d4af4545b","332bc92a89da24ef3a645208f2b3159292460a52fbe63c40eef64c2a63bb1e40","4257eb82208c9735912266ea8dcec5203a9c2d5a19db8038213fa6da5b7bb5cd","a5028e37a5e23e8185ca9d01f24e4058a0ff95ff0f28dfb030ef87c52e6659da","c2c5c45b25979dbddd94b964495b0edea464b7cf1fceadcc186507bdc766a801","cf386b5b17613da856eab27a85d33b87b8f9bd9db42a0eb43c97bd9ef8de20d1","a52c5f687d788d283ea1fa38bdc2fabe0eac863135a7dfe175ec52b309f61892","ba56cbd53f16fb5be5b295a5ffb9df2fd46c84ccd2aa9ca0bd8ccaf3605a6314","90c79eecacd20b37cd53a10ec239cc01b792ab2284493f02fc2b5dbd366d7071","7cd2fd18f5ed50d57dfa41c421023c44799d6849622afd2749fa85ae09e282ae","a17ba25a194979a88bfd925e849d76b63f68c4160b69a99c5d723eac5ffddaf0","b25c5f2970d06c729f464c0aeaa64b1a5b5f1355aa93554bb5f9c199b8624b1e","3e6297bcddf37e373d40ddb4c2b9e6fc98901b2a44c01b2d96af142874973c43","3051751533eee92572241b3cef28333212401408c4e7aa21718714b793c0f4ed","691aea9772797ca98334eb743e7686e29325b02c6931391bcee4cc7bf27a9f3b","6f1d39d26959517da3bd105c552eded4c34702705c64d75b03f54d864b6e41c2","81c14b89fa607b86dd726e2e3e91360cf8155ce97468404324d404a5bd65b2eb","ebddbd167c2fabd0151f50e5df94ca6d845149c47521280d8867afe3429dd078","4a8b6680f577878255690971bbfe6ec951ece19a0c86a493e66a715762d04db2","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","c0c0ce59aaee107786eca330b64eb2413bd9d14848f35282f6e61e6972b6f52e","f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e","92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69","8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012","92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9","ac502bda446da2b897b8fb9373199f08e111a82c19ea0f9a1debf49ed34b6970","4e88b833be14c7f384e0dcd57bb30acd799e8e34d212635d693e41a75a71164b","98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e",{"version":"9ea2638b6eee61ff2c59c3ac74c1b5999a843da0e2bb60e8bf028b19aacf6246","affectsGlobalScope":true},"a9ef188a807dfa67e80eb100aeac1036f61d01f64d8b51ce68e78ee40cdef415","aec0cabbdfacf43db998d8e50ee6f1e72131d24b5018dfb84f14806717baa0a6","ef36fa133bed82cf3d1262c0894a643532bca4a743bea90b537f643003880315","fb32fb9b2a2c9cfccae34a6383834030ea9ebab2e46964ab6e876fe2b9ca2f42","70646d9cb37b62611766d18a9bcca6cbf28ca9aec33a66244e974056ab1193f6","032d6a55e0d1b473bf06cc9f30cfa6313bc57202bc5aacf8077022c4a27ff7d6","ff27d48b9c7f85c9d38cb13fce5886bad9a30846aedb5f54759eee58391a79e1","912989089693cac2ce78c83289b98d5d9be6d399009c5d2e06ad3edf50e7b335","81f6af9b1d8e4f9e3b7318763a1a93f909ee61e0477b41cc7f3281d9da6ca7f4",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"0133ebdd17a823ae56861948870cde4dac18dd8818ab641039c85bbb720429e0","9f3554130bc117f19a9d4186bd83a97145c71818c1b1c51424967e0f607324d5","e3dd9a5ce3e396a63d378146a2bce9f52ea86419ef787cd55d2e8bb2a4cd716f","274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed","84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","3b02517f9be71f255eadab9892406055d069167891f1e1ea16c96c4ff1ddda01","3b05c396564e51753e921e1cc4aae1cf7cd9be53c891cf2e81fa29f11c0bd373","78a1efd7214a25b84e08af80fe2b027c3049e52b26dfcaf777b82c759d8548c9","95c22bc19835e28e2e524a4bb8898eb5f2107b640d7279a6d3aade261916bbf2","393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","b6e83cdeca61289e5ffd770e55ed035babdffadd87d1ffa42b03e9fe8411333f",{"version":"271cde49dfd9b398ccc91bb3aaa43854cf76f4d14e10fed91cbac649aa6cbc63","affectsGlobalScope":true},"c6f2572e21f626260d2e4a65e4e1e42b9b273b6f43b5c3bc115c2926417d3eca","374ab77e05e0bf5a52acad6d65121d4bd31068108f23d70186dba5fcd7d6a1a3","a4ecd4bb653aa71093375845fba6250ca0f3c633d0e933fc9bf4b301834eab27","25d91fb9ed77a828cc6c7a863236fb712dafcd52f816eec481bd0c1f589f4404","4cd14cea22eed1bfb0dc76183e56989f897ac5b14c0e2a819e5162eafdcfe243","cc53cba64efb30576f2a36f1d7107e4453e84cbd0f371d49cd1dfd208e11233b","bee79f5862fe1278d2ba275298862bce3f7abf1e59d9c669c4b9a4b2bba96956","a523644fe1d30f36465118be107642c78c36afe0d885f93eae399b3c44dc8fe9","e966621f305cecf5ed6460197ff1652208257b5ca7da402a4285cc57589f6f36","6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d","dd96ff6ecc47584219c6301f1653eec514c2cb83fc8ad195ccb54c9759765e3a","8d068614f2f0c00d6b712f16f52511c054d3cf205d749ede8d9f231c0ddac03f","de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","029769d13d9917e3284cb2356ed28a6576e8b07ae6a06ee1e672518adf21a102","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"bbc19287f48d4b3c753bd2c82dd9326af19cccbfa1506f859029dfcedc7c5522","affectsGlobalScope":true},"73a371996ab8b5f895fc4aff8018ad79804254ae32648c9ac11e87f2fce5658a","cc2dc362fc50995684e9f7e9b38ad9bdf19e74919294a694cbc05392352cad7d","e07b482ad35f73ea26312cb5bfbc735cfd2c68808e70634d32a43f8b53033a11","494d475b36a458bbfdcf60f54abaf2084a3840ff38fe5dcf8e3e8d405edc7938","55194e5c1f7fdd2a209da42b0b481c556bae31b20675fa7e7fbd7f49a6c40d57","8cd7362102d928e21b291a013f80fc68a038d4506d26ea9948c676e3fa1110d9","90f6830fb380f4d2b69df018343ae80ce92991e85a0d7be8d214c643b39d1175","1bfe6db4f3dffacd1da82748cb8f0acec04e8a4d7bd36c09573d5d80a7dec28b","009e40fab9efa56ae3f540ff7a18cbeae6b4140647a040681c524bf19f52995e","0e7fbd72cba67a53642362282ec001d495fbb7ad575f47ba5ffa19006f124d60","24cf966363ab1b0200b7a720f9ae1f2efb5e2f9bd4a3c1f13482cd0456745f90","35acd8ffbb879ea4447df8fc7b422ed8af7dceec6036562eb2825eeea89222b1","262810de652d20b24b0e9872e33941972735c8c0a2bd794c361038f823dd7ecb","7bfe977bcf0f5fab4d0b2820af80cebf4765b77658cc238903f82873ea813e12","8648c31510a3a81275736733ec1a4562a012e4e1a0f5fea9d47a8ed30dc4280c","aad8c703de79100c97d6d6d753e6c3e5c355d8024f7c80e0275b3973208b9dd3","e3a5287471fb08f053c06fd998632792aa5f022e45278f1e6dd55fb2fa9e7362","28a6c8eeb48e165920067b9193555649fc43c2a28c450f23f622e5eb043d9463","b114b49f7cc89ed20375ec8f070ceed9748d022d9a6f94894f247c5e8182ccc7","187b38d2397b9ab2a459042295b6ae463d369ae1786f23abf6f58d925905ee09","68a982b9899e9df6bc37b62a57fdeac0b197d9f252a2386589a28ffc0e316503","63326d4f23f82d250abe61157183fd0d0612f00540d27681ef6458e60850c315","19f9e754bda221cc851c07454f43ae28d0faeb48fb17ef48802f022297603ed6","f5173cf4e2ae28cacdd974951e64e7e7476cecec52be1b218d309cc10b580436","0b7f81e8fa0bb70a104fd1ac689d56807b929006bf49557189ab06d756973f38","8faaa860d85e112c2898437d958f8f07cb847e53db3018c719ef4d0c2227f77b","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","a93bbe06d20763f821db7b671ba9efbf4b602fb4cd612ae9d40f01a30f62966c","1ced83d3606cfe4a0d2d98c24873b4147ac4c1b9beacb1d1dd0d8bacd3a00220","42c7f325d2075cf80f65ef6225692605b6516602209175d29281c7a53838d28f","451a3f75d74f7b130a0e28dc77f21b7d79b99381ebae3f0d849905c5ab33872e","fbd29ea9dd64c69ded0284cb1307557e8f7bf6265ce2bf1faa3840ffed2d38ac","cee164cd6c157d0ce3d3350c1df75dee40d2da203223a72890430ec6d8ccf4a1",{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"4ee363f83d7be2202f34fcd84c44da71bf3a9329fee8a05f976f75083a52ea94","a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"7288cf81ca60c193ded5c5ea1303a7334a08a7b66ff5d775860c3403806249ff","affectsGlobalScope":true},"ac7c35cc5643ab7f4e2884aa0a383d8ac5cd3e995cc7f12349395192a4361c73","e437d83044ba17246a861aa9691aa14223ff4a9d6f338ab1269c41c758586a88","6396a7a06f3ef0fc31a7c89330e015146b78a2256b030c698b6d404594c37b8f","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","8fe9135b86994075c4192f3358a4350389e80d3abec712db2a82061962d9d21c","e0014889f31fee76a572b6b15e74b2174cbcf6346ae8ab5c69eb553a10e5c944","c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613","3c17de487f67fd2ce7a70090b19e791b0388ed9cb60cdbdc7a49277094ffc413","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","cf64eeeaef3601863fba2302368ec01bd9a991a24d39f68ddc9a525ffa20f1cc","c555dd691dd05955e99cd93dd99c685a65e5287813ccb5e6bfde951183248e26","c0ad01cd660e5b8478c46ba9eda9bb60057de0744b3436fab3ce1ab764109da9","a811919884d27b7f56502cb3f89e8d5ba42a70af7d421f1a989a0b85825a93b2","a9ce2f5469b4648ad305fed3a23eabd09c6887fbbb9028c983851cbe8693bdf0","6faeb7075e31bb027045bf3c6c1ee73c34b2d4094e0f80e209f62d89ef3847ba","2c62313d703a4e95d56aae612fba35dc0eca38e399ed9729ee27facf64e9b993","08b428a44bc98005536a12456518797e9afe2a08e8b5d9785641713a54475881","831b44f91491d73ba21effa69d48698b09933db1c7f92a33c048852a76a79068","db6347c1934b46b5bab02cc6a4c3323d604a5cd4a72f92d5c7cfc24ea8dcd4ec","f9a2dd6a6084665f093ed0e9664b8e673be2a45e342a59dd4e0e4e552e68a9ad","b5478b9a935cf14fe43a00f80dee3805b5f5f6d33be9d96fae7babea0e0dad76","84b93958baf05d4d1dfd5e3583df4789257a8ac751a6046bce466771df6059fb",{"version":"8299ae8e2b6f219b89e33f5383e85b71b160550678a9c7aaf3729b95c59e57a6","affectsGlobalScope":true},"c78b1c30f9ea6f57c2c4beb62734bf0df604a537690d7a098e6ca99157f4c2a3","d4eeffab023f619ebaeeca01570c026eed02256061973bef5546a6c779552818","791da337747613f208302f66336cd238717afa0a8dbe25d7dcaf3d93b9928971","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","13e521f4402f90bde98f8820045ee230168810f98f818b61f99cac728abd17a3","0475e7b7d37d065501e741e3be9b99a12ac34ff847143d83bb9d2bc9101a2625","611105c6a693c07a8a1be7fd04cda603e71b12471d4bdef34820ce653eb313e9","cba0f7d95990ecef0d0dbfc6b265fd307bd052aff61cbd7b165cbffe9d75ae24","57b9abe6f1a8b32ddbe5f28cd4dd73fa095afc8b24ae341049950f6b465872d0","a059f9bec8cf889db591a9d569f66d22e9acb4cdc67225238391c79eff517524","7786c75c1b46e93b33c63dccf689143a5f47ff451a6b3bd9b10e4801cdeadcc2","b96468bc2136fc580140702e9845d4ebf3413de9fb64093b6f7415ceb184fe5a","93fee8994db07645f6d7e241d57d3d786aaea17179c30e4d81156cc31193009d","e8966f7c424780bb0b9d411ebe13eda8555ca15aa675603316c2952bc027b0e3","df0e5f3c4a518111d160cf3bebc9a3ac7d39c6e3bfb7a21d43c304896c3015e2","c20569bc091e62ebe362b422738e82dfc7eedce351960f71af861821d434a960","bd204da7ab4613d12650bd6a4947258890ca9793df0a7a72dc4231f19d53f08e","afe79664dc4e1688ec4c6def52f793706d4763f55676eebfe72e92681e779404","6fdb5e8e7c1fc94fab356bb804c6e134133b5ad03b929ac2c1460bd49e4caa22","d7e4a5f4ccfb749c3033fafc233073b4d1dcca0249785186c589602a81f9d86f","d8f284ecc998ccc96e151e0d96109613c4901371201ddb1d7103f84199460589","6e199fa01a463a67a34603881ff8862f94b2f88ad2384ae7808b2521638ed43a","c17785a46d81d27213ae62b86d6dc0e87e230106e9a57dbfb815d3bea978a6a5","3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","5192f9a6469f849e0863616b668fde54bcd6704394b4bfbd115691865f66d761","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","86d425f7fcd8d100dafa6286cc289af88cbb639ecbdbd25c3018a8f0f7b09fe5","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","d0f6d36b2d86f934560c48d8bfdc7ab60c67cfb2ab6dc1916706aa68e83d6dc2","b73abc91e3166b1951d302f8008c17e62d32e570e71b2680141f7c3f5d0a990d","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57","2905bf42cddf7ba20c88922d36b7afa5431523c1cab119fdb38bf5baab02adf1","d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579","356c3df1d255b9fe81d7c3d822d60a2a66c99b1cf853b04a69810a31a449b735","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb","9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b","99c7f3bbc03f6eb3e663c26c104d639617620c2925e76fc284f7bedf1877fa2b","59115d08fbd0d93bbb2af3fe5b914194fea2906945f2ee08e264b96c7e8601fe","f90d85d4cb38445499bdb7e7b013e4f64d99d157a6fa0843e998495ceb27b520","94ae892ab0c0b2800dbd817ffd0a5bd6cfb60a0cc4ce6860a9f965712cc3eb5d","901becb8779e1089442378fda5623e607ee4588762a32e7692436f1ea81cf848","8286d84d2567b713fd6a1fdfbb1a0abc8cfa668ee1e0e83d7dd4ade5761f2750","f28dffc6bf9bbd8b9dc156aadb74d11de7faabf547eb9f0aebb8cd03e8750a6c","b2bcfd1c457bf7845a5e5f81d1b34785de14f07dc97a27571d7f54c8f4873b65","3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f","5a2a25feca554a8f289ed62114771b8c63d89f2b58325e2f8b7043e4e0160d11"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"importHelpers":true,"jsx":2,"module":1,"noEmitHelpers":true,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":6,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[154],[99,100],[100,101,102,103],[91,100,102],[99,101],[58,91],[58,91,95],[95,96,97,98],[95,97],[96],[74,91,104,105,106,109],[105,106,108],[57,91,104,105,106,107],[106],[104,105],[91,104],[154,155,156,157,158],[154,156],[60,91,160],[57,60,80,91,162,163,164],[60,62,91,166],[168],[169,170],[169],[171],[80,91,175],[60,91],[177],[166],[91],[91,179,182],[187,188],[137,185,186,187],[188],[57,60,91,173,174],[161,174,175,191],[57,91,194],[60,62,74,80,91],[197],[199,205],[200,201,202,203,204],[205],[167,206,207],[142,143,208],[57,60,62,65,74,80,91],[212],[212,213],[219,221],[247],[241,242,243,244],[226,241,245],[226,241,242,244,245,246],[241],[253],[250,251],[252],[57,91],[91,143],[119,121,122,123,124,125,126,127,128,129,130,131],[119,120,122,123,124,125,126,127,128,129,130,131],[120,121,122,123,124,125,126,127,128,129,130,131],[119,120,121,123,124,125,126,127,128,129,130,131],[119,120,121,122,124,125,126,127,128,129,130,131],[119,120,121,122,123,125,126,127,128,129,130,131],[119,120,121,122,123,124,126,127,128,129,130,131],[119,120,121,122,123,124,125,127,128,129,130,131],[119,120,121,122,123,124,125,126,128,129,130,131],[119,120,121,122,123,124,125,126,127,129,130,131],[119,120,121,122,123,124,125,126,127,128,130,131],[119,120,121,122,123,124,125,126,127,128,129,131],[119,120,121,122,123,124,125,126,127,128,129,130],[260],[116],[60,80,91,264,265],[88,89],[57,58,65,74],[49,57,65],[81],[53,58,66],[74],[55,57,65],[57],[57,59,74,80],[58],[65,74,80],[57,58,60,65,74,77,80],[60,77,80],[90],[80],[55,57,74],[47],[79],[72,81,83],[65],[46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],[71],[57,59,74,80,83],[275],[272,273,274],[74,91],[205,260,284],[205,260],[256,257,258,259],[60,74,91],[301,305],[309,348],[309,333,348],[348],[309],[309,334,348],[309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347],[334,348],[60,91,190],[49,91,195],[77,91],[60,62,143,176,191,192,375],[91,357,358,359,360,361,362,363,364,365,366,367],[356,357,366],[357,366],[350,356,357,366],[356,357,358,359,360,361,362,363,364,365,367],[357],[53,356,366],[53,91,142,166,206,355,368],[377],[224,227,228,230,231],[225,226],[226],[226,227],[224,225],[226,230,231],[224,227,228,229],[224,227,230],[224,227],[224],[224,227,230,232,233,234,235],[91,111,112,113],[111,112],[111],[91,110],[114],[60,91,370],[373],[371,372],[370,374],[60,65,91,192,211],[215,216],[215,216,217,218],[292],[292,303],[289,290,291,293,303],[296],[292,299,302,305],[295,305],[294,299,301,302,305],[289,290,291,292,293,294,296,297,298,299,302,305],[288,289,290,291,292,293,294,296,297,298,299,300,301,302,303,304],[288,305],[299,300,302,305],[292,298,302,305],[303],[220],[238],[236],[237,238,239,240],[139,140],[137,138,139],[137,138,140],[136,140,141,142],[71,143,144,145],[45,67,92],[45],[45,67,115,117],[45,53,131,132],[45,53,67,80,92,93,94,118,131,133,134,135,146,147,148,149,151,152],[45,67,153],[45,92,134,150],[45,131,148]],"referencedMap":[[156,1],[101,2],[104,3],[103,4],[102,5],[100,6],[96,7],[99,8],[98,9],[97,10],[95,6],[110,11],[109,12],[108,13],[107,14],[106,15],[105,16],[159,17],[155,1],[157,18],[158,1],[161,19],[165,20],[167,21],[169,22],[171,23],[170,24],[172,25],[176,26],[160,27],[178,28],[177,29],[179,30],[183,31],[189,32],[188,33],[186,34],[175,35],[192,36],[92,6],[195,37],[182,38],[196,6],[198,39],[200,40],[201,40],[202,40],[205,41],[203,42],[204,42],[208,43],[210,44],[211,45],[213,46],[214,47],[222,48],[248,49],[245,50],[242,51],[243,51],[244,51],[247,52],[246,53],[250,54],[252,55],[253,56],[162,57],[254,58],[120,59],[121,60],[119,61],[122,62],[123,63],[124,64],[125,65],[126,66],[127,67],[128,68],[129,69],[130,70],[131,71],[255,39],[261,72],[117,73],[263,6],[266,74],[90,75],[49,76],[50,77],[51,78],[52,79],[53,80],[54,81],[56,82],[57,82],[58,83],[59,84],[60,85],[61,86],[62,87],[91,88],[63,82],[64,89],[65,90],[68,91],[69,92],[72,82],[73,93],[74,82],[77,94],[88,95],[79,94],[80,96],[82,80],[84,97],[85,80],[276,98],[275,99],[279,100],[282,72],[283,72],[285,101],[286,101],[284,102],[260,103],[287,30],[164,104],[306,105],[307,100],[333,106],[334,107],[309,108],[312,108],[331,106],[332,106],[322,109],[321,109],[319,106],[314,106],[327,106],[325,106],[329,106],[313,106],[326,106],[330,106],[315,106],[316,106],[328,106],[310,106],[317,106],[318,106],[320,106],[324,106],[335,110],[323,106],[311,106],[348,111],[342,110],[344,112],[343,110],[336,110],[337,110],[339,110],[341,110],[345,112],[346,112],[338,112],[340,112],[191,113],[349,114],[206,29],[354,115],[376,116],[368,117],[367,118],[358,119],[359,120],[366,121],[360,120],[361,119],[362,119],[363,119],[364,122],[357,123],[365,118],[369,124],[378,125],[232,126],[234,127],[225,128],[233,129],[226,130],[235,131],[230,132],[231,133],[228,134],[229,135],[227,135],[236,136],[114,137],[113,138],[112,139],[111,140],[264,104],[115,141],[372,142],[374,143],[373,144],[371,27],[375,145],[370,146],[217,147],[219,148],[218,147],[290,149],[289,150],[292,151],[297,152],[293,150],[298,153],[296,154],[300,155],[303,156],[305,157],[295,158],[301,159],[302,105],[299,160],[291,149],[294,161],[221,162],[238,135],[239,163],[237,164],[241,165],[141,166],[140,167],[139,168],[143,169],[146,170],[93,171],[94,172],[118,173],[133,174],[153,175],[152,176],[151,177],[148,172],[132,172],[147,172],[149,178]],"exportedModulesMap":[[156,1],[101,2],[104,3],[103,4],[102,5],[100,6],[96,7],[99,8],[98,9],[97,10],[95,6],[110,11],[109,12],[108,13],[107,14],[106,15],[105,16],[159,17],[155,1],[157,18],[158,1],[161,19],[165,20],[167,21],[169,22],[171,23],[170,24],[172,25],[176,26],[160,27],[178,28],[177,29],[179,30],[183,31],[189,32],[188,33],[186,34],[175,35],[192,36],[92,6],[195,37],[182,38],[196,6],[198,39],[200,40],[201,40],[202,40],[205,41],[203,42],[204,42],[208,43],[210,44],[211,45],[213,46],[214,47],[222,48],[248,49],[245,50],[242,51],[243,51],[244,51],[247,52],[246,53],[250,54],[252,55],[253,56],[162,57],[254,58],[120,59],[121,60],[119,61],[122,62],[123,63],[124,64],[125,65],[126,66],[127,67],[128,68],[129,69],[130,70],[131,71],[255,39],[261,72],[117,73],[263,6],[266,74],[90,75],[49,76],[50,77],[51,78],[52,79],[53,80],[54,81],[56,82],[57,82],[58,83],[59,84],[60,85],[61,86],[62,87],[91,88],[63,82],[64,89],[65,90],[68,91],[69,92],[72,82],[73,93],[74,82],[77,94],[88,95],[79,94],[80,96],[82,80],[84,97],[85,80],[276,98],[275,99],[279,100],[282,72],[283,72],[285,101],[286,101],[284,102],[260,103],[287,30],[164,104],[306,105],[307,100],[333,106],[334,107],[309,108],[312,108],[331,106],[332,106],[322,109],[321,109],[319,106],[314,106],[327,106],[325,106],[329,106],[313,106],[326,106],[330,106],[315,106],[316,106],[328,106],[310,106],[317,106],[318,106],[320,106],[324,106],[335,110],[323,106],[311,106],[348,111],[342,110],[344,112],[343,110],[336,110],[337,110],[339,110],[341,110],[345,112],[346,112],[338,112],[340,112],[191,113],[349,114],[206,29],[354,115],[376,116],[368,117],[367,118],[358,119],[359,120],[366,121],[360,120],[361,119],[362,119],[363,119],[364,122],[357,123],[365,118],[369,124],[378,125],[232,126],[234,127],[225,128],[233,129],[226,130],[235,131],[230,132],[231,133],[228,134],[229,135],[227,135],[236,136],[114,137],[113,138],[112,139],[111,140],[264,104],[115,141],[372,142],[374,143],[373,144],[371,27],[375,145],[370,146],[217,147],[219,148],[218,147],[290,149],[289,150],[292,151],[297,152],[293,150],[298,153],[296,154],[300,155],[303,156],[305,157],[295,158],[301,159],[302,105],[299,160],[291,149],[294,161],[221,162],[238,135],[239,163],[237,164],[241,165],[141,166],[140,167],[139,168],[143,169],[146,170],[93,171],[94,172],[118,173],[133,174],[153,175],[152,176],[151,177],[148,172],[132,172],[147,172],[149,178]],"semanticDiagnosticsPerFile":[156,154,101,104,103,102,100,96,99,98,97,95,110,109,108,107,106,105,159,155,157,158,161,116,165,167,169,171,170,168,172,176,160,178,177,179,180,181,183,184,189,185,188,186,187,175,192,92,193,195,182,196,198,200,201,202,199,205,203,204,209,208,210,163,211,212,213,214,222,223,248,245,242,243,244,247,246,137,249,250,252,251,253,162,254,120,121,119,122,123,124,125,126,127,128,129,130,131,255,261,117,190,194,262,263,265,266,89,47,90,48,49,50,51,52,53,54,55,56,57,58,59,46,86,60,61,62,91,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,88,79,80,81,82,83,87,84,85,267,268,269,270,271,276,272,273,275,274,277,278,279,258,280,174,173,281,282,283,285,286,284,256,260,207,287,164,306,307,308,259,333,334,309,312,331,332,322,321,319,314,327,325,329,313,326,330,315,316,328,310,317,318,320,324,335,323,311,348,347,342,344,343,336,337,339,341,345,346,338,340,191,349,350,351,352,353,206,197,354,376,368,367,358,359,366,360,361,362,363,364,357,365,356,369,355,377,378,138,232,234,225,233,226,235,230,231,228,229,227,236,224,134,257,114,113,112,111,264,115,150,372,374,373,371,375,370,215,217,219,218,216,145,290,289,292,297,293,298,296,300,304,303,305,295,301,302,299,291,294,221,220,238,239,240,237,241,141,140,139,288,166,142,45,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,40,36,37,38,39,8,41,42,43,1,9,44,136,143,144,146,135,93,94,118,133,153,152,151,148,132,147,149]},"version":"4.3.5"} |
| \ No newline at end of file |
| +{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/tslib/tslib.d.ts","../src/codeTranslationsUtils.ts","../src/escapePath.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@nodelib/fs.stat/out/types/index.d.ts","../node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.stat/out/settings.d.ts","../node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../node_modules/@nodelib/fs.stat/out/index.d.ts","../node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.scandir/out/settings.d.ts","../node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../node_modules/@nodelib/fs.scandir/out/index.d.ts","../node_modules/@nodelib/fs.walk/out/types/index.d.ts","../node_modules/@nodelib/fs.walk/out/settings.d.ts","../node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../node_modules/@nodelib/fs.walk/out/index.d.ts","../node_modules/fast-glob/out/types/index.d.ts","../node_modules/fast-glob/out/settings.d.ts","../node_modules/fast-glob/out/managers/tasks.d.ts","../node_modules/fast-glob/out/index.d.ts","../node_modules/globby/index.d.ts","../node_modules/@types/braces/index.d.ts","../node_modules/@types/micromatch/index.d.ts","../src/globUtils.ts","../src/pathUtils.ts","../src/hashUtils.ts","../node_modules/chalk/index.d.ts","../node_modules/escape-string-regexp/index.d.ts","../node_modules/webpack/node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/schema-utils/declarations/ValidationError.d.ts","../node_modules/ajv/lib/ajv.d.ts","../node_modules/schema-utils/declarations/validate.d.ts","../node_modules/schema-utils/declarations/index.d.ts","../node_modules/tapable/tapable.d.ts","../node_modules/webpack/types.d.ts","../node_modules/commander/typings/index.d.ts","../node_modules/joi/lib/index.d.ts","../node_modules/@docusaurus/types/src/index.d.ts","../src/posixPath.ts","../src/normalizeUrl.ts","../src/tags.ts","../node_modules/gray-matter/gray-matter.d.ts","../node_modules/@types/unist/index.d.ts","../node_modules/vfile-message/types/index.d.ts","../node_modules/vfile/types/index.d.ts","../node_modules/remark/node_modules/unified/types/ts4.0/index.d.ts","../node_modules/unified/types/ts4.0/index.d.ts","../node_modules/remark-parse/types/index.d.ts","../node_modules/remark-stringify/types/index.d.ts","../node_modules/remark/types/index.d.ts","../node_modules/unist-util-is/index.d.ts","../node_modules/unist-util-visit-parents/types/index.d.ts","../node_modules/unist-util-visit/types/index.d.ts","../../../@types/unist/index.d.ts","../../../@types/mdast/index.d.ts","../src/markdownParser.ts","../src/markdownLinks.ts","../src/index.ts","../src/__tests__/codeTranslationsUtils.test.ts","../src/__tests__/escapePath.test.ts","../src/__tests__/globUtils.test.ts","../src/__tests__/hashUtils.test.ts","../src/__tests__/index.test.ts","../node_modules/@types/dedent/index.d.ts","../src/__tests__/markdownParser.test.ts","../src/__tests__/normalizeUrl.test.ts","../src/__tests__/pathUtils.test.ts","../src/__tests__/posixPath.test.ts","../src/__tests__/tags.test.ts","../node_modules/@types/eslint/helpers.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/eslint/index.d.ts","../node_modules/@types/eslint-scope/index.d.ts","../node_modules/@types/github-slugger/index.d.ts","../../../@types/minimatch/index.d.ts","../../../@types/glob/index.d.ts","../../../@types/hast/index.d.ts","../../../@types/history/DOMUtils.d.ts","../../../@types/history/createBrowserHistory.d.ts","../../../@types/history/createHashHistory.d.ts","../../../@types/history/createMemoryHistory.d.ts","../../../@types/history/LocationUtils.d.ts","../../../@types/history/PathUtils.d.ts","../../../@types/history/index.d.ts","../../../@types/react/global.d.ts","../../../csstype/index.d.ts","../../../@types/prop-types/index.d.ts","../../../@types/scheduler/tracing.d.ts","../../../@types/react/index.d.ts","../../../@types/hoist-non-react-statics/index.d.ts","../../../@types/html-minifier-terser/index.d.ts","../../../@types/js-cookie/index.d.ts","../../../@types/json5/index.d.ts","../../../@types/minimist/index.d.ts","../../../@types/normalize-package-data/index.d.ts","../../../@types/parse-json/index.d.ts","../../../@types/parse5/index.d.ts","../../../@types/q/index.d.ts","../../../@types/react-helmet/index.d.ts","../../../@types/react-lazy-load-image-component/index.d.ts","../../../@types/react-router/index.d.ts","../../../@types/react-router-config/index.d.ts","../../../@types/react-router-dom/index.d.ts","../../../@types/sax/index.d.ts","../../../@types/scheduler/index.d.ts","../../../@types/styled-components/index.d.ts","../../../@types/video.js/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","impliedFormat":1},{"version":"d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","impliedFormat":1},{"version":"aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c","impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true,"impliedFormat":1},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true,"impliedFormat":1},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true,"impliedFormat":1},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true,"impliedFormat":1},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","impliedFormat":1},{"version":"495fe5f9708b202b8e560f940f2f1e8057f0e272681f925feab943e60bdc0e6f","signature":"98249526332851a623664fd515a293f50d680d4a86d633585ecb9168e67cd872","impliedFormat":1},{"version":"1bd09d372ed4aae2fdd29d4ffd9b525bc6e4646b957bf552fcd3e4800f332bc6","signature":"c7642b1c7345e546c81831fe5fa9233e15a12fa2743f6685b0d700af8292cdd0","impliedFormat":1},{"version":"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true,"impliedFormat":1},{"version":"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9","impliedFormat":1},{"version":"3e4624c306340ad303cc536a07004e81336c3f088308a9e4a9f4c957a3cda2fd","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","impliedFormat":1},{"version":"5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713","impliedFormat":1},{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"34ec1daf3566f26c43dbab380af0de1aac29166e57e4f9ef379a2f154e0cb290","impliedFormat":1},{"version":"bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","impliedFormat":1},{"version":"75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","impliedFormat":1},{"version":"f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","impliedFormat":1},{"version":"14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","impliedFormat":1},{"version":"5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea","impliedFormat":1},{"version":"249a2b90439cdfd51709539fbfa4dfe0791cbae6efce1e9b327ba8f8cd703f49","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f60ac046e587e917d739f1edc77540eb0ec34f83090dae4ebd5f96c1c9578d4","impliedFormat":1},{"version":"a9b6b0f7b1e30359283b131ba6d1c51ee2d3601a2f12e1623141e6a1a60c92a5","impliedFormat":1},{"version":"aeee0090b38de0dd47ca9a79ad5c2d156e3e09d92306719b0b45a3e96098e564","impliedFormat":1},{"version":"7bac475dcdd9f7e4e9da934d32c305bc889c4ce3c8ac0ef45a93a8d670fff607","impliedFormat":1},{"version":"09416dd69576b03a3f485adf329a02f043e4a481e060ef5b208194e488d31fd9","impliedFormat":1},{"version":"8acf99b1c8682276a63ea5bb68433782715892726b97e4604a415e4e56bce41c","impliedFormat":1},{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b145a2351f5cf16abf999c8d5f4481c74dffdc54ec1e9a89992e2622e1226c5","impliedFormat":1},{"version":"a907bf91df26df2400858ef75f749498fb5cf00062bf90a737ac3949cc07978d","impliedFormat":1},{"version":"d270fd4b565eda11a0a737c181892316b7a1ace06c7988d0246219c3df11db06","impliedFormat":1},{"version":"4275d5f964e7fc7afc18538e26b3748c207dd772998346d17f409749aa1f3a63","impliedFormat":1},{"version":"59a638a504490fecaacf0020b9814b6abee37edb66047eb1ab9f7c2274bf1da0","affectsGlobalScope":true,"impliedFormat":1},{"version":"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","impliedFormat":1},{"version":"d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","impliedFormat":1},{"version":"8c4c1a64db28930732033c31418f817dcb9d09d706766707ae6d38f23faf0c53","impliedFormat":1},{"version":"25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","impliedFormat":1},{"version":"d4fc97ea27a8226c5429b73efe7f0d9d78c0269e2995f6dba8bac64fc1b132dc","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true,"impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","impliedFormat":1},{"version":"29d613c3964ea75b2b4e0d17098245c34529282e9cc72b7e4eeb2a7b12c27cb7","impliedFormat":1},{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","impliedFormat":1},{"version":"a381f079c4804442f179d742fdb2e495fe28d67a47cac673485f75ae2e77aeca","impliedFormat":1},{"version":"3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","impliedFormat":1},{"version":"5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2","impliedFormat":1},{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2af17363f8a062e3a8cd1b26030af0058b3f86e783f4fc6aa9f57247f240ebaa","impliedFormat":1},{"version":"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","impliedFormat":1},{"version":"dfe08140492cdc135fb7fd9c4a652c05207b61a436906079b87da1d3111314bf","impliedFormat":1},{"version":"e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","impliedFormat":1},{"version":"089e1f8603cbc35ab977c8dcc662eb754b82fca32ed1dfb16bd682726c2d5432","impliedFormat":1},{"version":"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"82fc37849846a3a0264047621d5beb6ce2ddeb2f83bdee2c79523af3c3282d97","impliedFormat":1},{"version":"46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","impliedFormat":1},{"version":"d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","impliedFormat":1},{"version":"d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","impliedFormat":1},{"version":"98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","impliedFormat":1},{"version":"ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","impliedFormat":1},{"version":"fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","impliedFormat":1},{"version":"d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","impliedFormat":1},{"version":"9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","impliedFormat":1},{"version":"2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","impliedFormat":1},{"version":"2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","impliedFormat":1},{"version":"b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","impliedFormat":1},{"version":"6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","impliedFormat":1},{"version":"4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","impliedFormat":1},{"version":"04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","impliedFormat":1},{"version":"f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","impliedFormat":1},{"version":"011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","impliedFormat":1},{"version":"e175549fe57dbff5cd68c1a5ccf33717584d7db9afb8ec216fd2c0daa3b06931","impliedFormat":1},{"version":"ea68c312e1eb9b48f7064a8dda348594769ba8f9c8596315827c559734a60205","impliedFormat":1},{"version":"6ddb5fb4476ca702ecff9e5ff0295cde6ce138d71f817da65e118a2a3c534106","impliedFormat":1},{"version":"6dfff2e65f10158f5a868e642a2e74d2d1bd76f15291552f389f2b8c829a9a86","impliedFormat":1},{"version":"41c78f187749098f9b8e8982839a010b6bf00dacc654d759b9c169127bcda034","impliedFormat":1},{"version":"40304c033bb6e39f0eb01b106d29523950148dfc3cd547ddb500167871171281","impliedFormat":1},{"version":"1a255ad66d2b50f7b42eca69228b9587878cf06900780ad57a306a933c6eaeb4","impliedFormat":1},{"version":"22f248a7281ed7d653427f66fbadc2cf0fadb3986d69661789ab882166e8e91d","signature":"4b72b4c3e5b21e06453e213fca18d0b2464199ccd5091da9eb2ba78fcdb91057","impliedFormat":1},{"version":"b13c966b9b4757efcb1101af765d6eb9ace5a5ba7cfcfea791f68387caf0cf99","signature":"57c20257e8226c4e9c8f8b657b1775af16364c9c0e600b0f480a518f8329de18","impliedFormat":1},{"version":"80159d7d471b1d75b5ea3ac96be1926e45995845ef1353d01a60191a3b158f51","signature":"857d6d4a53c4372a2799e733ab122d28f7b2b580fe58b80a5fe1321a733c20f7","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"a9fd76613c52aa62a036e7d85d6503601ac3aae1444f4765c738567e5f687f4f","impliedFormat":1},{"version":"a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","impliedFormat":1},{"version":"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","impliedFormat":1},{"version":"dee5d387e2e6f3015cbf91fc0c13ed6f016f9c5c1f2ad9c62602f4fd398fa83a","impliedFormat":1},{"version":"67f129ed8b372622ff36b8b10e39d03e09e363a5ff7821105f92f085b8d1ccba","impliedFormat":1},{"version":"721124f5db1f4a42da2308dfa1414d2e99055d2dfc59de7bf2e0b6ac64356c0e","impliedFormat":1},{"version":"0d7569149194d622212c21d5d162b0715d5a6ca764cebae7145fdbaff1e07311","impliedFormat":1},{"version":"cd74c8275483d3fe0d07a9b4bba28845a8a611f0aa399e961dbd40e5d46dd9ad","impliedFormat":1},{"version":"577b537e1457a6814755a828f8baac682f18897dea74ded767bb7837d43d7c97","impliedFormat":1},{"version":"c72b982add26c5ddf410899bcafe3f47253a5d274d4b93d2ef67850d4af4545b","impliedFormat":1},{"version":"99182326c36998d9180e11f2c02dbb833d76554312ca7fb1c296903fc1d50ff7","impliedFormat":1},{"version":"4257eb82208c9735912266ea8dcec5203a9c2d5a19db8038213fa6da5b7bb5cd","impliedFormat":1},{"version":"a5028e37a5e23e8185ca9d01f24e4058a0ff95ff0f28dfb030ef87c52e6659da","signature":"0daf3165e72cc1ed5263a3374b98cb065f78922c76602477973ee0654b99df17","impliedFormat":1},{"version":"c2c5c45b25979dbddd94b964495b0edea464b7cf1fceadcc186507bdc766a801","signature":"aa7611487df30b0a4265c5d473b12fd472d7585253b94e811d07727e612f1cd5","impliedFormat":1},{"version":"cf386b5b17613da856eab27a85d33b87b8f9bd9db42a0eb43c97bd9ef8de20d1","signature":"eba3847a08cea18bd0b914fa1000f5bd6b412c6c19862e442051de8d969c202d","impliedFormat":1},{"version":"a52c5f687d788d283ea1fa38bdc2fabe0eac863135a7dfe175ec52b309f61892","impliedFormat":1},{"version":"cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","impliedFormat":1},{"version":"eb09cf44043f7d6e0208dca6f0555207015e91fff5ff77b9c21d63672f7d68d5","impliedFormat":1},{"version":"bbf6f246061b92bb84241897eebfcdb9ce28444ab6acbc32c425388dd27c1011","impliedFormat":1},{"version":"8c5990f1b988eb2c72fc421763db2dd9c27357a9ee145e0b72160e0a0f26eb60","impliedFormat":1},{"version":"e9c23b6f6bfcb04f1d8b8f6f55fee93b99ac78e4929e6828938f96d6d86d6106","impliedFormat":1},{"version":"914bd301c653aef4bd821a5f771145c70fdf3f1a10f8d3335e618c5cb2775973","impliedFormat":1},{"version":"80841e184b7f1fd7e56b341085be8e8726eb2e982d528dd113fd777dd0c0dcee","impliedFormat":1},{"version":"7cbb19d824c05c74ea2106cec1c70e6266cbf4cc1e13dc52cdce948b3881e06d","impliedFormat":1},{"version":"9af8b6e6dcbc33cd5799771e6f9e011b59621eb67441cca80c74edf6109d4975","impliedFormat":1},{"version":"de9eba86728a709f0ee39f8e6dbbb3a72b6784394659d9d48081e78c72e550bb","impliedFormat":1},{"version":"19b9ab65ed201676380ecd0e12fd1c5fd1808e909f41d6a257fa8fd285eb1816","impliedFormat":1},{"version":"cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","impliedFormat":1},{"version":"2a2e2c6463bcf3c59f31bc9ab4b6ef963bbf7dffb049cd017e2c1834e3adca63","impliedFormat":1},{"version":"6ac4166042f53e7688e91d2f82be52ed76b0e10e8736700d9df3402d05b63fd2","signature":"6e3bf7fa5a3a3deb71b3856cb81898f8593a9b012098132a6b7245206e80bccc","impliedFormat":1},{"version":"90c79eecacd20b37cd53a10ec239cc01b792ab2284493f02fc2b5dbd366d7071","signature":"4fae0cbdbb492b0fc847ec76d0a4af44eb04028200cec088d97fca05438213f1","impliedFormat":1},{"version":"7cd2fd18f5ed50d57dfa41c421023c44799d6849622afd2749fa85ae09e282ae","signature":"6dfb47347ed2cb776673215954dd2d494a9e56861728cc9ca90fa8e1f50df490","impliedFormat":1},{"version":"cbdaac8b45260fcfdbd8b7690401c128c1732ddbb9e79322748183a152d545ab","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"bce2266c695997884965191f1ebebbce9fb296aa7cfb19a1e737cdf8c3b56a0a","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"7c027ab91069981a7f3b14f0515beec789c987de9aa51ddc640f70167f53c2a4","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"bfccaab9e24517bcf639e09becec04ac6458f6daa84d994894723840097e34b6","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"e28634fbcc734900496000fe4f2f67e3f281a32a009b17668f46d86c810a1356","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"70646d9cb37b62611766d18a9bcca6cbf28ca9aec33a66244e974056ab1193f6","impliedFormat":1},{"version":"0cc1d1c94c9e95bc351f37ff7777dd1c7511645aef4f3b663bdced2adedabebf","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"ae29b990a43995e1bc84d162f9da550b901371a2435175633abc41b52ec07c7d","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"9911e609e86d740754395a3559afd0461f995e115e11ad12db4116a7db1bf649","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"50878feec8f98897ed7c7cefcadabbf590184cd47fec6fbc250f8e7a4adfc588","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"48fb79a273c30f729b46e1ed9ddc3e92dab23f882289c6d979f93bfba385be9f","signature":"3988253908858a57fa79bb3dcecd901aa12f955607b17d45955e196678344caa","impliedFormat":1},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true,"impliedFormat":1},{"version":"946bd1737d9412395a8f24414c70f18660b84a75a12b0b448e6eb1a2161d06dd","impliedFormat":1},{"version":"c6297435733f252a9c0e2297fab3b58014b8fde5fa097a4102dae4e12522bccd","impliedFormat":1},{"version":"e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a","impliedFormat":1},{"version":"78a1efd7214a25b84e08af80fe2b027c3049e52b26dfcaf777b82c759d8548c9","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","impliedFormat":1},{"version":"3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0","impliedFormat":1},{"version":"271cde49dfd9b398ccc91bb3aaa43854cf76f4d14e10fed91cbac649aa6cbc63","affectsGlobalScope":true,"impliedFormat":1},{"version":"2bcecd31f1b4281710c666843fc55133a0ee25b143e59f35f49c62e168123f4b","impliedFormat":1},{"version":"a6273756fa05f794b64fe1aff45f4371d444f51ed0257f9364a8b25f3501915d","impliedFormat":1},{"version":"9c4e644fe9bf08d93c93bd892705842189fe345163f8896849d5964d21b56b78","impliedFormat":1},{"version":"25d91fb9ed77a828cc6c7a863236fb712dafcd52f816eec481bd0c1f589f4404","impliedFormat":1},{"version":"4cd14cea22eed1bfb0dc76183e56989f897ac5b14c0e2a819e5162eafdcfe243","impliedFormat":1},{"version":"8d32432f68ca4ce93ad717823976f2db2add94c70c19602bf87ee67fe51df48b","impliedFormat":1},{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","impliedFormat":1},{"version":"f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","impliedFormat":1},{"version":"f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5","impliedFormat":1},{"version":"ce4e9cdf1ec90f3d435a4df18342b187805924f6046e872e76d3c1659ad545ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"bfe1b52cf71aea9bf8815810cc5d9490fa9617313e3d3c2ee3809a28b80d0bb4","impliedFormat":1},{"version":"ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","impliedFormat":1},{"version":"b3338366fe1f2c5f978e2ec200f57d35c5bd2c4c90c2191f1e638cfa5621c1f6","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","impliedFormat":1},{"version":"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","impliedFormat":1},{"version":"2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","impliedFormat":1},{"version":"c555dd691dd05955e99cd93dd99c685a65e5287813ccb5e6bfde951183248e26","impliedFormat":1},{"version":"62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","impliedFormat":1},{"version":"633221230134e4fe3ce6004d5caa03f8e7ee04f1e9e9f43f79aa027a467ef5cb","impliedFormat":1},{"version":"4e6b20a1b39c04c89b43854e991228ea4219a2a89a226fd57a0104738c61ac1b","impliedFormat":1},{"version":"6c362c5d50652957065cf52f282a2bf0a456ed3713738d0ee1a9089dbb5b5fe7","impliedFormat":1},{"version":"2ffcb0c75e294706a4d425ee3ead87826a4cda729fa901c6c605e68948adaf55","impliedFormat":1},{"version":"8017277c3843df85296d8730f9edf097d68d7d5f9bc9d8124fcacf17ecfd487e","impliedFormat":1},{"version":"8b3ba0006858bfefa8fd045d446377e0fb1738baa819a1f7e4a520644a0dc131","impliedFormat":1},{"version":"74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","impliedFormat":1},{"version":"20278d7dc78142b77cb5ebaadd6a20eae3eff7bec44fc70930520c2f4dba5e25","affectsGlobalScope":true,"impliedFormat":1},{"version":"a731eb78ba75bab5719ac09ebdf6e72f88f1387a1789e22419988b0bb5c6bf44","affectsGlobalScope":true,"impliedFormat":1}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"importHelpers":true,"jsx":3,"module":199,"noEmitHelpers":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":false,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[86,101,144,145,146],[101,113,114],[101,114,115,116,117],[101,108,114,116],[101,113,115],[73,101,108],[73,101,108,109],[101,109,110,111,112],[101,109,111],[101,110],[89,101,108,118,119,120,123],[101,119,120,122],[72,101,108,118,119,120,121],[101,120],[101,118,119],[101,108,118],[101],[101,180,181],[101,138,179,180],[101,130],[57,101],[60,101],[61,66,101],[62,72,73,80,89,100,101],[62,63,72,80,101],[64,101],[65,66,73,81,101],[66,89,97,101],[67,69,72,80,101],[68,101],[69,70,101],[71,72,101],[72,101],[72,73,74,89,100,101],[72,73,74,89,92,101],[101,105],[75,80,89,100,101],[72,73,75,76,80,89,97,100,101],[75,77,89,97,100,101],[57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],[72,78,101],[79,100,101],[69,72,80,89,101],[81,101],[82,101],[60,83,101],[84,99,101,105],[85,101],[86,101],[72,87,101],[87,88,101,103],[72,89,90,91,92,101],[89,91,101],[89,90,101],[92,101],[93,101],[72,95,96,101],[95,96,101],[66,80,89,97,101],[98,101],[80,99,101],[61,75,86,100,101],[66,101],[89,101,102],[101,103],[101,104],[61,66,72,74,83,89,100,101,103,105],[89,101,106],[101,108,125,126,127],[101,125,126],[101,125],[101,108,124],[101,128],[101,152,156],[101,152,154],[101,155,157,158],[101,138,141],[101,141],[101,138,139,140],[101,152],[101,152,160],[101,152,160,161],[101,152,153],[61,75,80,97,101,137,139,141,142,143],[54,55,82,101],[54,56,101],[54,101,132],[54,101,134],[54,82,101,167],[54,101,165,173],[54,101,149],[54,101,133],[54,101,148],[54,101,150],[54,82,101],[54,101],[54,82,101,129,131],[54,66,101,133],[54,55,56,66,82,100,101,132,134,135,136,147,148,149,150,165,166],[54,101,151,152,156,159,162,164],[72,73,101,108,184],[101,193],[101,187,193],[101,188,189,190,191,192],[101,198],[101,193,198,210],[101,193,198],[101,194,195,196,197],[89,101,108],[101,195,198,199],[129],[55,56,132,134,147,148,149,150,165,166],[156]],"referencedMap":[[147,1],[115,2],[118,3],[117,4],[116,5],[114,6],[110,7],[113,8],[112,9],[111,10],[109,6],[124,11],[123,12],[122,13],[121,14],[120,15],[119,16],[130,17],[173,17],[182,18],[179,17],[181,19],[180,17],[183,17],[138,17],[131,20],[57,21],[58,21],[60,22],[61,23],[62,24],[63,25],[64,26],[65,27],[66,28],[67,29],[68,30],[69,31],[70,31],[71,32],[72,33],[73,34],[74,35],[59,36],[107,17],[75,37],[76,38],[77,39],[108,40],[78,41],[79,42],[80,43],[81,44],[82,45],[83,46],[84,47],[85,48],[86,49],[87,50],[88,51],[89,52],[91,53],[90,54],[92,55],[93,56],[94,17],[95,57],[96,58],[97,59],[98,60],[99,61],[100,62],[101,63],[102,64],[103,65],[104,66],[105,67],[106,68],[152,17],[140,17],[135,17],[145,17],[136,17],[128,69],[127,70],[126,71],[125,72],[129,73],[151,17],[146,17],[157,74],[158,74],[155,75],[159,76],[139,77],[142,78],[141,79],[143,17],[54,17],[12,17],[11,17],[2,17],[13,17],[14,17],[15,17],[16,17],[17,17],[18,17],[19,17],[20,17],[3,17],[4,17],[24,17],[21,17],[22,17],[23,17],[25,17],[26,17],[27,17],[5,17],[28,17],[29,17],[30,17],[31,17],[6,17],[32,17],[33,17],[34,17],[35,17],[7,17],[36,17],[41,17],[42,17],[37,17],[38,17],[39,17],[40,17],[8,17],[46,17],[43,17],[44,17],[45,17],[47,17],[9,17],[48,17],[49,17],[50,17],[51,17],[52,17],[1,17],[10,17],[53,17],[156,75],[160,80],[161,81],[162,82],[153,80],[154,83],[137,17],[144,84],[168,85],[169,86],[170,87],[171,88],[172,89],[174,90],[175,91],[176,92],[177,93],[178,94],[55,95],[56,96],[132,97],[134,98],[167,99],[166,89],[165,100],[149,96],[133,96],[148,96],[150,91],[185,101],[186,80],[187,17],[191,102],[192,102],[188,103],[189,103],[190,103],[193,104],[199,105],[200,17],[201,17],[202,17],[164,80],[184,17],[203,17],[204,17],[205,17],[206,17],[196,17],[207,17],[208,105],[209,105],[211,106],[212,106],[210,107],[194,17],[198,108],[213,109],[214,17],[197,17],[215,110],[163,17],[216,17],[195,17]],"exportedModulesMap":[[147,1],[115,2],[118,3],[117,4],[116,5],[114,6],[110,7],[113,8],[112,9],[111,10],[109,6],[124,11],[123,12],[122,13],[121,14],[120,15],[119,16],[130,17],[173,17],[182,18],[179,17],[181,19],[180,17],[183,17],[138,17],[131,20],[57,21],[58,21],[60,22],[61,23],[62,24],[63,25],[64,26],[65,27],[66,28],[67,29],[68,30],[69,31],[70,31],[71,32],[72,33],[73,34],[74,35],[59,36],[107,17],[75,37],[76,38],[77,39],[108,40],[78,41],[79,42],[80,43],[81,44],[82,45],[83,46],[84,47],[85,48],[86,49],[87,50],[88,51],[89,52],[91,53],[90,54],[92,55],[93,56],[94,17],[95,57],[96,58],[97,59],[98,60],[99,61],[100,62],[101,63],[102,64],[103,65],[104,66],[105,67],[106,68],[152,17],[140,17],[135,17],[145,17],[136,17],[128,69],[127,70],[126,71],[125,72],[129,73],[151,17],[146,17],[157,74],[158,74],[155,75],[159,76],[139,77],[142,78],[141,79],[143,17],[54,17],[12,17],[11,17],[2,17],[13,17],[14,17],[15,17],[16,17],[17,17],[18,17],[19,17],[20,17],[3,17],[4,17],[24,17],[21,17],[22,17],[23,17],[25,17],[26,17],[27,17],[5,17],[28,17],[29,17],[30,17],[31,17],[6,17],[32,17],[33,17],[34,17],[35,17],[7,17],[36,17],[41,17],[42,17],[37,17],[38,17],[39,17],[40,17],[8,17],[46,17],[43,17],[44,17],[45,17],[47,17],[9,17],[48,17],[49,17],[50,17],[51,17],[52,17],[1,17],[10,17],[53,17],[156,75],[160,80],[161,81],[162,82],[153,80],[154,83],[137,17],[144,84],[132,111],[167,112],[165,113],[185,101],[186,80],[187,17],[191,102],[192,102],[188,103],[189,103],[190,103],[193,104],[199,105],[200,17],[201,17],[202,17],[164,80],[184,17],[203,17],[204,17],[205,17],[206,17],[196,17],[207,17],[208,105],[209,105],[211,106],[212,106],[210,107],[194,17],[198,108],[213,109],[214,17],[197,17],[215,110],[163,17],[216,17],[195,17]],"semanticDiagnosticsPerFile":[147,115,118,117,116,114,110,113,112,111,109,124,123,122,121,120,119,130,173,182,179,181,180,183,138,131,57,58,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,59,107,75,76,77,108,78,79,80,81,82,83,84,85,86,87,88,89,91,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,152,140,135,145,136,128,127,126,125,129,151,146,157,158,155,159,139,142,141,143,54,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,36,41,42,37,38,39,40,8,46,43,44,45,47,9,48,49,50,51,52,1,10,53,156,160,161,162,153,154,137,144,[168,[{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":355,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":405,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":464,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":536,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":783,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":855,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":930,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1012,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1322,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1371,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1614,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1668,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1805,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":1859,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2007,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2046,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2208,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2250,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2418,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2457,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2619,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2661,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2826,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/codeTranslationsUtils.test.ts","start":2874,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[169,[{"file":"../src/__tests__/escapePath.test.ts","start":233,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/escapePath.test.ts","start":266,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/escapePath.test.ts","start":753,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[170,[{"file":"../src/__tests__/globUtils.test.ts","start":295,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":385,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":453,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":499,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":554,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":628,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":675,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":731,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":806,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":852,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":907,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":974,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1029,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1096,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1168,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":1226,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1272,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1318,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1365,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1412,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1465,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1518,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1572,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1633,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1683,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1733,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1784,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1835,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1892,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":1949,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2007,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2065,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2132,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2199,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2267,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2342,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2407,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2472,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2538,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2604,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2666,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2728,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2791,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":2861,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":3090,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":3158,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3218,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3279,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3339,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3400,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3469,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3539,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3608,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3685,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3745,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3806,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3866,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3927,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":3996,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4066,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4135,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4210,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":4268,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4336,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4412,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/globUtils.test.ts","start":4489,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/globUtils.test.ts","start":4556,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[171,[{"file":"../src/__tests__/hashUtils.test.ts","start":242,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/hashUtils.test.ts","start":274,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/hashUtils.test.ts","start":1133,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/hashUtils.test.ts","start":1199,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/hashUtils.test.ts","start":1230,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/hashUtils.test.ts","start":2665,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[172,[{"file":"../src/__tests__/index.test.ts","start":714,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":747,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":1081,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":1193,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":1702,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":1771,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":2130,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":2193,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":2430,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":2782,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":2940,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":3429,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":3547,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":3933,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":4244,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":4351,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":4432,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":4978,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5026,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5074,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5120,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5166,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5261,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5325,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5465,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5511,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5555,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5594,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":5903,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":5957,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6011,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6065,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6117,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6174,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":6210,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6255,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6303,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6354,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6406,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6463,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6543,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6609,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6654,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6702,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6757,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6820,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":6877,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":6916,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":6949,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7011,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7044,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7108,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7146,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7179,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7236,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7269,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7328,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7370,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7403,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7466,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7502,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7569,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7604,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7639,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7704,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7739,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7804,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7839,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":7901,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":7942,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8007,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8042,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8077,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8142,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8177,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8242,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8277,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8339,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8380,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8445,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8485,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":8532,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8649,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8760,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8871,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":8993,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":9045,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":9261,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":9482,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":9522,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":9568,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":10248,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":10412,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":10760,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11239,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11279,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11317,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11372,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11434,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":11599,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":11694,"length":4,"messageText":"Cannot find name 'jest'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11832,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11937,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":11982,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12034,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12133,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12162,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12198,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":12245,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":12301,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12470,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":12550,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12682,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":12728,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":12783,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":12951,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":13020,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":13165,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":13217,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":13260,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":13941,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":13986,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":14042,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":14171,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":14224,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":14370,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":14431,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":14588,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":14643,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":14789,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":14844,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/index.test.ts","start":15070,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/index.test.ts","start":15121,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[174,[{"file":"../src/__tests__/markdownParser.test.ts","start":326,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":362,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":426,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":910,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":991,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":1628,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":1711,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":2375,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":2445,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":2735,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":2815,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":3104,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":3195,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":3329,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":3410,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":3860,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":3986,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":4945,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":5031,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":5167,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":5215,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":5369,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":5503,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":5671,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":5851,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":6038,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":6172,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":6301,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":6442,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":6561,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":6695,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":6882,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":7016,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":7199,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":7333,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":7533,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":7667,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":7842,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":7976,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":8159,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":8286,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":8464,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":8598,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":8790,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":8970,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":9447,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":9581,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":10478,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":10619,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":11530,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":11744,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":12118,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":12252,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":12640,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":12865,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":12962,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":13108,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":13301,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":13428,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":13658,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":13785,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":15003,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":15137,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":16369,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":16578,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":16620,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":16672,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":17054,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":17117,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":17449,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":17529,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":17968,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":18058,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":18571,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":18663,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":19077,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":19130,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":19624,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":19684,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":20083,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":20133,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":20459,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":20503,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":20730,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":20784,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":21066,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":21121,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":21491,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":21564,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/markdownParser.test.ts","start":21849,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/markdownParser.test.ts","start":21902,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[175,[{"file":"../src/__tests__/normalizeUrl.test.ts","start":237,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/normalizeUrl.test.ts","start":272,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/normalizeUrl.test.ts","start":2498,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/normalizeUrl.test.ts","start":2571,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/normalizeUrl.test.ts","start":2590,"length":38,"code":2578,"category":1,"messageText":"Unused '@ts-expect-error' directive."}]],[176,[{"file":"../src/__tests__/pathUtils.test.ts","start":246,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":278,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":1150,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/pathUtils.test.ts","start":1216,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":1250,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":2542,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/pathUtils.test.ts","start":2853,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":3037,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/pathUtils.test.ts","start":3103,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/pathUtils.test.ts","start":3179,"length":2,"messageText":"Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/pathUtils.test.ts","start":3280,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[177,[{"file":"../src/__tests__/posixPath.test.ts","start":231,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/posixPath.test.ts","start":263,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/posixPath.test.ts","start":715,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[178,[{"file":"../src/__tests__/tags.test.ts","start":300,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":469,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":690,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":773,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":1049,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":1132,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":1398,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":1481,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":1814,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":1899,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":2071,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":2585,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":2669,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":3303,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304},{"file":"../src/__tests__/tags.test.ts","start":3389,"length":8,"messageText":"Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":3730,"length":4,"messageText":"Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.","category":1,"code":2582},{"file":"../src/__tests__/tags.test.ts","start":5059,"length":6,"messageText":"Cannot find name 'expect'.","category":1,"code":2304}]],[55,[{"file":"../src/codeTranslationsUtils.ts","start":368,"length":105,"code":2578,"category":1,"messageText":"Unused '@ts-expect-error' directive."}]],56,132,134,[167,[{"file":"../src/index.ts","start":533,"length":35,"code":2578,"category":1,"messageText":"Unused '@ts-expect-error' directive."}]],166,[165,[{"file":"../src/markdownParser.ts","start":209,"length":20,"messageText":"Cannot find module '@docusaurus/logger' or its corresponding type declarations.","category":1,"code":2307}]],149,133,148,150,185,186,187,191,192,188,189,190,193,199,200,201,202,164,184,203,204,205,206,196,207,208,209,211,212,210,194,198,213,214,197,215,163,216,195]},"version":"4.8.0-dev.20220719"} |
| \ No newline at end of file |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.d.ts |
| new file mode 100644 |
| index 0000000..cb0ff5c |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.d.ts |
| @@ -0,0 +1 @@ |
| +export {}; |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.js b/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.js |
| new file mode 100644 |
| index 0000000..d88c9c0 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/codeTranslationsUtils.test.js |
| @@ -0,0 +1,77 @@ |
| +"use strict"; |
| +Object.defineProperty(exports, "__esModule", { value: true }); |
| +const tslib_1 = require("tslib"); |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +const path_1 = tslib_1.__importDefault(require("path")); |
| +const fs_extra_1 = tslib_1.__importDefault(require("fs-extra")); |
| +const codeTranslationsUtils_1 = require("../codeTranslationsUtils"); |
| +describe('codeTranslationLocalesToTry', () => { |
| + test('should return appropriate locale lists', () => { |
| + expect((0, codeTranslationsUtils_1.codeTranslationLocalesToTry)('fr')).toEqual(['fr', 'fr-FR']); |
| + expect((0, codeTranslationsUtils_1.codeTranslationLocalesToTry)('fr-FR')).toEqual(['fr-FR', 'fr']); |
| + // Note: "pt" is expanded into "pt-BR", not "pt-PT", as "pt-BR" is more widely used! |
| + // See https://github.com/facebook/docusaurus/pull/4536#issuecomment-810088783 |
| + expect((0, codeTranslationsUtils_1.codeTranslationLocalesToTry)('pt')).toEqual(['pt', 'pt-BR']); |
| + expect((0, codeTranslationsUtils_1.codeTranslationLocalesToTry)('pt-BR')).toEqual(['pt-BR', 'pt']); |
| + expect((0, codeTranslationsUtils_1.codeTranslationLocalesToTry)('pt-PT')).toEqual(['pt-PT', 'pt']); |
| + }); |
| +}); |
| +describe('readDefaultCodeTranslationMessages', () => { |
| + const dirPath = path_1.default.resolve(__dirname, '__fixtures__', 'defaultCodeTranslations'); |
| + async function readAsJSON(filename) { |
| + return JSON.parse(await fs_extra_1.default.readFile(path_1.default.resolve(dirPath, filename), 'utf8')); |
| + } |
| + test('for empty locale', async () => { |
| + await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({ |
| + locale: '', |
| + dirPath, |
| + })).rejects.toThrowErrorMatchingInlineSnapshot(`"First argument to Intl.Locale constructor can't be empty or missing"`); |
| + }); |
| + test('for unexisting locale', async () => { |
| + await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({ |
| + locale: 'es', |
| + dirPath, |
| + })).resolves.toEqual({}); |
| + }); |
| + test('for fr but bad folder', async () => { |
| + await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({ |
| + locale: 'fr', |
| + dirPath: __dirname, |
| + })).resolves.toEqual({}); |
| + }); |
| + test('for fr', async () => { |
| + await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({ |
| + locale: 'fr', |
| + dirPath, |
| + })).resolves.toEqual(await readAsJSON('fr.json')); |
| + }); |
| + test('for fr-FR', async () => { |
| + await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({ |
| + locale: 'fr-FR', |
| + dirPath, |
| + })).resolves.toEqual(await readAsJSON('fr-FR.json')); |
| + }); |
| + test('for en', async () => { |
| + await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({ |
| + locale: 'en', |
| + dirPath, |
| + })).resolves.toEqual(await readAsJSON('en.json')); |
| + }); |
| + test('for en-US', async () => { |
| + await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({ |
| + locale: 'en-US', |
| + dirPath, |
| + })).resolves.toEqual(await readAsJSON('en.json')); |
| + }); |
| + test('for en-WHATEVER', async () => { |
| + await expect((0, codeTranslationsUtils_1.readDefaultCodeTranslationMessages)({ |
| + locale: 'en-WHATEVER', |
| + dirPath, |
| + })).resolves.toEqual(await readAsJSON('en.json')); |
| + }); |
| +}); |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.d.ts |
| new file mode 100644 |
| index 0000000..027eb80 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.d.ts |
| @@ -0,0 +1,7 @@ |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +export {}; |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.js b/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.js |
| new file mode 100644 |
| index 0000000..5e6252f |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/escapePath.test.js |
| @@ -0,0 +1,25 @@ |
| +"use strict"; |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +Object.defineProperty(exports, "__esModule", { value: true }); |
| +const escapePath_1 = require("../escapePath"); |
| +describe('escapePath', () => { |
| + test('escapePath works', () => { |
| + const asserts = { |
| + 'c:/aaaa\\bbbb': 'c:/aaaa\\\\bbbb', |
| + 'c:\\aaaa\\bbbb\\★': 'c:\\\\aaaa\\\\bbbb\\\\★', |
| + '\\\\?\\c:\\aaaa\\bbbb': '\\\\\\\\?\\\\c:\\\\aaaa\\\\bbbb', |
| + 'c:\\aaaa\\bbbb': 'c:\\\\aaaa\\\\bbbb', |
| + 'foo\\bar': 'foo\\\\bar', |
| + 'foo\\bar/lol': 'foo\\\\bar/lol', |
| + 'website\\docs/**/*.{md,mdx}': 'website\\\\docs/**/*.{md,mdx}', |
| + }; |
| + Object.keys(asserts).forEach((file) => { |
| + expect((0, escapePath_1.escapePath)(file)).toBe(asserts[file]); |
| + }); |
| + }); |
| +}); |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.d.ts |
| new file mode 100644 |
| index 0000000..027eb80 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.d.ts |
| @@ -0,0 +1,7 @@ |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +export {}; |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.js b/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.js |
| new file mode 100644 |
| index 0000000..459dc2e |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/globUtils.test.js |
| @@ -0,0 +1,91 @@ |
| +"use strict"; |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +Object.defineProperty(exports, "__esModule", { value: true }); |
| +const globUtils_1 = require("../globUtils"); |
| +describe('createMatcher', () => { |
| + const matcher = (0, globUtils_1.createMatcher)(globUtils_1.GlobExcludeDefault); |
| + test('match default exclude MD/MDX partials correctly', () => { |
| + expect(matcher('doc.md')).toEqual(false); |
| + expect(matcher('category/doc.md')).toEqual(false); |
| + expect(matcher('category/subcategory/doc.md')).toEqual(false); |
| + // |
| + expect(matcher('doc.mdx')).toEqual(false); |
| + expect(matcher('category/doc.mdx')).toEqual(false); |
| + expect(matcher('category/subcategory/doc.mdx')).toEqual(false); |
| + // |
| + expect(matcher('_doc.md')).toEqual(true); |
| + expect(matcher('category/_doc.md')).toEqual(true); |
| + expect(matcher('category/subcategory/_doc.md')).toEqual(true); |
| + expect(matcher('_category/doc.md')).toEqual(true); |
| + expect(matcher('_category/subcategory/doc.md')).toEqual(true); |
| + expect(matcher('category/_subcategory/doc.md')).toEqual(true); |
| + }); |
| + test('match default exclude tests correctly', () => { |
| + expect(matcher('xyz.js')).toEqual(false); |
| + expect(matcher('xyz.ts')).toEqual(false); |
| + expect(matcher('xyz.jsx')).toEqual(false); |
| + expect(matcher('xyz.tsx')).toEqual(false); |
| + expect(matcher('folder/xyz.js')).toEqual(false); |
| + expect(matcher('folder/xyz.ts')).toEqual(false); |
| + expect(matcher('folder/xyz.jsx')).toEqual(false); |
| + expect(matcher('folder/xyz.tsx')).toEqual(false); |
| + // |
| + expect(matcher('xyz.test.js')).toEqual(true); |
| + expect(matcher('xyz.test.ts')).toEqual(true); |
| + expect(matcher('xyz.test.jsx')).toEqual(true); |
| + expect(matcher('xyz.test.tsx')).toEqual(true); |
| + expect(matcher('folder/xyz.test.js')).toEqual(true); |
| + expect(matcher('folder/xyz.test.ts')).toEqual(true); |
| + expect(matcher('folder/xyz.test.jsx')).toEqual(true); |
| + expect(matcher('folder/xyz.test.tsx')).toEqual(true); |
| + expect(matcher('folder/subfolder/xyz.test.js')).toEqual(true); |
| + expect(matcher('folder/subfolder/xyz.test.ts')).toEqual(true); |
| + expect(matcher('folder/subfolder/xyz.test.jsx')).toEqual(true); |
| + expect(matcher('folder/subfolder/xyz.test.tsx')).toEqual(true); |
| + // |
| + expect(matcher('__tests__/subfolder/xyz.js')).toEqual(true); |
| + expect(matcher('__tests__/subfolder/xyz.ts')).toEqual(true); |
| + expect(matcher('__tests__/subfolder/xyz.jsx')).toEqual(true); |
| + expect(matcher('__tests__/subfolder/xyz.tsx')).toEqual(true); |
| + expect(matcher('folder/__tests__/xyz.js')).toEqual(true); |
| + expect(matcher('folder/__tests__/xyz.ts')).toEqual(true); |
| + expect(matcher('folder/__tests__/xyz.jsx')).toEqual(true); |
| + expect(matcher('folder/__tests__/xyz.tsx')).toEqual(true); |
| + }); |
| +}); |
| +describe('createAbsoluteFilePathMatcher', () => { |
| + const rootFolders = ['/_root/docs', '/root/_docs/', '/__test__/website/src']; |
| + const matcher = (0, globUtils_1.createAbsoluteFilePathMatcher)(globUtils_1.GlobExcludeDefault, rootFolders); |
| + test('match default exclude MD/MDX partials correctly', () => { |
| + expect(matcher('/_root/docs/myDoc.md')).toEqual(false); |
| + expect(matcher('/_root/docs/myDoc.mdx')).toEqual(false); |
| + expect(matcher('/root/_docs/myDoc.md')).toEqual(false); |
| + expect(matcher('/root/_docs/myDoc.mdx')).toEqual(false); |
| + expect(matcher('/_root/docs/category/myDoc.md')).toEqual(false); |
| + expect(matcher('/_root/docs/category/myDoc.mdx')).toEqual(false); |
| + expect(matcher('/root/_docs/category/myDoc.md')).toEqual(false); |
| + expect(matcher('/root/_docs/category/myDoc.mdx')).toEqual(false); |
| + // |
| + expect(matcher('/_root/docs/_myDoc.md')).toEqual(true); |
| + expect(matcher('/_root/docs/_myDoc.mdx')).toEqual(true); |
| + expect(matcher('/root/_docs/_myDoc.md')).toEqual(true); |
| + expect(matcher('/root/_docs/_myDoc.mdx')).toEqual(true); |
| + expect(matcher('/_root/docs/_category/myDoc.md')).toEqual(true); |
| + expect(matcher('/_root/docs/_category/myDoc.mdx')).toEqual(true); |
| + expect(matcher('/root/_docs/_category/myDoc.md')).toEqual(true); |
| + expect(matcher('/root/_docs/_category/myDoc.mdx')).toEqual(true); |
| + }); |
| + test('match default exclude tests correctly', () => { |
| + expect(matcher('/__test__/website/src/xyz.js')).toEqual(false); |
| + expect(matcher('/__test__/website/src/__test__/xyz.js')).toEqual(true); |
| + expect(matcher('/__test__/website/src/xyz.test.js')).toEqual(true); |
| + }); |
| + test('throw if file is not contained in any root doc', () => { |
| + expect(() => matcher('/bad/path/myDoc.md')).toThrowErrorMatchingInlineSnapshot(`"createAbsoluteFilePathMatcher unexpected error, absoluteFilePath=/bad/path/myDoc.md was not contained in any of the root folders [\\"/_root/docs\\",\\"/root/_docs/\\",\\"/__test__/website/src\\"]"`); |
| + }); |
| +}); |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.d.ts |
| new file mode 100644 |
| index 0000000..027eb80 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.d.ts |
| @@ -0,0 +1,7 @@ |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +export {}; |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.js b/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.js |
| new file mode 100644 |
| index 0000000..b3369f7 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/hashUtils.test.js |
| @@ -0,0 +1,46 @@ |
| +"use strict"; |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +Object.defineProperty(exports, "__esModule", { value: true }); |
| +const hashUtils_1 = require("../hashUtils"); |
| +describe('hashUtils', () => { |
| + test('simpleHash', () => { |
| + const asserts = { |
| + '': 'd41', |
| + '/foo-bar': '096', |
| + '/foo/bar': '1df', |
| + '/endi/lie': '9fa', |
| + '/endi-lie': 'fd3', |
| + '/yangshun/tay': '48d', |
| + '/yangshun-tay': 'f3b', |
| + '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar': 'd46', |
| + '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/test1-test2': '787', |
| + }; |
| + Object.keys(asserts).forEach((str) => { |
| + expect((0, hashUtils_1.simpleHash)(str, 3)).toBe(asserts[str]); |
| + }); |
| + }); |
| +}); |
| +describe('docuHash', () => { |
| + test('docuHash works', () => { |
| + const asserts = { |
| + '': '-d41', |
| + '/': 'index', |
| + '/foo-bar': 'foo-bar-096', |
| + '/foo/bar': 'foo-bar-1df', |
| + '/endi/lie': 'endi-lie-9fa', |
| + '/endi-lie': 'endi-lie-fd3', |
| + '/yangshun/tay': 'yangshun-tay-48d', |
| + '/yangshun-tay': 'yangshun-tay-f3b', |
| + '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar': 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo--d46', |
| + '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/test1-test2': 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test--787', |
| + }; |
| + Object.keys(asserts).forEach((file) => { |
| + expect((0, hashUtils_1.docuHash)(file)).toBe(asserts[file]); |
| + }); |
| + }); |
| +}); |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/index.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/index.test.d.ts |
| new file mode 100644 |
| index 0000000..027eb80 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/index.test.d.ts |
| @@ -0,0 +1,7 @@ |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +export {}; |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/index.test.js b/node_modules/@docusaurus/utils/lib/__tests__/index.test.js |
| new file mode 100644 |
| index 0000000..6b2eb3e |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/index.test.js |
| @@ -0,0 +1,408 @@ |
| +"use strict"; |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +Object.defineProperty(exports, "__esModule", { value: true }); |
| +const tslib_1 = require("tslib"); |
| +const path_1 = tslib_1.__importDefault(require("path")); |
| +const index_1 = require("../index"); |
| +const lodash_1 = require("lodash"); |
| +describe('load utils', () => { |
| + test('aliasedSitePath', () => { |
| + const asserts = { |
| + 'user/website/docs/asd.md': '@site/docs/asd.md', |
| + 'user/website/versioned_docs/foo/bar.md': '@site/versioned_docs/foo/bar.md', |
| + 'user/docs/test.md': '@site/../docs/test.md', |
| + }; |
| + Object.keys(asserts).forEach((file) => { |
| + expect((0, index_1.posixPath)((0, index_1.aliasedSitePath)(file, 'user/website'))).toBe(asserts[file]); |
| + }); |
| + }); |
| + test('genComponentName', () => { |
| + const asserts = { |
| + '/': 'index', |
| + '/foo-bar': 'FooBar096', |
| + '/foo/bar': 'FooBar1Df', |
| + '/blog/2017/12/14/introducing-docusaurus': 'Blog20171214IntroducingDocusaurus8D2', |
| + '/blog/2017/12/14-introducing-docusaurus': 'Blog20171214IntroducingDocusaurus0Bc', |
| + '/blog/201712/14-introducing-docusaurus': 'Blog20171214IntroducingDocusaurusA93', |
| + }; |
| + Object.keys(asserts).forEach((file) => { |
| + expect((0, index_1.genComponentName)(file)).toBe(asserts[file]); |
| + }); |
| + }); |
| + test('fileToPath', () => { |
| + const asserts = { |
| + 'index.md': '/', |
| + 'hello/index.md': '/hello/', |
| + 'foo.md': '/foo', |
| + 'foo/bar.md': '/foo/bar', |
| + 'index.js': '/', |
| + 'hello/index.js': '/hello/', |
| + 'foo.js': '/foo', |
| + 'foo/bar.js': '/foo/bar', |
| + }; |
| + Object.keys(asserts).forEach((file) => { |
| + expect((0, index_1.fileToPath)(file)).toBe(asserts[file]); |
| + }); |
| + }); |
| + test('objectWithKeySorted', () => { |
| + const obj = { |
| + '/docs/adding-blog': '4', |
| + '/docs/versioning': '5', |
| + '/': '1', |
| + '/blog/2018': '3', |
| + '/youtube': '7', |
| + '/users/en/': '6', |
| + '/blog': '2', |
| + }; |
| + expect((0, index_1.objectWithKeySorted)(obj)).toMatchInlineSnapshot(` |
| + Object { |
| + "/": "1", |
| + "/blog": "2", |
| + "/blog/2018": "3", |
| + "/docs/adding-blog": "4", |
| + "/docs/versioning": "5", |
| + "/users/en/": "6", |
| + "/youtube": "7", |
| + } |
| + `); |
| + const obj2 = { |
| + b: 'foo', |
| + c: 'bar', |
| + a: 'baz', |
| + }; |
| + expect((0, index_1.objectWithKeySorted)(obj2)).toMatchInlineSnapshot(` |
| + Object { |
| + "a": "baz", |
| + "b": "foo", |
| + "c": "bar", |
| + } |
| + `); |
| + }); |
| + test('genChunkName', () => { |
| + const firstAssert = { |
| + '/docs/adding-blog': 'docs-adding-blog-062', |
| + '/docs/versioning': 'docs-versioning-8a8', |
| + '/': 'index', |
| + '/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus': 'blog-2018-04-30-how-i-converted-profilo-to-docusaurus-4f2', |
| + '/youtube': 'youtube-429', |
| + '/users/en/': 'users-en-f7a', |
| + '/blog': 'blog-c06', |
| + }; |
| + Object.keys(firstAssert).forEach((str) => { |
| + expect((0, index_1.genChunkName)(str)).toBe(firstAssert[str]); |
| + }); |
| + // Don't allow different chunk name for same path. |
| + expect((0, index_1.genChunkName)('path/is/similar', 'oldPrefix')).toEqual((0, index_1.genChunkName)('path/is/similar', 'newPrefix')); |
| + // Even with same preferred name, still different chunk name for different path |
| + const secondAssert = { |
| + '/blog/1': 'blog-85-f-089', |
| + '/blog/2': 'blog-353-489', |
| + }; |
| + Object.keys(secondAssert).forEach((str) => { |
| + expect((0, index_1.genChunkName)(str, undefined, 'blog')).toBe(secondAssert[str]); |
| + }); |
| + // Only generate short unique id |
| + const thirdAssert = { |
| + a: '0cc175b9', |
| + b: '92eb5ffe', |
| + c: '4a8a08f0', |
| + d: '8277e091', |
| + }; |
| + Object.keys(thirdAssert).forEach((str) => { |
| + expect((0, index_1.genChunkName)(str, undefined, undefined, true)).toBe(thirdAssert[str]); |
| + }); |
| + expect((0, index_1.genChunkName)('d', undefined, undefined, true)).toBe('8277e091'); |
| + }); |
| + test('idx', () => { |
| + const a = {}; |
| + const b = { hello: 'world' }; |
| + const obj = { |
| + translation: { |
| + enabled: true, |
| + enabledLanguages: [ |
| + { |
| + enabled: true, |
| + name: 'English', |
| + tag: 'en', |
| + }, |
| + { |
| + enabled: true, |
| + name: '日本語', |
| + tag: 'ja', |
| + }, |
| + ], |
| + }, |
| + versioning: { |
| + enabled: false, |
| + versions: [], |
| + }, |
| + }; |
| + const test = { arr: [1, 2, 3] }; |
| + const variable = 'enabledLanguages'; |
| + expect((0, index_1.idx)(a, ['b', 'c'])).toBeUndefined(); |
| + expect((0, index_1.idx)(b, ['hello'])).toEqual('world'); |
| + expect((0, index_1.idx)(b, 'hello')).toEqual('world'); |
| + expect((0, index_1.idx)(obj, 'typo')).toBeUndefined(); |
| + expect((0, index_1.idx)(obj, 'versioning')).toEqual({ |
| + enabled: false, |
| + versions: [], |
| + }); |
| + expect((0, index_1.idx)(obj, ['translation', 'enabled'])).toEqual(true); |
| + expect((0, index_1.idx)(obj, ['translation', variable]).map((lang) => lang.tag)).toEqual(['en', 'ja']); |
| + expect((0, index_1.idx)(test, ['arr', 0])).toEqual(1); |
| + expect((0, index_1.idx)(undefined)).toBeUndefined(); |
| + expect((0, index_1.idx)(null)).toBeNull(); |
| + }); |
| + test('getSubFolder', () => { |
| + const testA = path_1.default.join('folder', 'en', 'test.md'); |
| + const testB = path_1.default.join('folder', 'ja', 'test.md'); |
| + const testC = path_1.default.join('folder', 'ja', 'en', 'test.md'); |
| + const testD = path_1.default.join('docs', 'ro', 'test.md'); |
| + const testE = path_1.default.join('docs', 'test.md'); |
| + expect((0, index_1.getSubFolder)(testA, 'folder')).toBe('en'); |
| + expect((0, index_1.getSubFolder)(testB, 'folder')).toBe('ja'); |
| + expect((0, index_1.getSubFolder)(testC, 'folder')).toBe('ja'); |
| + expect((0, index_1.getSubFolder)(testD, 'docs')).toBe('ro'); |
| + expect((0, index_1.getSubFolder)(testE, 'docs')).toBeNull(); |
| + }); |
| + test('isValidPathname', () => { |
| + expect((0, index_1.isValidPathname)('/')).toBe(true); |
| + expect((0, index_1.isValidPathname)('/hey')).toBe(true); |
| + expect((0, index_1.isValidPathname)('/hey/ho')).toBe(true); |
| + expect((0, index_1.isValidPathname)('/hey/ho/')).toBe(true); |
| + expect((0, index_1.isValidPathname)('/hey/h%C3%B4/')).toBe(true); |
| + expect((0, index_1.isValidPathname)('/hey///ho///')).toBe(true); // Unexpected but valid |
| + expect((0, index_1.isValidPathname)('/hey/héllô you')).toBe(true); |
| + // |
| + expect((0, index_1.isValidPathname)('')).toBe(false); |
| + expect((0, index_1.isValidPathname)('hey')).toBe(false); |
| + expect((0, index_1.isValidPathname)('/hey?qs=ho')).toBe(false); |
| + expect((0, index_1.isValidPathname)('https://fb.com/hey')).toBe(false); |
| + expect((0, index_1.isValidPathname)('//hey')).toBe(false); |
| + }); |
| +}); |
| +describe('addTrailingSlash', () => { |
| + test('should no-op', () => { |
| + expect((0, index_1.addTrailingSlash)('/abcd/')).toEqual('/abcd/'); |
| + }); |
| + test('should add /', () => { |
| + expect((0, index_1.addTrailingSlash)('/abcd')).toEqual('/abcd/'); |
| + }); |
| +}); |
| +describe('addLeadingSlash', () => { |
| + test('should no-op', () => { |
| + expect((0, index_1.addLeadingSlash)('/abc')).toEqual('/abc'); |
| + }); |
| + test('should add /', () => { |
| + expect((0, index_1.addLeadingSlash)('abc')).toEqual('/abc'); |
| + }); |
| +}); |
| +describe('removeTrailingSlash', () => { |
| + test('should no-op', () => { |
| + expect((0, index_1.removeTrailingSlash)('/abcd')).toEqual('/abcd'); |
| + }); |
| + test('should remove /', () => { |
| + expect((0, index_1.removeTrailingSlash)('/abcd/')).toEqual('/abcd'); |
| + }); |
| +}); |
| +describe('removeSuffix', () => { |
| + test('should no-op 1', () => { |
| + expect((0, index_1.removeSuffix)('abcdef', 'ijk')).toEqual('abcdef'); |
| + }); |
| + test('should no-op 2', () => { |
| + expect((0, index_1.removeSuffix)('abcdef', 'abc')).toEqual('abcdef'); |
| + }); |
| + test('should no-op 3', () => { |
| + expect((0, index_1.removeSuffix)('abcdef', '')).toEqual('abcdef'); |
| + }); |
| + test('should remove suffix', () => { |
| + expect((0, index_1.removeSuffix)('abcdef', 'ef')).toEqual('abcd'); |
| + }); |
| +}); |
| +describe('removePrefix', () => { |
| + test('should no-op 1', () => { |
| + expect((0, index_1.removePrefix)('abcdef', 'ijk')).toEqual('abcdef'); |
| + }); |
| + test('should no-op 2', () => { |
| + expect((0, index_1.removePrefix)('abcdef', 'def')).toEqual('abcdef'); |
| + }); |
| + test('should no-op 3', () => { |
| + expect((0, index_1.removePrefix)('abcdef', '')).toEqual('abcdef'); |
| + }); |
| + test('should remove prefix', () => { |
| + expect((0, index_1.removePrefix)('abcdef', 'ab')).toEqual('cdef'); |
| + }); |
| +}); |
| +describe('getElementsAround', () => { |
| + test('can return elements around', () => { |
| + expect((0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], 0)).toEqual({ |
| + previous: undefined, |
| + next: 'b', |
| + }); |
| + expect((0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], 1)).toEqual({ |
| + previous: 'a', |
| + next: 'c', |
| + }); |
| + expect((0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], 2)).toEqual({ |
| + previous: 'b', |
| + next: 'd', |
| + }); |
| + expect((0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], 3)).toEqual({ |
| + previous: 'c', |
| + next: undefined, |
| + }); |
| + }); |
| + test('throws if bad index is provided', () => { |
| + expect(() => (0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], -1)).toThrowErrorMatchingInlineSnapshot(`"Valid \\"aroundIndex\\" for array (of size 4) are between 0 and 3, but you provided -1."`); |
| + expect(() => (0, index_1.getElementsAround)(['a', 'b', 'c', 'd'], 4)).toThrowErrorMatchingInlineSnapshot(`"Valid \\"aroundIndex\\" for array (of size 4) are between 0 and 3, but you provided 4."`); |
| + }); |
| +}); |
| +describe('mergeTranslations', () => { |
| + test('should merge translations', () => { |
| + expect((0, index_1.mergeTranslations)([ |
| + { |
| + T1: { message: 'T1 message', description: 'T1 desc' }, |
| + T2: { message: 'T2 message', description: 'T2 desc' }, |
| + T3: { message: 'T3 message', description: 'T3 desc' }, |
| + }, |
| + { |
| + T4: { message: 'T4 message', description: 'T4 desc' }, |
| + }, |
| + { T2: { message: 'T2 message 2', description: 'T2 desc 2' } }, |
| + ])).toEqual({ |
| + T1: { message: 'T1 message', description: 'T1 desc' }, |
| + T2: { message: 'T2 message 2', description: 'T2 desc 2' }, |
| + T3: { message: 'T3 message', description: 'T3 desc' }, |
| + T4: { message: 'T4 message', description: 'T4 desc' }, |
| + }); |
| + }); |
| +}); |
| +describe('mapAsyncSequencial', () => { |
| + function sleep(timeout) { |
| + return new Promise((resolve) => setTimeout(resolve, timeout)); |
| + } |
| + test('map sequentially', async () => { |
| + const itemToTimeout = { |
| + '1': 50, |
| + '2': 150, |
| + '3': 100, |
| + }; |
| + const items = Object.keys(itemToTimeout); |
| + const itemMapStartsAt = {}; |
| + const itemMapEndsAt = {}; |
| + const timeBefore = Date.now(); |
| + await expect((0, index_1.mapAsyncSequencial)(items, async (item) => { |
| + const itemTimeout = itemToTimeout[item]; |
| + itemMapStartsAt[item] = Date.now(); |
| + await sleep(itemTimeout); |
| + itemMapEndsAt[item] = Date.now(); |
| + return `${item} mapped`; |
| + })).resolves.toEqual(['1 mapped', '2 mapped', '3 mapped']); |
| + const timeAfter = Date.now(); |
| + const timeTotal = timeAfter - timeBefore; |
| + const totalTimeouts = (0, lodash_1.sum)(Object.values(itemToTimeout)); |
| + expect(timeTotal > totalTimeouts); |
| + expect(itemMapStartsAt['1'] > 0); |
| + expect(itemMapStartsAt['2'] > itemMapEndsAt['1']); |
| + expect(itemMapStartsAt['3'] > itemMapEndsAt['2']); |
| + }); |
| +}); |
| +describe('findAsyncSequencial', () => { |
| + function sleep(timeout) { |
| + return new Promise((resolve) => setTimeout(resolve, timeout)); |
| + } |
| + test('find sequentially', async () => { |
| + const items = ['1', '2', '3']; |
| + const findFn = jest.fn(async (item) => { |
| + await sleep(50); |
| + return item === '2'; |
| + }); |
| + const timeBefore = Date.now(); |
| + await expect((0, index_1.findAsyncSequential)(items, findFn)).resolves.toEqual('2'); |
| + const timeAfter = Date.now(); |
| + expect(findFn).toHaveBeenCalledTimes(2); |
| + expect(findFn).toHaveBeenNthCalledWith(1, '1'); |
| + expect(findFn).toHaveBeenNthCalledWith(2, '2'); |
| + const timeTotal = timeAfter - timeBefore; |
| + expect(timeTotal > 100); |
| + expect(timeTotal < 150); |
| + }); |
| +}); |
| +describe('findFolderContainingFile', () => { |
| + test('find appropriate folder', async () => { |
| + await expect((0, index_1.findFolderContainingFile)(['/abcdef', '/gehij', __dirname, '/klmn'], 'index.test.ts')).resolves.toEqual(__dirname); |
| + }); |
| + test('return undefined if no folder contain such file', async () => { |
| + await expect((0, index_1.findFolderContainingFile)(['/abcdef', '/gehij', '/klmn'], 'index.test.ts')).resolves.toBeUndefined(); |
| + }); |
| +}); |
| +describe('getFolderContainingFile', () => { |
| + test('get appropriate folder', async () => { |
| + await expect((0, index_1.getFolderContainingFile)(['/abcdef', '/gehij', __dirname, '/klmn'], 'index.test.ts')).resolves.toEqual(__dirname); |
| + }); |
| + test('throw if no folder contain such file', async () => { |
| + await expect((0, index_1.getFolderContainingFile)(['/abcdef', '/gehij', '/klmn'], 'index.test.ts')).rejects.toThrowErrorMatchingSnapshot(); |
| + }); |
| +}); |
| +describe('updateTranslationFileMessages', () => { |
| + test('should update messages', () => { |
| + expect((0, index_1.updateTranslationFileMessages)({ |
| + path: 'abc', |
| + content: { |
| + t1: { message: 't1 message', description: 't1 desc' }, |
| + t2: { message: 't2 message', description: 't2 desc' }, |
| + t3: { message: 't3 message', description: 't3 desc' }, |
| + }, |
| + }, (message) => `prefix ${message} suffix`)).toEqual({ |
| + path: 'abc', |
| + content: { |
| + t1: { message: 'prefix t1 message suffix', description: 't1 desc' }, |
| + t2: { message: 'prefix t2 message suffix', description: 't2 desc' }, |
| + t3: { message: 'prefix t3 message suffix', description: 't3 desc' }, |
| + }, |
| + }); |
| + }); |
| +}); |
| +describe('parseMarkdownHeadingId', () => { |
| + test('can parse simple heading without id', () => { |
| + expect((0, index_1.parseMarkdownHeadingId)('## Some heading')).toEqual({ |
| + text: '## Some heading', |
| + id: undefined, |
| + }); |
| + }); |
| + test('can parse simple heading with id', () => { |
| + expect((0, index_1.parseMarkdownHeadingId)('## Some heading {#custom-_id}')).toEqual({ |
| + text: '## Some heading', |
| + id: 'custom-_id', |
| + }); |
| + }); |
| + test('can parse heading not ending with the id', () => { |
| + expect((0, index_1.parseMarkdownHeadingId)('## {#custom-_id} Some heading')).toEqual({ |
| + text: '## {#custom-_id} Some heading', |
| + id: undefined, |
| + }); |
| + }); |
| + test('can parse heading with multiple id', () => { |
| + expect((0, index_1.parseMarkdownHeadingId)('## Some heading {#id1} {#id2}')).toEqual({ |
| + text: '## Some heading {#id1}', |
| + id: 'id2', |
| + }); |
| + }); |
| + test('can parse heading with link and id', () => { |
| + expect((0, index_1.parseMarkdownHeadingId)('## Some heading [facebook](https://facebook.com) {#id}')).toEqual({ |
| + text: '## Some heading [facebook](https://facebook.com)', |
| + id: 'id', |
| + }); |
| + }); |
| + test('can parse heading with only id', () => { |
| + expect((0, index_1.parseMarkdownHeadingId)('## {#id}')).toEqual({ |
| + text: '##', |
| + id: 'id', |
| + }); |
| + }); |
| +}); |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.d.ts |
| new file mode 100644 |
| index 0000000..027eb80 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.d.ts |
| @@ -0,0 +1,7 @@ |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +export {}; |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/markdownParser.test.ts b/node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.js |
| similarity index 50% |
| rename from node_modules/@docusaurus/utils/src/__tests__/markdownParser.test.ts |
| rename to node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.js |
| index 2f36481..2b54f42 100644 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/markdownParser.test.ts |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/markdownParser.test.js |
| @@ -1,49 +1,36 @@ |
| +"use strict"; |
| /** |
| * Copyright (c) Facebook, Inc. and its affiliates. |
| * |
| * This source code is licensed under the MIT license found in the |
| * LICENSE file in the root directory of this source tree. |
| */ |
| - |
| -import { |
| - createExcerpt, |
| - parseMarkdownContentTitle, |
| - parseMarkdownString, |
| -} from '../markdownParser'; |
| -import dedent from 'dedent'; |
| - |
| +Object.defineProperty(exports, "__esModule", { value: true }); |
| +const tslib_1 = require("tslib"); |
| +const markdownParser_1 = require("../markdownParser"); |
| +const dedent_1 = tslib_1.__importDefault(require("dedent")); |
| describe('createExcerpt', () => { |
| - test('should create excerpt for text-only content', () => { |
| - expect( |
| - createExcerpt(dedent` |
| + test('should create excerpt for text-only content', () => { |
| + expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) ` |
| Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo. |
| |
| Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis. |
| - `), |
| - ).toEqual( |
| - 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.', |
| - ); |
| - }); |
| - |
| - test('should create excerpt for regular content with regular title', () => { |
| - expect( |
| - createExcerpt(dedent` |
| + `)).toEqual('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.'); |
| + }); |
| + test('should create excerpt for regular content with regular title', () => { |
| + expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) ` |
| |
| # Markdown Regular Title |
| |
| Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo. |
| |
| Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis. |
| - `), |
| - ).toEqual( |
| - // h1 title is skipped on purpose, because we don't want the page to have SEO metadatas title === description |
| - 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.', |
| - ); |
| - }); |
| - |
| - test('should create excerpt for regular content with alternate title', () => { |
| - expect( |
| - createExcerpt(dedent` |
| + `)).toEqual( |
| + // h1 title is skipped on purpose, because we don't want the page to have SEO metadatas title === description |
| + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.'); |
| + }); |
| + test('should create excerpt for regular content with alternate title', () => { |
| + expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) ` |
| |
| Markdown Alternate Title |
| ================ |
| @@ -51,44 +38,31 @@ describe('createExcerpt', () => { |
| Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo. |
| |
| Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis. |
| - `), |
| - ).toEqual( |
| - // h1 title is skipped on purpose, because we don't want the page to have SEO metadatas title === description |
| - 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.', |
| - ); |
| - }); |
| - |
| - test('should create excerpt for content with h2 heading', () => { |
| - expect( |
| - createExcerpt(dedent` |
| + `)).toEqual( |
| + // h1 title is skipped on purpose, because we don't want the page to have SEO metadatas title === description |
| + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.'); |
| + }); |
| + test('should create excerpt for content with h2 heading', () => { |
| + expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) ` |
| ## Lorem ipsum dolor sit amet |
| |
| Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis. |
| - `), |
| - ).toEqual('Lorem ipsum dolor sit amet'); |
| - }); |
| - |
| - test('should create excerpt for content beginning with blockquote', () => { |
| - expect( |
| - createExcerpt(dedent` |
| + `)).toEqual('Lorem ipsum dolor sit amet'); |
| + }); |
| + test('should create excerpt for content beginning with blockquote', () => { |
| + expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) ` |
| > Lorem ipsum dolor sit amet |
| |
| Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis. |
| - `), |
| - ).toEqual('Lorem ipsum dolor sit amet'); |
| - }); |
| - |
| - test('should create excerpt for content beginning with image (eg. blog post)', () => { |
| - expect( |
| - createExcerpt(dedent` |
| + `)).toEqual('Lorem ipsum dolor sit amet'); |
| + }); |
| + test('should create excerpt for content beginning with image (eg. blog post)', () => { |
| + expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) ` |
|  |
| - `), |
| - ).toEqual('Lorem ipsum'); |
| - }); |
| - |
| - test('should create excerpt for content beginning with admonitions', () => { |
| - expect( |
| - createExcerpt(dedent` |
| + `)).toEqual('Lorem ipsum'); |
| + }); |
| + test('should create excerpt for content beginning with admonitions', () => { |
| + expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) ` |
| import Component from '@site/src/components/Component' |
| |
| :::caution |
| @@ -98,13 +72,10 @@ describe('createExcerpt', () => { |
| ::: |
| |
| Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis. |
| - `), |
| - ).toEqual('Lorem ipsum dolor sit amet, consectetur adipiscing elit.'); |
| - }); |
| - |
| - test('should create excerpt for content with imports/exports declarations and Markdown markup, as well as Emoji', () => { |
| - expect( |
| - createExcerpt(dedent` |
| + `)).toEqual('Lorem ipsum dolor sit amet, consectetur adipiscing elit.'); |
| + }); |
| + test('should create excerpt for content with imports/exports declarations and Markdown markup, as well as Emoji', () => { |
| + expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) ` |
| import Component from '@site/src/components/Component'; |
| import Component from '@site/src/components/Component' |
| import './styles.css'; |
| @@ -116,68 +87,56 @@ describe('createExcerpt', () => { |
| Lorem **ipsum** dolor sit \`amet\`[^1], consectetur _adipiscing_ elit. [**Vestibulum**](https://wiktionary.org/wiki/vestibulum) ex urna[^bignote], ~molestie~ et sagittis ut, varius ac justo :wink:. |
| |
| Nunc porttitor libero nec vulputate venenatis. Nam nec rhoncus mauris. Morbi tempus est et nibh maximus, tempus venenatis arcu lobortis. |
| - `), |
| - ).toEqual( |
| - 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.', |
| - ); |
| - }); |
| - |
| - test('should create excerpt for heading specified with anchor-id syntax', () => { |
| - expect( |
| - createExcerpt(dedent` |
| + `)).toEqual('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ex urna, molestie et sagittis ut, varius ac justo.'); |
| + }); |
| + test('should create excerpt for heading specified with anchor-id syntax', () => { |
| + expect((0, markdownParser_1.createExcerpt)((0, dedent_1.default) ` |
| ## Markdown title {#my-anchor-id} |
| - `), |
| - ).toEqual('Markdown title'); |
| - }); |
| + `)).toEqual('Markdown title'); |
| + }); |
| }); |
| - |
| describe('parseMarkdownContentTitle', () => { |
| - test('Should parse markdown h1 title at the top', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 title at the top', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| # Markdown Title |
| |
| Lorem Ipsum |
| |
| `; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 title at the top and remove it', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 title at the top and remove it', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| # Markdown Title |
| |
| Lorem Ipsum |
| |
| `; |
| - expect( |
| - parseMarkdownContentTitle(markdown, {removeContentTitle: true}), |
| - ).toEqual({ |
| - content: 'Lorem Ipsum', |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown, { removeContentTitle: true })).toEqual({ |
| + content: 'Lorem Ipsum', |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 title at the top and unwrap inline code block', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 title at the top and unwrap inline code block', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| # \`Markdown Title\` |
| |
| Lorem Ipsum |
| |
| `; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 title and trim content', () => { |
| - const markdown = ` |
| + test('Should parse markdown h1 title and trim content', () => { |
| + const markdown = ` |
| |
| # Markdown Title |
| |
| @@ -186,56 +145,50 @@ Lorem Ipsum |
| |
| |
| `; |
| - |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown.trim(), |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown.trim(), |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse not parse markdown h1 title and trim content', () => { |
| - const markdown = ` |
| + test('Should parse not parse markdown h1 title and trim content', () => { |
| + const markdown = ` |
| |
| Lorem Ipsum |
| |
| `; |
| - |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown.trim(), |
| - contentTitle: undefined, |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown.trim(), |
| + contentTitle: undefined, |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 title with fixed anchor-id syntax', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 title with fixed anchor-id syntax', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| # Markdown Title {#my-anchor-id} |
| |
| Lorem Ipsum |
| |
| `; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 title at the top (atx style with closing #)', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 title at the top (atx style with closing #)', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| # Markdown Title # |
| |
| Lorem Ipsum |
| |
| `; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 title at the top followed by h2 title', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 title at the top followed by h2 title', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| # Markdown Title |
| |
| @@ -244,14 +197,13 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse only first h1 title', () => { |
| - const markdown = dedent` |
| + test('Should parse only first h1 title', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| # Markdown Title |
| |
| @@ -260,14 +212,13 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should not parse title that is not at the top', () => { |
| - const markdown = dedent` |
| + test('Should not parse title that is not at the top', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| Lorem Ipsum |
| |
| @@ -276,14 +227,13 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: undefined, |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: undefined, |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 alternate title', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 alternate title', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| Markdown Title |
| ================ |
| @@ -291,14 +241,13 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 alternate title and remove it', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 alternate title and remove it', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| Markdown Title |
| ================ |
| @@ -306,16 +255,13 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - expect( |
| - parseMarkdownContentTitle(markdown, {removeContentTitle: true}), |
| - ).toEqual({ |
| - content: 'Lorem Ipsum', |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown, { removeContentTitle: true })).toEqual({ |
| + content: 'Lorem Ipsum', |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 title placed after import declarations', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 title placed after import declarations', () => { |
| + const markdown = (0, dedent_1.default) ` |
| import Component1 from '@site/src/components/Component1'; |
| |
| import Component2 from '@site/src/components/Component2' |
| @@ -327,16 +273,14 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - |
| - // remove the useless line breaks? Does not matter too much |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: 'Markdown Title', |
| + // remove the useless line breaks? Does not matter too much |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 title placed after various import declarations', () => { |
| - const markdown = ` |
| + test('Should parse markdown h1 title placed after various import declarations', () => { |
| + const markdown = ` |
| import DefaultComponent from '@site/src/components/Component1'; |
| import DefaultComponent2 from '../relative/path/Component2'; |
| import * as EntireComponent from './relative/path/Component3'; |
| @@ -356,15 +300,13 @@ import "module-name" |
| |
| Lorem Ipsum |
| `; |
| - |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown.trim(), |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown.trim(), |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 title placed after various import declarations and remove it', () => { |
| - const markdown = ` |
| + test('Should parse markdown h1 title placed after various import declarations and remove it', () => { |
| + const markdown = ` |
| import DefaultComponent from '@site/src/components/Component1'; |
| import DefaultComponent2 from '../relative/path/Component2'; |
| import * as EntireComponent from './relative/path/Component3'; |
| @@ -384,17 +326,13 @@ import "module-name" |
| |
| Lorem Ipsum |
| `; |
| - |
| - expect( |
| - parseMarkdownContentTitle(markdown, {removeContentTitle: true}), |
| - ).toEqual({ |
| - content: markdown.trim().replace('# Markdown Title', ''), |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown, { removeContentTitle: true })).toEqual({ |
| + content: markdown.trim().replace('# Markdown Title', ''), |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 alternate title placed after import declarations', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 alternate title placed after import declarations', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| import Component from '@site/src/components/Component'; |
| import Component from '@site/src/components/Component' |
| @@ -406,14 +344,13 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 alternate title placed after import declarations and remove it', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 alternate title placed after import declarations and remove it', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| import Component from '@site/src/components/Component'; |
| import Component from '@site/src/components/Component' |
| @@ -425,24 +362,20 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - expect( |
| - parseMarkdownContentTitle(markdown, {removeContentTitle: true}), |
| - ).toEqual({ |
| - content: markdown.replace('Markdown Title\n==============\n\n', ''), |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown, { removeContentTitle: true })).toEqual({ |
| + content: markdown.replace('Markdown Title\n==============\n\n', ''), |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse title-only', () => { |
| - const markdown = '# Document With Only A Title'; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: 'Document With Only A Title', |
| + test('Should parse title-only', () => { |
| + const markdown = '# Document With Only A Title'; |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: 'Document With Only A Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should not parse markdown h1 title in the middle of a doc', () => { |
| - const markdown = dedent` |
| + test('Should not parse markdown h1 title in the middle of a doc', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| Lorem Ipsum |
| |
| @@ -451,14 +384,13 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: undefined, |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: undefined, |
| + }); |
| }); |
| - }); |
| - |
| - test('Should not parse markdown h1 alternate title in the middle of the doc', () => { |
| - const markdown = dedent` |
| + test('Should not parse markdown h1 alternate title in the middle of the doc', () => { |
| + const markdown = (0, dedent_1.default) ` |
| |
| Lorem Ipsum |
| |
| @@ -468,14 +400,13 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: undefined, |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: undefined, |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 title placed after multiple import declarations', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 title placed after multiple import declarations', () => { |
| + const markdown = (0, dedent_1.default) ` |
| import Component1 from '@site/src/components/Component1'; |
| import Component2 from '@site/src/components/Component2'; |
| import Component3 from '@site/src/components/Component3'; |
| @@ -497,15 +428,13 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - |
| - expect(parseMarkdownContentTitle(markdown)).toEqual({ |
| - content: markdown, |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown)).toEqual({ |
| + content: markdown, |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| - |
| - test('Should parse markdown h1 title placed after multiple import declarations and remove it', () => { |
| - const markdown = dedent` |
| + test('Should parse markdown h1 title placed after multiple import declarations and remove it', () => { |
| + const markdown = (0, dedent_1.default) ` |
| import Component1 from '@site/src/components/Component1'; |
| import Component2 from '@site/src/components/Component2'; |
| import Component3 from '@site/src/components/Component3'; |
| @@ -527,27 +456,21 @@ Lorem Ipsum |
| Lorem Ipsum |
| |
| `; |
| - |
| - expect( |
| - parseMarkdownContentTitle(markdown, {removeContentTitle: true}), |
| - ).toEqual({ |
| - content: markdown.replace('# Markdown Title', ''), |
| - contentTitle: 'Markdown Title', |
| + expect((0, markdownParser_1.parseMarkdownContentTitle)(markdown, { removeContentTitle: true })).toEqual({ |
| + content: markdown.replace('# Markdown Title', ''), |
| + contentTitle: 'Markdown Title', |
| + }); |
| }); |
| - }); |
| }); |
| - |
| describe('parseMarkdownString', () => { |
| - test('parse markdown with frontmatter', () => { |
| - expect( |
| - parseMarkdownString(dedent` |
| + test('parse markdown with frontmatter', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| --- |
| title: Frontmatter title |
| --- |
| |
| Some text |
| - `), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "Some text", |
| "contentTitle": undefined, |
| @@ -557,16 +480,13 @@ describe('parseMarkdownString', () => { |
| }, |
| } |
| `); |
| - }); |
| - |
| - test('should parse first heading as contentTitle', () => { |
| - expect( |
| - parseMarkdownString(dedent` |
| + }); |
| + test('should parse first heading as contentTitle', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| # Markdown Title |
| |
| Some text |
| - `), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "# Markdown Title |
| |
| @@ -576,11 +496,9 @@ describe('parseMarkdownString', () => { |
| "frontMatter": Object {}, |
| } |
| `); |
| - }); |
| - |
| - test('should warn about duplicate titles (frontmatter + markdown)', () => { |
| - expect( |
| - parseMarkdownString(dedent` |
| + }); |
| + test('should warn about duplicate titles (frontmatter + markdown)', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| --- |
| title: Frontmatter title |
| --- |
| @@ -588,8 +506,7 @@ describe('parseMarkdownString', () => { |
| # Markdown Title |
| |
| Some text |
| - `), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "# Markdown Title |
| |
| @@ -601,11 +518,9 @@ describe('parseMarkdownString', () => { |
| }, |
| } |
| `); |
| - }); |
| - |
| - test('should warn about duplicate titles (frontmatter + markdown alternate)', () => { |
| - expect( |
| - parseMarkdownString(dedent` |
| + }); |
| + test('should warn about duplicate titles (frontmatter + markdown alternate)', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| --- |
| title: Frontmatter title |
| --- |
| @@ -614,8 +529,7 @@ describe('parseMarkdownString', () => { |
| ================ |
| |
| Some text |
| - `), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "Markdown Title alternate |
| ================ |
| @@ -628,11 +542,9 @@ describe('parseMarkdownString', () => { |
| }, |
| } |
| `); |
| - }); |
| - |
| - test('should not warn for duplicate title if markdown title is not at the top', () => { |
| - expect( |
| - parseMarkdownString(dedent` |
| + }); |
| + test('should not warn for duplicate title if markdown title is not at the top', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| --- |
| title: Frontmatter title |
| --- |
| @@ -640,8 +552,7 @@ describe('parseMarkdownString', () => { |
| foo |
| |
| # Markdown Title |
| - `), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "foo |
| |
| @@ -653,11 +564,9 @@ describe('parseMarkdownString', () => { |
| }, |
| } |
| `); |
| - }); |
| - |
| - test('should delete only first heading', () => { |
| - expect( |
| - parseMarkdownString(dedent` |
| + }); |
| + test('should delete only first heading', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| # Markdown Title |
| |
| test test test # test bar |
| @@ -665,8 +574,7 @@ describe('parseMarkdownString', () => { |
| # Markdown Title 2 |
| |
| ### Markdown Title h3 |
| - `), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "# Markdown Title |
| |
| @@ -680,19 +588,14 @@ describe('parseMarkdownString', () => { |
| "frontMatter": Object {}, |
| } |
| `); |
| - }); |
| - |
| - test('should parse front-matter and ignore h2', () => { |
| - expect( |
| - parseMarkdownString( |
| - dedent` |
| + }); |
| + test('should parse front-matter and ignore h2', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| --- |
| title: Frontmatter title |
| --- |
| ## test |
| - `, |
| - ), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "## test", |
| "contentTitle": undefined, |
| @@ -702,16 +605,13 @@ describe('parseMarkdownString', () => { |
| }, |
| } |
| `); |
| - }); |
| - |
| - test('should read front matter only', () => { |
| - expect( |
| - parseMarkdownString(dedent` |
| + }); |
| + test('should read front matter only', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| --- |
| title: test |
| --- |
| - `), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "", |
| "contentTitle": undefined, |
| @@ -721,10 +621,9 @@ describe('parseMarkdownString', () => { |
| }, |
| } |
| `); |
| - }); |
| - |
| - test('should parse title only', () => { |
| - expect(parseMarkdownString('# test')).toMatchInlineSnapshot(` |
| + }); |
| + test('should parse title only', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)('# test')).toMatchInlineSnapshot(` |
| Object { |
| "content": "# test", |
| "contentTitle": "test", |
| @@ -732,15 +631,12 @@ describe('parseMarkdownString', () => { |
| "frontMatter": Object {}, |
| } |
| `); |
| - }); |
| - |
| - test('should parse title only alternate', () => { |
| - expect( |
| - parseMarkdownString(dedent` |
| + }); |
| + test('should parse title only alternate', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| test |
| === |
| - `), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "test |
| ===", |
| @@ -749,17 +645,14 @@ describe('parseMarkdownString', () => { |
| "frontMatter": Object {}, |
| } |
| `); |
| - }); |
| - |
| - test('should warn about duplicate titles', () => { |
| - expect( |
| - parseMarkdownString(dedent` |
| + }); |
| + test('should warn about duplicate titles', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| --- |
| title: Frontmatter title |
| --- |
| # test |
| - `), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "# test", |
| "contentTitle": "test", |
| @@ -769,15 +662,12 @@ describe('parseMarkdownString', () => { |
| }, |
| } |
| `); |
| - }); |
| - |
| - test('should ignore markdown title if its not a first text', () => { |
| - expect( |
| - parseMarkdownString(dedent` |
| + }); |
| + test('should ignore markdown title if its not a first text', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| foo |
| # test |
| - `), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "foo |
| # test", |
| @@ -786,11 +676,9 @@ describe('parseMarkdownString', () => { |
| "frontMatter": Object {}, |
| } |
| `); |
| - }); |
| - |
| - test('should delete only first heading', () => { |
| - expect( |
| - parseMarkdownString(dedent` |
| + }); |
| + test('should delete only first heading', () => { |
| + expect((0, markdownParser_1.parseMarkdownString)((0, dedent_1.default) ` |
| # test |
| |
| test test test test test test |
| @@ -798,8 +686,7 @@ describe('parseMarkdownString', () => { |
| # test2 |
| ### test |
| test3 |
| - `), |
| - ).toMatchInlineSnapshot(` |
| + `)).toMatchInlineSnapshot(` |
| Object { |
| "content": "# test |
| |
| @@ -813,5 +700,5 @@ describe('parseMarkdownString', () => { |
| "frontMatter": Object {}, |
| } |
| `); |
| - }); |
| + }); |
| }); |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.d.ts |
| new file mode 100644 |
| index 0000000..027eb80 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.d.ts |
| @@ -0,0 +1,7 @@ |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +export {}; |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.js b/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.js |
| new file mode 100644 |
| index 0000000..fb525f2 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/normalizeUrl.test.js |
| @@ -0,0 +1,113 @@ |
| +"use strict"; |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +Object.defineProperty(exports, "__esModule", { value: true }); |
| +const normalizeUrl_1 = require("../normalizeUrl"); |
| +describe('normalizeUrl', () => { |
| + test('should normalize urls correctly', () => { |
| + const asserts = [ |
| + { |
| + input: ['/', ''], |
| + output: '/', |
| + }, |
| + { |
| + input: ['', '/'], |
| + output: '/', |
| + }, |
| + { |
| + input: ['/'], |
| + output: '/', |
| + }, |
| + { |
| + input: [''], |
| + output: '', |
| + }, |
| + { |
| + input: ['/', '/'], |
| + output: '/', |
| + }, |
| + { |
| + input: ['/', 'docs'], |
| + output: '/docs', |
| + }, |
| + { |
| + input: ['/', 'docs', 'en', 'next', 'blog'], |
| + output: '/docs/en/next/blog', |
| + }, |
| + { |
| + input: ['/test/', '/docs', 'ro', 'doc1'], |
| + output: '/test/docs/ro/doc1', |
| + }, |
| + { |
| + input: ['/test/', '/', 'ro', 'doc1'], |
| + output: '/test/ro/doc1', |
| + }, |
| + { |
| + input: ['/', '/', '2020/02/29/leap-day'], |
| + output: '/2020/02/29/leap-day', |
| + }, |
| + { |
| + input: ['', '/', 'ko', 'hello'], |
| + output: '/ko/hello', |
| + }, |
| + { |
| + input: ['hello', 'world'], |
| + output: 'hello/world', |
| + }, |
| + { |
| + input: ['http://www.google.com/', 'foo/bar', '?test=123'], |
| + output: 'http://www.google.com/foo/bar?test=123', |
| + }, |
| + { |
| + input: ['http:', 'www.google.com///', 'foo/bar', '?test=123'], |
| + output: 'http://www.google.com/foo/bar?test=123', |
| + }, |
| + { |
| + input: ['http://foobar.com', '', 'test'], |
| + output: 'http://foobar.com/test', |
| + }, |
| + { |
| + input: ['http://foobar.com', '', 'test', '/'], |
| + output: 'http://foobar.com/test/', |
| + }, |
| + { |
| + input: ['/', '', 'hello', '', '/', '/', '', '/', '/world'], |
| + output: '/hello/world', |
| + }, |
| + { |
| + input: ['', '', '/tt', 'ko', 'hello'], |
| + output: '/tt/ko/hello', |
| + }, |
| + { |
| + input: ['', '///hello///', '', '///world'], |
| + output: '/hello/world', |
| + }, |
| + { |
| + input: ['', '/hello/', ''], |
| + output: '/hello/', |
| + }, |
| + { |
| + input: ['', '/', ''], |
| + output: '/', |
| + }, |
| + { |
| + input: ['///', '///'], |
| + output: '/', |
| + }, |
| + { |
| + input: ['/', '/hello/world/', '///'], |
| + output: '/hello/world/', |
| + }, |
| + ]; |
| + asserts.forEach((testCase) => { |
| + expect((0, normalizeUrl_1.normalizeUrl)(testCase.input)).toBe(testCase.output); |
| + }); |
| + expect(() => |
| + // @ts-expect-error undefined for test |
| + (0, normalizeUrl_1.normalizeUrl)(['http:example.com', undefined])).toThrowErrorMatchingInlineSnapshot(`"Url must be a string. Received undefined"`); |
| + }); |
| +}); |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.d.ts |
| new file mode 100644 |
| index 0000000..027eb80 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.d.ts |
| @@ -0,0 +1,7 @@ |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +export {}; |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.js b/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.js |
| new file mode 100644 |
| index 0000000..b2938e9 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/pathUtils.test.js |
| @@ -0,0 +1,56 @@ |
| +"use strict"; |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +Object.defineProperty(exports, "__esModule", { value: true }); |
| +const pathUtils_1 = require("../pathUtils"); |
| +describe('pathUtils', () => { |
| + test('isNameTooLong', () => { |
| + const asserts = { |
| + '': false, |
| + 'foo-bar-096': false, |
| + 'foo-bar-1df': false, |
| + 'endi-lie-9fa': false, |
| + 'endi-lie-fd3': false, |
| + 'yangshun-tay-48d': false, |
| + 'yangshun-tay-f3b': false, |
| + 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-d46': true, |
| + 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-2-787': true, |
| + }; |
| + Object.keys(asserts).forEach((path) => { |
| + expect((0, pathUtils_1.isNameTooLong)(path)).toBe(asserts[path]); |
| + }); |
| + }); |
| + describe('shortName', () => { |
| + test('works', () => { |
| + const asserts = { |
| + '': '', |
| + 'foo-bar': 'foo-bar', |
| + 'endi-lie': 'endi-lie', |
| + 'yangshun-tay': 'yangshun-tay', |
| + 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar': 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-', |
| + 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-2': 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-', |
| + }; |
| + Object.keys(asserts).forEach((file) => { |
| + expect((0, pathUtils_1.shortName)(file)).toBe(asserts[file]); |
| + }); |
| + }); |
| + // Based on https://github.com/gatsbyjs/gatsby/pull/21518/files |
| + const SHORT_PATH = `/short/path/without/trailing/slash`; |
| + const VERY_LONG_PATH = `/${`x`.repeat(256)}/`; |
| + const VERY_LONG_PATH_NON_LATIN = `/${`あ`.repeat(255)}/`; |
| + it(`Truncates long paths correctly`, () => { |
| + const truncatedPathLatin = (0, pathUtils_1.shortName)(VERY_LONG_PATH); |
| + const truncatedPathNonLatin = (0, pathUtils_1.shortName)(VERY_LONG_PATH_NON_LATIN); |
| + expect(truncatedPathLatin.length).toBeLessThanOrEqual(255); |
| + expect(truncatedPathNonLatin.length).toBeLessThanOrEqual(255); |
| + }); |
| + it(`Does not truncate short paths`, () => { |
| + const truncatedPath = (0, pathUtils_1.shortName)(SHORT_PATH); |
| + expect(truncatedPath).toEqual(SHORT_PATH); |
| + }); |
| + }); |
| +}); |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.d.ts |
| new file mode 100644 |
| index 0000000..027eb80 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.d.ts |
| @@ -0,0 +1,7 @@ |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +export {}; |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.js b/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.js |
| new file mode 100644 |
| index 0000000..041c34e |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/posixPath.test.js |
| @@ -0,0 +1,25 @@ |
| +"use strict"; |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +Object.defineProperty(exports, "__esModule", { value: true }); |
| +const posixPath_1 = require("../posixPath"); |
| +describe('posixPath', () => { |
| + test('posixPath works', () => { |
| + const asserts = { |
| + 'c:/aaaa\\bbbb': 'c:/aaaa/bbbb', |
| + 'c:\\aaaa\\bbbb\\★': 'c:\\aaaa\\bbbb\\★', |
| + '\\\\?\\c:\\aaaa\\bbbb': '\\\\?\\c:\\aaaa\\bbbb', |
| + 'c:\\aaaa\\bbbb': 'c:/aaaa/bbbb', |
| + 'foo\\bar': 'foo/bar', |
| + 'foo\\bar/lol': 'foo/bar/lol', |
| + 'website\\docs/**/*.{md,mdx}': 'website/docs/**/*.{md,mdx}', |
| + }; |
| + Object.keys(asserts).forEach((file) => { |
| + expect((0, posixPath_1.posixPath)(file)).toBe(asserts[file]); |
| + }); |
| + }); |
| +}); |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/tags.test.d.ts b/node_modules/@docusaurus/utils/lib/__tests__/tags.test.d.ts |
| new file mode 100644 |
| index 0000000..027eb80 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/tags.test.d.ts |
| @@ -0,0 +1,7 @@ |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +export {}; |
| diff --git a/node_modules/@docusaurus/utils/lib/__tests__/tags.test.js b/node_modules/@docusaurus/utils/lib/__tests__/tags.test.js |
| new file mode 100644 |
| index 0000000..b8ef81e |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/lib/__tests__/tags.test.js |
| @@ -0,0 +1,151 @@ |
| +"use strict"; |
| +/** |
| + * Copyright (c) Facebook, Inc. and its affiliates. |
| + * |
| + * This source code is licensed under the MIT license found in the |
| + * LICENSE file in the root directory of this source tree. |
| + */ |
| +Object.defineProperty(exports, "__esModule", { value: true }); |
| +const tags_1 = require("../tags"); |
| +describe('normalizeFrontMatterTag', () => { |
| + test('should normalize simple string tag', () => { |
| + const tagsPath = '/all/tags'; |
| + const input = 'tag'; |
| + const expectedOutput = { |
| + label: 'tag', |
| + permalink: `${tagsPath}/tag`, |
| + }; |
| + expect((0, tags_1.normalizeFrontMatterTag)(tagsPath, input)).toEqual(expectedOutput); |
| + }); |
| + test('should normalize complex string tag', () => { |
| + const tagsPath = '/all/tags'; |
| + const input = 'some more Complex_tag'; |
| + const expectedOutput = { |
| + label: 'some more Complex_tag', |
| + permalink: `${tagsPath}/some-more-complex-tag`, |
| + }; |
| + expect((0, tags_1.normalizeFrontMatterTag)(tagsPath, input)).toEqual(expectedOutput); |
| + }); |
| + test('should normalize simple object tag', () => { |
| + const tagsPath = '/all/tags'; |
| + const input = { label: 'tag', permalink: 'tagPermalink' }; |
| + const expectedOutput = { |
| + label: 'tag', |
| + permalink: `${tagsPath}/tagPermalink`, |
| + }; |
| + expect((0, tags_1.normalizeFrontMatterTag)(tagsPath, input)).toEqual(expectedOutput); |
| + }); |
| + test('should normalize complex string tag', () => { |
| + const tagsPath = '/all/tags'; |
| + const input = { |
| + label: 'tag complex Label', |
| + permalink: '/MoreComplex/Permalink', |
| + }; |
| + const expectedOutput = { |
| + label: 'tag complex Label', |
| + permalink: `${tagsPath}/MoreComplex/Permalink`, |
| + }; |
| + expect((0, tags_1.normalizeFrontMatterTag)(tagsPath, input)).toEqual(expectedOutput); |
| + }); |
| +}); |
| +describe('normalizeFrontMatterTags', () => { |
| + test('should normalize string list', () => { |
| + const tagsPath = '/all/tags'; |
| + const input = ['tag 1', 'tag-1', 'tag 3', 'tag1', 'tag-2']; |
| + // Keep user input order but remove tags that lead to same permalink |
| + const expectedOutput = [ |
| + { |
| + label: 'tag 1', |
| + permalink: `${tagsPath}/tag-1`, |
| + }, |
| + { |
| + label: 'tag 3', |
| + permalink: `${tagsPath}/tag-3`, |
| + }, |
| + { |
| + label: 'tag-2', |
| + permalink: `${tagsPath}/tag-2`, |
| + }, |
| + ]; |
| + expect((0, tags_1.normalizeFrontMatterTags)(tagsPath, input)).toEqual(expectedOutput); |
| + }); |
| + test('should normalize complex mixed list', () => { |
| + const tagsPath = '/all/tags'; |
| + const input = [ |
| + 'tag 1', |
| + { label: 'tag-1', permalink: '/tag-1' }, |
| + 'tag 3', |
| + 'tag1', |
| + { label: 'tag 4', permalink: '/tag4Permalink' }, |
| + ]; |
| + // Keep user input order but remove tags that lead to same permalink |
| + const expectedOutput = [ |
| + { |
| + label: 'tag 1', |
| + permalink: `${tagsPath}/tag-1`, |
| + }, |
| + { |
| + label: 'tag 3', |
| + permalink: `${tagsPath}/tag-3`, |
| + }, |
| + { |
| + label: 'tag 4', |
| + permalink: `${tagsPath}/tag4Permalink`, |
| + }, |
| + ]; |
| + expect((0, tags_1.normalizeFrontMatterTags)(tagsPath, input)).toEqual(expectedOutput); |
| + }); |
| +}); |
| +describe('groupTaggedItems', () => { |
| + function groupItems(items) { |
| + return (0, tags_1.groupTaggedItems)(items, (item) => item.nested.tags); |
| + } |
| + test('should group items by tag permalink', () => { |
| + const tagGuide = { label: 'Guide', permalink: '/guide' }; |
| + const tagTutorial = { label: 'Tutorial', permalink: '/tutorial' }; |
| + const tagAPI = { label: 'API', permalink: '/api' }; |
| + // This one will be grouped under same permalink and label is ignored |
| + const tagTutorialOtherLabel = { |
| + label: 'TutorialOtherLabel', |
| + permalink: '/tutorial', |
| + }; |
| + const item1 = { |
| + id: '1', |
| + nested: { |
| + tags: [ |
| + tagGuide, |
| + tagTutorial, |
| + tagAPI, |
| + // Add some duplicates on purpose: they should be filtered |
| + tagGuide, |
| + tagTutorialOtherLabel, |
| + ], |
| + }, |
| + }; |
| + const item2 = { |
| + id: '2', |
| + nested: { |
| + tags: [tagAPI], |
| + }, |
| + }; |
| + const item3 = { |
| + id: '3', |
| + nested: { |
| + tags: [tagTutorial], |
| + }, |
| + }; |
| + const item4 = { |
| + id: '4', |
| + nested: { |
| + tags: [tagTutorialOtherLabel], |
| + }, |
| + }; |
| + const input = [item1, item2, item3, item4]; |
| + const expectedOutput = { |
| + '/guide': { tag: tagGuide, items: [item1] }, |
| + '/tutorial': { tag: tagTutorial, items: [item1, item3, item4] }, |
| + '/api': { tag: tagAPI, items: [item1, item2] }, |
| + }; |
| + expect(groupItems(input)).toEqual(expectedOutput); |
| + }); |
| +}); |
| diff --git a/node_modules/@docusaurus/utils/lib/codeTranslationsUtils.js b/node_modules/@docusaurus/utils/lib/codeTranslationsUtils.js |
| index 558ae6a..3070be1 100644 |
| --- a/node_modules/@docusaurus/utils/lib/codeTranslationsUtils.js |
| +++ b/node_modules/@docusaurus/utils/lib/codeTranslationsUtils.js |
| @@ -5,14 +5,15 @@ |
| * This source code is licensed under the MIT license found in the |
| * LICENSE file in the root directory of this source tree. |
| */ |
| +var __importDefault = (this && this.__importDefault) || function (mod) { |
| + return (mod && mod.__esModule) ? mod : { "default": mod }; |
| +}; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| exports.readDefaultCodeTranslationMessages = exports.codeTranslationLocalesToTry = void 0; |
| -const tslib_1 = require("tslib"); |
| -const path_1 = tslib_1.__importDefault(require("path")); |
| -const fs_extra_1 = tslib_1.__importDefault(require("fs-extra")); |
| +const path_1 = __importDefault(require("path")); |
| +const fs_extra_1 = __importDefault(require("fs-extra")); |
| // Return an ordered list of locales we should try |
| function codeTranslationLocalesToTry(locale) { |
| - // @ts-expect-error: TODO until available in TS, see https://github.com/microsoft/TypeScript/issues/37326 |
| const intlLocale = Intl.Locale ? new Intl.Locale(locale) : undefined; |
| if (!intlLocale) { |
| return [locale]; |
| diff --git a/node_modules/@docusaurus/utils/lib/globUtils.js b/node_modules/@docusaurus/utils/lib/globUtils.js |
| index 7146019..cdf3b02 100644 |
| --- a/node_modules/@docusaurus/utils/lib/globUtils.js |
| +++ b/node_modules/@docusaurus/utils/lib/globUtils.js |
| @@ -5,14 +5,16 @@ |
| * This source code is licensed under the MIT license found in the |
| * LICENSE file in the root directory of this source tree. |
| */ |
| +var __importDefault = (this && this.__importDefault) || function (mod) { |
| + return (mod && mod.__esModule) ? mod : { "default": mod }; |
| +}; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| exports.createAbsoluteFilePathMatcher = exports.createMatcher = exports.GlobExcludeDefault = exports.Globby = void 0; |
| -const tslib_1 = require("tslib"); |
| // Globby/Micromatch are the 2 libs we use in Docusaurus consistently |
| var globby_1 = require("globby"); |
| -Object.defineProperty(exports, "Globby", { enumerable: true, get: function () { return tslib_1.__importDefault(globby_1).default; } }); |
| -const micromatch_1 = tslib_1.__importDefault(require("micromatch")); // Note: Micromatch is used by Globby |
| -const path_1 = tslib_1.__importDefault(require("path")); |
| +Object.defineProperty(exports, "Globby", { enumerable: true, get: function () { return __importDefault(globby_1).default; } }); |
| +const micromatch_1 = __importDefault(require("micromatch")); // Note: Micromatch is used by Globby |
| +const path_1 = __importDefault(require("path")); |
| // The default patterns we ignore when globbing |
| // using _ prefix for exclusion by convention |
| exports.GlobExcludeDefault = [ |
| diff --git a/node_modules/@docusaurus/utils/lib/hashUtils.js b/node_modules/@docusaurus/utils/lib/hashUtils.js |
| index f1c4be6..e6ffbbf 100644 |
| --- a/node_modules/@docusaurus/utils/lib/hashUtils.js |
| +++ b/node_modules/@docusaurus/utils/lib/hashUtils.js |
| @@ -11,7 +11,7 @@ const crypto_1 = require("crypto"); |
| const lodash_1 = require("lodash"); |
| const pathUtils_1 = require("./pathUtils"); |
| function md5Hash(str) { |
| - return crypto_1.createHash('md5').update(str).digest('hex'); |
| + return (0, crypto_1.createHash)('md5').update(str).digest('hex'); |
| } |
| exports.md5Hash = md5Hash; |
| function simpleHash(str, length) { |
| @@ -30,9 +30,9 @@ function docuHash(str) { |
| return 'index'; |
| } |
| const shortHash = simpleHash(str, 3); |
| - const parsedPath = `${lodash_1.kebabCase(str)}-${shortHash}`; |
| - if (pathUtils_1.isNameTooLong(parsedPath)) { |
| - return `${pathUtils_1.shortName(lodash_1.kebabCase(str))}-${shortHash}`; |
| + const parsedPath = `${(0, lodash_1.kebabCase)(str)}-${shortHash}`; |
| + if ((0, pathUtils_1.isNameTooLong)(parsedPath)) { |
| + return `${(0, pathUtils_1.shortName)((0, lodash_1.kebabCase)(str))}-${shortHash}`; |
| } |
| return parsedPath; |
| } |
| diff --git a/node_modules/@docusaurus/utils/lib/index.js b/node_modules/@docusaurus/utils/lib/index.js |
| index 0f251b4..b82d65e 100644 |
| --- a/node_modules/@docusaurus/utils/lib/index.js |
| +++ b/node_modules/@docusaurus/utils/lib/index.js |
| @@ -5,28 +5,43 @@ |
| * This source code is licensed under the MIT license found in the |
| * LICENSE file in the root directory of this source tree. |
| */ |
| +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { |
| + if (k2 === undefined) k2 = k; |
| + var desc = Object.getOwnPropertyDescriptor(m, k); |
| + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { |
| + desc = { enumerable: true, get: function() { return m[k]; } }; |
| + } |
| + Object.defineProperty(o, k2, desc); |
| +}) : (function(o, m, k, k2) { |
| + if (k2 === undefined) k2 = k; |
| + o[k2] = m[k]; |
| +})); |
| +var __exportStar = (this && this.__exportStar) || function(m, exports) { |
| + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); |
| +}; |
| +var __importDefault = (this && this.__importDefault) || function (mod) { |
| + return (mod && mod.__esModule) ? mod : { "default": mod }; |
| +}; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| exports.parseMarkdownHeadingId = exports.updateTranslationFileMessages = exports.getSwizzledComponent = exports.mergeTranslations = exports.reportMessage = exports.getFolderContainingFile = exports.findFolderContainingFile = exports.findAsyncSequential = exports.mapAsyncSequencial = exports.getPluginI18nPath = exports.getElementsAround = exports.removePrefix = exports.removeSuffix = exports.removeTrailingSlash = exports.addTrailingSlash = exports.addTrailingPathSeparator = exports.addLeadingSlash = exports.resolvePathname = exports.isValidPathname = exports.getEditUrl = exports.aliasedSitePath = exports.getSubFolder = exports.idx = exports.genChunkName = exports.toMessageRelativeFilePath = exports.genComponentName = exports.upperFirst = exports.encodePath = exports.fileToPath = exports.objectWithKeySorted = exports.generate = exports.createAbsoluteFilePathMatcher = exports.createMatcher = exports.GlobExcludeDefault = exports.Globby = exports.docuHash = exports.simpleHash = exports.md5Hash = exports.posixPath = void 0; |
| -const tslib_1 = require("tslib"); |
| -const chalk_1 = tslib_1.__importDefault(require("chalk")); |
| -const path_1 = tslib_1.__importDefault(require("path")); |
| +const chalk_1 = __importDefault(require("chalk")); |
| +const path_1 = __importDefault(require("path")); |
| const crypto_1 = require("crypto"); |
| const lodash_1 = require("lodash"); |
| -const escape_string_regexp_1 = tslib_1.__importDefault(require("escape-string-regexp")); |
| -const fs_extra_1 = tslib_1.__importDefault(require("fs-extra")); |
| +const escape_string_regexp_1 = __importDefault(require("escape-string-regexp")); |
| +const fs_extra_1 = __importDefault(require("fs-extra")); |
| const url_1 = require("url"); |
| -// @ts-expect-error: no typedefs :s |
| -const resolve_pathname_1 = tslib_1.__importDefault(require("resolve-pathname")); |
| +const resolve_pathname_1 = __importDefault(require("resolve-pathname")); |
| const posixPath_1 = require("./posixPath"); |
| const hashUtils_1 = require("./hashUtils"); |
| const normalizeUrl_1 = require("./normalizeUrl"); |
| -tslib_1.__exportStar(require("./normalizeUrl"), exports); |
| -tslib_1.__exportStar(require("./tags"), exports); |
| +__exportStar(require("./normalizeUrl"), exports); |
| +__exportStar(require("./tags"), exports); |
| exports.posixPath = posixPath_1.posixPath; |
| -tslib_1.__exportStar(require("./codeTranslationsUtils"), exports); |
| -tslib_1.__exportStar(require("./markdownParser"), exports); |
| -tslib_1.__exportStar(require("./markdownLinks"), exports); |
| -tslib_1.__exportStar(require("./escapePath"), exports); |
| +__exportStar(require("./codeTranslationsUtils"), exports); |
| +__exportStar(require("./markdownParser"), exports); |
| +__exportStar(require("./markdownLinks"), exports); |
| +__exportStar(require("./escapePath"), exports); |
| var hashUtils_2 = require("./hashUtils"); |
| Object.defineProperty(exports, "md5Hash", { enumerable: true, get: function () { return hashUtils_2.md5Hash; } }); |
| Object.defineProperty(exports, "simpleHash", { enumerable: true, get: function () { return hashUtils_2.simpleHash; } }); |
| @@ -50,10 +65,10 @@ async function generate(generatedFilesDir, file, content, skipCache = process.en |
| // This is to avoid unnecessary overwriting and we can reuse old file. |
| if (!lastHash && fs_extra_1.default.existsSync(filepath)) { |
| const lastContent = await fs_extra_1.default.readFile(filepath, 'utf8'); |
| - lastHash = crypto_1.createHash('md5').update(lastContent).digest('hex'); |
| + lastHash = (0, crypto_1.createHash)('md5').update(lastContent).digest('hex'); |
| fileHash.set(filepath, lastHash); |
| } |
| - const currentHash = crypto_1.createHash('md5').update(content).digest('hex'); |
| + const currentHash = (0, crypto_1.createHash)('md5').update(content).digest('hex'); |
| if (lastHash !== currentHash) { |
| await fs_extra_1.default.ensureDir(path_1.default.dirname(filepath)); |
| await fs_extra_1.default.writeFile(filepath, content); |
| @@ -107,8 +122,8 @@ function genComponentName(pagePath) { |
| if (pagePath === '/') { |
| return 'index'; |
| } |
| - const pageHash = hashUtils_1.docuHash(pagePath); |
| - return upperFirst(lodash_1.camelCase(pageHash)); |
| + const pageHash = (0, hashUtils_1.docuHash)(pagePath); |
| + return upperFirst((0, lodash_1.camelCase)(pageHash)); |
| } |
| exports.genComponentName = genComponentName; |
| // When you want to display a path in a message/warning/error, |
| @@ -119,7 +134,7 @@ exports.genComponentName = genComponentName; |
| // on both Unix/Windows |
| // For Windows users this is not perfect (as they see / instead of \) but it's probably good enough |
| function toMessageRelativeFilePath(filePath) { |
| - return exports.posixPath(path_1.default.relative(process.cwd(), filePath)); |
| + return (0, exports.posixPath)(path_1.default.relative(process.cwd(), filePath)); |
| } |
| exports.toMessageRelativeFilePath = toMessageRelativeFilePath; |
| const chunkNameCache = new Map(); |
| @@ -130,15 +145,15 @@ function genChunkName(modulePath, prefix, preferredName, shortId = process.env.N |
| let chunkName = chunkNameCache.get(modulePath); |
| if (!chunkName) { |
| if (shortId) { |
| - chunkName = hashUtils_1.simpleHash(modulePath, 8); |
| + chunkName = (0, hashUtils_1.simpleHash)(modulePath, 8); |
| } |
| else { |
| let str = modulePath; |
| if (preferredName) { |
| - const shortHash = hashUtils_1.simpleHash(modulePath, 3); |
| + const shortHash = (0, hashUtils_1.simpleHash)(modulePath, 3); |
| str = `${preferredName}${shortHash}`; |
| } |
| - const name = str === '/' ? 'index' : hashUtils_1.docuHash(str); |
| + const name = str === '/' ? 'index' : (0, hashUtils_1.docuHash)(str); |
| chunkName = prefix ? `${prefix}---${name}` : name; |
| } |
| chunkNameCache.set(modulePath, chunkName); |
| @@ -160,8 +175,8 @@ exports.idx = idx; |
| * Given a filepath and dirpath, get the first directory. |
| */ |
| function getSubFolder(file, refDir) { |
| - const separator = escape_string_regexp_1.default(path_1.default.sep); |
| - const baseDir = escape_string_regexp_1.default(path_1.default.basename(refDir)); |
| + const separator = (0, escape_string_regexp_1.default)(path_1.default.sep); |
| + const baseDir = (0, escape_string_regexp_1.default)(path_1.default.basename(refDir)); |
| const regexSubFolder = new RegExp(`${baseDir}${separator}(.*?)${separator}.*`); |
| const match = regexSubFolder.exec(file); |
| return match && match[1]; |
| @@ -173,7 +188,7 @@ exports.getSubFolder = getSubFolder; |
| * Example: some/path/to/website/docs/foo.md -> @site/docs/foo.md |
| */ |
| function aliasedSitePath(filePath, siteDir) { |
| - const relativePath = exports.posixPath(path_1.default.relative(siteDir, filePath)); |
| + const relativePath = (0, exports.posixPath)(path_1.default.relative(siteDir, filePath)); |
| // Cannot use path.join() as it resolves '../' and removes |
| // the '@site'. Let webpack loader resolve it. |
| return `@site/${relativePath}`; |
| @@ -181,7 +196,7 @@ function aliasedSitePath(filePath, siteDir) { |
| exports.aliasedSitePath = aliasedSitePath; |
| function getEditUrl(fileRelativePath, editUrl) { |
| return editUrl |
| - ? normalizeUrl_1.normalizeUrl([editUrl, exports.posixPath(fileRelativePath)]) |
| + ? (0, normalizeUrl_1.normalizeUrl)([editUrl, (0, exports.posixPath)(fileRelativePath)]) |
| : undefined; |
| } |
| exports.getEditUrl = getEditUrl; |
| @@ -201,7 +216,7 @@ function isValidPathname(str) { |
| exports.isValidPathname = isValidPathname; |
| // resolve pathname and fail fast if resolution fails |
| function resolvePathname(to, from) { |
| - return resolve_pathname_1.default(to, from); |
| + return (0, resolve_pathname_1.default)(to, from); |
| } |
| exports.resolvePathname = resolvePathname; |
| function addLeadingSlash(str) { |
| @@ -329,7 +344,7 @@ exports.getSwizzledComponent = getSwizzledComponent; |
| function updateTranslationFileMessages(translationFile, updateMessage) { |
| return { |
| ...translationFile, |
| - content: lodash_1.mapValues(translationFile.content, (translation) => ({ |
| + content: (0, lodash_1.mapValues)(translationFile.content, (translation) => ({ |
| ...translation, |
| message: updateMessage(translation.message), |
| })), |
| diff --git a/node_modules/@docusaurus/utils/lib/markdownLinks.js b/node_modules/@docusaurus/utils/lib/markdownLinks.js |
| index 10e3e2b..c1781a2 100644 |
| --- a/node_modules/@docusaurus/utils/lib/markdownLinks.js |
| +++ b/node_modules/@docusaurus/utils/lib/markdownLinks.js |
| @@ -5,10 +5,12 @@ |
| * This source code is licensed under the MIT license found in the |
| * LICENSE file in the root directory of this source tree. |
| */ |
| +var __importDefault = (this && this.__importDefault) || function (mod) { |
| + return (mod && mod.__esModule) ? mod : { "default": mod }; |
| +}; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| exports.replaceMarkdownLinks = void 0; |
| -const tslib_1 = require("tslib"); |
| -const path_1 = tslib_1.__importDefault(require("path")); |
| +const path_1 = __importDefault(require("path")); |
| const index_1 = require("./index"); |
| function replaceMarkdownLinks({ siteDir, fileString, filePath, contentPaths, sourceToPermalink, }) { |
| const { contentPath, contentPathLocalized } = contentPaths; |
| @@ -37,7 +39,7 @@ function replaceMarkdownLinks({ siteDir, fileString, filePath, contentPaths, sou |
| `${contentPath}/${decodeURIComponent(mdLink)}`, |
| ]; |
| const aliasedSourceMatch = sourcesToTry |
| - .map((source) => index_1.aliasedSitePath(source, siteDir)) |
| + .map((source) => (0, index_1.aliasedSitePath)(source, siteDir)) |
| .find((source) => sourceToPermalink[source]); |
| const permalink = aliasedSourceMatch |
| ? sourceToPermalink[aliasedSourceMatch] |
| diff --git a/node_modules/@docusaurus/utils/lib/markdownParser.d.ts b/node_modules/@docusaurus/utils/lib/markdownParser.d.ts |
| index 37561bc..fe87e3c 100644 |
| --- a/node_modules/@docusaurus/utils/lib/markdownParser.d.ts |
| +++ b/node_modules/@docusaurus/utils/lib/markdownParser.d.ts |
| @@ -1,17 +1,18 @@ |
| -/** |
| - * Copyright (c) Facebook, Inc. and its affiliates. |
| - * |
| - * This source code is licensed under the MIT license found in the |
| - * LICENSE file in the root directory of this source tree. |
| - */ |
| -export declare function createExcerpt(fileString: string): string | undefined; |
| +import type { Plugin } from 'unified'; |
| +export declare function parseMarkdownHeadingId(heading: string): { |
| + text: string; |
| + id?: string; |
| +}; |
| +declare type MarkdownParserOptions = { |
| + remarkPlugins?: Plugin[]; |
| + removeContentTitle?: boolean; |
| +}; |
| +export declare function createExcerpt(fileString: string, options?: MarkdownParserOptions): string | undefined; |
| export declare function parseFrontMatter(markdownFileContent: string): { |
| frontMatter: Record<string, unknown>; |
| content: string; |
| }; |
| -export declare function parseMarkdownContentTitle(contentUntrimmed: string, options?: { |
| - removeContentTitle?: boolean; |
| -}): { |
| +export declare function parseMarkdownContentTitle(contentUntrimmed: string, options?: MarkdownParserOptions): { |
| content: string; |
| contentTitle: string | undefined; |
| }; |
| @@ -21,10 +22,5 @@ declare type ParsedMarkdown = { |
| contentTitle: string | undefined; |
| excerpt: string | undefined; |
| }; |
| -export declare function parseMarkdownString(markdownFileContent: string, options?: { |
| - removeContentTitle?: boolean; |
| -}): ParsedMarkdown; |
| -export declare function parseMarkdownFile(source: string, options?: { |
| - removeContentTitle?: boolean; |
| -}): Promise<ParsedMarkdown>; |
| +export declare function parseMarkdownString(markdownFileContent: string, options?: MarkdownParserOptions): ParsedMarkdown; |
| export {}; |
| diff --git a/node_modules/@docusaurus/utils/lib/markdownParser.js b/node_modules/@docusaurus/utils/lib/markdownParser.js |
| index 42834cf..06f48bb 100644 |
| --- a/node_modules/@docusaurus/utils/lib/markdownParser.js |
| +++ b/node_modules/@docusaurus/utils/lib/markdownParser.js |
| @@ -1,119 +1,115 @@ |
| "use strict"; |
| +var __importDefault = (this && this.__importDefault) || function (mod) { |
| + return (mod && mod.__esModule) ? mod : { "default": mod }; |
| +}; |
| +Object.defineProperty(exports, "__esModule", { value: true }); |
| +exports.parseMarkdownString = exports.parseMarkdownContentTitle = exports.parseFrontMatter = exports.createExcerpt = exports.parseMarkdownHeadingId = void 0; |
| /** |
| * Copyright (c) Facebook, Inc. and its affiliates. |
| * |
| * This source code is licensed under the MIT license found in the |
| * LICENSE file in the root directory of this source tree. |
| */ |
| -Object.defineProperty(exports, "__esModule", { value: true }); |
| -exports.parseMarkdownFile = exports.parseMarkdownString = exports.parseMarkdownContentTitle = exports.parseFrontMatter = exports.createExcerpt = void 0; |
| -const tslib_1 = require("tslib"); |
| -const chalk_1 = tslib_1.__importDefault(require("chalk")); |
| -const fs_extra_1 = tslib_1.__importDefault(require("fs-extra")); |
| -const gray_matter_1 = tslib_1.__importDefault(require("gray-matter")); |
| -// Hacky way of stripping out import statements from the excerpt |
| -// TODO: Find a better way to do so, possibly by compiling the Markdown content, |
| -// stripping out HTML tags and obtaining the first line. |
| -function createExcerpt(fileString) { |
| - const fileLines = fileString |
| - .trimLeft() |
| - // Remove Markdown alternate title |
| - .replace(/^[^\n]*\n[=]+/g, '') |
| - .split('\n'); |
| - /* eslint-disable no-continue */ |
| - // eslint-disable-next-line no-restricted-syntax |
| - for (const fileLine of fileLines) { |
| - // Skip empty line. |
| - if (!fileLine.trim()) { |
| - continue; |
| +const logger_1 = __importDefault(require("@docusaurus/logger")); |
| +const gray_matter_1 = __importDefault(require("gray-matter")); |
| +const remark_1 = __importDefault(require("remark")); |
| +const remark_mdx_1 = __importDefault(require("remark-mdx")); |
| +const unist_util_visit_1 = __importDefault(require("unist-util-visit")); |
| +const isImage = (node) => node.type === 'image'; |
| +const isHeading = (node) => node.type === 'heading'; |
| +const isParagraph = (node) => node.type === 'paragraph'; |
| +const isText = (node) => node.type === 'text'; |
| +// Input: ## Some heading {#some-heading} |
| +// Output: {text: "## Some heading", id: "some-heading"} |
| +function parseMarkdownHeadingId(heading) { |
| + const customHeadingIdRegex = /^(.*?)\s*\{#([\w-]+)\}$/; |
| + const matches = customHeadingIdRegex.exec(heading); |
| + if (matches) { |
| + return { |
| + text: matches[1], |
| + id: matches[2], |
| + }; |
| + } |
| + else { |
| + return { text: heading, id: undefined }; |
| + } |
| +} |
| +exports.parseMarkdownHeadingId = parseMarkdownHeadingId; |
| +function toText(node) { |
| + let excerpt = ''; |
| + (0, unist_util_visit_1.default)(node, ['text', 'inlineCode'], (child, index, parent) => { |
| + if (parent?.type !== 'linkReference') { |
| + excerpt += child.value; |
| + } |
| + }); |
| + return excerpt; |
| +} |
| +const remarkParser = (0, remark_1.default)().use(remark_mdx_1.default); |
| +function createExcerpt(fileString, options = { remarkPlugins: [] }) { |
| + const mdast = (0, remark_1.default)().use(remark_mdx_1.default).use(options.remarkPlugins).parse(fileString); |
| + let excerpt = ''; |
| + (0, unist_util_visit_1.default)(mdast, ['paragraph', 'heading', 'image'], (node) => { |
| + const isAdmonitionFence = isParagraph(node) && |
| + isText(node.children[0]) && |
| + node.children[0].value.startsWith(':::'); |
| + const isMainHeading = isHeading(node) && node.depth === 1; |
| + if (isAdmonitionFence || isMainHeading) { |
| + return true; |
| } |
| - // Skip import/export declaration. |
| - if (/^\s*?import\s.*(from.*)?;?|export\s.*{.*};?/.test(fileLine)) { |
| - continue; |
| + if (isImage(node)) { |
| + if (node.alt) { |
| + excerpt = node.alt; |
| + // Already obtained the excerpt; stop traversal |
| + return false; |
| + } |
| } |
| - const cleanedLine = fileLine |
| - // Remove HTML tags. |
| - .replace(/<[^>]*>/g, '') |
| - // Remove Title headers |
| - .replace(/^#\s*([^#]*)\s*#?/gm, '') |
| - // Remove Markdown + ATX-style headers |
| - .replace(/^#{1,6}\s*([^#]*)\s*(#{1,6})?/gm, '$1') |
| - // Remove emphasis and strikethroughs. |
| - .replace(/([*_~]{1,3})(\S.*?\S{0,1})\1/g, '$2') |
| - // Remove images. |
| - .replace(/!\[(.*?)\][[(].*?[\])]/g, '$1') |
| - // Remove footnotes. |
| - .replace(/\[\^.+?\](: .*?$)?/g, '') |
| - // Remove inline links. |
| - .replace(/\[(.*?)\][[(].*?[\])]/g, '$1') |
| - // Remove inline code. |
| - .replace(/`(.+?)`/g, '$1') |
| - // Remove blockquotes. |
| - .replace(/^\s{0,3}>\s?/g, '') |
| - // Remove admonition definition. |
| - .replace(/(:{3}.*)/, '') |
| - // Remove Emoji names within colons include preceding whitespace. |
| - .replace(/\s?(:(::|[^:\n])+:)/g, '') |
| - // Remove custom Markdown heading id. |
| - .replace(/{#*[\w-]+}/, '') |
| - .trim(); |
| - if (cleanedLine) { |
| - return cleanedLine; |
| + else if (isParagraph(node)) { |
| + excerpt = toText(node); |
| + if (excerpt) { |
| + return false; |
| + } |
| } |
| - } |
| - return undefined; |
| + return true; |
| + }); |
| + return excerpt || undefined; |
| } |
| exports.createExcerpt = createExcerpt; |
| function parseFrontMatter(markdownFileContent) { |
| - var _a; |
| - const { data, content } = gray_matter_1.default(markdownFileContent); |
| + const { data, content } = (0, gray_matter_1.default)(markdownFileContent); |
| return { |
| - frontMatter: data !== null && data !== void 0 ? data : {}, |
| - content: (_a = content === null || content === void 0 ? void 0 : content.trim()) !== null && _a !== void 0 ? _a : '', |
| + frontMatter: data, |
| + content: content.trim(), |
| }; |
| } |
| exports.parseFrontMatter = parseFrontMatter; |
| -// Try to convert markdown heading as text |
| -// Does not need to be perfect, it is only used as a fallback when frontMatter.title is not provided |
| -// For now, we just unwrap possible inline code blocks (# `config.js`) |
| -function toTextContentTitle(contentTitle) { |
| - if (contentTitle.startsWith('`') && contentTitle.endsWith('`')) { |
| - return contentTitle.substring(1, contentTitle.length - 1); |
| - } |
| - return contentTitle; |
| -} |
| -function parseMarkdownContentTitle(contentUntrimmed, options) { |
| - var _a, _b; |
| - const removeContentTitleOption = (_a = options === null || options === void 0 ? void 0 : options.removeContentTitle) !== null && _a !== void 0 ? _a : false; |
| - const content = contentUntrimmed.trim(); |
| - const IMPORT_STATEMENT = /import\s+(([\w*{}\s\n,]+)from\s+)?["'\s]([@\w/_.-]+)["'\s];?|\n/ |
| - .source; |
| - const REGULAR_TITLE = /(?<pattern>#\s*(?<title>[^#\n{]*)+[ \t]*(?<suffix>({#*[\w-]+})|#)?\n*?)/ |
| - .source; |
| - const ALTERNATE_TITLE = /(?<pattern>\s*(?<title>[^\n]*)\s*\n[=]+)/.source; |
| - const regularTitleMatch = new RegExp(`^(?:${IMPORT_STATEMENT})*?${REGULAR_TITLE}`, 'g').exec(content); |
| - const alternateTitleMatch = new RegExp(`^(?:${IMPORT_STATEMENT})*?${ALTERNATE_TITLE}`, 'g').exec(content); |
| - const titleMatch = regularTitleMatch !== null && regularTitleMatch !== void 0 ? regularTitleMatch : alternateTitleMatch; |
| - const { pattern, title } = (_b = titleMatch === null || titleMatch === void 0 ? void 0 : titleMatch.groups) !== null && _b !== void 0 ? _b : {}; |
| - if (!pattern || !title) { |
| - return { content, contentTitle: undefined }; |
| - } |
| - else { |
| - const newContent = removeContentTitleOption |
| - ? content.replace(pattern, '') |
| - : content; |
| - return { |
| - content: newContent.trim(), |
| - contentTitle: toTextContentTitle(title.trim()).trim(), |
| - }; |
| +function parseMarkdownContentTitle(contentUntrimmed, options = { |
| + removeContentTitle: false, |
| + remarkPlugins: [], |
| +}) { |
| + const { removeContentTitle = false } = options; |
| + let content = contentUntrimmed.trim(); |
| + const mdast = remarkParser.parse(content); |
| + let contentTitle; |
| + const firstConcreteNode = mdast?.children.find((child) => child.type !== 'import' && child.type !== 'export'); |
| + if (firstConcreteNode && |
| + isHeading(firstConcreteNode) && |
| + firstConcreteNode.depth === 1) { |
| + contentTitle = parseMarkdownHeadingId(toText(firstConcreteNode)).text; |
| + if (removeContentTitle) { |
| + const { start: { line: startLine }, end: { line: endLine }, } = firstConcreteNode.position; |
| + const lines = content.split('\n'); |
| + lines.splice(startLine - 1, endLine - startLine + 1); |
| + content = lines.join('\n'); |
| + } |
| } |
| + return { content: content.trim(), contentTitle }; |
| } |
| exports.parseMarkdownContentTitle = parseMarkdownContentTitle; |
| function parseMarkdownString(markdownFileContent, options) { |
| try { |
| const { frontMatter, content: contentWithoutFrontMatter } = parseFrontMatter(markdownFileContent); |
| const { content, contentTitle } = parseMarkdownContentTitle(contentWithoutFrontMatter, options); |
| - const excerpt = createExcerpt(content); |
| + const excerpt = createExcerpt(content, options); |
| return { |
| frontMatter, |
| content, |
| @@ -122,19 +118,9 @@ function parseMarkdownString(markdownFileContent, options) { |
| }; |
| } |
| catch (e) { |
| - console.error(chalk_1.default.red(`Error while parsing Markdown frontmatter. |
| -This can happen if you use special characters in frontmatter values (try using double quotes around that value).`)); |
| + logger_1.default.error(`Error while parsing Markdown front matter. |
| + This can happen if you use special characters in front matter values (try using double quotes around that value).`); |
| throw e; |
| } |
| } |
| exports.parseMarkdownString = parseMarkdownString; |
| -async function parseMarkdownFile(source, options) { |
| - const markdownString = await fs_extra_1.default.readFile(source, 'utf-8'); |
| - try { |
| - return parseMarkdownString(markdownString, options); |
| - } |
| - catch (e) { |
| - throw new Error(`Error while parsing Markdown file ${source}: "${e.message}".`); |
| - } |
| -} |
| -exports.parseMarkdownFile = parseMarkdownFile; |
| diff --git a/node_modules/@docusaurus/utils/lib/tags.js b/node_modules/@docusaurus/utils/lib/tags.js |
| index 02583ee..88b0578 100644 |
| --- a/node_modules/@docusaurus/utils/lib/tags.js |
| +++ b/node_modules/@docusaurus/utils/lib/tags.js |
| @@ -13,7 +13,7 @@ function normalizeFrontMatterTag(tagsPath, frontMatterTag) { |
| function toTagObject(tagString) { |
| return { |
| label: tagString, |
| - permalink: lodash_1.kebabCase(tagString), |
| + permalink: (0, lodash_1.kebabCase)(tagString), |
| }; |
| } |
| // TODO maybe make ensure the permalink is valid url path? |
| @@ -21,7 +21,7 @@ function normalizeFrontMatterTag(tagsPath, frontMatterTag) { |
| // note: we always apply tagsPath on purpose |
| // for versioned docs, v1/doc.md and v2/doc.md tags with custom permalinks don't lead to the same created page |
| // tagsPath is different for each doc version |
| - return normalizeUrl_1.normalizeUrl([tagsPath, permalink]); |
| + return (0, normalizeUrl_1.normalizeUrl)([tagsPath, permalink]); |
| } |
| const tag = typeof frontMatterTag === 'string' |
| ? toTagObject(frontMatterTag) |
| @@ -33,9 +33,8 @@ function normalizeFrontMatterTag(tagsPath, frontMatterTag) { |
| } |
| exports.normalizeFrontMatterTag = normalizeFrontMatterTag; |
| function normalizeFrontMatterTags(tagsPath, frontMatterTags) { |
| - var _a; |
| - const tags = (_a = frontMatterTags === null || frontMatterTags === void 0 ? void 0 : frontMatterTags.map((tag) => normalizeFrontMatterTag(tagsPath, tag))) !== null && _a !== void 0 ? _a : []; |
| - return lodash_1.uniqBy(tags, (tag) => tag.permalink); |
| + const tags = frontMatterTags?.map((tag) => normalizeFrontMatterTag(tagsPath, tag)) ?? []; |
| + return (0, lodash_1.uniqBy)(tags, (tag) => tag.permalink); |
| } |
| exports.normalizeFrontMatterTags = normalizeFrontMatterTags; |
| // Permits to group docs/blogPosts by tag (provided by FrontMatter) |
| @@ -46,11 +45,10 @@ exports.normalizeFrontMatterTags = normalizeFrontMatterTags; |
| function groupTaggedItems(items, getItemTags) { |
| const result = {}; |
| function handleItemTag(item, tag) { |
| - var _a; |
| // Init missing tag groups |
| // TODO: it's not really clear what should be the behavior if 2 items have the same tag but the permalink is different for each |
| // For now, the first tag found wins |
| - result[tag.permalink] = (_a = result[tag.permalink]) !== null && _a !== void 0 ? _a : { |
| + result[tag.permalink] = result[tag.permalink] ?? { |
| tag, |
| items: [], |
| }; |
| @@ -65,7 +63,7 @@ function groupTaggedItems(items, getItemTags) { |
| // If user add twice the same tag to a md doc (weird but possible), |
| // we don't want the item to appear twice in the list... |
| Object.values(result).forEach((group) => { |
| - group.items = lodash_1.uniq(group.items); |
| + group.items = (0, lodash_1.uniq)(group.items); |
| }); |
| return result; |
| } |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/en.json b/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/en.json |
| deleted file mode 100644 |
| index e0bfbb2..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/en.json |
| +++ /dev/null |
| @@ -1,4 +0,0 @@ |
| -{ |
| - "id1": "message 1 en", |
| - "id2": "message 2 en" |
| -} |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr-FR.json b/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr-FR.json |
| deleted file mode 100644 |
| index d6b796f..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr-FR.json |
| +++ /dev/null |
| @@ -1,5 +0,0 @@ |
| -{ |
| - "id1": "message 1 fr_FR", |
| - "id2": "message 2 fr_FR", |
| - "id3": "message 3 fr_FR" |
| -} |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr.json b/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr.json |
| deleted file mode 100644 |
| index 30a174f..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/__fixtures__/defaultCodeTranslations/fr.json |
| +++ /dev/null |
| @@ -1,4 +0,0 @@ |
| -{ |
| - "id1": "message 1 fr", |
| - "id2": "message 2 fr" |
| -} |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/__snapshots__/index.test.ts.snap b/node_modules/@docusaurus/utils/src/__tests__/__snapshots__/index.test.ts.snap |
| deleted file mode 100644 |
| index 0ef40ce..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/__snapshots__/index.test.ts.snap |
| +++ /dev/null |
| @@ -1,8 +0,0 @@ |
| -// Jest Snapshot v1, https://goo.gl/fbAQLP |
| - |
| -exports[`getFolderContainingFile throw if no folder contain such file 1`] = ` |
| -"File \\"index.test.ts\\" does not exist in any of these folders: |
| -- /abcdef |
| -- /gehij |
| -- /klmn]" |
| -`; |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/codeTranslationsUtils.test.ts b/node_modules/@docusaurus/utils/src/__tests__/codeTranslationsUtils.test.ts |
| deleted file mode 100644 |
| index ffb7b0b..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/codeTranslationsUtils.test.ts |
| +++ /dev/null |
| @@ -1,112 +0,0 @@ |
| -/** |
| - * Copyright (c) Facebook, Inc. and its affiliates. |
| - * |
| - * This source code is licensed under the MIT license found in the |
| - * LICENSE file in the root directory of this source tree. |
| - */ |
| -import path from 'path'; |
| -import fs from 'fs-extra'; |
| -import { |
| - codeTranslationLocalesToTry, |
| - readDefaultCodeTranslationMessages, |
| -} from '../codeTranslationsUtils'; |
| - |
| -describe('codeTranslationLocalesToTry', () => { |
| - test('should return appropriate locale lists', () => { |
| - expect(codeTranslationLocalesToTry('fr')).toEqual(['fr', 'fr-FR']); |
| - expect(codeTranslationLocalesToTry('fr-FR')).toEqual(['fr-FR', 'fr']); |
| - // Note: "pt" is expanded into "pt-BR", not "pt-PT", as "pt-BR" is more widely used! |
| - // See https://github.com/facebook/docusaurus/pull/4536#issuecomment-810088783 |
| - expect(codeTranslationLocalesToTry('pt')).toEqual(['pt', 'pt-BR']); |
| - expect(codeTranslationLocalesToTry('pt-BR')).toEqual(['pt-BR', 'pt']); |
| - expect(codeTranslationLocalesToTry('pt-PT')).toEqual(['pt-PT', 'pt']); |
| - }); |
| -}); |
| - |
| -describe('readDefaultCodeTranslationMessages', () => { |
| - const dirPath = path.resolve( |
| - __dirname, |
| - '__fixtures__', |
| - 'defaultCodeTranslations', |
| - ); |
| - |
| - async function readAsJSON(filename: string) { |
| - return JSON.parse( |
| - await fs.readFile(path.resolve(dirPath, filename), 'utf8'), |
| - ); |
| - } |
| - |
| - test('for empty locale', async () => { |
| - await expect( |
| - readDefaultCodeTranslationMessages({ |
| - locale: '', |
| - dirPath, |
| - }), |
| - ).rejects.toThrowErrorMatchingInlineSnapshot( |
| - `"First argument to Intl.Locale constructor can't be empty or missing"`, |
| - ); |
| - }); |
| - |
| - test('for unexisting locale', async () => { |
| - await expect( |
| - readDefaultCodeTranslationMessages({ |
| - locale: 'es', |
| - dirPath, |
| - }), |
| - ).resolves.toEqual({}); |
| - }); |
| - |
| - test('for fr but bad folder', async () => { |
| - await expect( |
| - readDefaultCodeTranslationMessages({ |
| - locale: 'fr', |
| - dirPath: __dirname, |
| - }), |
| - ).resolves.toEqual({}); |
| - }); |
| - |
| - test('for fr', async () => { |
| - await expect( |
| - readDefaultCodeTranslationMessages({ |
| - locale: 'fr', |
| - dirPath, |
| - }), |
| - ).resolves.toEqual(await readAsJSON('fr.json')); |
| - }); |
| - |
| - test('for fr-FR', async () => { |
| - await expect( |
| - readDefaultCodeTranslationMessages({ |
| - locale: 'fr-FR', |
| - dirPath, |
| - }), |
| - ).resolves.toEqual(await readAsJSON('fr-FR.json')); |
| - }); |
| - |
| - test('for en', async () => { |
| - await expect( |
| - readDefaultCodeTranslationMessages({ |
| - locale: 'en', |
| - dirPath, |
| - }), |
| - ).resolves.toEqual(await readAsJSON('en.json')); |
| - }); |
| - |
| - test('for en-US', async () => { |
| - await expect( |
| - readDefaultCodeTranslationMessages({ |
| - locale: 'en-US', |
| - dirPath, |
| - }), |
| - ).resolves.toEqual(await readAsJSON('en.json')); |
| - }); |
| - |
| - test('for en-WHATEVER', async () => { |
| - await expect( |
| - readDefaultCodeTranslationMessages({ |
| - locale: 'en-WHATEVER', |
| - dirPath, |
| - }), |
| - ).resolves.toEqual(await readAsJSON('en.json')); |
| - }); |
| -}); |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/escapePath.test.ts b/node_modules/@docusaurus/utils/src/__tests__/escapePath.test.ts |
| deleted file mode 100644 |
| index 4a9e467..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/escapePath.test.ts |
| +++ /dev/null |
| @@ -1,25 +0,0 @@ |
| -/** |
| - * Copyright (c) Facebook, Inc. and its affiliates. |
| - * |
| - * This source code is licensed under the MIT license found in the |
| - * LICENSE file in the root directory of this source tree. |
| - */ |
| - |
| -import {escapePath} from '../escapePath'; |
| - |
| -describe('escapePath', () => { |
| - test('escapePath works', () => { |
| - const asserts: Record<string, string> = { |
| - 'c:/aaaa\\bbbb': 'c:/aaaa\\\\bbbb', |
| - 'c:\\aaaa\\bbbb\\★': 'c:\\\\aaaa\\\\bbbb\\\\★', |
| - '\\\\?\\c:\\aaaa\\bbbb': '\\\\\\\\?\\\\c:\\\\aaaa\\\\bbbb', |
| - 'c:\\aaaa\\bbbb': 'c:\\\\aaaa\\\\bbbb', |
| - 'foo\\bar': 'foo\\\\bar', |
| - 'foo\\bar/lol': 'foo\\\\bar/lol', |
| - 'website\\docs/**/*.{md,mdx}': 'website\\\\docs/**/*.{md,mdx}', |
| - }; |
| - Object.keys(asserts).forEach((file) => { |
| - expect(escapePath(file)).toBe(asserts[file]); |
| - }); |
| - }); |
| -}); |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/globUtils.test.ts b/node_modules/@docusaurus/utils/src/__tests__/globUtils.test.ts |
| deleted file mode 100644 |
| index 95555e0..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/globUtils.test.ts |
| +++ /dev/null |
| @@ -1,109 +0,0 @@ |
| -/** |
| - * Copyright (c) Facebook, Inc. and its affiliates. |
| - * |
| - * This source code is licensed under the MIT license found in the |
| - * LICENSE file in the root directory of this source tree. |
| - */ |
| - |
| -import { |
| - GlobExcludeDefault, |
| - createMatcher, |
| - createAbsoluteFilePathMatcher, |
| -} from '../globUtils'; |
| - |
| -describe('createMatcher', () => { |
| - const matcher = createMatcher(GlobExcludeDefault); |
| - |
| - test('match default exclude MD/MDX partials correctly', () => { |
| - expect(matcher('doc.md')).toEqual(false); |
| - expect(matcher('category/doc.md')).toEqual(false); |
| - expect(matcher('category/subcategory/doc.md')).toEqual(false); |
| - // |
| - expect(matcher('doc.mdx')).toEqual(false); |
| - expect(matcher('category/doc.mdx')).toEqual(false); |
| - expect(matcher('category/subcategory/doc.mdx')).toEqual(false); |
| - // |
| - expect(matcher('_doc.md')).toEqual(true); |
| - expect(matcher('category/_doc.md')).toEqual(true); |
| - expect(matcher('category/subcategory/_doc.md')).toEqual(true); |
| - expect(matcher('_category/doc.md')).toEqual(true); |
| - expect(matcher('_category/subcategory/doc.md')).toEqual(true); |
| - expect(matcher('category/_subcategory/doc.md')).toEqual(true); |
| - }); |
| - |
| - test('match default exclude tests correctly', () => { |
| - expect(matcher('xyz.js')).toEqual(false); |
| - expect(matcher('xyz.ts')).toEqual(false); |
| - expect(matcher('xyz.jsx')).toEqual(false); |
| - expect(matcher('xyz.tsx')).toEqual(false); |
| - expect(matcher('folder/xyz.js')).toEqual(false); |
| - expect(matcher('folder/xyz.ts')).toEqual(false); |
| - expect(matcher('folder/xyz.jsx')).toEqual(false); |
| - expect(matcher('folder/xyz.tsx')).toEqual(false); |
| - // |
| - expect(matcher('xyz.test.js')).toEqual(true); |
| - expect(matcher('xyz.test.ts')).toEqual(true); |
| - expect(matcher('xyz.test.jsx')).toEqual(true); |
| - expect(matcher('xyz.test.tsx')).toEqual(true); |
| - expect(matcher('folder/xyz.test.js')).toEqual(true); |
| - expect(matcher('folder/xyz.test.ts')).toEqual(true); |
| - expect(matcher('folder/xyz.test.jsx')).toEqual(true); |
| - expect(matcher('folder/xyz.test.tsx')).toEqual(true); |
| - expect(matcher('folder/subfolder/xyz.test.js')).toEqual(true); |
| - expect(matcher('folder/subfolder/xyz.test.ts')).toEqual(true); |
| - expect(matcher('folder/subfolder/xyz.test.jsx')).toEqual(true); |
| - expect(matcher('folder/subfolder/xyz.test.tsx')).toEqual(true); |
| - // |
| - expect(matcher('__tests__/subfolder/xyz.js')).toEqual(true); |
| - expect(matcher('__tests__/subfolder/xyz.ts')).toEqual(true); |
| - expect(matcher('__tests__/subfolder/xyz.jsx')).toEqual(true); |
| - expect(matcher('__tests__/subfolder/xyz.tsx')).toEqual(true); |
| - expect(matcher('folder/__tests__/xyz.js')).toEqual(true); |
| - expect(matcher('folder/__tests__/xyz.ts')).toEqual(true); |
| - expect(matcher('folder/__tests__/xyz.jsx')).toEqual(true); |
| - expect(matcher('folder/__tests__/xyz.tsx')).toEqual(true); |
| - }); |
| -}); |
| - |
| -describe('createAbsoluteFilePathMatcher', () => { |
| - const rootFolders = ['/_root/docs', '/root/_docs/', '/__test__/website/src']; |
| - |
| - const matcher = createAbsoluteFilePathMatcher( |
| - GlobExcludeDefault, |
| - rootFolders, |
| - ); |
| - |
| - test('match default exclude MD/MDX partials correctly', () => { |
| - expect(matcher('/_root/docs/myDoc.md')).toEqual(false); |
| - expect(matcher('/_root/docs/myDoc.mdx')).toEqual(false); |
| - expect(matcher('/root/_docs/myDoc.md')).toEqual(false); |
| - expect(matcher('/root/_docs/myDoc.mdx')).toEqual(false); |
| - expect(matcher('/_root/docs/category/myDoc.md')).toEqual(false); |
| - expect(matcher('/_root/docs/category/myDoc.mdx')).toEqual(false); |
| - expect(matcher('/root/_docs/category/myDoc.md')).toEqual(false); |
| - expect(matcher('/root/_docs/category/myDoc.mdx')).toEqual(false); |
| - // |
| - expect(matcher('/_root/docs/_myDoc.md')).toEqual(true); |
| - expect(matcher('/_root/docs/_myDoc.mdx')).toEqual(true); |
| - expect(matcher('/root/_docs/_myDoc.md')).toEqual(true); |
| - expect(matcher('/root/_docs/_myDoc.mdx')).toEqual(true); |
| - expect(matcher('/_root/docs/_category/myDoc.md')).toEqual(true); |
| - expect(matcher('/_root/docs/_category/myDoc.mdx')).toEqual(true); |
| - expect(matcher('/root/_docs/_category/myDoc.md')).toEqual(true); |
| - expect(matcher('/root/_docs/_category/myDoc.mdx')).toEqual(true); |
| - }); |
| - |
| - test('match default exclude tests correctly', () => { |
| - expect(matcher('/__test__/website/src/xyz.js')).toEqual(false); |
| - expect(matcher('/__test__/website/src/__test__/xyz.js')).toEqual(true); |
| - expect(matcher('/__test__/website/src/xyz.test.js')).toEqual(true); |
| - }); |
| - |
| - test('throw if file is not contained in any root doc', () => { |
| - expect(() => |
| - matcher('/bad/path/myDoc.md'), |
| - ).toThrowErrorMatchingInlineSnapshot( |
| - `"createAbsoluteFilePathMatcher unexpected error, absoluteFilePath=/bad/path/myDoc.md was not contained in any of the root folders [\\"/_root/docs\\",\\"/root/_docs/\\",\\"/__test__/website/src\\"]"`, |
| - ); |
| - }); |
| -}); |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/hashUtils.test.ts b/node_modules/@docusaurus/utils/src/__tests__/hashUtils.test.ts |
| deleted file mode 100644 |
| index 4fae659..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/hashUtils.test.ts |
| +++ /dev/null |
| @@ -1,51 +0,0 @@ |
| -/** |
| - * Copyright (c) Facebook, Inc. and its affiliates. |
| - * |
| - * This source code is licensed under the MIT license found in the |
| - * LICENSE file in the root directory of this source tree. |
| - */ |
| - |
| -import {simpleHash, docuHash} from '../hashUtils'; |
| - |
| -describe('hashUtils', () => { |
| - test('simpleHash', () => { |
| - const asserts: Record<string, string> = { |
| - '': 'd41', |
| - '/foo-bar': '096', |
| - '/foo/bar': '1df', |
| - '/endi/lie': '9fa', |
| - '/endi-lie': 'fd3', |
| - '/yangshun/tay': '48d', |
| - '/yangshun-tay': 'f3b', |
| - '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar': |
| - 'd46', |
| - '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/test1-test2': |
| - '787', |
| - }; |
| - Object.keys(asserts).forEach((str) => { |
| - expect(simpleHash(str, 3)).toBe(asserts[str]); |
| - }); |
| - }); |
| -}); |
| - |
| -describe('docuHash', () => { |
| - test('docuHash works', () => { |
| - const asserts: Record<string, string> = { |
| - '': '-d41', |
| - '/': 'index', |
| - '/foo-bar': 'foo-bar-096', |
| - '/foo/bar': 'foo-bar-1df', |
| - '/endi/lie': 'endi-lie-9fa', |
| - '/endi-lie': 'endi-lie-fd3', |
| - '/yangshun/tay': 'yangshun-tay-48d', |
| - '/yangshun-tay': 'yangshun-tay-f3b', |
| - '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar': |
| - 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo--d46', |
| - '/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/foo/bar/test1-test2': |
| - 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test--787', |
| - }; |
| - Object.keys(asserts).forEach((file) => { |
| - expect(docuHash(file)).toBe(asserts[file]); |
| - }); |
| - }); |
| -}); |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/index.test.ts b/node_modules/@docusaurus/utils/src/__tests__/index.test.ts |
| deleted file mode 100644 |
| index ea626ca..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/index.test.ts |
| +++ /dev/null |
| @@ -1,523 +0,0 @@ |
| -/** |
| - * Copyright (c) Facebook, Inc. and its affiliates. |
| - * |
| - * This source code is licensed under the MIT license found in the |
| - * LICENSE file in the root directory of this source tree. |
| - */ |
| - |
| -import path from 'path'; |
| -import { |
| - fileToPath, |
| - genComponentName, |
| - genChunkName, |
| - idx, |
| - getSubFolder, |
| - posixPath, |
| - objectWithKeySorted, |
| - aliasedSitePath, |
| - isValidPathname, |
| - addTrailingSlash, |
| - removeTrailingSlash, |
| - removeSuffix, |
| - removePrefix, |
| - addLeadingSlash, |
| - getElementsAround, |
| - mergeTranslations, |
| - mapAsyncSequencial, |
| - findAsyncSequential, |
| - findFolderContainingFile, |
| - getFolderContainingFile, |
| - updateTranslationFileMessages, |
| - parseMarkdownHeadingId, |
| -} from '../index'; |
| -import {sum} from 'lodash'; |
| - |
| -describe('load utils', () => { |
| - test('aliasedSitePath', () => { |
| - const asserts: Record<string, string> = { |
| - 'user/website/docs/asd.md': '@site/docs/asd.md', |
| - 'user/website/versioned_docs/foo/bar.md': |
| - '@site/versioned_docs/foo/bar.md', |
| - 'user/docs/test.md': '@site/../docs/test.md', |
| - }; |
| - Object.keys(asserts).forEach((file) => { |
| - expect(posixPath(aliasedSitePath(file, 'user/website'))).toBe( |
| - asserts[file], |
| - ); |
| - }); |
| - }); |
| - |
| - test('genComponentName', () => { |
| - const asserts: Record<string, string> = { |
| - '/': 'index', |
| - '/foo-bar': 'FooBar096', |
| - '/foo/bar': 'FooBar1Df', |
| - '/blog/2017/12/14/introducing-docusaurus': |
| - 'Blog20171214IntroducingDocusaurus8D2', |
| - '/blog/2017/12/14-introducing-docusaurus': |
| - 'Blog20171214IntroducingDocusaurus0Bc', |
| - '/blog/201712/14-introducing-docusaurus': |
| - 'Blog20171214IntroducingDocusaurusA93', |
| - }; |
| - Object.keys(asserts).forEach((file) => { |
| - expect(genComponentName(file)).toBe(asserts[file]); |
| - }); |
| - }); |
| - |
| - test('fileToPath', () => { |
| - const asserts: Record<string, string> = { |
| - 'index.md': '/', |
| - 'hello/index.md': '/hello/', |
| - 'foo.md': '/foo', |
| - 'foo/bar.md': '/foo/bar', |
| - 'index.js': '/', |
| - 'hello/index.js': '/hello/', |
| - 'foo.js': '/foo', |
| - 'foo/bar.js': '/foo/bar', |
| - }; |
| - Object.keys(asserts).forEach((file) => { |
| - expect(fileToPath(file)).toBe(asserts[file]); |
| - }); |
| - }); |
| - |
| - test('objectWithKeySorted', () => { |
| - const obj = { |
| - '/docs/adding-blog': '4', |
| - '/docs/versioning': '5', |
| - '/': '1', |
| - '/blog/2018': '3', |
| - '/youtube': '7', |
| - '/users/en/': '6', |
| - '/blog': '2', |
| - }; |
| - expect(objectWithKeySorted(obj)).toMatchInlineSnapshot(` |
| - Object { |
| - "/": "1", |
| - "/blog": "2", |
| - "/blog/2018": "3", |
| - "/docs/adding-blog": "4", |
| - "/docs/versioning": "5", |
| - "/users/en/": "6", |
| - "/youtube": "7", |
| - } |
| - `); |
| - const obj2 = { |
| - b: 'foo', |
| - c: 'bar', |
| - a: 'baz', |
| - }; |
| - expect(objectWithKeySorted(obj2)).toMatchInlineSnapshot(` |
| - Object { |
| - "a": "baz", |
| - "b": "foo", |
| - "c": "bar", |
| - } |
| - `); |
| - }); |
| - |
| - test('genChunkName', () => { |
| - const firstAssert: Record<string, string> = { |
| - '/docs/adding-blog': 'docs-adding-blog-062', |
| - '/docs/versioning': 'docs-versioning-8a8', |
| - '/': 'index', |
| - '/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus': |
| - 'blog-2018-04-30-how-i-converted-profilo-to-docusaurus-4f2', |
| - '/youtube': 'youtube-429', |
| - '/users/en/': 'users-en-f7a', |
| - '/blog': 'blog-c06', |
| - }; |
| - Object.keys(firstAssert).forEach((str) => { |
| - expect(genChunkName(str)).toBe(firstAssert[str]); |
| - }); |
| - |
| - // Don't allow different chunk name for same path. |
| - expect(genChunkName('path/is/similar', 'oldPrefix')).toEqual( |
| - genChunkName('path/is/similar', 'newPrefix'), |
| - ); |
| - |
| - // Even with same preferred name, still different chunk name for different path |
| - const secondAssert: Record<string, string> = { |
| - '/blog/1': 'blog-85-f-089', |
| - '/blog/2': 'blog-353-489', |
| - }; |
| - Object.keys(secondAssert).forEach((str) => { |
| - expect(genChunkName(str, undefined, 'blog')).toBe(secondAssert[str]); |
| - }); |
| - |
| - // Only generate short unique id |
| - const thirdAssert: Record<string, string> = { |
| - a: '0cc175b9', |
| - b: '92eb5ffe', |
| - c: '4a8a08f0', |
| - d: '8277e091', |
| - }; |
| - Object.keys(thirdAssert).forEach((str) => { |
| - expect(genChunkName(str, undefined, undefined, true)).toBe( |
| - thirdAssert[str], |
| - ); |
| - }); |
| - expect(genChunkName('d', undefined, undefined, true)).toBe('8277e091'); |
| - }); |
| - |
| - test('idx', () => { |
| - const a = {}; |
| - const b = {hello: 'world'}; |
| - const obj = { |
| - translation: { |
| - enabled: true, |
| - enabledLanguages: [ |
| - { |
| - enabled: true, |
| - name: 'English', |
| - tag: 'en', |
| - }, |
| - { |
| - enabled: true, |
| - name: '日本語', |
| - tag: 'ja', |
| - }, |
| - ], |
| - }, |
| - versioning: { |
| - enabled: false, |
| - versions: [], |
| - }, |
| - }; |
| - const test = {arr: [1, 2, 3]}; |
| - const variable = 'enabledLanguages'; |
| - expect(idx(a, ['b', 'c'])).toBeUndefined(); |
| - expect(idx(b, ['hello'])).toEqual('world'); |
| - expect(idx(b, 'hello')).toEqual('world'); |
| - expect(idx(obj, 'typo')).toBeUndefined(); |
| - expect(idx(obj, 'versioning')).toEqual({ |
| - enabled: false, |
| - versions: [], |
| - }); |
| - expect(idx(obj, ['translation', 'enabled'])).toEqual(true); |
| - expect( |
| - idx(obj, ['translation', variable]).map( |
| - (lang: {tag: string}) => lang.tag, |
| - ), |
| - ).toEqual(['en', 'ja']); |
| - expect(idx(test, ['arr', 0])).toEqual(1); |
| - expect(idx(undefined)).toBeUndefined(); |
| - expect(idx(null)).toBeNull(); |
| - }); |
| - |
| - test('getSubFolder', () => { |
| - const testA = path.join('folder', 'en', 'test.md'); |
| - const testB = path.join('folder', 'ja', 'test.md'); |
| - const testC = path.join('folder', 'ja', 'en', 'test.md'); |
| - const testD = path.join('docs', 'ro', 'test.md'); |
| - const testE = path.join('docs', 'test.md'); |
| - expect(getSubFolder(testA, 'folder')).toBe('en'); |
| - expect(getSubFolder(testB, 'folder')).toBe('ja'); |
| - expect(getSubFolder(testC, 'folder')).toBe('ja'); |
| - expect(getSubFolder(testD, 'docs')).toBe('ro'); |
| - expect(getSubFolder(testE, 'docs')).toBeNull(); |
| - }); |
| - |
| - test('isValidPathname', () => { |
| - expect(isValidPathname('/')).toBe(true); |
| - expect(isValidPathname('/hey')).toBe(true); |
| - expect(isValidPathname('/hey/ho')).toBe(true); |
| - expect(isValidPathname('/hey/ho/')).toBe(true); |
| - expect(isValidPathname('/hey/h%C3%B4/')).toBe(true); |
| - expect(isValidPathname('/hey///ho///')).toBe(true); // Unexpected but valid |
| - expect(isValidPathname('/hey/héllô you')).toBe(true); |
| - |
| - // |
| - expect(isValidPathname('')).toBe(false); |
| - expect(isValidPathname('hey')).toBe(false); |
| - expect(isValidPathname('/hey?qs=ho')).toBe(false); |
| - expect(isValidPathname('https://fb.com/hey')).toBe(false); |
| - expect(isValidPathname('//hey')).toBe(false); |
| - }); |
| -}); |
| - |
| -describe('addTrailingSlash', () => { |
| - test('should no-op', () => { |
| - expect(addTrailingSlash('/abcd/')).toEqual('/abcd/'); |
| - }); |
| - test('should add /', () => { |
| - expect(addTrailingSlash('/abcd')).toEqual('/abcd/'); |
| - }); |
| -}); |
| - |
| -describe('addLeadingSlash', () => { |
| - test('should no-op', () => { |
| - expect(addLeadingSlash('/abc')).toEqual('/abc'); |
| - }); |
| - test('should add /', () => { |
| - expect(addLeadingSlash('abc')).toEqual('/abc'); |
| - }); |
| -}); |
| - |
| -describe('removeTrailingSlash', () => { |
| - test('should no-op', () => { |
| - expect(removeTrailingSlash('/abcd')).toEqual('/abcd'); |
| - }); |
| - test('should remove /', () => { |
| - expect(removeTrailingSlash('/abcd/')).toEqual('/abcd'); |
| - }); |
| -}); |
| - |
| -describe('removeSuffix', () => { |
| - test('should no-op 1', () => { |
| - expect(removeSuffix('abcdef', 'ijk')).toEqual('abcdef'); |
| - }); |
| - test('should no-op 2', () => { |
| - expect(removeSuffix('abcdef', 'abc')).toEqual('abcdef'); |
| - }); |
| - test('should no-op 3', () => { |
| - expect(removeSuffix('abcdef', '')).toEqual('abcdef'); |
| - }); |
| - test('should remove suffix', () => { |
| - expect(removeSuffix('abcdef', 'ef')).toEqual('abcd'); |
| - }); |
| -}); |
| - |
| -describe('removePrefix', () => { |
| - test('should no-op 1', () => { |
| - expect(removePrefix('abcdef', 'ijk')).toEqual('abcdef'); |
| - }); |
| - test('should no-op 2', () => { |
| - expect(removePrefix('abcdef', 'def')).toEqual('abcdef'); |
| - }); |
| - test('should no-op 3', () => { |
| - expect(removePrefix('abcdef', '')).toEqual('abcdef'); |
| - }); |
| - test('should remove prefix', () => { |
| - expect(removePrefix('abcdef', 'ab')).toEqual('cdef'); |
| - }); |
| -}); |
| - |
| -describe('getElementsAround', () => { |
| - test('can return elements around', () => { |
| - expect(getElementsAround(['a', 'b', 'c', 'd'], 0)).toEqual({ |
| - previous: undefined, |
| - next: 'b', |
| - }); |
| - expect(getElementsAround(['a', 'b', 'c', 'd'], 1)).toEqual({ |
| - previous: 'a', |
| - next: 'c', |
| - }); |
| - expect(getElementsAround(['a', 'b', 'c', 'd'], 2)).toEqual({ |
| - previous: 'b', |
| - next: 'd', |
| - }); |
| - expect(getElementsAround(['a', 'b', 'c', 'd'], 3)).toEqual({ |
| - previous: 'c', |
| - next: undefined, |
| - }); |
| - }); |
| - |
| - test('throws if bad index is provided', () => { |
| - expect(() => |
| - getElementsAround(['a', 'b', 'c', 'd'], -1), |
| - ).toThrowErrorMatchingInlineSnapshot( |
| - `"Valid \\"aroundIndex\\" for array (of size 4) are between 0 and 3, but you provided -1."`, |
| - ); |
| - expect(() => |
| - getElementsAround(['a', 'b', 'c', 'd'], 4), |
| - ).toThrowErrorMatchingInlineSnapshot( |
| - `"Valid \\"aroundIndex\\" for array (of size 4) are between 0 and 3, but you provided 4."`, |
| - ); |
| - }); |
| -}); |
| - |
| -describe('mergeTranslations', () => { |
| - test('should merge translations', () => { |
| - expect( |
| - mergeTranslations([ |
| - { |
| - T1: {message: 'T1 message', description: 'T1 desc'}, |
| - T2: {message: 'T2 message', description: 'T2 desc'}, |
| - T3: {message: 'T3 message', description: 'T3 desc'}, |
| - }, |
| - { |
| - T4: {message: 'T4 message', description: 'T4 desc'}, |
| - }, |
| - {T2: {message: 'T2 message 2', description: 'T2 desc 2'}}, |
| - ]), |
| - ).toEqual({ |
| - T1: {message: 'T1 message', description: 'T1 desc'}, |
| - T2: {message: 'T2 message 2', description: 'T2 desc 2'}, |
| - T3: {message: 'T3 message', description: 'T3 desc'}, |
| - T4: {message: 'T4 message', description: 'T4 desc'}, |
| - }); |
| - }); |
| -}); |
| - |
| -describe('mapAsyncSequencial', () => { |
| - function sleep(timeout: number): Promise<void> { |
| - return new Promise((resolve) => setTimeout(resolve, timeout)); |
| - } |
| - |
| - test('map sequentially', async () => { |
| - const itemToTimeout: Record<string, number> = { |
| - '1': 50, |
| - '2': 150, |
| - '3': 100, |
| - }; |
| - const items = Object.keys(itemToTimeout); |
| - |
| - const itemMapStartsAt: Record<string, number> = {}; |
| - const itemMapEndsAt: Record<string, number> = {}; |
| - |
| - const timeBefore = Date.now(); |
| - await expect( |
| - mapAsyncSequencial(items, async (item) => { |
| - const itemTimeout = itemToTimeout[item]; |
| - itemMapStartsAt[item] = Date.now(); |
| - await sleep(itemTimeout); |
| - itemMapEndsAt[item] = Date.now(); |
| - return `${item} mapped`; |
| - }), |
| - ).resolves.toEqual(['1 mapped', '2 mapped', '3 mapped']); |
| - const timeAfter = Date.now(); |
| - |
| - const timeTotal = timeAfter - timeBefore; |
| - |
| - const totalTimeouts = sum(Object.values(itemToTimeout)); |
| - expect(timeTotal > totalTimeouts); |
| - |
| - expect(itemMapStartsAt['1'] > 0); |
| - expect(itemMapStartsAt['2'] > itemMapEndsAt['1']); |
| - expect(itemMapStartsAt['3'] > itemMapEndsAt['2']); |
| - }); |
| -}); |
| - |
| -describe('findAsyncSequencial', () => { |
| - function sleep(timeout: number): Promise<void> { |
| - return new Promise((resolve) => setTimeout(resolve, timeout)); |
| - } |
| - |
| - test('find sequentially', async () => { |
| - const items = ['1', '2', '3']; |
| - |
| - const findFn = jest.fn(async (item: string) => { |
| - await sleep(50); |
| - return item === '2'; |
| - }); |
| - |
| - const timeBefore = Date.now(); |
| - await expect(findAsyncSequential(items, findFn)).resolves.toEqual('2'); |
| - const timeAfter = Date.now(); |
| - |
| - expect(findFn).toHaveBeenCalledTimes(2); |
| - expect(findFn).toHaveBeenNthCalledWith(1, '1'); |
| - expect(findFn).toHaveBeenNthCalledWith(2, '2'); |
| - |
| - const timeTotal = timeAfter - timeBefore; |
| - expect(timeTotal > 100); |
| - expect(timeTotal < 150); |
| - }); |
| -}); |
| - |
| -describe('findFolderContainingFile', () => { |
| - test('find appropriate folder', async () => { |
| - await expect( |
| - findFolderContainingFile( |
| - ['/abcdef', '/gehij', __dirname, '/klmn'], |
| - 'index.test.ts', |
| - ), |
| - ).resolves.toEqual(__dirname); |
| - }); |
| - |
| - test('return undefined if no folder contain such file', async () => { |
| - await expect( |
| - findFolderContainingFile(['/abcdef', '/gehij', '/klmn'], 'index.test.ts'), |
| - ).resolves.toBeUndefined(); |
| - }); |
| -}); |
| - |
| -describe('getFolderContainingFile', () => { |
| - test('get appropriate folder', async () => { |
| - await expect( |
| - getFolderContainingFile( |
| - ['/abcdef', '/gehij', __dirname, '/klmn'], |
| - 'index.test.ts', |
| - ), |
| - ).resolves.toEqual(__dirname); |
| - }); |
| - |
| - test('throw if no folder contain such file', async () => { |
| - await expect( |
| - getFolderContainingFile(['/abcdef', '/gehij', '/klmn'], 'index.test.ts'), |
| - ).rejects.toThrowErrorMatchingSnapshot(); |
| - }); |
| -}); |
| - |
| -describe('updateTranslationFileMessages', () => { |
| - test('should update messages', () => { |
| - expect( |
| - updateTranslationFileMessages( |
| - { |
| - path: 'abc', |
| - content: { |
| - t1: {message: 't1 message', description: 't1 desc'}, |
| - t2: {message: 't2 message', description: 't2 desc'}, |
| - t3: {message: 't3 message', description: 't3 desc'}, |
| - }, |
| - }, |
| - (message) => `prefix ${message} suffix`, |
| - ), |
| - ).toEqual({ |
| - path: 'abc', |
| - content: { |
| - t1: {message: 'prefix t1 message suffix', description: 't1 desc'}, |
| - t2: {message: 'prefix t2 message suffix', description: 't2 desc'}, |
| - t3: {message: 'prefix t3 message suffix', description: 't3 desc'}, |
| - }, |
| - }); |
| - }); |
| -}); |
| - |
| -describe('parseMarkdownHeadingId', () => { |
| - test('can parse simple heading without id', () => { |
| - expect(parseMarkdownHeadingId('## Some heading')).toEqual({ |
| - text: '## Some heading', |
| - id: undefined, |
| - }); |
| - }); |
| - |
| - test('can parse simple heading with id', () => { |
| - expect(parseMarkdownHeadingId('## Some heading {#custom-_id}')).toEqual({ |
| - text: '## Some heading', |
| - id: 'custom-_id', |
| - }); |
| - }); |
| - |
| - test('can parse heading not ending with the id', () => { |
| - expect(parseMarkdownHeadingId('## {#custom-_id} Some heading')).toEqual({ |
| - text: '## {#custom-_id} Some heading', |
| - id: undefined, |
| - }); |
| - }); |
| - |
| - test('can parse heading with multiple id', () => { |
| - expect(parseMarkdownHeadingId('## Some heading {#id1} {#id2}')).toEqual({ |
| - text: '## Some heading {#id1}', |
| - id: 'id2', |
| - }); |
| - }); |
| - |
| - test('can parse heading with link and id', () => { |
| - expect( |
| - parseMarkdownHeadingId( |
| - '## Some heading [facebook](https://facebook.com) {#id}', |
| - ), |
| - ).toEqual({ |
| - text: '## Some heading [facebook](https://facebook.com)', |
| - id: 'id', |
| - }); |
| - }); |
| - |
| - test('can parse heading with only id', () => { |
| - expect(parseMarkdownHeadingId('## {#id}')).toEqual({ |
| - text: '##', |
| - id: 'id', |
| - }); |
| - }); |
| -}); |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/normalizeUrl.test.ts b/node_modules/@docusaurus/utils/src/__tests__/normalizeUrl.test.ts |
| deleted file mode 100644 |
| index 5731ab7..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/normalizeUrl.test.ts |
| +++ /dev/null |
| @@ -1,117 +0,0 @@ |
| -/** |
| - * Copyright (c) Facebook, Inc. and its affiliates. |
| - * |
| - * This source code is licensed under the MIT license found in the |
| - * LICENSE file in the root directory of this source tree. |
| - */ |
| - |
| -import {normalizeUrl} from '../normalizeUrl'; |
| - |
| -describe('normalizeUrl', () => { |
| - test('should normalize urls correctly', () => { |
| - const asserts = [ |
| - { |
| - input: ['/', ''], |
| - output: '/', |
| - }, |
| - { |
| - input: ['', '/'], |
| - output: '/', |
| - }, |
| - { |
| - input: ['/'], |
| - output: '/', |
| - }, |
| - { |
| - input: [''], |
| - output: '', |
| - }, |
| - { |
| - input: ['/', '/'], |
| - output: '/', |
| - }, |
| - { |
| - input: ['/', 'docs'], |
| - output: '/docs', |
| - }, |
| - { |
| - input: ['/', 'docs', 'en', 'next', 'blog'], |
| - output: '/docs/en/next/blog', |
| - }, |
| - { |
| - input: ['/test/', '/docs', 'ro', 'doc1'], |
| - output: '/test/docs/ro/doc1', |
| - }, |
| - { |
| - input: ['/test/', '/', 'ro', 'doc1'], |
| - output: '/test/ro/doc1', |
| - }, |
| - { |
| - input: ['/', '/', '2020/02/29/leap-day'], |
| - output: '/2020/02/29/leap-day', |
| - }, |
| - { |
| - input: ['', '/', 'ko', 'hello'], |
| - output: '/ko/hello', |
| - }, |
| - { |
| - input: ['hello', 'world'], |
| - output: 'hello/world', |
| - }, |
| - { |
| - input: ['http://www.google.com/', 'foo/bar', '?test=123'], |
| - output: 'http://www.google.com/foo/bar?test=123', |
| - }, |
| - { |
| - input: ['http:', 'www.google.com///', 'foo/bar', '?test=123'], |
| - output: 'http://www.google.com/foo/bar?test=123', |
| - }, |
| - { |
| - input: ['http://foobar.com', '', 'test'], |
| - output: 'http://foobar.com/test', |
| - }, |
| - { |
| - input: ['http://foobar.com', '', 'test', '/'], |
| - output: 'http://foobar.com/test/', |
| - }, |
| - { |
| - input: ['/', '', 'hello', '', '/', '/', '', '/', '/world'], |
| - output: '/hello/world', |
| - }, |
| - { |
| - input: ['', '', '/tt', 'ko', 'hello'], |
| - output: '/tt/ko/hello', |
| - }, |
| - { |
| - input: ['', '///hello///', '', '///world'], |
| - output: '/hello/world', |
| - }, |
| - { |
| - input: ['', '/hello/', ''], |
| - output: '/hello/', |
| - }, |
| - { |
| - input: ['', '/', ''], |
| - output: '/', |
| - }, |
| - { |
| - input: ['///', '///'], |
| - output: '/', |
| - }, |
| - { |
| - input: ['/', '/hello/world/', '///'], |
| - output: '/hello/world/', |
| - }, |
| - ]; |
| - asserts.forEach((testCase) => { |
| - expect(normalizeUrl(testCase.input)).toBe(testCase.output); |
| - }); |
| - |
| - expect(() => |
| - // @ts-expect-error undefined for test |
| - normalizeUrl(['http:example.com', undefined]), |
| - ).toThrowErrorMatchingInlineSnapshot( |
| - `"Url must be a string. Received undefined"`, |
| - ); |
| - }); |
| -}); |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/pathUtils.test.ts b/node_modules/@docusaurus/utils/src/__tests__/pathUtils.test.ts |
| deleted file mode 100644 |
| index 6c43397..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/pathUtils.test.ts |
| +++ /dev/null |
| @@ -1,63 +0,0 @@ |
| -/** |
| - * Copyright (c) Facebook, Inc. and its affiliates. |
| - * |
| - * This source code is licensed under the MIT license found in the |
| - * LICENSE file in the root directory of this source tree. |
| - */ |
| - |
| -import {isNameTooLong, shortName} from '../pathUtils'; |
| - |
| -describe('pathUtils', () => { |
| - test('isNameTooLong', () => { |
| - const asserts: Record<string, boolean> = { |
| - '': false, |
| - 'foo-bar-096': false, |
| - 'foo-bar-1df': false, |
| - 'endi-lie-9fa': false, |
| - 'endi-lie-fd3': false, |
| - 'yangshun-tay-48d': false, |
| - 'yangshun-tay-f3b': false, |
| - 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-d46': true, |
| - 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-2-787': true, |
| - }; |
| - Object.keys(asserts).forEach((path) => { |
| - expect(isNameTooLong(path)).toBe(asserts[path]); |
| - }); |
| - }); |
| - |
| - describe('shortName', () => { |
| - test('works', () => { |
| - const asserts: Record<string, string> = { |
| - '': '', |
| - 'foo-bar': 'foo-bar', |
| - 'endi-lie': 'endi-lie', |
| - 'yangshun-tay': 'yangshun-tay', |
| - 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar': |
| - 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-', |
| - 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-2': |
| - 'foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-foo-bar-test-1-test-', |
| - }; |
| - Object.keys(asserts).forEach((file) => { |
| - expect(shortName(file)).toBe(asserts[file]); |
| - }); |
| - }); |
| - |
| - // Based on https://github.com/gatsbyjs/gatsby/pull/21518/files |
| - |
| - const SHORT_PATH = `/short/path/without/trailing/slash`; |
| - const VERY_LONG_PATH = `/${`x`.repeat(256)}/`; |
| - const VERY_LONG_PATH_NON_LATIN = `/${`あ`.repeat(255)}/`; |
| - |
| - it(`Truncates long paths correctly`, () => { |
| - const truncatedPathLatin = shortName(VERY_LONG_PATH); |
| - const truncatedPathNonLatin = shortName(VERY_LONG_PATH_NON_LATIN); |
| - expect(truncatedPathLatin.length).toBeLessThanOrEqual(255); |
| - expect(truncatedPathNonLatin.length).toBeLessThanOrEqual(255); |
| - }); |
| - |
| - it(`Does not truncate short paths`, () => { |
| - const truncatedPath = shortName(SHORT_PATH); |
| - expect(truncatedPath).toEqual(SHORT_PATH); |
| - }); |
| - }); |
| -}); |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/posixPath.test.ts b/node_modules/@docusaurus/utils/src/__tests__/posixPath.test.ts |
| deleted file mode 100644 |
| index 866ad0e..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/posixPath.test.ts |
| +++ /dev/null |
| @@ -1,25 +0,0 @@ |
| -/** |
| - * Copyright (c) Facebook, Inc. and its affiliates. |
| - * |
| - * This source code is licensed under the MIT license found in the |
| - * LICENSE file in the root directory of this source tree. |
| - */ |
| - |
| -import {posixPath} from '../posixPath'; |
| - |
| -describe('posixPath', () => { |
| - test('posixPath works', () => { |
| - const asserts: Record<string, string> = { |
| - 'c:/aaaa\\bbbb': 'c:/aaaa/bbbb', |
| - 'c:\\aaaa\\bbbb\\★': 'c:\\aaaa\\bbbb\\★', |
| - '\\\\?\\c:\\aaaa\\bbbb': '\\\\?\\c:\\aaaa\\bbbb', |
| - 'c:\\aaaa\\bbbb': 'c:/aaaa/bbbb', |
| - 'foo\\bar': 'foo/bar', |
| - 'foo\\bar/lol': 'foo/bar/lol', |
| - 'website\\docs/**/*.{md,mdx}': 'website/docs/**/*.{md,mdx}', |
| - }; |
| - Object.keys(asserts).forEach((file) => { |
| - expect(posixPath(file)).toBe(asserts[file]); |
| - }); |
| - }); |
| -}); |
| diff --git a/node_modules/@docusaurus/utils/src/__tests__/tags.test.ts b/node_modules/@docusaurus/utils/src/__tests__/tags.test.ts |
| deleted file mode 100644 |
| index 5f3b761..0000000 |
| --- a/node_modules/@docusaurus/utils/src/__tests__/tags.test.ts |
| +++ /dev/null |
| @@ -1,183 +0,0 @@ |
| -/** |
| - * Copyright (c) Facebook, Inc. and its affiliates. |
| - * |
| - * This source code is licensed under the MIT license found in the |
| - * LICENSE file in the root directory of this source tree. |
| - */ |
| - |
| -import { |
| - normalizeFrontMatterTag, |
| - normalizeFrontMatterTags, |
| - groupTaggedItems, |
| - Tag, |
| -} from '../tags'; |
| - |
| -describe('normalizeFrontMatterTag', () => { |
| - type Input = Parameters<typeof normalizeFrontMatterTag>[1]; |
| - type Output = ReturnType<typeof normalizeFrontMatterTag>; |
| - |
| - test('should normalize simple string tag', () => { |
| - const tagsPath = '/all/tags'; |
| - const input: Input = 'tag'; |
| - const expectedOutput: Output = { |
| - label: 'tag', |
| - permalink: `${tagsPath}/tag`, |
| - }; |
| - expect(normalizeFrontMatterTag(tagsPath, input)).toEqual(expectedOutput); |
| - }); |
| - |
| - test('should normalize complex string tag', () => { |
| - const tagsPath = '/all/tags'; |
| - const input: Input = 'some more Complex_tag'; |
| - const expectedOutput: Output = { |
| - label: 'some more Complex_tag', |
| - permalink: `${tagsPath}/some-more-complex-tag`, |
| - }; |
| - expect(normalizeFrontMatterTag(tagsPath, input)).toEqual(expectedOutput); |
| - }); |
| - |
| - test('should normalize simple object tag', () => { |
| - const tagsPath = '/all/tags'; |
| - const input: Input = {label: 'tag', permalink: 'tagPermalink'}; |
| - const expectedOutput: Output = { |
| - label: 'tag', |
| - permalink: `${tagsPath}/tagPermalink`, |
| - }; |
| - expect(normalizeFrontMatterTag(tagsPath, input)).toEqual(expectedOutput); |
| - }); |
| - |
| - test('should normalize complex string tag', () => { |
| - const tagsPath = '/all/tags'; |
| - const input: Input = { |
| - label: 'tag complex Label', |
| - permalink: '/MoreComplex/Permalink', |
| - }; |
| - const expectedOutput: Output = { |
| - label: 'tag complex Label', |
| - permalink: `${tagsPath}/MoreComplex/Permalink`, |
| - }; |
| - expect(normalizeFrontMatterTag(tagsPath, input)).toEqual(expectedOutput); |
| - }); |
| -}); |
| - |
| -describe('normalizeFrontMatterTags', () => { |
| - type Input = Parameters<typeof normalizeFrontMatterTags>[1]; |
| - type Output = ReturnType<typeof normalizeFrontMatterTags>; |
| - |
| - test('should normalize string list', () => { |
| - const tagsPath = '/all/tags'; |
| - const input: Input = ['tag 1', 'tag-1', 'tag 3', 'tag1', 'tag-2']; |
| - // Keep user input order but remove tags that lead to same permalink |
| - const expectedOutput: Output = [ |
| - { |
| - label: 'tag 1', |
| - permalink: `${tagsPath}/tag-1`, |
| - }, |
| - { |
| - label: 'tag 3', |
| - permalink: `${tagsPath}/tag-3`, |
| - }, |
| - { |
| - label: 'tag-2', |
| - permalink: `${tagsPath}/tag-2`, |
| - }, |
| - ]; |
| - expect(normalizeFrontMatterTags(tagsPath, input)).toEqual(expectedOutput); |
| - }); |
| - |
| - test('should normalize complex mixed list', () => { |
| - const tagsPath = '/all/tags'; |
| - const input: Input = [ |
| - 'tag 1', |
| - {label: 'tag-1', permalink: '/tag-1'}, |
| - 'tag 3', |
| - 'tag1', |
| - {label: 'tag 4', permalink: '/tag4Permalink'}, |
| - ]; |
| - // Keep user input order but remove tags that lead to same permalink |
| - const expectedOutput: Output = [ |
| - { |
| - label: 'tag 1', |
| - permalink: `${tagsPath}/tag-1`, |
| - }, |
| - { |
| - label: 'tag 3', |
| - permalink: `${tagsPath}/tag-3`, |
| - }, |
| - { |
| - label: 'tag 4', |
| - permalink: `${tagsPath}/tag4Permalink`, |
| - }, |
| - ]; |
| - expect(normalizeFrontMatterTags(tagsPath, input)).toEqual(expectedOutput); |
| - }); |
| -}); |
| - |
| -describe('groupTaggedItems', () => { |
| - type SomeTaggedItem = { |
| - id: string; |
| - nested: { |
| - tags: Tag[]; |
| - }; |
| - }; |
| - function groupItems(items: SomeTaggedItem[]) { |
| - return groupTaggedItems(items, (item) => item.nested.tags); |
| - } |
| - |
| - type Input = Parameters<typeof groupItems>[0]; |
| - type Output = ReturnType<typeof groupItems>; |
| - |
| - test('should group items by tag permalink', () => { |
| - const tagGuide = {label: 'Guide', permalink: '/guide'}; |
| - const tagTutorial = {label: 'Tutorial', permalink: '/tutorial'}; |
| - const tagAPI = {label: 'API', permalink: '/api'}; |
| - |
| - // This one will be grouped under same permalink and label is ignored |
| - const tagTutorialOtherLabel = { |
| - label: 'TutorialOtherLabel', |
| - permalink: '/tutorial', |
| - }; |
| - |
| - const item1: SomeTaggedItem = { |
| - id: '1', |
| - nested: { |
| - tags: [ |
| - tagGuide, |
| - tagTutorial, |
| - tagAPI, |
| - // Add some duplicates on purpose: they should be filtered |
| - tagGuide, |
| - tagTutorialOtherLabel, |
| - ], |
| - }, |
| - }; |
| - const item2: SomeTaggedItem = { |
| - id: '2', |
| - nested: { |
| - tags: [tagAPI], |
| - }, |
| - }; |
| - const item3: SomeTaggedItem = { |
| - id: '3', |
| - nested: { |
| - tags: [tagTutorial], |
| - }, |
| - }; |
| - const item4: SomeTaggedItem = { |
| - id: '4', |
| - nested: { |
| - tags: [tagTutorialOtherLabel], |
| - }, |
| - }; |
| - |
| - const input: Input = [item1, item2, item3, item4]; |
| - |
| - const expectedOutput: Output = { |
| - '/guide': {tag: tagGuide, items: [item1]}, |
| - '/tutorial': {tag: tagTutorial, items: [item1, item3, item4]}, |
| - '/api': {tag: tagAPI, items: [item1, item2]}, |
| - }; |
| - |
| - expect(groupItems(input)).toEqual(expectedOutput); |
| - }); |
| -}); |
| diff --git a/node_modules/@docusaurus/utils/src/codeTranslationsUtils.ts b/node_modules/@docusaurus/utils/src/codeTranslationsUtils.ts |
| index b908d38..9f3e2b9 100644 |
| --- a/node_modules/@docusaurus/utils/src/codeTranslationsUtils.ts |
| +++ b/node_modules/@docusaurus/utils/src/codeTranslationsUtils.ts |
| @@ -10,7 +10,6 @@ import fs from 'fs-extra'; |
| |
| // Return an ordered list of locales we should try |
| export function codeTranslationLocalesToTry(locale: string): string[] { |
| - // @ts-expect-error: TODO until available in TS, see https://github.com/microsoft/TypeScript/issues/37326 |
| const intlLocale = Intl.Locale ? new Intl.Locale(locale) : undefined; |
| if (!intlLocale) { |
| return [locale]; |
| diff --git a/node_modules/@docusaurus/utils/src/index.ts b/node_modules/@docusaurus/utils/src/index.ts |
| index 3550b54..a43afc2 100644 |
| --- a/node_modules/@docusaurus/utils/src/index.ts |
| +++ b/node_modules/@docusaurus/utils/src/index.ts |
| @@ -18,7 +18,6 @@ import { |
| TranslationFile, |
| } from '@docusaurus/types'; |
| |
| -// @ts-expect-error: no typedefs :s |
| import resolvePathnameUnsafe from 'resolve-pathname'; |
| |
| import {posixPath as posixPathImport} from './posixPath'; |
| diff --git a/node_modules/@docusaurus/utils/src/markdownParser.ts b/node_modules/@docusaurus/utils/src/markdownParser.ts |
| index 1f9377d..89a0762 100644 |
| --- a/node_modules/@docusaurus/utils/src/markdownParser.ts |
| +++ b/node_modules/@docusaurus/utils/src/markdownParser.ts |
| @@ -4,179 +4,169 @@ |
| * This source code is licensed under the MIT license found in the |
| * LICENSE file in the root directory of this source tree. |
| */ |
| - |
| -import chalk from 'chalk'; |
| -import fs from 'fs-extra'; |
| -import matter from 'gray-matter'; |
| - |
| -// Hacky way of stripping out import statements from the excerpt |
| -// TODO: Find a better way to do so, possibly by compiling the Markdown content, |
| -// stripping out HTML tags and obtaining the first line. |
| -export function createExcerpt(fileString: string): string | undefined { |
| - const fileLines = fileString |
| - .trimLeft() |
| - // Remove Markdown alternate title |
| - .replace(/^[^\n]*\n[=]+/g, '') |
| - .split('\n'); |
| - |
| - /* eslint-disable no-continue */ |
| - // eslint-disable-next-line no-restricted-syntax |
| - for (const fileLine of fileLines) { |
| - // Skip empty line. |
| - if (!fileLine.trim()) { |
| - continue; |
| - } |
| - |
| - // Skip import/export declaration. |
| - if (/^\s*?import\s.*(from.*)?;?|export\s.*{.*};?/.test(fileLine)) { |
| - continue; |
| - } |
| - |
| - const cleanedLine = fileLine |
| - // Remove HTML tags. |
| - .replace(/<[^>]*>/g, '') |
| - // Remove Title headers |
| - .replace(/^#\s*([^#]*)\s*#?/gm, '') |
| - // Remove Markdown + ATX-style headers |
| - .replace(/^#{1,6}\s*([^#]*)\s*(#{1,6})?/gm, '$1') |
| - // Remove emphasis and strikethroughs. |
| - .replace(/([*_~]{1,3})(\S.*?\S{0,1})\1/g, '$2') |
| - // Remove images. |
| - .replace(/!\[(.*?)\][[(].*?[\])]/g, '$1') |
| - // Remove footnotes. |
| - .replace(/\[\^.+?\](: .*?$)?/g, '') |
| - // Remove inline links. |
| - .replace(/\[(.*?)\][[(].*?[\])]/g, '$1') |
| - // Remove inline code. |
| - .replace(/`(.+?)`/g, '$1') |
| - // Remove blockquotes. |
| - .replace(/^\s{0,3}>\s?/g, '') |
| - // Remove admonition definition. |
| - .replace(/(:{3}.*)/, '') |
| - // Remove Emoji names within colons include preceding whitespace. |
| - .replace(/\s?(:(::|[^:\n])+:)/g, '') |
| - // Remove custom Markdown heading id. |
| - .replace(/{#*[\w-]+}/, '') |
| - .trim(); |
| - |
| - if (cleanedLine) { |
| - return cleanedLine; |
| - } |
| - } |
| - |
| - return undefined; |
| -} |
| - |
| -export function parseFrontMatter( |
| - markdownFileContent: string, |
| -): { |
| - frontMatter: Record<string, unknown>; |
| - content: string; |
| -} { |
| - const {data, content} = matter(markdownFileContent); |
| - return { |
| - frontMatter: data ?? {}, |
| - content: content?.trim() ?? '', |
| - }; |
| -} |
| - |
| -// Try to convert markdown heading as text |
| -// Does not need to be perfect, it is only used as a fallback when frontMatter.title is not provided |
| -// For now, we just unwrap possible inline code blocks (# `config.js`) |
| -function toTextContentTitle(contentTitle: string): string { |
| - if (contentTitle.startsWith('`') && contentTitle.endsWith('`')) { |
| - return contentTitle.substring(1, contentTitle.length - 1); |
| - } |
| - return contentTitle; |
| -} |
| - |
| -export function parseMarkdownContentTitle( |
| - contentUntrimmed: string, |
| - options?: {removeContentTitle?: boolean}, |
| -): {content: string; contentTitle: string | undefined} { |
| - const removeContentTitleOption = options?.removeContentTitle ?? false; |
| - |
| - const content = contentUntrimmed.trim(); |
| - |
| - const IMPORT_STATEMENT = /import\s+(([\w*{}\s\n,]+)from\s+)?["'\s]([@\w/_.-]+)["'\s];?|\n/ |
| - .source; |
| - const REGULAR_TITLE = /(?<pattern>#\s*(?<title>[^#\n{]*)+[ \t]*(?<suffix>({#*[\w-]+})|#)?\n*?)/ |
| - .source; |
| - const ALTERNATE_TITLE = /(?<pattern>\s*(?<title>[^\n]*)\s*\n[=]+)/.source; |
| - |
| - const regularTitleMatch = new RegExp( |
| - `^(?:${IMPORT_STATEMENT})*?${REGULAR_TITLE}`, |
| - 'g', |
| - ).exec(content); |
| - const alternateTitleMatch = new RegExp( |
| - `^(?:${IMPORT_STATEMENT})*?${ALTERNATE_TITLE}`, |
| - 'g', |
| - ).exec(content); |
| - |
| - const titleMatch = regularTitleMatch ?? alternateTitleMatch; |
| - const {pattern, title} = titleMatch?.groups ?? {}; |
| - |
| - if (!pattern || !title) { |
| - return {content, contentTitle: undefined}; |
| - } else { |
| - const newContent = removeContentTitleOption |
| - ? content.replace(pattern, '') |
| - : content; |
| - return { |
| - content: newContent.trim(), |
| - contentTitle: toTextContentTitle(title.trim()).trim(), |
| - }; |
| - } |
| -} |
| - |
| -type ParsedMarkdown = { |
| - frontMatter: Record<string, unknown>; |
| - content: string; |
| - contentTitle: string | undefined; |
| - excerpt: string | undefined; |
| -}; |
| - |
| -export function parseMarkdownString( |
| - markdownFileContent: string, |
| - options?: {removeContentTitle?: boolean}, |
| -): ParsedMarkdown { |
| - try { |
| - const {frontMatter, content: contentWithoutFrontMatter} = parseFrontMatter( |
| - markdownFileContent, |
| - ); |
| - |
| - const {content, contentTitle} = parseMarkdownContentTitle( |
| - contentWithoutFrontMatter, |
| - options, |
| - ); |
| - |
| - const excerpt = createExcerpt(content); |
| - |
| - return { |
| - frontMatter, |
| - content, |
| - contentTitle, |
| - excerpt, |
| - }; |
| - } catch (e) { |
| - console.error( |
| - chalk.red(`Error while parsing Markdown frontmatter. |
| -This can happen if you use special characters in frontmatter values (try using double quotes around that value).`), |
| - ); |
| - throw e; |
| - } |
| -} |
| - |
| -export async function parseMarkdownFile( |
| - source: string, |
| - options?: {removeContentTitle?: boolean}, |
| -): Promise<ParsedMarkdown> { |
| - const markdownString = await fs.readFile(source, 'utf-8'); |
| - try { |
| - return parseMarkdownString(markdownString, options); |
| - } catch (e) { |
| - throw new Error( |
| - `Error while parsing Markdown file ${source}: "${e.message}".`, |
| - ); |
| - } |
| -} |
| + import logger from '@docusaurus/logger'; |
| + import matter from 'gray-matter'; |
| + import remark from 'remark'; |
| + import mdx from 'remark-mdx'; |
| + import visit from 'unist-util-visit'; |
| + import type {Node, Parent} from 'unist'; |
| + import type {Heading, Text, Image, Paragraph} from 'mdast'; |
| + import type {Plugin} from 'unified'; |
| + |
| + const isImage = (node: Node): node is Image => node.type === 'image'; |
| + const isHeading = (node: Node): node is Heading => node.type === 'heading'; |
| + const isParagraph = (node: Node): node is Paragraph => node.type === 'paragraph'; |
| + const isText = (node: Node): node is Text => node.type === 'text'; |
| + |
| + // Input: ## Some heading {#some-heading} |
| + // Output: {text: "## Some heading", id: "some-heading"} |
| + export function parseMarkdownHeadingId(heading: string): { |
| + text: string; |
| + id?: string; |
| + } { |
| + const customHeadingIdRegex = /^(.*?)\s*\{#([\w-]+)\}$/; |
| + const matches = customHeadingIdRegex.exec(heading); |
| + if (matches) { |
| + return { |
| + text: matches[1], |
| + id: matches[2], |
| + }; |
| + } else { |
| + return {text: heading, id: undefined}; |
| + } |
| + } |
| + |
| + function toText(node: Node): string { |
| + let excerpt = ''; |
| + visit(node, ['text', 'inlineCode'], (child, index, parent) => { |
| + if (parent?.type !== 'linkReference') { |
| + excerpt += (child as Text).value; |
| + } |
| + }); |
| + return excerpt; |
| + } |
| + |
| + type MarkdownParserOptions = { |
| + remarkPlugins?: Plugin[]; |
| + removeContentTitle?: boolean; |
| + }; |
| + |
| + const remarkParser = remark().use(mdx) |
| + export function createExcerpt( |
| + fileString: string, |
| + options: MarkdownParserOptions = {remarkPlugins: []}, |
| + ): string | undefined { |
| + const mdast = remark().use(mdx).use(options.remarkPlugins).parse(fileString); |
| + let excerpt = ''; |
| + visit( |
| + mdast, |
| + ['paragraph', 'heading', 'image'], |
| + (node: Paragraph | Heading | Image) => { |
| + const isAdmonitionFence = |
| + isParagraph(node) && |
| + isText(node.children[0]) && |
| + node.children[0].value.startsWith(':::'); |
| + const isMainHeading = isHeading(node) && node.depth === 1; |
| + if (isAdmonitionFence || isMainHeading) { |
| + return true; |
| + } |
| + if (isImage(node)) { |
| + if (node.alt) { |
| + excerpt = node.alt; |
| + // Already obtained the excerpt; stop traversal |
| + return false; |
| + } |
| + } else if (isParagraph(node)) { |
| + excerpt = toText(node); |
| + } |
| + if (excerpt) { |
| + return false; |
| + } |
| + return true; |
| + }, |
| + ); |
| + |
| + return excerpt || undefined; |
| + } |
| + |
| + export function parseFrontMatter(markdownFileContent: string): { |
| + frontMatter: Record<string, unknown>; |
| + content: string; |
| + } { |
| + const {data, content} = matter(markdownFileContent); |
| + return { |
| + frontMatter: data, |
| + content: content.trim(), |
| + }; |
| + } |
| + |
| + export function parseMarkdownContentTitle( |
| + contentUntrimmed: string, |
| + options: MarkdownParserOptions = { |
| + removeContentTitle: false, |
| + remarkPlugins: [], |
| + }, |
| + ): {content: string; contentTitle: string | undefined} { |
| + const {removeContentTitle = false} = options; |
| + let content = contentUntrimmed.trim(); |
| + |
| + const mdast = |
| + remarkParser.parse(content); |
| + |
| + let contentTitle: string | undefined; |
| + const firstConcreteNode = (mdast as Parent)?.children.find( |
| + (child) => child.type !== 'import' && child.type !== 'export', |
| + ); |
| + if ( |
| + firstConcreteNode && |
| + isHeading(firstConcreteNode) && |
| + firstConcreteNode.depth === 1 |
| + ) { |
| + contentTitle = parseMarkdownHeadingId(toText(firstConcreteNode)).text; |
| + if (removeContentTitle) { |
| + const { |
| + start: {line: startLine}, |
| + end: {line: endLine}, |
| + } = firstConcreteNode.position!; |
| + const lines = content.split('\n'); |
| + lines.splice(startLine - 1, endLine - startLine + 1); |
| + content = lines.join('\n'); |
| + } |
| + } |
| + return {content: content.trim(), contentTitle}; |
| + } |
| + |
| + type ParsedMarkdown = { |
| + frontMatter: Record<string, unknown>; |
| + content: string; |
| + contentTitle: string | undefined; |
| + excerpt: string | undefined; |
| + }; |
| + |
| + export function parseMarkdownString( |
| + markdownFileContent: string, |
| + options?: MarkdownParserOptions, |
| + ): ParsedMarkdown { |
| + try { |
| + const {frontMatter, content: contentWithoutFrontMatter} = |
| + parseFrontMatter(markdownFileContent); |
| + |
| + const {content, contentTitle} = parseMarkdownContentTitle( |
| + contentWithoutFrontMatter, |
| + options, |
| + ); |
| + |
| + const excerpt = createExcerpt(content, options); |
| + |
| + return { |
| + frontMatter, |
| + content, |
| + contentTitle, |
| + excerpt, |
| + }; |
| + } catch (e) { |
| + logger.error(`Error while parsing Markdown front matter. |
| + This can happen if you use special characters in front matter values (try using double quotes around that value).`); |
| + throw e; |
| + } |
| + } |
| \ No newline at end of file |
| diff --git a/node_modules/@docusaurus/utils/tsconfig.json b/node_modules/@docusaurus/utils/tsconfig.json |
| index f5902ba..193138a 100644 |
| --- a/node_modules/@docusaurus/utils/tsconfig.json |
| +++ b/node_modules/@docusaurus/utils/tsconfig.json |
| @@ -1,9 +1,34 @@ |
| { |
| - "extends": "../../tsconfig.json", |
| "compilerOptions": { |
| - "incremental": true, |
| - "tsBuildInfoFile": "./lib/.tsbuildinfo", |
| "rootDir": "src", |
| - "outDir": "lib" |
| - } |
| + "outDir": "lib", |
| + "target": "ES2020", |
| + "lib": ["ESNext"], |
| + "sourceMap": false, |
| + "jsx": "react-native", |
| + "module": "NodeNext", |
| + "moduleResolution": "NodeNext", |
| + "resolveJsonModule": true, |
| + "allowSyntheticDefaultImports": true, |
| + "esModuleInterop": true, |
| + "forceConsistentCasingInFileNames": true, |
| + "isolatedModules": true, |
| + "allowJs": true, |
| + "skipLibCheck": true, |
| + "exactOptionalPropertyTypes": false, |
| + "noFallthroughCasesInSwitch": true, |
| + "noImplicitOverride": true, |
| + "noImplicitReturns": true, |
| + }, |
| + "include": ["./**/*", "./**/.eslintrc.js"], |
| + "exclude": [ |
| + "node_modules", |
| + "coverage/**", |
| + "**/lib/**/*", |
| + "website/**", |
| + "**/__mocks__/**/*", |
| + "**/__fixtures__/**/*", |
| + "examples/**", |
| + "packages/create-docusaurus/templates/**" |
| + ] |
| } |
| diff --git a/node_modules/@docusaurus/utils/yarn.lock b/node_modules/@docusaurus/utils/yarn.lock |
| new file mode 100644 |
| index 0000000..3f178a5 |
| --- /dev/null |
| +++ b/node_modules/@docusaurus/utils/yarn.lock |
| @@ -0,0 +1,970 @@ |
| +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. |
| +# yarn lockfile v1 |
| + |
| + |
| +"@docusaurus/types@2.0.0-beta.6": |
| + version "2.0.0-beta.6" |
| + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.0-beta.6.tgz#f92a61cc42e5921d325114ebc7b30c5e8c368683" |
| + integrity sha512-TrwxyI93XTZEhOmdEI8FPKDbGV61zE9PzXCdE1alwz1NOV+YXwcv+9sRTZEVLqBpr+TIja+IeeS6mxnyen/Ptg== |
| + dependencies: |
| + commander "^5.1.0" |
| + joi "^17.4.0" |
| + querystring "0.2.0" |
| + webpack "^5.40.0" |
| + webpack-merge "^5.8.0" |
| + |
| +"@hapi/hoek@^9.0.0": |
| + version "9.3.0" |
| + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" |
| + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== |
| + |
| +"@hapi/topo@^5.0.0": |
| + version "5.1.0" |
| + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" |
| + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== |
| + dependencies: |
| + "@hapi/hoek" "^9.0.0" |
| + |
| +"@jridgewell/gen-mapping@^0.3.0": |
| + version "0.3.2" |
| + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" |
| + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== |
| + dependencies: |
| + "@jridgewell/set-array" "^1.0.1" |
| + "@jridgewell/sourcemap-codec" "^1.4.10" |
| + "@jridgewell/trace-mapping" "^0.3.9" |
| + |
| +"@jridgewell/resolve-uri@^3.0.3": |
| + version "3.1.0" |
| + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" |
| + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== |
| + |
| +"@jridgewell/set-array@^1.0.1": |
| + version "1.1.2" |
| + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" |
| + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== |
| + |
| +"@jridgewell/source-map@^0.3.2": |
| + version "0.3.2" |
| + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" |
| + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== |
| + dependencies: |
| + "@jridgewell/gen-mapping" "^0.3.0" |
| + "@jridgewell/trace-mapping" "^0.3.9" |
| + |
| +"@jridgewell/sourcemap-codec@^1.4.10": |
| + version "1.4.14" |
| + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" |
| + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== |
| + |
| +"@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": |
| + version "0.3.14" |
| + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" |
| + integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== |
| + dependencies: |
| + "@jridgewell/resolve-uri" "^3.0.3" |
| + "@jridgewell/sourcemap-codec" "^1.4.10" |
| + |
| +"@nodelib/fs.scandir@2.1.5": |
| + version "2.1.5" |
| + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" |
| + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== |
| + dependencies: |
| + "@nodelib/fs.stat" "2.0.5" |
| + run-parallel "^1.1.9" |
| + |
| +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": |
| + version "2.0.5" |
| + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" |
| + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== |
| + |
| +"@nodelib/fs.walk@^1.2.3": |
| + version "1.2.8" |
| + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" |
| + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== |
| + dependencies: |
| + "@nodelib/fs.scandir" "2.1.5" |
| + fastq "^1.6.0" |
| + |
| +"@sideway/address@^4.1.3": |
| + version "4.1.4" |
| + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" |
| + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== |
| + dependencies: |
| + "@hapi/hoek" "^9.0.0" |
| + |
| +"@sideway/formula@^3.0.0": |
| + version "3.0.0" |
| + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.0.tgz#fe158aee32e6bd5de85044be615bc08478a0a13c" |
| + integrity sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg== |
| + |
| +"@sideway/pinpoint@^2.0.0": |
| + version "2.0.0" |
| + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" |
| + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== |
| + |
| +"@types/braces@*": |
| + version "3.0.1" |
| + resolved "https://registry.yarnpkg.com/@types/braces/-/braces-3.0.1.tgz#5a284d193cfc61abb2e5a50d36ebbc50d942a32b" |
| + integrity sha512-+euflG6ygo4bn0JHtn4pYqcXwRtLvElQ7/nnjDu7iYG56H0+OhCd7d6Ug0IE3WcFpZozBKW2+80FUbv5QGk5AQ== |
| + |
| +"@types/dedent@^0.7.0": |
| + version "0.7.0" |
| + resolved "https://registry.yarnpkg.com/@types/dedent/-/dedent-0.7.0.tgz#155f339ca404e6dd90b9ce46a3f78fd69ca9b050" |
| + integrity sha512-EGlKlgMhnLt/cM4DbUSafFdrkeJoC9Mvnj0PUCU7tFmTjMjNRT957kXCx0wYm3JuEq4o4ZsS5vG+NlkM2DMd2A== |
| + |
| +"@types/eslint-scope@^3.7.3": |
| + version "3.7.4" |
| + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" |
| + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== |
| + dependencies: |
| + "@types/eslint" "*" |
| + "@types/estree" "*" |
| + |
| +"@types/eslint@*": |
| + version "8.4.5" |
| + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.5.tgz#acdfb7dd36b91cc5d812d7c093811a8f3d9b31e4" |
| + integrity sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ== |
| + dependencies: |
| + "@types/estree" "*" |
| + "@types/json-schema" "*" |
| + |
| +"@types/estree@*": |
| + version "1.0.0" |
| + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" |
| + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== |
| + |
| +"@types/estree@^0.0.51": |
| + version "0.0.51" |
| + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" |
| + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== |
| + |
| +"@types/github-slugger@^1.3.0": |
| + version "1.3.0" |
| + resolved "https://registry.yarnpkg.com/@types/github-slugger/-/github-slugger-1.3.0.tgz#16ab393b30d8ae2a111ac748a015ac05a1fc5524" |
| + integrity sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g== |
| + |
| +"@types/json-schema@*", "@types/json-schema@^7.0.8": |
| + version "7.0.11" |
| + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" |
| + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== |
| + |
| +"@types/micromatch@^4.0.2": |
| + version "4.0.2" |
| + resolved "https://registry.yarnpkg.com/@types/micromatch/-/micromatch-4.0.2.tgz#ce29c8b166a73bf980a5727b1e4a4d099965151d" |
| + integrity sha512-oqXqVb0ci19GtH0vOA/U2TmHTcRY9kuZl4mqUxe0QmJAlIW13kzhuK5pi1i9+ngav8FjpSb9FVS/GE00GLX1VA== |
| + dependencies: |
| + "@types/braces" "*" |
| + |
| +"@types/node@*": |
| + version "18.0.6" |
| + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.6.tgz#0ba49ac517ad69abe7a1508bc9b3a5483df9d5d7" |
| + integrity sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw== |
| + |
| +"@webassemblyjs/ast@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" |
| + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== |
| + dependencies: |
| + "@webassemblyjs/helper-numbers" "1.11.1" |
| + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" |
| + |
| +"@webassemblyjs/floating-point-hex-parser@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" |
| + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== |
| + |
| +"@webassemblyjs/helper-api-error@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" |
| + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== |
| + |
| +"@webassemblyjs/helper-buffer@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" |
| + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== |
| + |
| +"@webassemblyjs/helper-numbers@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" |
| + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== |
| + dependencies: |
| + "@webassemblyjs/floating-point-hex-parser" "1.11.1" |
| + "@webassemblyjs/helper-api-error" "1.11.1" |
| + "@xtuc/long" "4.2.2" |
| + |
| +"@webassemblyjs/helper-wasm-bytecode@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" |
| + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== |
| + |
| +"@webassemblyjs/helper-wasm-section@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" |
| + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== |
| + dependencies: |
| + "@webassemblyjs/ast" "1.11.1" |
| + "@webassemblyjs/helper-buffer" "1.11.1" |
| + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" |
| + "@webassemblyjs/wasm-gen" "1.11.1" |
| + |
| +"@webassemblyjs/ieee754@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" |
| + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== |
| + dependencies: |
| + "@xtuc/ieee754" "^1.2.0" |
| + |
| +"@webassemblyjs/leb128@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" |
| + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== |
| + dependencies: |
| + "@xtuc/long" "4.2.2" |
| + |
| +"@webassemblyjs/utf8@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" |
| + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== |
| + |
| +"@webassemblyjs/wasm-edit@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" |
| + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== |
| + dependencies: |
| + "@webassemblyjs/ast" "1.11.1" |
| + "@webassemblyjs/helper-buffer" "1.11.1" |
| + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" |
| + "@webassemblyjs/helper-wasm-section" "1.11.1" |
| + "@webassemblyjs/wasm-gen" "1.11.1" |
| + "@webassemblyjs/wasm-opt" "1.11.1" |
| + "@webassemblyjs/wasm-parser" "1.11.1" |
| + "@webassemblyjs/wast-printer" "1.11.1" |
| + |
| +"@webassemblyjs/wasm-gen@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" |
| + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== |
| + dependencies: |
| + "@webassemblyjs/ast" "1.11.1" |
| + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" |
| + "@webassemblyjs/ieee754" "1.11.1" |
| + "@webassemblyjs/leb128" "1.11.1" |
| + "@webassemblyjs/utf8" "1.11.1" |
| + |
| +"@webassemblyjs/wasm-opt@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" |
| + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== |
| + dependencies: |
| + "@webassemblyjs/ast" "1.11.1" |
| + "@webassemblyjs/helper-buffer" "1.11.1" |
| + "@webassemblyjs/wasm-gen" "1.11.1" |
| + "@webassemblyjs/wasm-parser" "1.11.1" |
| + |
| +"@webassemblyjs/wasm-parser@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" |
| + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== |
| + dependencies: |
| + "@webassemblyjs/ast" "1.11.1" |
| + "@webassemblyjs/helper-api-error" "1.11.1" |
| + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" |
| + "@webassemblyjs/ieee754" "1.11.1" |
| + "@webassemblyjs/leb128" "1.11.1" |
| + "@webassemblyjs/utf8" "1.11.1" |
| + |
| +"@webassemblyjs/wast-printer@1.11.1": |
| + version "1.11.1" |
| + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" |
| + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== |
| + dependencies: |
| + "@webassemblyjs/ast" "1.11.1" |
| + "@xtuc/long" "4.2.2" |
| + |
| +"@xtuc/ieee754@^1.2.0": |
| + version "1.2.0" |
| + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" |
| + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== |
| + |
| +"@xtuc/long@4.2.2": |
| + version "4.2.2" |
| + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" |
| + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== |
| + |
| +acorn-import-assertions@^1.7.6: |
| + version "1.8.0" |
| + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" |
| + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== |
| + |
| +acorn@^8.4.1, acorn@^8.5.0: |
| + version "8.7.1" |
| + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" |
| + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== |
| + |
| +ajv-keywords@^3.5.2: |
| + version "3.5.2" |
| + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" |
| + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== |
| + |
| +ajv@^6.12.5: |
| + version "6.12.6" |
| + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" |
| + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== |
| + dependencies: |
| + fast-deep-equal "^3.1.1" |
| + fast-json-stable-stringify "^2.0.0" |
| + json-schema-traverse "^0.4.1" |
| + uri-js "^4.2.2" |
| + |
| +ansi-styles@^4.1.0: |
| + version "4.3.0" |
| + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" |
| + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== |
| + dependencies: |
| + color-convert "^2.0.1" |
| + |
| +argparse@^1.0.7: |
| + version "1.0.10" |
| + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" |
| + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== |
| + dependencies: |
| + sprintf-js "~1.0.2" |
| + |
| +array-union@^2.1.0: |
| + version "2.1.0" |
| + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" |
| + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== |
| + |
| +braces@^3.0.2: |
| + version "3.0.2" |
| + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" |
| + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== |
| + dependencies: |
| + fill-range "^7.0.1" |
| + |
| +browserslist@^4.14.5: |
| + version "4.21.2" |
| + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.2.tgz#59a400757465535954946a400b841ed37e2b4ecf" |
| + integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA== |
| + dependencies: |
| + caniuse-lite "^1.0.30001366" |
| + electron-to-chromium "^1.4.188" |
| + node-releases "^2.0.6" |
| + update-browserslist-db "^1.0.4" |
| + |
| +buffer-from@^1.0.0: |
| + version "1.1.2" |
| + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" |
| + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== |
| + |
| +caniuse-lite@^1.0.30001366: |
| + version "1.0.30001367" |
| + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz#2b97fe472e8fa29c78c5970615d7cd2ee414108a" |
| + integrity sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw== |
| + |
| +chalk@^4.1.1: |
| + version "4.1.2" |
| + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" |
| + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== |
| + dependencies: |
| + ansi-styles "^4.1.0" |
| + supports-color "^7.1.0" |
| + |
| +chrome-trace-event@^1.0.2: |
| + version "1.0.3" |
| + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" |
| + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== |
| + |
| +clone-deep@^4.0.1: |
| + version "4.0.1" |
| + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" |
| + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== |
| + dependencies: |
| + is-plain-object "^2.0.4" |
| + kind-of "^6.0.2" |
| + shallow-clone "^3.0.0" |
| + |
| +color-convert@^2.0.1: |
| + version "2.0.1" |
| + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" |
| + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== |
| + dependencies: |
| + color-name "~1.1.4" |
| + |
| +color-name@~1.1.4: |
| + version "1.1.4" |
| + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" |
| + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== |
| + |
| +commander@^2.20.0: |
| + version "2.20.3" |
| + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" |
| + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== |
| + |
| +commander@^5.1.0: |
| + version "5.1.0" |
| + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" |
| + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== |
| + |
| +dedent@^0.7.0: |
| + version "0.7.0" |
| + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" |
| + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== |
| + |
| +dir-glob@^3.0.1: |
| + version "3.0.1" |
| + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" |
| + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== |
| + dependencies: |
| + path-type "^4.0.0" |
| + |
| +electron-to-chromium@^1.4.188: |
| + version "1.4.195" |
| + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.195.tgz#139b2d95a42a3f17df217589723a1deac71d1473" |
| + integrity sha512-vefjEh0sk871xNmR5whJf9TEngX+KTKS3hOHpjoMpauKkwlGwtMz1H8IaIjAT/GNnX0TbGwAdmVoXCAzXf+PPg== |
| + |
| +enhanced-resolve@^5.9.3: |
| + version "5.10.0" |
| + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" |
| + integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== |
| + dependencies: |
| + graceful-fs "^4.2.4" |
| + tapable "^2.2.0" |
| + |
| +es-module-lexer@^0.9.0: |
| + version "0.9.3" |
| + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" |
| + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== |
| + |
| +escalade@^3.1.1: |
| + version "3.1.1" |
| + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" |
| + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== |
| + |
| +escape-string-regexp@^4.0.0: |
| + version "4.0.0" |
| + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" |
| + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== |
| + |
| +eslint-scope@5.1.1: |
| + version "5.1.1" |
| + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" |
| + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== |
| + dependencies: |
| + esrecurse "^4.3.0" |
| + estraverse "^4.1.1" |
| + |
| +esprima@^4.0.0: |
| + version "4.0.1" |
| + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" |
| + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== |
| + |
| +esrecurse@^4.3.0: |
| + version "4.3.0" |
| + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" |
| + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== |
| + dependencies: |
| + estraverse "^5.2.0" |
| + |
| +estraverse@^4.1.1: |
| + version "4.3.0" |
| + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" |
| + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== |
| + |
| +estraverse@^5.2.0: |
| + version "5.3.0" |
| + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" |
| + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== |
| + |
| +events@^3.2.0: |
| + version "3.3.0" |
| + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" |
| + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== |
| + |
| +extend-shallow@^2.0.1: |
| + version "2.0.1" |
| + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" |
| + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== |
| + dependencies: |
| + is-extendable "^0.1.0" |
| + |
| +fast-deep-equal@^3.1.1: |
| + version "3.1.3" |
| + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" |
| + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== |
| + |
| +fast-glob@^3.2.9: |
| + version "3.2.11" |
| + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" |
| + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== |
| + dependencies: |
| + "@nodelib/fs.stat" "^2.0.2" |
| + "@nodelib/fs.walk" "^1.2.3" |
| + glob-parent "^5.1.2" |
| + merge2 "^1.3.0" |
| + micromatch "^4.0.4" |
| + |
| +fast-json-stable-stringify@^2.0.0: |
| + version "2.1.0" |
| + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" |
| + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== |
| + |
| +fastq@^1.6.0: |
| + version "1.13.0" |
| + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" |
| + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== |
| + dependencies: |
| + reusify "^1.0.4" |
| + |
| +fill-range@^7.0.1: |
| + version "7.0.1" |
| + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" |
| + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== |
| + dependencies: |
| + to-regex-range "^5.0.1" |
| + |
| +fs-extra@^10.0.0: |
| + version "10.1.0" |
| + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" |
| + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== |
| + dependencies: |
| + graceful-fs "^4.2.0" |
| + jsonfile "^6.0.1" |
| + universalify "^2.0.0" |
| + |
| +glob-parent@^5.1.2: |
| + version "5.1.2" |
| + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" |
| + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== |
| + dependencies: |
| + is-glob "^4.0.1" |
| + |
| +glob-to-regexp@^0.4.1: |
| + version "0.4.1" |
| + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" |
| + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== |
| + |
| +globby@^11.0.4: |
| + version "11.1.0" |
| + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" |
| + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== |
| + dependencies: |
| + array-union "^2.1.0" |
| + dir-glob "^3.0.1" |
| + fast-glob "^3.2.9" |
| + ignore "^5.2.0" |
| + merge2 "^1.4.1" |
| + slash "^3.0.0" |
| + |
| +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: |
| + version "4.2.10" |
| + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" |
| + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== |
| + |
| +gray-matter@^4.0.3: |
| + version "4.0.3" |
| + resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" |
| + integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== |
| + dependencies: |
| + js-yaml "^3.13.1" |
| + kind-of "^6.0.2" |
| + section-matter "^1.0.0" |
| + strip-bom-string "^1.0.0" |
| + |
| +has-flag@^4.0.0: |
| + version "4.0.0" |
| + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" |
| + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== |
| + |
| +ignore@^5.2.0: |
| + version "5.2.0" |
| + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" |
| + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== |
| + |
| +is-extendable@^0.1.0: |
| + version "0.1.1" |
| + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" |
| + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== |
| + |
| +is-extglob@^2.1.1: |
| + version "2.1.1" |
| + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" |
| + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== |
| + |
| +is-glob@^4.0.1: |
| + version "4.0.3" |
| + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" |
| + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== |
| + dependencies: |
| + is-extglob "^2.1.1" |
| + |
| +is-number@^7.0.0: |
| + version "7.0.0" |
| + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" |
| + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== |
| + |
| +is-plain-object@^2.0.4: |
| + version "2.0.4" |
| + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" |
| + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== |
| + dependencies: |
| + isobject "^3.0.1" |
| + |
| +isobject@^3.0.1: |
| + version "3.0.1" |
| + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" |
| + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== |
| + |
| +jest-worker@^27.4.5: |
| + version "27.5.1" |
| + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" |
| + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== |
| + dependencies: |
| + "@types/node" "*" |
| + merge-stream "^2.0.0" |
| + supports-color "^8.0.0" |
| + |
| +joi@^17.4.0: |
| + version "17.6.0" |
| + resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2" |
| + integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw== |
| + dependencies: |
| + "@hapi/hoek" "^9.0.0" |
| + "@hapi/topo" "^5.0.0" |
| + "@sideway/address" "^4.1.3" |
| + "@sideway/formula" "^3.0.0" |
| + "@sideway/pinpoint" "^2.0.0" |
| + |
| +js-yaml@^3.13.1: |
| + version "3.14.1" |
| + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" |
| + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== |
| + dependencies: |
| + argparse "^1.0.7" |
| + esprima "^4.0.0" |
| + |
| +json-parse-even-better-errors@^2.3.1: |
| + version "2.3.1" |
| + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" |
| + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== |
| + |
| +json-schema-traverse@^0.4.1: |
| + version "0.4.1" |
| + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" |
| + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== |
| + |
| +jsonfile@^6.0.1: |
| + version "6.1.0" |
| + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" |
| + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== |
| + dependencies: |
| + universalify "^2.0.0" |
| + optionalDependencies: |
| + graceful-fs "^4.1.6" |
| + |
| +kind-of@^6.0.0, kind-of@^6.0.2: |
| + version "6.0.3" |
| + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" |
| + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== |
| + |
| +loader-runner@^4.2.0: |
| + version "4.3.0" |
| + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" |
| + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== |
| + |
| +lodash@^4.17.20: |
| + version "4.17.21" |
| + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" |
| + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== |
| + |
| +merge-stream@^2.0.0: |
| + version "2.0.0" |
| + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" |
| + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== |
| + |
| +merge2@^1.3.0, merge2@^1.4.1: |
| + version "1.4.1" |
| + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" |
| + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== |
| + |
| +micromatch@^4.0.4: |
| + version "4.0.5" |
| + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" |
| + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== |
| + dependencies: |
| + braces "^3.0.2" |
| + picomatch "^2.3.1" |
| + |
| +mime-db@1.52.0: |
| + version "1.52.0" |
| + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" |
| + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== |
| + |
| +mime-types@^2.1.27: |
| + version "2.1.35" |
| + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" |
| + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== |
| + dependencies: |
| + mime-db "1.52.0" |
| + |
| +neo-async@^2.6.2: |
| + version "2.6.2" |
| + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" |
| + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== |
| + |
| +node-releases@^2.0.6: |
| + version "2.0.6" |
| + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" |
| + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== |
| + |
| +path-type@^4.0.0: |
| + version "4.0.0" |
| + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" |
| + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== |
| + |
| +picocolors@^1.0.0: |
| + version "1.0.0" |
| + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" |
| + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== |
| + |
| +picomatch@^2.3.1: |
| + version "2.3.1" |
| + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" |
| + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== |
| + |
| +punycode@^2.1.0: |
| + version "2.1.1" |
| + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" |
| + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== |
| + |
| +querystring@0.2.0: |
| + version "0.2.0" |
| + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" |
| + integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== |
| + |
| +queue-microtask@^1.2.2: |
| + version "1.2.3" |
| + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" |
| + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== |
| + |
| +randombytes@^2.1.0: |
| + version "2.1.0" |
| + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" |
| + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== |
| + dependencies: |
| + safe-buffer "^5.1.0" |
| + |
| +resolve-pathname@^3.0.0: |
| + version "3.0.0" |
| + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" |
| + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== |
| + |
| +reusify@^1.0.4: |
| + version "1.0.4" |
| + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" |
| + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== |
| + |
| +run-parallel@^1.1.9: |
| + version "1.2.0" |
| + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" |
| + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== |
| + dependencies: |
| + queue-microtask "^1.2.2" |
| + |
| +safe-buffer@^5.1.0: |
| + version "5.2.1" |
| + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" |
| + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== |
| + |
| +schema-utils@^3.1.0, schema-utils@^3.1.1: |
| + version "3.1.1" |
| + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" |
| + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== |
| + dependencies: |
| + "@types/json-schema" "^7.0.8" |
| + ajv "^6.12.5" |
| + ajv-keywords "^3.5.2" |
| + |
| +section-matter@^1.0.0: |
| + version "1.0.0" |
| + resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" |
| + integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== |
| + dependencies: |
| + extend-shallow "^2.0.1" |
| + kind-of "^6.0.0" |
| + |
| +serialize-javascript@^6.0.0: |
| + version "6.0.0" |
| + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" |
| + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== |
| + dependencies: |
| + randombytes "^2.1.0" |
| + |
| +shallow-clone@^3.0.0: |
| + version "3.0.1" |
| + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" |
| + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== |
| + dependencies: |
| + kind-of "^6.0.2" |
| + |
| +slash@^3.0.0: |
| + version "3.0.0" |
| + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" |
| + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== |
| + |
| +source-map-support@~0.5.20: |
| + version "0.5.21" |
| + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" |
| + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== |
| + dependencies: |
| + buffer-from "^1.0.0" |
| + source-map "^0.6.0" |
| + |
| +source-map@^0.6.0: |
| + version "0.6.1" |
| + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" |
| + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== |
| + |
| +sprintf-js@~1.0.2: |
| + version "1.0.3" |
| + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" |
| + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== |
| + |
| +strip-bom-string@^1.0.0: |
| + version "1.0.0" |
| + resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" |
| + integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== |
| + |
| +supports-color@^7.1.0: |
| + version "7.2.0" |
| + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" |
| + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== |
| + 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" |
| + |
| +tapable@^2.1.1, tapable@^2.2.0: |
| + version "2.2.1" |
| + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" |
| + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== |
| + |
| +terser-webpack-plugin@^5.1.3: |
| + version "5.3.3" |
| + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz#8033db876dd5875487213e87c627bca323e5ed90" |
| + integrity sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ== |
| + dependencies: |
| + "@jridgewell/trace-mapping" "^0.3.7" |
| + jest-worker "^27.4.5" |
| + schema-utils "^3.1.1" |
| + serialize-javascript "^6.0.0" |
| + terser "^5.7.2" |
| + |
| +terser@^5.7.2: |
| + version "5.14.2" |
| + resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" |
| + integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== |
| + dependencies: |
| + "@jridgewell/source-map" "^0.3.2" |
| + acorn "^8.5.0" |
| + commander "^2.20.0" |
| + source-map-support "~0.5.20" |
| + |
| +to-regex-range@^5.0.1: |
| + version "5.0.1" |
| + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" |
| + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== |
| + dependencies: |
| + is-number "^7.0.0" |
| + |
| +tslib@^2.2.0: |
| + version "2.4.0" |
| + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" |
| + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== |
| + |
| +typescript@^4.8.0-dev.20220719: |
| + version "4.8.0-dev.20220719" |
| + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.0-dev.20220719.tgz#5481fe69ef18473d0da5ed23512d5754a2f998ef" |
| + integrity sha512-IAZp6IDszN9iZi7R5LOqR5j0Ffy737RVQF7IefH1hNtFE+HiTjfsEYtWD2M0X/2feOCESZEKaa+GmuOVFuFhUQ== |
| + |
| +universalify@^2.0.0: |
| + version "2.0.0" |
| + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" |
| + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== |
| + |
| +update-browserslist-db@^1.0.4: |
| + version "1.0.5" |
| + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" |
| + integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== |
| + dependencies: |
| + escalade "^3.1.1" |
| + picocolors "^1.0.0" |
| + |
| +uri-js@^4.2.2: |
| + version "4.4.1" |
| + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" |
| + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== |
| + dependencies: |
| + punycode "^2.1.0" |
| + |
| +watchpack@^2.3.1: |
| + version "2.4.0" |
| + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" |
| + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== |
| + dependencies: |
| + glob-to-regexp "^0.4.1" |
| + graceful-fs "^4.1.2" |
| + |
| +webpack-merge@^5.8.0: |
| + version "5.8.0" |
| + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" |
| + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== |
| + dependencies: |
| + clone-deep "^4.0.1" |
| + wildcard "^2.0.0" |
| + |
| +webpack-sources@^3.2.3: |
| + version "3.2.3" |
| + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" |
| + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== |
| + |
| +webpack@^5.40.0: |
| + version "5.73.0" |
| + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.73.0.tgz#bbd17738f8a53ee5760ea2f59dce7f3431d35d38" |
| + integrity sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA== |
| + dependencies: |
| + "@types/eslint-scope" "^3.7.3" |
| + "@types/estree" "^0.0.51" |
| + "@webassemblyjs/ast" "1.11.1" |
| + "@webassemblyjs/wasm-edit" "1.11.1" |
| + "@webassemblyjs/wasm-parser" "1.11.1" |
| + acorn "^8.4.1" |
| + acorn-import-assertions "^1.7.6" |
| + browserslist "^4.14.5" |
| + chrome-trace-event "^1.0.2" |
| + enhanced-resolve "^5.9.3" |
| + es-module-lexer "^0.9.0" |
| + eslint-scope "5.1.1" |
| + events "^3.2.0" |
| + glob-to-regexp "^0.4.1" |
| + graceful-fs "^4.2.9" |
| + json-parse-even-better-errors "^2.3.1" |
| + loader-runner "^4.2.0" |
| + mime-types "^2.1.27" |
| + neo-async "^2.6.2" |
| + schema-utils "^3.1.0" |
| + tapable "^2.1.1" |
| + terser-webpack-plugin "^5.1.3" |
| + watchpack "^2.3.1" |
| + webpack-sources "^3.2.3" |
| + |
| +wildcard@^2.0.0: |
| + version "2.0.0" |
| + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" |
| + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== |