diff --git a/.bcr/presubmit.yml b/.bcr/presubmit.yml index e76a8bb7..34333e34 100644 --- a/.bcr/presubmit.yml +++ b/.bcr/presubmit.yml @@ -1,10 +1,10 @@ bcr_test_module: - module_path: 'e2e/smoke' + module_path: "e2e/smoke" matrix: - platform: ['debian10', 'macos', 'ubuntu2004', 'windows'] + platform: ["debian10", "macos", "ubuntu2004", "windows"] tasks: run_tests: - name: 'Run test module' + name: "Run test module" platform: ${{ platform }} test_targets: - - '//...' + - "//..." diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5b5bead6..c96a0aee 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,7 +14,7 @@ default_language_version: repos: # Check formatting and lint for starlark code - repo: https://github.com/keith/pre-commit-buildifier - rev: 4.0.1.1 + rev: 6.3.3 hooks: - id: buildifier - id: buildifier-lint diff --git a/MODULE.bazel b/MODULE.bazel index 170d1da5..efdaaabc 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -1,4 +1,5 @@ "Bazel dependencies" + module( name = "aspect_rules_lint", version = "0.0.0", @@ -13,8 +14,10 @@ bazel_dep(name = "platforms", version = "0.0.7") bazel_dep(name = "rules_go", version = "0.39.1", dev_dependency = True) bazel_dep(name = "gazelle", version = "0.31.0", dev_dependency = True) bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.4.1", dev_dependency = True) + bazel_dep(name = "rules_proto", version = "5.3.0-21.7") bazel_dep(name = "rules_buf", version = "0.1.1") + # Needed due to rules_proto leaking the dependency bazel_dep(name = "protobuf", version = "21.7", repo_name = "com_google_protobuf") diff --git a/example/.eslintrc.cjs b/example/.eslintrc.cjs index 46756464..bf30dc6c 100644 --- a/example/.eslintrc.cjs +++ b/example/.eslintrc.cjs @@ -1,7 +1,7 @@ /* eslint-env node */ module.exports = { - extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint/eslint-plugin'], + extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint/eslint-plugin"], root: true, }; diff --git a/example/BUILD.bazel b/example/BUILD.bazel index 272600c3..fc2c1f95 100644 --- a/example/BUILD.bazel +++ b/example/BUILD.bazel @@ -12,7 +12,13 @@ compile_pip_requirements( npm_link_all_packages(name = "node_modules") -exports_files(["buf.yaml", ".flake8"], visibility = ["//visibility:public"]) +exports_files( + [ + "buf.yaml", + ".flake8", + ], + visibility = ["//visibility:public"], +) # We can test that it works with: # bazel run :flake8 -- --help @@ -27,7 +33,7 @@ js_library( name = "eslintrc", srcs = [".eslintrc.cjs"], deps = [ - ":node_modules/@typescript-eslint/eslint-plugin", - ":node_modules/@typescript-eslint/parser", + ":node_modules/@typescript-eslint/eslint-plugin", + ":node_modules/@typescript-eslint/parser", ], ) diff --git a/example/MODULE.bazel b/example/MODULE.bazel index 64aa3b90..2189db9a 100644 --- a/example/MODULE.bazel +++ b/example/MODULE.bazel @@ -1,10 +1,12 @@ "Bazel dependencies" -bazel_dep(name = "aspect_rules_lint", dev_dependency = True, version = "0.0.0") + +bazel_dep(name = "aspect_rules_lint", version = "0.0.0", dev_dependency = True) bazel_dep(name = "aspect_bazel_lib", version = "1.31.2", dev_dependency = True) bazel_dep(name = "aspect_rules_js", version = "1.32.2", dev_dependency = True) bazel_dep(name = "aspect_rules_ts", version = "1.3.3", dev_dependency = True) bazel_dep(name = "rules_python", version = "0.26.0", dev_dependency = True) -bazel_dep(name = "bazel_skylib", dev_dependency = True, version = "1.4.1") +bazel_dep(name = "bazel_skylib", version = "1.4.1", dev_dependency = True) + # Needed due to rules_proto leaking the dependency bazel_dep(name = "protobuf", version = "21.7", repo_name = "com_google_protobuf") bazel_dep(name = "rules_proto", version = "5.3.0-21.7") @@ -19,13 +21,10 @@ rules_ts_ext = use_extension( "ext", dev_dependency = True, ) - rules_ts_ext.deps() - use_repo(rules_ts_ext, "npm_typescript") npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm", dev_dependency = True) - npm.npm_translate_lock( name = "npm", npmrc = "//:.npmrc", @@ -34,10 +33,10 @@ npm.npm_translate_lock( "@typescript-eslint/eslint-plugin": [""], }, ) - use_repo(npm, "npm") python_version = "3.9" + python = use_extension("@rules_python//python/extensions:python.bzl", "python") python.toolchain( python_version = python_version, @@ -45,8 +44,8 @@ python.toolchain( pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") pip.parse( - python_version = python_version, hub_name = "pip", + python_version = python_version, requirements_lock = "//:requirements.txt", ) use_repo(pip, "pip") diff --git a/example/lint.bzl b/example/lint.bzl index e08ace73..338f4070 100644 --- a/example/lint.bzl +++ b/example/lint.bzl @@ -1,7 +1,7 @@ "Define linter aspects" -load("@aspect_rules_lint//lint:eslint.bzl", "eslint_aspect") load("@aspect_rules_lint//lint:buf.bzl", "buf_lint_aspect") +load("@aspect_rules_lint//lint:eslint.bzl", "eslint_aspect") load("@aspect_rules_lint//lint:flake8.bzl", "flake8_aspect") buf = buf_lint_aspect( diff --git a/example/pnpm-lock.yaml b/example/pnpm-lock.yaml index 98181ae0..14266801 100644 --- a/example/pnpm-lock.yaml +++ b/example/pnpm-lock.yaml @@ -1,22 +1,26 @@ lockfileVersion: 5.4 specifiers: - '@typescript-eslint/eslint-plugin': '*' - '@typescript-eslint/parser': '*' - eslint: '*' - typescript: '5.0' + "@typescript-eslint/eslint-plugin": "*" + "@typescript-eslint/parser": "*" + eslint: "*" + typescript: "5.0" devDependencies: - '@typescript-eslint/eslint-plugin': 5.59.1_2utyh6gct5glvuz6qwradubqqa - '@typescript-eslint/parser': 5.59.1_iacogk7kkaymxepzhgcbytyi7q + "@typescript-eslint/eslint-plugin": 5.59.1_2utyh6gct5glvuz6qwradubqqa + "@typescript-eslint/parser": 5.59.1_iacogk7kkaymxepzhgcbytyi7q eslint: 8.39.0 typescript: 5.0.4 packages: - /@eslint-community/eslint-utils/4.4.0_eslint@8.39.0: - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: @@ -25,13 +29,23 @@ packages: dev: true /@eslint-community/regexpp/4.5.0: - resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + resolution: + { + integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } dev: true /@eslint/eslintrc/2.0.2: - resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: ajv: 6.12.6 debug: 4.3.4 @@ -47,15 +61,25 @@ packages: dev: true /@eslint/js/8.39.0: - resolution: {integrity: sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@eslint/js/-/js-8.39.0.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@eslint/js/-/js-8.39.0.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true /@humanwhocodes/config-array/0.11.8: - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 + resolution: + { + integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz, + } + engines: { node: ">=10.10.0" } + dependencies: + "@humanwhocodes/object-schema": 1.2.1 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -63,59 +87,99 @@ packages: dev: true /@humanwhocodes/module-importer/1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz} - engines: {node: '>=12.22'} + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz, + } + engines: { node: ">=12.22" } dev: true /@humanwhocodes/object-schema/1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz} + resolution: + { + integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz, + } dev: true /@nodelib/fs.scandir/2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.stat": 2.0.5 run-parallel: 1.2.0 dev: true /@nodelib/fs.stat/2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz, + } + engines: { node: ">= 8" } dev: true /@nodelib/fs.walk/1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.scandir": 2.1.5 fastq: 1.15.0 dev: true /@types/json-schema/7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@types/json-schema/-/json-schema-7.0.11.tgz} + resolution: + { + integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@types/json-schema/-/json-schema-7.0.11.tgz, + } dev: true /@types/semver/7.3.13: - resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@types/semver/-/semver-7.3.13.tgz} + resolution: + { + integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@types/semver/-/semver-7.3.13.tgz, + } dev: true /@typescript-eslint/eslint-plugin/5.59.1_2utyh6gct5glvuz6qwradubqqa: - resolution: {integrity: sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: - '@typescript-eslint/parser': ^5.0.0 + "@typescript-eslint/parser": ^5.0.0 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' + typescript: "*" peerDependenciesMeta: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.5.0 - '@typescript-eslint/parser': 5.59.1_iacogk7kkaymxepzhgcbytyi7q - '@typescript-eslint/scope-manager': 5.59.1 - '@typescript-eslint/type-utils': 5.59.1_iacogk7kkaymxepzhgcbytyi7q - '@typescript-eslint/utils': 5.59.1_iacogk7kkaymxepzhgcbytyi7q + "@eslint-community/regexpp": 4.5.0 + "@typescript-eslint/parser": 5.59.1_iacogk7kkaymxepzhgcbytyi7q + "@typescript-eslint/scope-manager": 5.59.1 + "@typescript-eslint/type-utils": 5.59.1_iacogk7kkaymxepzhgcbytyi7q + "@typescript-eslint/utils": 5.59.1_iacogk7kkaymxepzhgcbytyi7q debug: 4.3.4 eslint: 8.39.0 grapheme-splitter: 1.0.4 @@ -129,18 +193,23 @@ packages: dev: true /@typescript-eslint/parser/5.59.1_iacogk7kkaymxepzhgcbytyi7q: - resolution: {integrity: sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@typescript-eslint/parser/-/parser-5.59.1.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@typescript-eslint/parser/-/parser-5.59.1.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' + typescript: "*" peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.59.1 - '@typescript-eslint/types': 5.59.1 - '@typescript-eslint/typescript-estree': 5.59.1_typescript@5.0.4 + "@typescript-eslint/scope-manager": 5.59.1 + "@typescript-eslint/types": 5.59.1 + "@typescript-eslint/typescript-estree": 5.59.1_typescript@5.0.4 debug: 4.3.4 eslint: 8.39.0 typescript: 5.0.4 @@ -149,25 +218,35 @@ packages: dev: true /@typescript-eslint/scope-manager/5.59.1: - resolution: {integrity: sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - '@typescript-eslint/types': 5.59.1 - '@typescript-eslint/visitor-keys': 5.59.1 + "@typescript-eslint/types": 5.59.1 + "@typescript-eslint/visitor-keys": 5.59.1 dev: true /@typescript-eslint/type-utils/5.59.1_iacogk7kkaymxepzhgcbytyi7q: - resolution: {integrity: sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: - eslint: '*' - typescript: '*' + eslint: "*" + typescript: "*" peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.59.1_typescript@5.0.4 - '@typescript-eslint/utils': 5.59.1_iacogk7kkaymxepzhgcbytyi7q + "@typescript-eslint/typescript-estree": 5.59.1_typescript@5.0.4 + "@typescript-eslint/utils": 5.59.1_iacogk7kkaymxepzhgcbytyi7q debug: 4.3.4 eslint: 8.39.0 tsutils: 3.21.0_typescript@5.0.4 @@ -177,21 +256,31 @@ packages: dev: true /@typescript-eslint/types/5.59.1: - resolution: {integrity: sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@typescript-eslint/types/-/types-5.59.1.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@typescript-eslint/types/-/types-5.59.1.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true /@typescript-eslint/typescript-estree/5.59.1_typescript@5.0.4: - resolution: {integrity: sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: - typescript: '*' + typescript: "*" peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.59.1 - '@typescript-eslint/visitor-keys': 5.59.1 + "@typescript-eslint/types": 5.59.1 + "@typescript-eslint/visitor-keys": 5.59.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -203,17 +292,22 @@ packages: dev: true /@typescript-eslint/utils/5.59.1_iacogk7kkaymxepzhgcbytyi7q: - resolution: {integrity: sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@typescript-eslint/utils/-/utils-5.59.1.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@typescript-eslint/utils/-/utils-5.59.1.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.39.0 - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.59.1 - '@typescript-eslint/types': 5.59.1 - '@typescript-eslint/typescript-estree': 5.59.1_typescript@5.0.4 + "@eslint-community/eslint-utils": 4.4.0_eslint@8.39.0 + "@types/json-schema": 7.0.11 + "@types/semver": 7.3.13 + "@typescript-eslint/scope-manager": 5.59.1 + "@typescript-eslint/types": 5.59.1 + "@typescript-eslint/typescript-estree": 5.59.1_typescript@5.0.4 eslint: 8.39.0 eslint-scope: 5.1.1 semver: 7.5.0 @@ -223,15 +317,25 @@ packages: dev: true /@typescript-eslint/visitor-keys/5.59.1: - resolution: {integrity: sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.59.1 + resolution: + { + integrity: sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + "@typescript-eslint/types": 5.59.1 eslint-visitor-keys: 3.4.0 dev: true /acorn-jsx/5.3.2_acorn@8.8.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz} + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz, + } peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -239,13 +343,23 @@ packages: dev: true /acorn/8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/acorn/-/acorn-8.8.2.tgz} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/acorn/-/acorn-8.8.2.tgz, + } + engines: { node: ">=0.4.0" } hasBin: true dev: true /ajv/6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/ajv/-/ajv-6.12.6.tgz} + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/ajv/-/ajv-6.12.6.tgz, + } dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -254,75 +368,140 @@ packages: dev: true /ansi-regex/5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/ansi-regex/-/ansi-regex-5.0.1.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/ansi-regex/-/ansi-regex-5.0.1.tgz, + } + engines: { node: ">=8" } dev: true /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/ansi-styles/-/ansi-styles-4.3.0.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/ansi-styles/-/ansi-styles-4.3.0.tgz, + } + engines: { node: ">=8" } dependencies: color-convert: 2.0.1 dev: true /argparse/2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/argparse/-/argparse-2.0.1.tgz} + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/argparse/-/argparse-2.0.1.tgz, + } dev: true /array-union/2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/array-union/-/array-union-2.1.0.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/array-union/-/array-union-2.1.0.tgz, + } + engines: { node: ">=8" } dev: true /balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/balanced-match/-/balanced-match-1.0.2.tgz} + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/balanced-match/-/balanced-match-1.0.2.tgz, + } dev: true /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/brace-expansion/-/brace-expansion-1.1.11.tgz} + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/brace-expansion/-/brace-expansion-1.1.11.tgz, + } dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 dev: true /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/braces/-/braces-3.0.2.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/braces/-/braces-3.0.2.tgz, + } + engines: { node: ">=8" } dependencies: fill-range: 7.0.1 dev: true /callsites/3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/callsites/-/callsites-3.1.0.tgz} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/callsites/-/callsites-3.1.0.tgz, + } + engines: { node: ">=6" } dev: true /chalk/4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/chalk/-/chalk-4.1.2.tgz} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/chalk/-/chalk-4.1.2.tgz, + } + engines: { node: ">=10" } dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 dev: true /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/color-convert/-/color-convert-2.0.1.tgz} - engines: {node: '>=7.0.0'} + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/color-convert/-/color-convert-2.0.1.tgz, + } + engines: { node: ">=7.0.0" } dependencies: color-name: 1.1.4 dev: true /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/color-name/-/color-name-1.1.4.tgz} + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/color-name/-/color-name-1.1.4.tgz, + } dev: true /concat-map/0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/concat-map/-/concat-map-0.0.1.tgz} + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/concat-map/-/concat-map-0.0.1.tgz, + } dev: true /cross-spawn/7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/cross-spawn/-/cross-spawn-7.0.3.tgz} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/cross-spawn/-/cross-spawn-7.0.3.tgz, + } + engines: { node: ">= 8" } dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -330,10 +509,15 @@ packages: dev: true /debug/4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/debug/-/debug-4.3.4.tgz} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/debug/-/debug-4.3.4.tgz, + } + engines: { node: ">=6.0" } peerDependencies: - supports-color: '*' + supports-color: "*" peerDependenciesMeta: supports-color: optional: true @@ -342,61 +526,101 @@ packages: dev: true /deep-is/0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/deep-is/-/deep-is-0.1.4.tgz} + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/deep-is/-/deep-is-0.1.4.tgz, + } dev: true /dir-glob/3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/dir-glob/-/dir-glob-3.0.1.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/dir-glob/-/dir-glob-3.0.1.tgz, + } + engines: { node: ">=8" } dependencies: path-type: 4.0.0 dev: true /doctrine/3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/doctrine/-/doctrine-3.0.0.tgz} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/doctrine/-/doctrine-3.0.0.tgz, + } + engines: { node: ">=6.0.0" } dependencies: esutils: 2.0.3 dev: true /escape-string-regexp/4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz, + } + engines: { node: ">=10" } dev: true /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/eslint-scope/-/eslint-scope-5.1.1.tgz} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/eslint-scope/-/eslint-scope-5.1.1.tgz, + } + engines: { node: ">=8.0.0" } dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 dev: true /eslint-scope/7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/eslint-scope/-/eslint-scope-7.2.0.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/eslint-scope/-/eslint-scope-7.2.0.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true /eslint-visitor-keys/3.4.0: - resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true /eslint/8.39.0: - resolution: {integrity: sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/eslint/-/eslint-8.39.0.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/eslint/-/eslint-8.39.0.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.39.0 - '@eslint-community/regexpp': 4.5.0 - '@eslint/eslintrc': 2.0.2 - '@eslint/js': 8.39.0 - '@humanwhocodes/config-array': 0.11.8 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 + "@eslint-community/eslint-utils": 4.4.0_eslint@8.39.0 + "@eslint-community/regexpp": 4.5.0 + "@eslint/eslintrc": 2.0.2 + "@eslint/js": 8.39.0 + "@humanwhocodes/config-array": 0.11.8 + "@humanwhocodes/module-importer": 1.0.1 + "@nodelib/fs.walk": 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -435,8 +659,13 @@ packages: dev: true /espree/9.5.1: - resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/espree/-/espree-9.5.1.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/espree/-/espree-9.5.1.tgz, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: acorn: 8.8.2 acorn-jsx: 5.3.2_acorn@8.8.2 @@ -444,117 +673,212 @@ packages: dev: true /esquery/1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/esquery/-/esquery-1.5.0.tgz} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/esquery/-/esquery-1.5.0.tgz, + } + engines: { node: ">=0.10" } dependencies: estraverse: 5.3.0 dev: true /esrecurse/4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/esrecurse/-/esrecurse-4.3.0.tgz} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/esrecurse/-/esrecurse-4.3.0.tgz, + } + engines: { node: ">=4.0" } dependencies: estraverse: 5.3.0 dev: true /estraverse/4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/estraverse/-/estraverse-4.3.0.tgz} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/estraverse/-/estraverse-4.3.0.tgz, + } + engines: { node: ">=4.0" } dev: true /estraverse/5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/estraverse/-/estraverse-5.3.0.tgz} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/estraverse/-/estraverse-5.3.0.tgz, + } + engines: { node: ">=4.0" } dev: true /esutils/2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/esutils/-/esutils-2.0.3.tgz} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/esutils/-/esutils-2.0.3.tgz, + } + engines: { node: ">=0.10.0" } dev: true /fast-deep-equal/3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz} + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz, + } dev: true /fast-glob/3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/fast-glob/-/fast-glob-3.2.12.tgz} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 + resolution: + { + integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/fast-glob/-/fast-glob-3.2.12.tgz, + } + engines: { node: ">=8.6.0" } + dependencies: + "@nodelib/fs.stat": 2.0.5 + "@nodelib/fs.walk": 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 dev: true /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz} + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz, + } dev: true /fast-levenshtein/2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz} + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz, + } dev: true /fastq/1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/fastq/-/fastq-1.15.0.tgz} + resolution: + { + integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/fastq/-/fastq-1.15.0.tgz, + } dependencies: reusify: 1.0.4 dev: true /file-entry-cache/6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz, + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: flat-cache: 3.0.4 dev: true /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/fill-range/-/fill-range-7.0.1.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/fill-range/-/fill-range-7.0.1.tgz, + } + engines: { node: ">=8" } dependencies: to-regex-range: 5.0.1 dev: true /find-up/5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/find-up/-/find-up-5.0.0.tgz} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/find-up/-/find-up-5.0.0.tgz, + } + engines: { node: ">=10" } dependencies: locate-path: 6.0.0 path-exists: 4.0.0 dev: true /flat-cache/3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/flat-cache/-/flat-cache-3.0.4.tgz} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/flat-cache/-/flat-cache-3.0.4.tgz, + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: flatted: 3.2.7 rimraf: 3.0.2 dev: true /flatted/3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/flatted/-/flatted-3.2.7.tgz} + resolution: + { + integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/flatted/-/flatted-3.2.7.tgz, + } dev: true /fs.realpath/1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/fs.realpath/-/fs.realpath-1.0.0.tgz} + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/fs.realpath/-/fs.realpath-1.0.0.tgz, + } dev: true /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/glob-parent/-/glob-parent-5.1.2.tgz} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/glob-parent/-/glob-parent-5.1.2.tgz, + } + engines: { node: ">= 6" } dependencies: is-glob: 4.0.3 dev: true /glob-parent/6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/glob-parent/-/glob-parent-6.0.2.tgz} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/glob-parent/-/glob-parent-6.0.2.tgz, + } + engines: { node: ">=10.13.0" } dependencies: is-glob: 4.0.3 dev: true /glob/7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/glob/-/glob-7.2.3.tgz} + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/glob/-/glob-7.2.3.tgz, + } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -565,15 +889,25 @@ packages: dev: true /globals/13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/globals/-/globals-13.20.0.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/globals/-/globals-13.20.0.tgz, + } + engines: { node: ">=8" } dependencies: type-fest: 0.20.2 dev: true /globby/11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/globby/-/globby-11.1.0.tgz} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/globby/-/globby-11.1.0.tgz, + } + engines: { node: ">=10" } dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -584,154 +918,294 @@ packages: dev: true /grapheme-splitter/1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz} + resolution: + { + integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz, + } dev: true /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/has-flag/-/has-flag-4.0.0.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/has-flag/-/has-flag-4.0.0.tgz, + } + engines: { node: ">=8" } dev: true /ignore/5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/ignore/-/ignore-5.2.4.tgz} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/ignore/-/ignore-5.2.4.tgz, + } + engines: { node: ">= 4" } dev: true /import-fresh/3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/import-fresh/-/import-fresh-3.3.0.tgz} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/import-fresh/-/import-fresh-3.3.0.tgz, + } + engines: { node: ">=6" } dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 dev: true /imurmurhash/0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/imurmurhash/-/imurmurhash-0.1.4.tgz} - engines: {node: '>=0.8.19'} + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/imurmurhash/-/imurmurhash-0.1.4.tgz, + } + engines: { node: ">=0.8.19" } dev: true /inflight/1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/inflight/-/inflight-1.0.6.tgz} + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/inflight/-/inflight-1.0.6.tgz, + } dependencies: once: 1.4.0 wrappy: 1.0.2 dev: true /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/inherits/-/inherits-2.0.4.tgz} + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/inherits/-/inherits-2.0.4.tgz, + } dev: true /is-extglob/2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/is-extglob/-/is-extglob-2.1.1.tgz} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/is-extglob/-/is-extglob-2.1.1.tgz, + } + engines: { node: ">=0.10.0" } dev: true /is-glob/4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/is-glob/-/is-glob-4.0.3.tgz} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/is-glob/-/is-glob-4.0.3.tgz, + } + engines: { node: ">=0.10.0" } dependencies: is-extglob: 2.1.1 dev: true /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/is-number/-/is-number-7.0.0.tgz} - engines: {node: '>=0.12.0'} + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/is-number/-/is-number-7.0.0.tgz, + } + engines: { node: ">=0.12.0" } dev: true /is-path-inside/3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/is-path-inside/-/is-path-inside-3.0.3.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/is-path-inside/-/is-path-inside-3.0.3.tgz, + } + engines: { node: ">=8" } dev: true /isexe/2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/isexe/-/isexe-2.0.0.tgz} + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/isexe/-/isexe-2.0.0.tgz, + } dev: true /js-sdsl/4.4.0: - resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/js-sdsl/-/js-sdsl-4.4.0.tgz} + resolution: + { + integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/js-sdsl/-/js-sdsl-4.4.0.tgz, + } dev: true /js-yaml/4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/js-yaml/-/js-yaml-4.1.0.tgz} + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/js-yaml/-/js-yaml-4.1.0.tgz, + } hasBin: true dependencies: argparse: 2.0.1 dev: true /json-schema-traverse/0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz} + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz, + } dev: true /json-stable-stringify-without-jsonify/1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz} + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz, + } dev: true /levn/0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/levn/-/levn-0.4.1.tgz} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/levn/-/levn-0.4.1.tgz, + } + engines: { node: ">= 0.8.0" } dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /locate-path/6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/locate-path/-/locate-path-6.0.0.tgz} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/locate-path/-/locate-path-6.0.0.tgz, + } + engines: { node: ">=10" } dependencies: p-locate: 5.0.0 dev: true /lodash.merge/4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/lodash.merge/-/lodash.merge-4.6.2.tgz} + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/lodash.merge/-/lodash.merge-4.6.2.tgz, + } dev: true /lru-cache/6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/lru-cache/-/lru-cache-6.0.0.tgz} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/lru-cache/-/lru-cache-6.0.0.tgz, + } + engines: { node: ">=10" } dependencies: yallist: 4.0.0 dev: true /merge2/1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/merge2/-/merge2-1.4.1.tgz} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/merge2/-/merge2-1.4.1.tgz, + } + engines: { node: ">= 8" } dev: true /micromatch/4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/micromatch/-/micromatch-4.0.5.tgz} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/micromatch/-/micromatch-4.0.5.tgz, + } + engines: { node: ">=8.6" } dependencies: braces: 3.0.2 picomatch: 2.3.1 dev: true /minimatch/3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/minimatch/-/minimatch-3.1.2.tgz} + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/minimatch/-/minimatch-3.1.2.tgz, + } dependencies: brace-expansion: 1.1.11 dev: true /ms/2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/ms/-/ms-2.1.2.tgz} + resolution: + { + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/ms/-/ms-2.1.2.tgz, + } dev: true /natural-compare-lite/1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz} + resolution: + { + integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz, + } dev: true /natural-compare/1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/natural-compare/-/natural-compare-1.4.0.tgz} + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/natural-compare/-/natural-compare-1.4.0.tgz, + } dev: true /once/1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/once/-/once-1.4.0.tgz} + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/once/-/once-1.4.0.tgz, + } dependencies: wrappy: 1.0.2 dev: true /optionator/0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/optionator/-/optionator-0.9.1.tgz} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/optionator/-/optionator-0.9.1.tgz, + } + engines: { node: ">= 0.8.0" } dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -742,203 +1216,378 @@ packages: dev: true /p-limit/3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/p-limit/-/p-limit-3.1.0.tgz} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/p-limit/-/p-limit-3.1.0.tgz, + } + engines: { node: ">=10" } dependencies: yocto-queue: 0.1.0 dev: true /p-locate/5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/p-locate/-/p-locate-5.0.0.tgz} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/p-locate/-/p-locate-5.0.0.tgz, + } + engines: { node: ">=10" } dependencies: p-limit: 3.1.0 dev: true /parent-module/1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/parent-module/-/parent-module-1.0.1.tgz} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/parent-module/-/parent-module-1.0.1.tgz, + } + engines: { node: ">=6" } dependencies: callsites: 3.1.0 dev: true /path-exists/4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/path-exists/-/path-exists-4.0.0.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/path-exists/-/path-exists-4.0.0.tgz, + } + engines: { node: ">=8" } dev: true /path-is-absolute/1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz, + } + engines: { node: ">=0.10.0" } dev: true /path-key/3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/path-key/-/path-key-3.1.1.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/path-key/-/path-key-3.1.1.tgz, + } + engines: { node: ">=8" } dev: true /path-type/4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/path-type/-/path-type-4.0.0.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/path-type/-/path-type-4.0.0.tgz, + } + engines: { node: ">=8" } dev: true /picomatch/2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/picomatch/-/picomatch-2.3.1.tgz} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/picomatch/-/picomatch-2.3.1.tgz, + } + engines: { node: ">=8.6" } dev: true /prelude-ls/1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/prelude-ls/-/prelude-ls-1.2.1.tgz} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/prelude-ls/-/prelude-ls-1.2.1.tgz, + } + engines: { node: ">= 0.8.0" } dev: true /punycode/2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/punycode/-/punycode-2.3.0.tgz} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/punycode/-/punycode-2.3.0.tgz, + } + engines: { node: ">=6" } dev: true /queue-microtask/1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/queue-microtask/-/queue-microtask-1.2.3.tgz} + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/queue-microtask/-/queue-microtask-1.2.3.tgz, + } dev: true /resolve-from/4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/resolve-from/-/resolve-from-4.0.0.tgz} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/resolve-from/-/resolve-from-4.0.0.tgz, + } + engines: { node: ">=4" } dev: true /reusify/1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/reusify/-/reusify-1.0.4.tgz} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/reusify/-/reusify-1.0.4.tgz, + } + engines: { iojs: ">=1.0.0", node: ">=0.10.0" } dev: true /rimraf/3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/rimraf/-/rimraf-3.0.2.tgz} + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/rimraf/-/rimraf-3.0.2.tgz, + } hasBin: true dependencies: glob: 7.2.3 dev: true /run-parallel/1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/run-parallel/-/run-parallel-1.2.0.tgz} + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/run-parallel/-/run-parallel-1.2.0.tgz, + } dependencies: queue-microtask: 1.2.3 dev: true /semver/7.5.0: - resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/semver/-/semver-7.5.0.tgz} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/semver/-/semver-7.5.0.tgz, + } + engines: { node: ">=10" } hasBin: true dependencies: lru-cache: 6.0.0 dev: true /shebang-command/2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/shebang-command/-/shebang-command-2.0.0.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/shebang-command/-/shebang-command-2.0.0.tgz, + } + engines: { node: ">=8" } dependencies: shebang-regex: 3.0.0 dev: true /shebang-regex/3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/shebang-regex/-/shebang-regex-3.0.0.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/shebang-regex/-/shebang-regex-3.0.0.tgz, + } + engines: { node: ">=8" } dev: true /slash/3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/slash/-/slash-3.0.0.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/slash/-/slash-3.0.0.tgz, + } + engines: { node: ">=8" } dev: true /strip-ansi/6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/strip-ansi/-/strip-ansi-6.0.1.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/strip-ansi/-/strip-ansi-6.0.1.tgz, + } + engines: { node: ">=8" } dependencies: ansi-regex: 5.0.1 dev: true /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz, + } + engines: { node: ">=8" } dev: true /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/supports-color/-/supports-color-7.2.0.tgz} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/supports-color/-/supports-color-7.2.0.tgz, + } + engines: { node: ">=8" } dependencies: has-flag: 4.0.0 dev: true /text-table/0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/text-table/-/text-table-0.2.0.tgz} + resolution: + { + integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/text-table/-/text-table-0.2.0.tgz, + } dev: true /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/to-regex-range/-/to-regex-range-5.0.1.tgz} - engines: {node: '>=8.0'} + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/to-regex-range/-/to-regex-range-5.0.1.tgz, + } + engines: { node: ">=8.0" } dependencies: is-number: 7.0.0 dev: true /tslib/1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/tslib/-/tslib-1.14.1.tgz} + resolution: + { + integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/tslib/-/tslib-1.14.1.tgz, + } dev: true /tsutils/3.21.0_typescript@5.0.4: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/tsutils/-/tsutils-3.21.0.tgz} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/tsutils/-/tsutils-3.21.0.tgz, + } + engines: { node: ">= 6" } peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" dependencies: tslib: 1.14.1 typescript: 5.0.4 dev: true /type-check/0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/type-check/-/type-check-0.4.0.tgz} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/type-check/-/type-check-0.4.0.tgz, + } + engines: { node: ">= 0.8.0" } dependencies: prelude-ls: 1.2.1 dev: true /type-fest/0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/type-fest/-/type-fest-0.20.2.tgz} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/type-fest/-/type-fest-0.20.2.tgz, + } + engines: { node: ">=10" } dev: true /typescript/5.0.4: - resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/typescript/-/typescript-5.0.4.tgz} - engines: {node: '>=12.20'} + resolution: + { + integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/typescript/-/typescript-5.0.4.tgz, + } + engines: { node: ">=12.20" } hasBin: true dev: true /uri-js/4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/uri-js/-/uri-js-4.4.1.tgz} + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/uri-js/-/uri-js-4.4.1.tgz, + } dependencies: punycode: 2.3.0 dev: true /which/2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/which/-/which-2.0.2.tgz} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/which/-/which-2.0.2.tgz, + } + engines: { node: ">= 8" } hasBin: true dependencies: isexe: 2.0.0 dev: true /word-wrap/1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/word-wrap/-/word-wrap-1.2.3.tgz} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/word-wrap/-/word-wrap-1.2.3.tgz, + } + engines: { node: ">=0.10.0" } dev: true /wrappy/1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/wrappy/-/wrappy-1.0.2.tgz} + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/wrappy/-/wrappy-1.0.2.tgz, + } dev: true /yallist/4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/yallist/-/yallist-4.0.0.tgz} + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/yallist/-/yallist-4.0.0.tgz, + } dev: true /yocto-queue/0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/yocto-queue/-/yocto-queue-0.1.0.tgz} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + registry: https://registry.npmjs.com/, + tarball: https://registry.npmjs.com/yocto-queue/-/yocto-queue-0.1.0.tgz, + } + engines: { node: ">=10" } dev: true diff --git a/example/src/BUILD.bazel b/example/src/BUILD.bazel index 627e4dd2..b59cefcc 100644 --- a/example/src/BUILD.bazel +++ b/example/src/BUILD.bazel @@ -14,11 +14,11 @@ proto_library( proto_library( name = "foo_proto", srcs = ["file.proto"], - deps = [":unused"], visibility = ["//visibility:public"], + deps = [":unused"], ) py_library( name = "unused_import", srcs = ["unused_import.py"], -) \ No newline at end of file +) diff --git a/lint/README.md b/lint/README.md index 771b0ea8..9baf5bb5 100644 --- a/lint/README.md +++ b/lint/README.md @@ -5,15 +5,15 @@ These will be part of reviewing PRs to this repo: 1. Avoid adding dependencies to rules_lint, they belong in the example instead. For example in adding - eslint or flake8, it's up to the user to provide us the binary to run. - This ensures that the user can select the versions of their tools and the toolchains used to run them - rather than us baking these into rules_lint. + eslint or flake8, it's up to the user to provide us the binary to run. + This ensures that the user can select the versions of their tools and the toolchains used to run them + rather than us baking these into rules_lint. 2. Study the installation, CLI usage, and configuration documentation for the linter you want to add. - We'll need to adapt these to Bazel's idioms. As much as possible, copy or link to this documentation - in your code so that maintainers can understand it. - Usage of the linter under Bazel should be as similar as possible to how it's used outside Bazel, - so we don't end up with a unique bug "surface area" that only Bazel users encounter. + We'll need to adapt these to Bazel's idioms. As much as possible, copy or link to this documentation + in your code so that maintainers can understand it. + Usage of the linter under Bazel should be as similar as possible to how it's used outside Bazel, + so we don't end up with a unique bug "surface area" that only Bazel users encounter. ## Step 1: Run linter in the example diff --git a/lint/buf.bzl b/lint/buf.bzl index 3c7aca38..09277fb8 100644 --- a/lint/buf.bzl +++ b/lint/buf.bzl @@ -13,10 +13,18 @@ buf = buf_lint_aspect( load("@rules_proto//proto:defs.bzl", "ProtoInfo") -def _short_path(file, dir_exp): +def _short_path(file, _): return file.path -def _buf_action(ctx, toolchain, target, report): +def buf_lint_action(ctx, buf_toolchain, target, report): + """Runs the buf lint tool as a Bazel action. + + Args: + ctx: Rule OR Aspect context + buf_toolchain: provides the buf-lint tool + target: the proto_library target to run on + report: output file to generate + """ config = json.encode({ "input_config": "" if ctx.file._config == None else ctx.file._config.short_path, }) @@ -39,7 +47,7 @@ def _buf_action(ctx, toolchain, target, report): ) args = ctx.actions.args() - args.add_joined(["--plugin", "protoc-gen-buf-plugin", ctx.toolchains["@rules_buf//tools/protoc-gen-buf-lint:toolchain_type"].cli], join_with = "=") + args.add_joined(["--plugin", "protoc-gen-buf-plugin", buf_toolchain.cli], join_with = "=") args.add_joined(["--buf-plugin_opt", config], join_with = "=") args.add_joined("--descriptor_set_in", deps, join_with = ":", map_each = _short_path) args.add_joined(["--buf-plugin_out", "."], join_with = "=") @@ -49,7 +57,7 @@ def _buf_action(ctx, toolchain, target, report): inputs = depset([ ctx.file._config, ctx.executable._protoc, - ctx.toolchains["@rules_buf//tools/protoc-gen-buf-lint:toolchain_type"].cli, + buf_toolchain.cli, ], transitive = [deps]), outputs = [report], command = """\ @@ -61,7 +69,7 @@ def _buf_action(ctx, toolchain, target, report): def _buf_lint_aspect_impl(target, ctx): if ctx.rule.kind in ["proto_library"]: report = ctx.actions.declare_file(target.label.name + ".buf-report.txt") - _buf_action(ctx, ctx.attr._buf_toolchain, target, report) + buf_lint_action(ctx, ctx.toolchains[ctx.attr._buf_toolchain], target, report) results = depset([report]) else: results = depset() @@ -81,7 +89,7 @@ def buf_lint_aspect(config, toolchain = "@rules_buf//tools/protoc-gen-buf-lint:t implementation = _buf_lint_aspect_impl, attr_aspects = ["deps"], attrs = { - "_buf_toolchain": attr.label( + "_buf_toolchain": attr.string( default = toolchain, ), "_config": attr.label( diff --git a/lint/flake8.bzl b/lint/flake8.bzl index fece0690..5e91bf04 100644 --- a/lint/flake8.bzl +++ b/lint/flake8.bzl @@ -14,7 +14,7 @@ flake8 = flake8_aspect( def flake8_action(ctx, executable, srcs, config, report, use_exit_code = False): """Run flake8 as an action under Bazel. - + Based on https://flake8.pycqa.org/en/latest/user/invocation.html Args: @@ -32,11 +32,11 @@ def flake8_action(ctx, executable, srcs, config, report, use_exit_code = False): # https://flake8.pycqa.org/en/latest/user/options.html args = ctx.actions.args() args.add_all(srcs) - args.add(report, format="--output-file=%s") - args.add(config, format="--config=%s") + args.add(report, format = "--output-file=%s") + args.add(config, format = "--config=%s") if not use_exit_code: args.add("--exit-zero") - + ctx.actions.run( inputs = inputs, outputs = outputs, @@ -64,14 +64,13 @@ def flake8_aspect(binary, config): Attrs: binary: a flake8 executable. Can be obtained from rules_python like so: - ``` load("@rules_python//python/entry_points:py_console_script_binary.bzl", "py_console_script_binary") py_console_script_binary( name = "flake8", pkg = "@pip//flake8:pkg", ) - ``` + config: the flake8 config file (`setup.cfg`, `tox.ini`, or `.flake8`) """ return aspect( diff --git a/release/release.bzl b/release/release.bzl index e43f4690..e934485a 100644 --- a/release/release.bzl +++ b/release/release.bzl @@ -1,10 +1,10 @@ """This module provides the macros for performing a release. """ -load("@rules_go//go:def.bzl", "go_binary") load("@bazel_skylib//lib:dicts.bzl", "dicts") load("@bazel_skylib//rules:copy_file.bzl", "copy_file") load("@bazel_tools//tools/build_defs/hash:hash.bzl", "tools", _sha256 = "sha256") +load("@rules_go//go:def.bzl", "go_binary") def _sha256_impl(ctx): out = _sha256(ctx, ctx.file.artifact) @@ -25,6 +25,7 @@ sha256 = rule( provides = [DefaultInfo], ) +# buildifier: disable=function-docstring def local_plugin(name, binary, path, **kwargs): out = "_{}.out".format(name) sum = "_{}.sum".format(name) @@ -108,4 +109,4 @@ def release(name, targets): locations = " ".join(["$(locations {})".format(target) for target in targets]), ), tools = ["//release:create_release.sh"], - ) \ No newline at end of file + )