diff --git a/.bazelrc b/.bazelrc index f563f09c1a..0bafbd1fe5 100644 --- a/.bazelrc +++ b/.bazelrc @@ -89,3 +89,6 @@ try-import %workspace%/.bazelrc.user build --action_env=AWS_ACCESS_KEY_ID --action_env=AWS_SECRET_ACCESS_KEY --action_env=PULUMI_ACCESS_TOKEN test --action_env=PULUMI_ACCESS_TOKEN + +# be careful with this! +test --test_tag_filters=-do_not_run_on_main diff --git a/.github/scripts/copy_to_versioned.sh b/.github/scripts/copy_to_versioned.sh new file mode 100755 index 0000000000..3187a2aa0e --- /dev/null +++ b/.github/scripts/copy_to_versioned.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +echo "Open PR to versioned branch (or not, if it was already there)" +echo "" +echo "Skipping failure here too, becuase we don't actually care" +echo "if the PR is already there." +gh pr create -f --head --main --base versioned || true + +echo "This ensures we have our commits pushed. We could be up to date" +echo "already. But it doesn't really matter." +git push || true + +echo "Setting PR to merge automatically..." +gh pr merge versioned --auto diff --git a/.github/versioning/versioning.md b/.github/versioning/versioning.md new file mode 100644 index 0000000000..ead966a6f7 --- /dev/null +++ b/.github/versioning/versioning.md @@ -0,0 +1,56 @@ +# Versioning + +A core goal of this monorepo project was to be able to update more frequently the various packages I've developed over time, especially when it comes to updates. I don't want to have to manually update package deps, I'd rather lean on dependabot to do it. + +I've previously semi-managed this with [do-sync]: dependabot pull requests are automatically merged if all the tests pass, then, after the dependabot PR is merged, a github action stamps a new version on the repo and another action publishes it to NPM. + +[do-sync]: https://github.com/Zemnmez/do-sync + +The issues with this are two fold: + +1. Github actions (with some restrictions) cannot be triggered by other github actions. It is not entirely clear if what seems to work works 100% of the time. + +2. It does not scale. The github action that bumps the version only bumps it in the package.json at the root of the package. This monorepo should eventually have several packages. + +## Solutions Considered + +### Main-centric flow + +In this initially considered approach, when commits are pushed to main, a job runs that bumps versions. + +```mermaid +sequenceDiagram + autonumber + Dependabot ->> Main: Dependency PRs + Main ->> Main: (on merge) bump versions +``` + +The main issue with this approach is that 'main' can't have tests that ensure that versions are correct, or the initial commit will not be possible. Secondarily, it's inelegant to have to separate out kinds of commits such that an infinite version bumping loop doesn't happen. + +### Develop-to-main flow + +In this alternative flow, instead of having a single deploy and test flow for the monorepo, there is a separate one for the 'main' branch and the 'develop' branch. The 'develop' branch is allowed to have incorrect version numbers, or exclude them completely, and only the main branch has version correctness checks. + +When a new commit is pushed to 'develop', a new set of scripts, perhaps in '//.github:postpush' run, generating a new commit that is then pushed to main that contains version information. This is the one I want to go forward with. + +```mermaid +sequenceDiagram + autonumber + dependabot ->> develop: Dependency PRs + humans ->> develop: Feature changes + develop ->> main: Postcommit hooks produce new code + main ->> main: deploy scripts +``` + +## Process +### Introduce new 'versioned' branch + - [ ] Versioned branch copies over all commits from main branch + - [ ] Rule that can be run to bump a version when a set of hashed file(s) changes. +### Introduce new 'versioned tests' + - [ ] Versioned tests, which are able to determine if a major minor + or patch version should be bumped as a result of a change, exist. + + + + +[svgshot publish pr]: https://github.com/Zemnmez/monorepo/pull/274 \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 95e4cd5234..c0b35df695 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,16 +15,13 @@ jobs: automerge: name: Auto-merge if: github.actor == 'dependabot[bot]' && github.event_name == 'pull_request' - needs: Test runs-on: ubuntu-latest permissions: pull-requests: write contents: write steps: - name: 'Merge (if dependabot)' - uses: fastify/github-action-merge-dependabot@v3 - with: - github-token: ${{secrets.GITHUB_TOKEN}} + run: gh pr merge versioned --auto Test: @@ -44,7 +41,7 @@ jobs: with: node-version: '16' - name: Restore bazel cache - uses: actions/cache@v3.0.2 + uses: actions/cache@v3.0.3 env: cache-name: bazel-cache with: @@ -57,11 +54,34 @@ jobs: # bazel generated node_modules run: bazelisk test //... + TestForMergeToVersioned: + # This runs just the tests that are specified not to run on main + if: github.ref == 'refs/heads/versioned' + name: Tests (for merging into versioned branch) + runs-on: ubuntu-latest + needs: Test + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: '16' + - name: Restore bazel cache + uses: actions/cache@v3.0.3 + env: + cache-name: bazel-cache + with: + path: | + ~/.cache/bazelisk + ~/.cache/bazel + key: ${{ runner.os }}-${{ env.cache-name }} + - name: All tests + run: bazelisk test //... --test_tag_filters=do_not_run_on_main deployment: - if: github.event_name == 'push' + if: github.event_name == 'push' && github.ref == 'refs/heads/versioned' runs-on: ubuntu-latest - environment: production needs: Test steps: - name: Checkout code @@ -71,7 +91,7 @@ jobs: with: node-version: '16' - name: Restore bazel cache - uses: actions/cache@v3.0.2 + uses: actions/cache@v3.0.3 env: cache-name: bazel-cache with: @@ -89,3 +109,16 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_SECRET }} + copy_to_versioned: + name: Copy commits in main to versioned branch + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + needs: Test + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - run: ./.github/scripts/copy_to_versioned.sh + shell: bash + \ No newline at end of file diff --git a/WORKSPACE b/WORKSPACE index 1380eff708..64be29d2bf 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -56,48 +56,6 @@ load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains") go_register_toolchains(version = "1.17.2") -load( - "@io_bazel_rules_docker//toolchains/docker:toolchain.bzl", - docker_toolchain_configure = "toolchain_configure", -) -load( - "@io_bazel_rules_docker//repositories:repositories.bzl", - container_repositories = "repositories", -) - -container_repositories() - -load("@io_bazel_rules_docker//repositories:deps.bzl", container_deps = "deps") - -container_deps() - -load( - "@io_bazel_rules_docker//toolchains/docker:toolchain.bzl", - docker_toolchain_configure = "toolchain_configure", -) - -docker_toolchain_configure( - name = "docker_config", - client_config = "//docker", - docker_flags = [ - "--tls", - "--log-level=info", - ], -) - -load( - "@io_bazel_rules_docker//container:container.bzl", - "container_pull", -) - -container_pull( - name = "steamcmd", - digest = "sha256:761c893f5ef7e55b22f7d1d51db7926ad26b60a74b641150b0174cfd9ba86669", - registry = "index.docker.io", - repository = "steamcmd/steamcmd", - tag = "centos", -) - load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains") rules_proto_dependencies() diff --git a/bzl/fix.sh b/bzl/fix.sh index 6b356cf6e0..ed59683db7 100755 --- a/bzl/fix.sh +++ b/bzl/fix.sh @@ -15,9 +15,12 @@ FIX_CSS=$(realpath $(rlocation monorepo/css/lint/lint.sh)) FIX_GO=$(realpath $(rlocation go_sdk/bin/gofmt)) FIX_JS=$(realpath $(rlocation npm/eslint/bin/eslint.sh)) - +echo Fixing CSS files... 1>&2 (cd $BUILD_WORKSPACE_DIRECTORY git ls-files --cached --modified --other --exclude-standard | uniq | grep .css$ | xargs $FIX_CSS --ignore-path .gitignore --fix +echo Fixing Go files... 1>&2 $FIX_GO -s -w . -$FIX_JS --fix --ignore-pattern 'project/ck3/base_game/*' --ignore-path .gitignore '**/*.ts' '**/*.js' '**/*.tsx' '**/*.json') || true # ignore failures. it fails often +echo Fixing Typescript, Javascript, json files... 1>&2 +$FIX_JS --fix --ignore-pattern 'project/ck3/base_game/*' --ignore-path .gitignore "$BUILD_WORKSPACE_DIRECTORY"'/**/*.ts' "$BUILD_WORKSPACE_DIRECTORY"'/**/*.js' "$BUILD_WORKSPACE_DIRECTORY"'/**/*.tsx' "$BUILD_WORKSPACE_DIRECTORY"'/**/*.json') || true # ignore failures. it fails often +echo Fixing bazel files... 1>&2 $FIX_BAZEL --lint=fix -r $INIT_CWD diff --git a/bzl/hash/BUILD b/bzl/hash/BUILD new file mode 100644 index 0000000000..5b13578ae3 --- /dev/null +++ b/bzl/hash/BUILD @@ -0,0 +1 @@ +# no output defined here \ No newline at end of file diff --git a/bzl/hash/rules.bzl b/bzl/hash/rules.bzl new file mode 100644 index 0000000000..82e5010e1e --- /dev/null +++ b/bzl/hash/rules.bzl @@ -0,0 +1,50 @@ +def _impl(ctx): + # Create actions to generate the three output files. + # Actions are run only when the corresponding file is requested. + + inputs = ctx.files.srcs + arguments = [ file.path for file in ctx.files.srcs ] + + ctx.actions.run_shell( + outputs = [ctx.outputs.md5], + inputs = inputs, + command = "md5sum $@ > {}".format( ctx.outputs.md5.path), + arguments = arguments, + ) + + ctx.actions.run_shell( + outputs = [ctx.outputs.sha1], + inputs = inputs, + command = "sha1sum $@ > {}".format( ctx.outputs.sha1.path), + arguments = arguments, + ) + + ctx.actions.run_shell( + outputs = [ctx.outputs.sha256], + inputs = inputs, + command = "sha256sum $@ > {}".format( ctx.outputs.sha256.path), + arguments = arguments, + ) + + # By default (if you run `bazel build` on this target, or if you use it as a + # source of another target), only the sha256 is computed. + return DefaultInfo(files = depset([ctx.outputs.sha256])) + +_hashes = rule( + implementation = _impl, + attrs = { + "srcs": attr.label_list(mandatory = True, allow_files = True), + "md5": attr.output(), + "sha1": attr.output(), + "sha256": attr.output(), + }, +) + +def hashes(**kwargs): + name = kwargs["name"] + _hashes( + md5 = "%s.md5" % name, + sha1 = "%s.sha1" % name, + sha256 = "%s.sha256" % name, + **kwargs + ) \ No newline at end of file diff --git a/bzl/hash/test/BUILD b/bzl/hash/test/BUILD new file mode 100644 index 0000000000..4b48865400 --- /dev/null +++ b/bzl/hash/test/BUILD @@ -0,0 +1,13 @@ +load("//bzl/hash:rules.bzl", "hashes") +load("@build_bazel_rules_nodejs//:index.bzl", "generated_file_test") + +hashes( + name = "hashes", + srcs = [ "input1.txt", "input2.txt" ] +) + +generated_file_test( + name = "version_concat_test", + generated = ":hashes", + src = "expected.txt" +) \ No newline at end of file diff --git a/bzl/hash/test/expected.txt b/bzl/hash/test/expected.txt new file mode 100644 index 0000000000..3e6c1ac79b --- /dev/null +++ b/bzl/hash/test/expected.txt @@ -0,0 +1,2 @@ +2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 bzl/hash/test/input1.txt +486ea46224d1bb4fb680f34f7c9ad96a8f24ec88be73ea8e5a6c65260e9cb8a7 bzl/hash/test/input2.txt diff --git a/bzl/hash/test/input1.txt b/bzl/hash/test/input1.txt new file mode 100644 index 0000000000..b6fc4c620b --- /dev/null +++ b/bzl/hash/test/input1.txt @@ -0,0 +1 @@ +hello \ No newline at end of file diff --git a/bzl/hash/test/input2.txt b/bzl/hash/test/input2.txt new file mode 100644 index 0000000000..04fea06420 --- /dev/null +++ b/bzl/hash/test/input2.txt @@ -0,0 +1 @@ +world \ No newline at end of file diff --git a/bzl/versioning/BUILD b/bzl/versioning/BUILD new file mode 100644 index 0000000000..cc83dbb72e --- /dev/null +++ b/bzl/versioning/BUILD @@ -0,0 +1,7 @@ +exports_files( + [ + "bump.py" + ], + visibility = ["//visibility:public"], +) + diff --git a/bzl/versioning/bump.py b/bzl/versioning/bump.py new file mode 100644 index 0000000000..09dbb6ee07 --- /dev/null +++ b/bzl/versioning/bump.py @@ -0,0 +1,35 @@ +import argparse +import os +import subprocess +import shutil + +parser = argparse.ArgumentParser(description="Performs the action of a version bump.") +parser.add_argument('--to_bump_in', help="The version file to bump, as a root-relative path.", type=str) +parser.add_argument('--to_bump_out', help="The version file to bump, as a root-relative path.", type=str) +parser.add_argument('--lockfile_build_label', help="A label that points to the generated (new) version lockfile.", type=str) +parser.add_argument('--lockfile_build_rootpath', help="The path from the repo root that the lockfile is generated into", type=str) +parser.add_argument('--lockfile_out_rootpath', help="The location to place the newly minted version lockfile at.", type=str) + +# This happens directly on the real workspace -- also, needs to be +# run from bazel to have this set. +os.chdir(os.environ.get('BUILD_WORKSPACE_DIRECTORY')) + +args = parser.parse_args() + +number = 0 + +with open(args.to_bump_in, mode='r', encoding='utf-8') as f: + number = int(f.read()) + + +with open(args.to_bump_out, mode='w', encoding='utf-8') as f: + f.write(str(number+1)) + +# Once the version has been bumped, generate the new version bump file. +subprocess.run(["bazelisk", "build", args.lockfile_build_label]) + +# Copy the newly created lockfile across +shutil.copyfile( + os.path.join("dist", "bin", args.lockfile_build_rootpath), + args.lockfile_out_rootpath +) \ No newline at end of file diff --git a/bzl/versioning/rules.bzl b/bzl/versioning/rules.bzl new file mode 100644 index 0000000000..afd8c35bff --- /dev/null +++ b/bzl/versioning/rules.bzl @@ -0,0 +1,85 @@ +load("//bzl/hash:rules.bzl", "hashes") +load("@build_bazel_rules_nodejs//:index.bzl", "generated_file_test") +load("@rules_python//python:defs.bzl", "py_binary") + +def semver_version(name, **kwargs): + _semver_version( + name = name, + output = name + ".txt", + **kwargs + ) + +def _semver_version_impl(ctx): + ctx.actions.run_shell( + outputs = [ ctx.outputs.output ], + inputs = [ + ctx.file.major, + ctx.file.minor, + ctx.file.patch + ], + arguments = [ file.path for file in [ + ctx.outputs.output, + ctx.file.major, + ctx.file.minor, + ctx.file.patch + ] ], + command = "cat <(echo v) $2 <(echo .) $3 <(echo .) $4 | tr -d '\n' > $1", + progress_message = "Concatenating version number..." + ) + + +_semver_version = rule( + implementation = _semver_version_impl, + attrs = { + "major": attr.label(allow_single_file = True, mandatory = True), + "minor": attr.label(allow_single_file = True, mandatory = True), + "patch": attr.label(allow_single_file = True, mandatory = True), + "output": attr.output(mandatory = True) + } +) + +def _absolute_label(label): + if label.startswith('@') or label.startswith('/'): + return label + if label.startswith(':'): + return native.repository_name() + '//' + native.package_name() + label + return native.repository_name() + '//' + native.package_name() + ':' + label + +def bump_on_change_test(name, srcs = [], version_lock = None, version = None, run_on_main = False): + tags = [] + + if not run_on_main: + tags = [ 'do_not_run_on_main' ] + + hashes_name = name + "_version_lock_validator" + hashes( + name = hashes_name, + srcs = srcs + [ version ], + ) + + generated_file_test( + name = name, + generated = hashes_name, + src = version_lock, + tags = tags + [ 'version_check' ] + ) + + py_binary( + name = name + ".bump", + srcs = [ "//bzl/versioning:bump.py" ], + main = "//bzl/versioning:bump.py", + data = [ version, hashes_name, version_lock ], + args = [ + "--to_bump_in", "$(rootpath " + version + ")", + "--to_bump_out", "$(rootpath " + version + ")", + "--lockfile_build_label", _absolute_label(hashes_name), + "--lockfile_build_rootpath", "$(rootpath " + hashes_name + ")", + "--lockfile_out_rootpath", "$(rootpath " + version_lock + ")" + ] + ) + + + + + + diff --git a/bzl/versioning/test/bump_on_change_test/BUILD b/bzl/versioning/test/bump_on_change_test/BUILD new file mode 100644 index 0000000000..3e9169db0c --- /dev/null +++ b/bzl/versioning/test/bump_on_change_test/BUILD @@ -0,0 +1,9 @@ +load("//bzl/versioning:rules.bzl", "bump_on_change_test") + +bump_on_change_test( + name = "version", + srcs = [ "contents.txt" ], + version_lock = "version.lock", + version = "MAJOR", + run_on_main = True +) \ No newline at end of file diff --git a/bzl/versioning/test/bump_on_change_test/MAJOR b/bzl/versioning/test/bump_on_change_test/MAJOR new file mode 100644 index 0000000000..c7930257df --- /dev/null +++ b/bzl/versioning/test/bump_on_change_test/MAJOR @@ -0,0 +1 @@ +7 \ No newline at end of file diff --git a/bzl/versioning/test/bump_on_change_test/contents.txt b/bzl/versioning/test/bump_on_change_test/contents.txt new file mode 100644 index 0000000000..442483cd5f --- /dev/null +++ b/bzl/versioning/test/bump_on_change_test/contents.txt @@ -0,0 +1 @@ +This is some content of our program \ No newline at end of file diff --git a/bzl/versioning/test/bump_on_change_test/version.lock b/bzl/versioning/test/bump_on_change_test/version.lock new file mode 100644 index 0000000000..788eaea7c0 --- /dev/null +++ b/bzl/versioning/test/bump_on_change_test/version.lock @@ -0,0 +1,2 @@ +040e04c69d4995ce0f768474f63263ccc87c3670b137516fcc1213a8b0f29406 bzl/versioning/test/bump_on_change_test/contents.txt +7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451 bzl/versioning/test/bump_on_change_test/MAJOR diff --git a/bzl/versioning/test/semver_version/BUILD b/bzl/versioning/test/semver_version/BUILD new file mode 100644 index 0000000000..a505d92c2e --- /dev/null +++ b/bzl/versioning/test/semver_version/BUILD @@ -0,0 +1,15 @@ +load("//bzl/versioning:rules.bzl", "semver_version") +load("@build_bazel_rules_nodejs//:index.bzl", "generated_file_test") + +semver_version( + name = "version", + major = "MAJOR", + minor = "MINOR", + patch = "PATCH" +) + +generated_file_test( + name = "version_concat_test", + generated = ":version", + src = "expected.txt" +) \ No newline at end of file diff --git a/bzl/versioning/test/semver_version/MAJOR b/bzl/versioning/test/semver_version/MAJOR new file mode 100644 index 0000000000..56a6051ca2 --- /dev/null +++ b/bzl/versioning/test/semver_version/MAJOR @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/bzl/versioning/test/semver_version/MINOR b/bzl/versioning/test/semver_version/MINOR new file mode 100644 index 0000000000..d8263ee986 --- /dev/null +++ b/bzl/versioning/test/semver_version/MINOR @@ -0,0 +1 @@ +2 \ No newline at end of file diff --git a/bzl/versioning/test/semver_version/PATCH b/bzl/versioning/test/semver_version/PATCH new file mode 100644 index 0000000000..e440e5c842 --- /dev/null +++ b/bzl/versioning/test/semver_version/PATCH @@ -0,0 +1 @@ +3 \ No newline at end of file diff --git a/bzl/versioning/test/semver_version/expected.txt b/bzl/versioning/test/semver_version/expected.txt new file mode 100644 index 0000000000..a064add5ff --- /dev/null +++ b/bzl/versioning/test/semver_version/expected.txt @@ -0,0 +1 @@ +v1.2.3 \ No newline at end of file diff --git a/js/jest/rules.bzl b/js/jest/rules.bzl index 4d906fde80..f0a470b6e1 100644 --- a/js/jest/rules.bzl +++ b/js/jest/rules.bzl @@ -12,6 +12,9 @@ def jest_test(name, srcs, data = [], deps = [], jest_config = "//:jest.ts.config "--forceExit", ] templated_args.extend(["--config", "$(rootpath %s)" % jest_config]) + + # Bazel already handles timeouts. + templated_args.extend(["--testTimeout", str(1000 * 60 * 5)]) for src in srcs: templated_args.extend(["--runTestsByPath", "$(rootpath %s)" % src]) diff --git a/package.json b/package.json index 6e82002998..e14ff0811d 100644 --- a/package.json +++ b/package.json @@ -18,52 +18,51 @@ "@fortawesome/react-fontawesome": "^0.1.18", "@pulumi/aws": "^4.0.0", "@pulumi/awsx": "^0.32.0", - "@pulumi/pulumi": "^3.33.1", - "@testing-library/react": "^12.1.2", + "@pulumi/pulumi": "^3.33.2", + "@testing-library/react": "^13.3.0", "@types/d3-axis": "^3.0.1", "@types/d3-scale": "^4.0.2", - "@types/jest": "^27.5.1", + "@types/jest": "^28.1.1", "@types/mime": "^2.0.3", - "@types/node": "^17.0.35", - "@types/react": "18.0.9", + "@types/node": "^17.0.40", + "@types/react": "18.0.12", "@types/react-dom": "^17.0.11", "@types/svgo": "^2.6.3", "@types/tmp": "^0.2.3", "@types/uuid": "^8.3.4", - "@typescript-eslint/eslint-plugin": "^5.26.0", - "@typescript-eslint/parser": "^5.26.0", + "@typescript-eslint/eslint-plugin": "^5.27.0", + "@typescript-eslint/parser": "^5.27.0", "chalk": "^5.0.1", "classnames": "^2.3.1", - "commander": "^9.2.0", + "commander": "^9.3.0", "concurrently": "^7.2.1", "d3-axis": "^3.0.0", "d3-scale": "^4.0.2", - "esbuild": "^0.14.39", + "esbuild": "^0.14.42", "esbuild-css-modules-plugin": "^2.2.16", - "eslint": "^8.16.0", + "eslint": "^8.17.0", "eslint-config-next": "12.1.6", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.0.0", "grunt-cli": "^1.4.3", - "http-server": "^14.1.0", + "http-server": "^14.1.1", "jest-cli": "^27.4.5", "jsdom": "^19.0.0", "mime": "^3.0.0", "module-alias": "^2.2.2", "prettier": "^2.6.2", - "puppeteer": "^14.1.1", + "puppeteer": "^14.2.1", "react-router": "^6.3.0", "react-router-dom": "^6.3.0", "react-spring": "^9.4.5", - "stylelint": "^14.8.4", + "stylelint": "^14.8.5", "stylelint-config-css-modules": "^4.1.0", "stylelint-config-recommended": "^7.0.0", "stylelint-config-standard": "^25.0.0", "svgo": "^2.8.0", "tmp": "^0.2.1", - "ts-node": "^10.8.0", + "ts-node": "^10.8.1", "ts-toolbelt": "^9.6.0", - "typescript-transform-paths": "^3.3.1", "uuid": "^8.3.2", "yaml-validator": "^4.0.0" }, diff --git a/rules.bzl b/rules.bzl index 6bb2376e45..eedf598513 100644 --- a/rules.bzl +++ b/rules.bzl @@ -104,7 +104,7 @@ def __ts_project(name, ignores_lint = [], tags = [], deps = [], srcs = [], tscon _ts_project( name = name, srcs = srcs, - deps = deps + ["@npm//typescript-transform-paths"], + deps = deps, tags = tags, source_map = True, tsconfig = tsconfig, diff --git a/ts/cmd/svgshot/svgshot_test.ts b/ts/cmd/svgshot/svgshot_test.ts index 4230f08a16..7441e32d5e 100644 --- a/ts/cmd/svgshot/svgshot_test.ts +++ b/ts/cmd/svgshot/svgshot_test.ts @@ -3,6 +3,8 @@ import tmp from 'tmp'; import fs from 'fs/promises'; import { runfiles } from '@bazel/runfiles'; +jest.setTimeout(30000); + describe('svgshot', () => { it('should render a test URL', async () => { const [target, cleanup] = await new Promise<[string, () => void]>( diff --git a/yarn.lock b/yarn.lock index 32e62182cf..2fa204dd66 100644 --- a/yarn.lock +++ b/yarn.lock @@ -413,14 +413,7 @@ core-js-pure "^3.19.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3": - version "7.16.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.5.tgz#7f3e34bf8bdbbadf03fbb7b1ea0d929569c9487a" - integrity sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.7.6": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.7.6": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== @@ -1101,10 +1094,10 @@ "@pulumi/pulumi" "^3.0.0" semver "^5.4.0" -"@pulumi/pulumi@^3.0.0", "@pulumi/pulumi@^3.33.1": - version "3.33.1" - resolved "https://registry.yarnpkg.com/@pulumi/pulumi/-/pulumi-3.33.1.tgz#941a1c3d58e7c53095be30294ddc0c78848df3a4" - integrity sha512-tmOl9wwQzpU6JfC5GJ8arNLbn7LP96RtG8Y5xxb5kIIOWme2JLQs4e1y9C4RL3/DOIZTlBXH7CvQ+VURham6KA== +"@pulumi/pulumi@^3.0.0", "@pulumi/pulumi@^3.33.2": + version "3.33.2" + resolved "https://registry.yarnpkg.com/@pulumi/pulumi/-/pulumi-3.33.2.tgz#d4e78a3d032cea997395dd89a504dd7dc4d6f4f4" + integrity sha512-qWtbz5njw32EBUvTAYIryQPATxP9EVwlg9A1DmN4Di33KLvH+6vnARKQLgBM+fCHSugfZmNPjHOZLSUb+A4KIg== dependencies: "@grpc/grpc-js" "~1.3.8" "@logdna/tail-file" "^2.0.6" @@ -1233,10 +1226,10 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@testing-library/dom@^8.0.0": - version "8.11.1" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.11.1.tgz#03fa2684aa09ade589b460db46b4c7be9fc69753" - integrity sha512-3KQDyx9r0RKYailW2MiYrSSKEfH0GTkI51UGEvJenvcoDoeRYs0PZpi2SXqtnMClQvCqdtTTpOfFETDTVADpAg== +"@testing-library/dom@^8.5.0": + version "8.13.0" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.13.0.tgz#bc00bdd64c7d8b40841e27a70211399ad3af46f5" + integrity sha512-9VHgfIatKNXQNaZTtLnalIy0jNZzY35a4S3oi08YAt9Hv1VsfZ/DfA45lM8D/UhtHBGJ4/lGwp0PZkVndRkoOQ== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" @@ -1247,13 +1240,14 @@ lz-string "^1.4.4" pretty-format "^27.0.2" -"@testing-library/react@^12.1.2": - version "12.1.2" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.2.tgz#f1bc9a45943461fa2a598bb4597df1ae044cfc76" - integrity sha512-ihQiEOklNyHIpo2Y8FREkyD1QAea054U0MVbwH1m8N9TxeFz+KoJ9LkqoKqJlzx2JDm56DVwaJ1r36JYxZM05g== +"@testing-library/react@^13.3.0": + version "13.3.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.3.0.tgz#bf298bfbc5589326bbcc8052b211f3bb097a97c5" + integrity sha512-DB79aA426+deFgGSjnf5grczDPiL4taK3hFaa+M5q7q20Kcve9eQottOG5kZ74KEr55v0tU2CQormSSDK87zYQ== dependencies: "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^8.0.0" + "@testing-library/dom" "^8.5.0" + "@types/react-dom" "^18.0.0" "@tootallnate/once@1": version "1.1.2" @@ -1383,10 +1377,10 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.1.tgz#2c8b6dc6ff85c33bcd07d0b62cb3d19ddfdb3ab9" - integrity sha512-fUy7YRpT+rHXto1YlL+J9rs0uLGyiqVt3ZOTQR+4ROc47yNl8WLdVLgUloBRhOxP1PZvguHl44T3H0wAWxahYQ== +"@types/jest@^28.1.1": + version "28.1.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.1.tgz#8c9ba63702a11f8c386ee211280e8b68cb093cd1" + integrity sha512-C2p7yqleUKtCkVjlOur9BWVA4HgUQmEj/HWCt5WzZ5mLXrWnyIfl0wGuArc+kBXsy0ZZfLp+7dywB4HtSVYGVA== dependencies: jest-matcher-utils "^27.0.0" pretty-format "^27.0.0" @@ -1416,10 +1410,10 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== -"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0", "@types/node@^17.0.35": - version "17.0.35" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.35.tgz#635b7586086d51fb40de0a2ec9d1014a5283ba4a" - integrity sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg== +"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0", "@types/node@^17.0.40": + version "17.0.40" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.40.tgz#76ee88ae03650de8064a6cf75b8d95f9f4a16090" + integrity sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg== "@types/node@^10.1.0": version "10.17.60" @@ -1453,10 +1447,17 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@18.0.9": - version "18.0.9" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.9.tgz#d6712a38bd6cd83469603e7359511126f122e878" - integrity sha512-9bjbg1hJHUm4De19L1cHiW0Jvx3geel6Qczhjd0qY5VKVE2X5+x77YxAepuCwVh4vrgZJdgEJw48zrhRIeF4Nw== +"@types/react-dom@^18.0.0": + version "18.0.5" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.5.tgz#330b2d472c22f796e5531446939eacef8378444a" + integrity sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@18.0.12": + version "18.0.12" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.12.tgz#cdaa209d0a542b3fcf69cf31a03976ec4cdd8840" + integrity sha512-duF1OTASSBQtcigUvhuiTB1Ya3OvSy+xORCiEf20H0P0lzx+/KeVsA99U5UjLXSbyo1DRJDlLKqTeM1ngosqtg== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -1508,14 +1509,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz#c1f98ccba9d345e38992975d3ca56ed6260643c2" - integrity sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA== +"@typescript-eslint/eslint-plugin@^5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.0.tgz#23d82a4f21aaafd8f69dbab7e716323bb6695cc8" + integrity sha512-DDrIA7GXtmHXr1VCcx9HivA39eprYBIFxbQEHI6NyraRDxCGpxAFiYQAT/1Y0vh1C+o2vfBiy4IuPoXxtTZCAQ== dependencies: - "@typescript-eslint/scope-manager" "5.26.0" - "@typescript-eslint/type-utils" "5.26.0" - "@typescript-eslint/utils" "5.26.0" + "@typescript-eslint/scope-manager" "5.27.0" + "@typescript-eslint/type-utils" "5.27.0" + "@typescript-eslint/utils" "5.27.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -1523,69 +1524,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.21.0", "@typescript-eslint/parser@^5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.26.0.tgz#a61b14205fe2ab7533deb4d35e604add9a4ceee2" - integrity sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q== +"@typescript-eslint/parser@^5.21.0", "@typescript-eslint/parser@^5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.27.0.tgz#62bb091ed5cf9c7e126e80021bb563dcf36b6b12" + integrity sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA== dependencies: - "@typescript-eslint/scope-manager" "5.26.0" - "@typescript-eslint/types" "5.26.0" - "@typescript-eslint/typescript-estree" "5.26.0" + "@typescript-eslint/scope-manager" "5.27.0" + "@typescript-eslint/types" "5.27.0" + "@typescript-eslint/typescript-estree" "5.27.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz#44209c7f649d1a120f0717e0e82da856e9871339" - integrity sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw== +"@typescript-eslint/scope-manager@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz#a272178f613050ed62f51f69aae1e19e870a8bbb" + integrity sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g== dependencies: - "@typescript-eslint/types" "5.26.0" - "@typescript-eslint/visitor-keys" "5.26.0" + "@typescript-eslint/types" "5.27.0" + "@typescript-eslint/visitor-keys" "5.27.0" -"@typescript-eslint/type-utils@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz#937dee97702361744a3815c58991acf078230013" - integrity sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A== +"@typescript-eslint/type-utils@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.27.0.tgz#36fd95f6747412251d79c795b586ba766cf0974b" + integrity sha512-vpTvRRchaf628Hb/Xzfek+85o//zEUotr1SmexKvTfs7czXfYjXVT/a5yDbpzLBX1rhbqxjDdr1Gyo0x1Fc64g== dependencies: - "@typescript-eslint/utils" "5.26.0" + "@typescript-eslint/utils" "5.27.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.26.0.tgz#cb204bb154d3c103d9cc4d225f311b08219469f3" - integrity sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA== +"@typescript-eslint/types@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.27.0.tgz#c3f44b9dda6177a9554f94a74745ca495ba9c001" + integrity sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A== -"@typescript-eslint/typescript-estree@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz#16cbceedb0011c2ed4f607255f3ee1e6e43b88c3" - integrity sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w== +"@typescript-eslint/typescript-estree@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz#7965f5b553c634c5354a47dcce0b40b94611e995" + integrity sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ== dependencies: - "@typescript-eslint/types" "5.26.0" - "@typescript-eslint/visitor-keys" "5.26.0" + "@typescript-eslint/types" "5.27.0" + "@typescript-eslint/visitor-keys" "5.27.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.26.0.tgz#896b8480eb124096e99c8b240460bb4298afcfb4" - integrity sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg== +"@typescript-eslint/utils@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.27.0.tgz#d0021cbf686467a6a9499bd0589e19665f9f7e71" + integrity sha512-nZvCrkIJppym7cIbP3pOwIkAefXOmfGPnCM0LQfzNaKxJHI6VjI8NC662uoiPlaf5f6ymkTy9C3NQXev2mdXmA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.26.0" - "@typescript-eslint/types" "5.26.0" - "@typescript-eslint/typescript-estree" "5.26.0" + "@typescript-eslint/scope-manager" "5.27.0" + "@typescript-eslint/types" "5.27.0" + "@typescript-eslint/typescript-estree" "5.27.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz#7195f756e367f789c0e83035297c45b417b57f57" - integrity sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q== +"@typescript-eslint/visitor-keys@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz#97aa9a5d2f3df8215e6d3b77f9d214a24db269bd" + integrity sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA== dependencies: - "@typescript-eslint/types" "5.26.0" + "@typescript-eslint/types" "5.27.0" eslint-visitor-keys "^3.3.0" abab@^2.0.3, abab@^2.0.5: @@ -1817,9 +1818,9 @@ asynckit@^0.4.0: integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= aws-sdk@^2.0.0: - version "2.1142.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1142.0.tgz#8fca9cfa100153d10d753afbc11a3ad7af6fe72b" - integrity sha512-ii+4Q8jqN31CiXpn9i/4vGCjqo02TGihmre5b44OUsTiKNXSjqr/aRrcirMsfuBFWRdrdcU12ez7Mg+N9GDNjw== + version "2.1148.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1148.0.tgz#028211e724aee5118223eb5fa65495eaae4b5083" + integrity sha512-FUYAyveKmS5eqIiGQgrGVsLZwwtI+K6S6Gz8oJf56pgypZCo9dV+cXO4aaS+vN0+LSmGh6dSKc6G8h8FYASIJg== dependencies: buffer "4.9.2" events "1.1.1" @@ -1828,7 +1829,7 @@ aws-sdk@^2.0.0: querystring "0.2.0" sax "1.2.1" url "0.10.3" - uuid "3.3.2" + uuid "8.0.0" xml2js "0.4.19" axe-core@^4.3.5: @@ -2046,9 +2047,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001332: - version "1.0.30001342" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001342.tgz#87152b1e3b950d1fbf0093e23f00b6c8e8f1da96" - integrity sha512-bn6sOCu7L7jcbBbyNhLg0qzXdJ/PMbybZTH/BA6Roet9wxYRm6Tr9D0s0uhLkOZ6MSG+QU6txUgdpr3MXIVqjA== + version "1.0.30001346" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001346.tgz#e895551b46b9cc9cc9de852facd42f04839a8fbe" + integrity sha512-q6ibZUO2t88QCIPayP/euuDREq+aMAxFE5S70PkrLh0iTDj/zEhgvJRKC2+CvXY6EWc6oQwUR48lL5vCW6jiXQ== chalk@^2.0.0: version "2.4.2" @@ -2171,10 +2172,10 @@ commander@^7.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -commander@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.2.0.tgz#6e21014b2ed90d8b7c9647230d8b7a94a4a419a9" - integrity sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w== +commander@^9.3.0: + version "9.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" + integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== concat-map@0.0.1: version "0.0.1" @@ -2204,9 +2205,9 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: safe-buffer "~5.1.1" core-js-pure@^3.19.0: - version "3.22.7" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.22.7.tgz#f58489d9b309fa7b26486a0f70d4ec19a418084e" - integrity sha512-wTriFxiZI+C8msGeh7fJcbC/a0V8fdInN1oS2eK79DMBGs8iIJiXhtFJCiT3rBa8w6zroHWW3p8ArlujZ/Mz+w== + version "3.22.8" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.22.8.tgz#f2157793b58719196ccf9673cc14f3683adc0957" + integrity sha512-bOxbZIy9S5n4OVH63XaLVXZ49QKicjowDx/UELyJ68vxfCRpYsbyh/WNZNfEfAk+ekA8vSjt+gCDpvh672bc3w== corser@^2.0.1: version "2.0.1" @@ -2246,9 +2247,9 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: which "^2.0.1" css-functions-list@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.0.1.tgz#1460df7fb584d1692c30b105151dbb988c8094f9" - integrity sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.1.0.tgz#cf5b09f835ad91a00e5959bcfc627cd498e1321b" + integrity sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w== css-select@^4.1.3: version "4.3.0" @@ -2487,10 +2488,10 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -devtools-protocol@0.0.982423: - version "0.0.982423" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.982423.tgz#39ac3791d4c5b90ebb416d4384663b7b0cc44154" - integrity sha512-FnVW2nDbjGNw1uD/JRC+9U5768W7e1TfUwqbDTcSsAu1jXFjITSX8w3rkW5FEpHRMPPGpvNSmO1pOpqByiWscA== +devtools-protocol@0.0.1001819: + version "0.0.1001819" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1001819.tgz#0a98f44cefdb02cc684f3d5e6bd898a1690231d9" + integrity sha512-G6OsIFnv/rDyxSqBa2lDLR6thp9oJioLsb2Gl+LbQlyoA9/OBAkrTU9jiCcQ8Pnh7z4d6slDiLaogR5hzgJLmQ== dezalgo@^1.0.0: version "1.0.4" @@ -2586,9 +2587,9 @@ domutils@^2.8.0: domhandler "^4.2.0" electron-to-chromium@^1.4.118: - version "1.4.137" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" - integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== + version "1.4.146" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.146.tgz#fd20970c3def2f9e6b32ac13a2e7a6b64e1b0c48" + integrity sha512-4eWebzDLd+hYLm4csbyMU2EbBnqhwl8Oe9eF/7CBDPWcRxFmqzx4izxvHH+lofQxzieg8UbB8ZuzNTxeukzfTg== emittery@^0.8.1: version "0.8.1" @@ -2674,15 +2675,15 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild-android-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz#09f12a372eed9743fd77ff6d889ac14f7b340c21" - integrity sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ== +esbuild-android-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.42.tgz#d7ab3d44d3671218d22bce52f65642b12908d954" + integrity sha512-P4Y36VUtRhK/zivqGVMqhptSrFILAGlYp0Z8r9UQqHJ3iWztRCNWnlBzD9HRx0DbueXikzOiwyOri+ojAFfW6A== -esbuild-android-arm64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz#f608d00ea03fe26f3b1ab92a30f99220390f3071" - integrity sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA== +esbuild-android-arm64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.42.tgz#45336d8bec49abddb3a022996a23373f45a57c27" + integrity sha512-0cOqCubq+RWScPqvtQdjXG3Czb3AWI2CaKw3HeXry2eoA2rrPr85HF7IpdU26UWdBXgPYtlTN1LUiuXbboROhg== esbuild-css-modules-plugin@^2.2.16: version "2.2.16" @@ -2696,121 +2697,121 @@ esbuild-css-modules-plugin@^2.2.16: postcss-modules "^4.3.1" tmp "^0.2.1" -esbuild-darwin-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz#31528daa75b4c9317721ede344195163fae3e041" - integrity sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g== - -esbuild-darwin-arm64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz#247f770d86d90a215fa194f24f90e30a0bd97245" - integrity sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw== - -esbuild-freebsd-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz#479414d294905055eb396ebe455ed42213284ee0" - integrity sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ== - -esbuild-freebsd-arm64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz#cedeb10357c88533615921ae767a67dc870a474c" - integrity sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg== - -esbuild-linux-32@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz#d9f008c4322d771f3958f59c1eee5a05cdf92485" - integrity sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg== - -esbuild-linux-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz#ba58d7f66858913aeb1ab5c6bde1bbd824731795" - integrity sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ== - -esbuild-linux-arm64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz#708785a30072702b5b1c16b65cf9c25c51202529" - integrity sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ== - -esbuild-linux-arm@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz#4e8b5deaa7ab60d0d28fab131244ef82b40684f4" - integrity sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ== - -esbuild-linux-mips64le@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz#6f3bf3023f711084e5a1e8190487d2020f39f0f7" - integrity sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw== - -esbuild-linux-ppc64le@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz#900e718a4ea3f6aedde8424828eeefdd4b48d4b9" - integrity sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ== - -esbuild-linux-riscv64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz#dcbff622fa37047a75d2ff7a1d8d2949d80277e4" - integrity sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA== - -esbuild-linux-s390x@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz#3f725a7945b419406c99d93744b28552561dcdfd" - integrity sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA== - -esbuild-netbsd-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz#e10e40b6a765798b90d4eb85901cc85c8b7ff85e" - integrity sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA== - -esbuild-openbsd-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz#935ec143f75ce10bd9cdb1c87fee00287eb0edbc" - integrity sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA== - -esbuild-sunos-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz#0e7aa82b022a2e6d55b0646738b2582c2d72c3c0" - integrity sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg== - -esbuild-windows-32@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz#3f1538241f31b538545f4b5841b248cac260fa35" - integrity sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q== - -esbuild-windows-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz#b100c59f96d3c2da2e796e42fee4900d755d3e03" - integrity sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow== - -esbuild-windows-arm64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz#00268517e665b33c89778d61f144e4256b39f631" - integrity sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA== - -esbuild@^0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.39.tgz#c926b2259fe6f6d3a94f528fb42e103c5a6d909a" - integrity sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ== +esbuild-darwin-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.42.tgz#6dff5e44cd70a88c33323e2f5fb598e40c68a9e0" + integrity sha512-ipiBdCA3ZjYgRfRLdQwP82rTiv/YVMtW36hTvAN5ZKAIfxBOyPXY7Cejp3bMXWgzKD8B6O+zoMzh01GZsCuEIA== + +esbuild-darwin-arm64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.42.tgz#2c7313e1b12d2fa5b889c03213d682fb92ca8c4f" + integrity sha512-bU2tHRqTPOaoH/4m0zYHbFWpiYDmaA0gt90/3BMEFaM0PqVK/a6MA2V/ypV5PO0v8QxN6gH5hBPY4YJ2lopXgA== + +esbuild-freebsd-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.42.tgz#ad1c5a564a7e473b8ce95ee7f76618d05d6daffc" + integrity sha512-75h1+22Ivy07+QvxHyhVqOdekupiTZVLN1PMwCDonAqyXd8TVNJfIRFrdL8QmSJrOJJ5h8H1I9ETyl2L8LQDaw== + +esbuild-freebsd-arm64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.42.tgz#4bdb480234144f944f1930829bace7561135ddc7" + integrity sha512-W6Jebeu5TTDQMJUJVarEzRU9LlKpNkPBbjqSu+GUPTHDCly5zZEQq9uHkmHHl7OKm+mQ2zFySN83nmfCeZCyNA== + +esbuild-linux-32@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.42.tgz#ef18fd19f067e9d2b5f677d6b82fa81519f5a8c2" + integrity sha512-Ooy/Bj+mJ1z4jlWcK5Dl6SlPlCgQB9zg1UrTCeY8XagvuWZ4qGPyYEWGkT94HUsRi2hKsXvcs6ThTOjBaJSMfg== + +esbuild-linux-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.42.tgz#d84e7333b1c1b22cf8b5b9dbb5dd9b2ecb34b79f" + integrity sha512-2L0HbzQfbTuemUWfVqNIjOfaTRt9zsvjnme6lnr7/MO9toz/MJ5tZhjqrG6uDWDxhsaHI2/nsDgrv8uEEN2eoA== + +esbuild-linux-arm64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.42.tgz#dc19e282f8c4ffbaa470c02a4d171e4ae0180cca" + integrity sha512-c3Ug3e9JpVr8jAcfbhirtpBauLxzYPpycjWulD71CF6ZSY26tvzmXMJYooQ2YKqDY4e/fPu5K8bm7MiXMnyxuA== + +esbuild-linux-arm@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.42.tgz#d49870e63e2242b8156bf473f2ee5154226be328" + integrity sha512-STq69yzCMhdRaWnh29UYrLSr/qaWMm/KqwaRF1pMEK7kDiagaXhSL1zQGXbYv94GuGY/zAwzK98+6idCMUOOCg== + +esbuild-linux-mips64le@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.42.tgz#f4e6ff9bf8a6f175470498826f48d093b054fc22" + integrity sha512-QuvpHGbYlkyXWf2cGm51LBCHx6eUakjaSrRpUqhPwjh/uvNUYvLmz2LgPTTPwCqaKt0iwL+OGVL0tXA5aDbAbg== + +esbuild-linux-ppc64le@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.42.tgz#ac9c66fc80ba9f8fda15a4cc08f4e55f6c0aed63" + integrity sha512-8ohIVIWDbDT+i7lCx44YCyIRrOW1MYlks9fxTo0ME2LS/fxxdoJBwHWzaDYhjvf8kNpA+MInZvyOEAGoVDrMHg== + +esbuild-linux-riscv64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.42.tgz#21e0ae492a3a9bf4eecbfc916339a66e204256d0" + integrity sha512-DzDqK3TuoXktPyG1Lwx7vhaF49Onv3eR61KwQyxYo4y5UKTpL3NmuarHSIaSVlTFDDpcIajCDwz5/uwKLLgKiQ== + +esbuild-linux-s390x@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.42.tgz#06d40b957250ffd9a2183bfdfc9a03d6fd21b3e8" + integrity sha512-YFRhPCxl8nb//Wn6SiS5pmtplBi4z9yC2gLrYoYI/tvwuB1jldir9r7JwAGy1Ck4D7sE7wBN9GFtUUX/DLdcEQ== + +esbuild-netbsd-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.42.tgz#185664f05f10914f14ed43bd9e22b7de584267f7" + integrity sha512-QYSD2k+oT9dqB/4eEM9c+7KyNYsIPgzYOSrmfNGDIyJrbT1d+CFVKvnKahDKNJLfOYj8N4MgyFaU9/Ytc6w5Vw== + +esbuild-openbsd-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.42.tgz#c29006f659eb4e55283044bbbd4eb4054fae8839" + integrity sha512-M2meNVIKWsm2HMY7+TU9AxM7ZVwI9havdsw6m/6EzdXysyCFFSoaTQ/Jg03izjCsK17FsVRHqRe26Llj6x0MNA== + +esbuild-sunos-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.42.tgz#aa9eec112cd1e7105e7bb37000eca7d460083f8f" + integrity sha512-uXV8TAZEw36DkgW8Ak3MpSJs1ofBb3Smkc/6pZ29sCAN1KzCAQzsje4sUwugf+FVicrHvlamCOlFZIXgct+iqQ== + +esbuild-windows-32@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.42.tgz#c3fc450853c61a74dacc5679de301db23b73e61e" + integrity sha512-4iw/8qWmRICWi9ZOnJJf9sYt6wmtp3hsN4TdI5NqgjfOkBVMxNdM9Vt3626G1Rda9ya2Q0hjQRD9W1o+m6Lz6g== + +esbuild-windows-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.42.tgz#b877aa37ff47d9fcf0ccb1ca6a24b31475a5e555" + integrity sha512-j3cdK+Y3+a5H0wHKmLGTJcq0+/2mMBHPWkItR3vytp/aUGD/ua/t2BLdfBIzbNN9nLCRL9sywCRpOpFMx3CxzA== + +esbuild-windows-arm64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.42.tgz#79da8744626f24bc016dc40d016950b5a4a2bac5" + integrity sha512-+lRAARnF+hf8J0mN27ujO+VbhPbDqJ8rCcJKye4y7YZLV6C4n3pTRThAb388k/zqF5uM0lS5O201u0OqoWSicw== + +esbuild@^0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.42.tgz#98587df0b024d5f6341b12a1d735a2bff55e1836" + integrity sha512-V0uPZotCEHokJdNqyozH6qsaQXqmZEOiZWrXnds/zaH/0SyrIayRXWRB98CENO73MIZ9T3HBIOsmds5twWtmgw== optionalDependencies: - esbuild-android-64 "0.14.39" - esbuild-android-arm64 "0.14.39" - esbuild-darwin-64 "0.14.39" - esbuild-darwin-arm64 "0.14.39" - esbuild-freebsd-64 "0.14.39" - esbuild-freebsd-arm64 "0.14.39" - esbuild-linux-32 "0.14.39" - esbuild-linux-64 "0.14.39" - esbuild-linux-arm "0.14.39" - esbuild-linux-arm64 "0.14.39" - esbuild-linux-mips64le "0.14.39" - esbuild-linux-ppc64le "0.14.39" - esbuild-linux-riscv64 "0.14.39" - esbuild-linux-s390x "0.14.39" - esbuild-netbsd-64 "0.14.39" - esbuild-openbsd-64 "0.14.39" - esbuild-sunos-64 "0.14.39" - esbuild-windows-32 "0.14.39" - esbuild-windows-64 "0.14.39" - esbuild-windows-arm64 "0.14.39" + esbuild-android-64 "0.14.42" + esbuild-android-arm64 "0.14.42" + esbuild-darwin-64 "0.14.42" + esbuild-darwin-arm64 "0.14.42" + esbuild-freebsd-64 "0.14.42" + esbuild-freebsd-arm64 "0.14.42" + esbuild-linux-32 "0.14.42" + esbuild-linux-64 "0.14.42" + esbuild-linux-arm "0.14.42" + esbuild-linux-arm64 "0.14.42" + esbuild-linux-mips64le "0.14.42" + esbuild-linux-ppc64le "0.14.42" + esbuild-linux-riscv64 "0.14.42" + esbuild-linux-s390x "0.14.42" + esbuild-netbsd-64 "0.14.42" + esbuild-openbsd-64 "0.14.42" + esbuild-sunos-64 "0.14.42" + esbuild-windows-32 "0.14.42" + esbuild-windows-64 "0.14.42" + esbuild-windows-arm64 "0.14.42" escalade@^3.1.1: version "3.1.1" @@ -2993,10 +2994,10 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.16.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.16.0.tgz#6d936e2d524599f2a86c708483b4c372c5d3bbae" - integrity sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA== +eslint@^8.17.0: + version "8.17.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.17.0.tgz#1cfc4b6b6912f77d24b874ca1506b0fe09328c21" + integrity sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw== dependencies: "@eslint/eslintrc" "^1.3.0" "@humanwhocodes/config-array" "^0.9.2" @@ -3085,7 +3086,7 @@ eventemitter3@^4.0.0: events@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= + integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== execa@^5.0.0: version "5.1.1" @@ -3273,9 +3274,9 @@ flatted@^3.1.0: integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== follow-redirects@^1.0.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4" - integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== + version "1.15.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" + integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== for-in@^1.0.1: version "1.0.2" @@ -3669,10 +3670,10 @@ http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" -http-server@^14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/http-server/-/http-server-14.1.0.tgz#51d43e03cdbb94f328b24821cad2cefc6c6a2eed" - integrity sha512-5lYsIcZtf6pdR8tCtzAHTWrAveo4liUlJdWc7YafwK/maPgYHs+VNP6KpCClmUnSorJrARVMXqtT055zBv11Yg== +http-server@^14.1.1: + version "14.1.1" + resolved "https://registry.yarnpkg.com/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e" + integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== dependencies: basic-auth "^2.0.1" chalk "^4.1.2" @@ -3681,7 +3682,7 @@ http-server@^14.1.0: html-encoding-sniffer "^3.0.0" http-proxy "^1.18.1" mime "^1.6.0" - minimist "^1.2.5" + minimist "^1.2.6" opener "^1.5.1" portfinder "^1.0.28" secure-compare "3.0.1" @@ -3999,7 +4000,7 @@ is-windows@^1.0.1: isarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" @@ -4875,7 +4876,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== @@ -5495,21 +5496,21 @@ pump@^3.0.0: punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@^14.1.1: - version "14.1.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.1.1.tgz#9a2b4042f9644d0d5fb63dbb6d75042af6a67656" - integrity sha512-4dC6GYR5YlXTmNO3TbYEHTdVSdml1cVD2Ok/h/f/xSTp4ITVdbRWkMjiOaEKRAhtIl6GqaP7B89zx+hfhcNGMQ== +puppeteer@^14.2.1: + version "14.2.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.2.1.tgz#e343379061e0211b4c02d0c535883c26a39f825e" + integrity sha512-cIEsAbEbNYqHbkvdZY4+YSdxVwh4YFqOHSezuLpu46XAYlKkQeAMdJQ+mDAxg9v77gIn8PHJ6PlftIVsWKRACA== dependencies: cross-fetch "3.1.5" debug "4.3.4" - devtools-protocol "0.0.982423" + devtools-protocol "0.0.1001819" extract-zip "2.0.1" https-proxy-agent "5.0.1" pkg-dir "4.2.0" @@ -5518,7 +5519,7 @@ puppeteer@^14.1.1: rimraf "3.0.2" tar-fs "2.1.1" unbzip2-stream "1.4.3" - ws "8.6.0" + ws "8.7.0" qs@^6.4.0: version "6.10.3" @@ -5530,7 +5531,7 @@ qs@^6.4.0: querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== queue-microtask@^1.2.2: version "1.2.3" @@ -6115,10 +6116,10 @@ stylelint-scss@^4.2.0: postcss-selector-parser "^6.0.6" postcss-value-parser "^4.1.0" -stylelint@^14.8.4: - version "14.8.4" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.8.4.tgz#e8bfa12cba88a244bcab4c94b6a7481c5b730963" - integrity sha512-VoyFmif50YNL2R1NC0NxbprTbvnihiqE9tdwb/IAUvlncoS3dEllSSEfvTaQQ6BTCp6iv6daIg5v7ryRSlBdgw== +stylelint@^14.8.5: + version "14.8.5" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.8.5.tgz#0fcbf5b6821283b5a249dde36d70f1158da0a2a3" + integrity sha512-e3t4H/hlWlspkcNUrkhf44RU3OpPTA7uBOoREGBzSwdEF+2g/+gbZq7WEpMP7BpopcSe/uLaTvDuL+URL7cdnQ== dependencies: balanced-match "^2.0.0" colord "^2.9.2" @@ -6344,10 +6345,10 @@ trim-newlines@^3.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -ts-node@^10.8.0: - version "10.8.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.0.tgz#3ceb5ac3e67ae8025c1950626aafbdecb55d82ce" - integrity sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA== +ts-node@^10.8.1: + version "10.8.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.1.tgz#ea2bd3459011b52699d7e88daa55a45a1af4f066" + integrity sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" @@ -6460,13 +6461,6 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript-transform-paths@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/typescript-transform-paths/-/typescript-transform-paths-3.3.1.tgz#74526bc1b6dc575ffe269cc81833db7bd81763e1" - integrity sha512-c+8Cqd2rsRtTU68rJI0NX/OtqgBDddNs1fIxm1nCNyhn0WpoyqtpUxc1w9Ke5c5kgE4/OT5xYbKf2cf694RYEg== - dependencies: - minimatch "^3.0.4" - typescript@^4.6.4: version "4.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" @@ -6564,10 +6558,10 @@ util-promisify@^2.1.0: dependencies: object.getownpropertydescriptors "^2.0.3" -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +uuid@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c" + integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== uuid@^8.3.2: version "8.3.2" @@ -6767,15 +6761,15 @@ write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@8.6.0, ws@^8.2.3: - version "8.6.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.6.0.tgz#e5e9f1d9e7ff88083d0c0dd8281ea662a42c9c23" - integrity sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw== +ws@8.7.0, ws@^8.2.3: + version "8.7.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.7.0.tgz#eaf9d874b433aa00c0e0d8752532444875db3957" + integrity sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg== ws@^7.4.6: - version "7.5.7" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" - integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== + version "7.5.8" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a" + integrity sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw== xml-name-validator@^3.0.0: version "3.0.0"