From cb965a737afd6d81f530a81d003d2987cf2d71a0 Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Wed, 29 Mar 2023 15:09:15 -0600 Subject: [PATCH 01/21] fix: bump deps and add wireit @W-12558108@ --- .gitignore | 3 + package.json | 156 +++++-- yarn.lock | 1143 +++++++++++--------------------------------------- 3 files changed, 386 insertions(+), 916 deletions(-) diff --git a/.gitignore b/.gitignore index 8055e12..02b83af 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,6 @@ /tmp node_modules oclif.manifest.json +*.tsbuildinfo +/.wireit +/.eslintcache diff --git a/package.json b/package.json index 9761a15..fce09f9 100644 --- a/package.json +++ b/package.json @@ -4,22 +4,20 @@ "version": "1.0.1", "main": "lib/index.js", "dependencies": { - "@oclif/core": "^2.5.1", - "@salesforce/core": "^3.33.6", + "@oclif/core": "^2.8.0", + "@salesforce/core": "^3.34.6", "@salesforce/kit": "^1.9.2", - "@salesforce/sf-plugins-core": "^2.2.4", + "@salesforce/sf-plugins-core": "^2.2.5", "semver-compare": "^1.0.0", "signal-exit": "^3.0.6", "tslib": "^2.5.0" }, "devDependencies": { - "@oclif/plugin-command-snapshot": "^3.3.8", - "@oclif/plugin-commands": "^2.2.10", - "@oclif/plugin-help": "^5.2.7", - "@salesforce/cli-plugins-testkit": "^3.2.24", + "@oclif/plugin-command-snapshot": "^3.3.10", + "@salesforce/cli-plugins-testkit": "^3.3.1", "@salesforce/dev-config": "^3.1.0", - "@salesforce/dev-scripts": "^3.1.1", - "@salesforce/plugin-command-reference": "^1.6.5", + "@salesforce/dev-scripts": "^4.1.3", + "@salesforce/plugin-command-reference": "^2.4.1", "@salesforce/prettier-config": "^0.0.2", "@salesforce/ts-sinon": "^1.4.6", "@salesforce/ts-types": "^1.7.3", @@ -27,28 +25,29 @@ "@types/semver-compare": "^1.0.1", "@types/shelljs": "^0.8.11", "@types/signal-exit": "^3.0.1", - "@typescript-eslint/eslint-plugin": "^5.52.0", - "@typescript-eslint/parser": "^5.52.0", + "@typescript-eslint/eslint-plugin": "^5.57.0", + "@typescript-eslint/parser": "^5.57.0", "chai": "^4.3.7", - "eslint": "^8.34.0", - "eslint-config-prettier": "^8.6.0", + "eslint": "^8.37.0", + "eslint-config-prettier": "^8.8.0", "eslint-config-salesforce": "^1.1.1", "eslint-config-salesforce-license": "^0.2.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-header": "^3.0.0", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^40.0.1", - "eslint-plugin-sf-plugin": "^1.9.3", + "eslint-plugin-jsdoc": "^40.1.0", + "eslint-plugin-sf-plugin": "^1.14.0", "husky": "^8.0.3", "isbinaryfile": "^5.0.0", "mocha": "^10.0.0", "nyc": "^15.1.0", - "oclif": "^3.7.0", - "prettier": "^2.8.4", + "oclif": "^3.7.3", + "prettier": "^2.8.7", "pretty-quick": "^3.1.0", "sinon": "^14.0.0", "ts-node": "^10.9.1", - "typescript": "^4.9.5" + "typescript": "^4.9.5", + "wireit": "^0.9.5" }, "engines": { "node": ">=14.0.0" @@ -92,22 +91,125 @@ }, "repository": "salesforce/sfdx-plugin-lwc-test", "scripts": { - "build": "sf-build", + "build": "wireit", "check-license-headers": "node ./scripts/checkLicenseHeaders.js", "clean": "sf-clean", "clean-all": "sf-clean all", - "compile": "sf-compile", + "compile": "wireit", "docs": "sf-docs", - "format": "sf-format", - "lint": "sf-lint", + "format": "wireit", + "lint": "wireit", "postpack": "rm -f oclif.manifest.json", - "posttest": "yarn lint && yarn test:deprecation-policy && yarn test:command-reference", "prepack": "sf-prepack", - "pretest": "sf-compile-test", - "test": "sf-test", - "test:command-reference": "./bin/dev commandreference:generate -p @salesforce/sfdx-plugin-lwc-test --erroronwarnings", - "test:deprecation-policy": "./bin/dev snapshot:compare", + "test": "wireit", + "test:command-reference": "wireit", + "test:deprecation-policy": "wireit", "test:nuts": "nyc mocha \"./test/**/*.nut.ts\" --slow 4500 --timeout 600000 --parallel --jobs 20", "version": "oclif readme && git add README.md" + }, + "wireit": { + "build": { + "dependencies": [ + "compile", + "lint" + ] + }, + "compile": { + "command": "tsc -p . --pretty --incremental", + "files": [ + "src/**/*.ts", + "**/tsconfig.json", + "messages/**" + ], + "output": [ + "lib/**", + "*.tsbuildinfo" + ], + "clean": "if-file-deleted" + }, + "format": { + "command": "prettier --write \"+(src|test|schemas)/**/*.+(ts|js|json)|command-snapshot.json\"", + "files": [ + "src/**/*.ts", + "test/**/*.ts", + "schemas/**/*.json", + "command-snapshot.json", + ".prettier*" + ], + "output": [] + }, + "lint": { + "command": "eslint src test --color --cache --cache-location .eslintcache", + "files": [ + "src/**/*.ts", + "test/**/*.ts", + "messages/**", + "**/.eslint*", + "**/tsconfig.json" + ], + "output": [] + }, + "test": { + "dependencies": [ + "test:compile", + "test:only", + "test:command-reference", + "test:deprecation-policy", + "lint", + "test:json-schema" + ] + }, + "test:command-reference": { + "command": "\"./bin/dev\" commandreference:generate --erroronwarnings", + "files": [ + "src/**/*.ts", + "messages/**", + "package.json" + ], + "output": [ + "tmp/root" + ] + }, + "test:deprecation-policy": { + "command": "\"./bin/dev\" snapshot:compare", + "files": [ + "src/**/*.ts" + ], + "output": [], + "dependencies": [ + "compile" + ] + }, + "test:json-schema": { + "command": "\"./bin/dev\" schema:compare", + "files": [ + "src/**/*.ts", + "schemas" + ], + "output": [] + }, + "test:compile": { + "command": "tsc -p \"./test\" --pretty", + "files": [ + "test/**/*.ts", + "**/tsconfig.json" + ], + "output": [] + }, + "test:only": { + "command": "nyc mocha \"test/**/*.test.ts\"", + "env": { + "FORCE_COLOR": "2" + }, + "files": [ + "test/**/*.ts", + "src/**/*.ts", + "**/tsconfig.json", + ".mocha*", + "!*.nut.ts", + ".nycrc" + ], + "output": [] + } } } diff --git a/yarn.lock b/yarn.lock index e05da0f..f73f4f4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,13 +10,6 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" @@ -149,7 +142,7 @@ "@babel/traverse" "^7.20.13" "@babel/types" "^7.20.7" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": +"@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== @@ -389,38 +382,35 @@ esquery "^1.4.0" jsdoc-type-pratt-parser "1.0.4" -"@es-joy/jsdoccomment@~0.36.1": - version "0.36.1" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.36.1.tgz#c37db40da36e4b848da5fd427a74bae3b004a30f" - integrity sha512-922xqFsTpHs6D0BUiG4toiyPOMc8/jafnWKxz1KWgS4XzKPy2qXf1Pe6UFuNSCQqt6tOuhAWXBNuuyUhJmw9Vg== +"@es-joy/jsdoccomment@~0.37.0": + version "0.37.0" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.37.0.tgz#aaafb4bb6c88288aa7899aef0f3b1b851c36f908" + integrity sha512-hjK0wnsPCYLlF+HHB4R/RbUjOWeLW2SlarB67+Do5WsKILOkmIZvvPJFbtWSmbypxcjpoECLAMzoao0D4Bg5ZQ== dependencies: comment-parser "1.3.1" esquery "^1.4.0" - jsdoc-type-pratt-parser "~3.1.0" + jsdoc-type-pratt-parser "~4.0.0" -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" + eslint-visitor-keys "^3.3.0" -"@eslint/eslintrc@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" - integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== +"@eslint-community/regexpp@^4.4.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz#f6f729b02feee2c749f57e334b7a1b5f40a81724" + integrity sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ== + +"@eslint/eslintrc@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02" + integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.4.0" + espree "^9.5.1" globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" @@ -428,6 +418,11 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/js@8.37.0": + version "8.37.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.37.0.tgz#cf1b5fa24217fe007f6487a26d765274925efa7d" + integrity sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A== + "@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" @@ -442,21 +437,12 @@ debug "^4.1.1" minimatch "^3.0.5" -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^1.2.0", "@humanwhocodes/object-schema@^1.2.1": +"@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== @@ -708,92 +694,10 @@ supports-color "^8.1.1" tslib "^2" -"@oclif/command@^1.8.14", "@oclif/command@^1.8.15": - version "1.8.22" - resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.22.tgz#b7ea268393277606bb5e0e557c39536ff4e883f2" - integrity sha512-lystv7IKsWRmCv6K68jSvHrO/DILUPBDb5GZ3absTA5XTnNXTaMrcwVzTcMPfTf+gCrgIaPPD1bmbRStwfQxFw== - dependencies: - "@oclif/config" "^1.18.2" - "@oclif/errors" "^1.3.6" - "@oclif/help" "^1.0.1" - "@oclif/parser" "^3.8.10" - debug "^4.1.1" - semver "^7.3.8" - -"@oclif/config@1.18.2": - version "1.18.2" - resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.2.tgz#5bfe74a9ba6a8ca3dceb314a81bd9ce2e15ebbfe" - integrity sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA== - dependencies: - "@oclif/errors" "^1.3.3" - "@oclif/parser" "^3.8.0" - debug "^4.1.1" - globby "^11.0.1" - is-wsl "^2.1.1" - tslib "^2.0.0" - -"@oclif/config@1.18.6": - version "1.18.6" - resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.6.tgz#37367026b3110a2f04875509b1920a8ee4489f21" - integrity sha512-OWhCpdu4QqggOPX1YPZ4XVmLLRX+lhGjXV6RNA7sogOwLqlEmSslnN/lhR5dkhcWZbKWBQH29YCrB3LDPRu/IA== - dependencies: - "@oclif/errors" "^1.3.6" - "@oclif/parser" "^3.8.9" - debug "^4.3.4" - globby "^11.1.0" - is-wsl "^2.1.1" - tslib "^2.3.1" - -"@oclif/config@^1.18.2": - version "1.18.8" - resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.8.tgz#efaccbd0381f90a98fa69c9131e14c5a91fc0659" - integrity sha512-FetS52+emaZQui0roFSdbBP8ddBkIezEoH2NcjLJRjqkMGdE9Z1V+jsISVqTYXk2KJ1gAI0CHDXFjJlNBYbJBg== - dependencies: - "@oclif/errors" "^1.3.6" - "@oclif/parser" "^3.8.10" - debug "^4.3.4" - globby "^11.1.0" - is-wsl "^2.1.1" - tslib "^2.5.0" - -"@oclif/core@^1.25.0": - version "1.26.1" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.26.1.tgz#26e46c96143d3e2b1dd9bd558ae1653fe9a4f3fa" - integrity sha512-g+OWJcM7JOVI53caTEtq0BB1nPotWctRLUyFODPgvDqXhVR7QED+Qz3LwFAMD8dt7/Ar2ZNq15U3bnpnOv453A== - dependencies: - "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^3.0.4" - ansi-escapes "^4.3.2" - ansi-styles "^4.3.0" - cardinal "^2.1.1" - chalk "^4.1.2" - clean-stack "^3.0.1" - cli-progress "^3.10.0" - debug "^4.3.4" - ejs "^3.1.6" - fs-extra "^9.1.0" - get-package-type "^0.1.0" - globby "^11.1.0" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.14.1" - natural-orderby "^2.0.3" - object-treeify "^1.1.33" - password-prompt "^1.1.2" - semver "^7.3.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - supports-color "^8.1.1" - supports-hyperlinks "^2.2.0" - tslib "^2.4.1" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -"@oclif/core@^2.1.2", "@oclif/core@^2.1.6", "@oclif/core@^2.3.0", "@oclif/core@^2.4.0", "@oclif/core@^2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.5.1.tgz#0a45b050426fd9b650b70ef53cfc46bb6f6b1a18" - integrity sha512-5s+SbsffV3XQ5pgv7h8/iLF116TfCLwsu9+/rZXEWypgsfvR8Z6anzVpbpGJxIYWHl9XLrm/viCwZVp3WtbnlQ== +"@oclif/core@^2.0.7", "@oclif/core@^2.1.2", "@oclif/core@^2.4.0", "@oclif/core@^2.6.2", "@oclif/core@^2.7.1", "@oclif/core@^2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.0.tgz#4948de3168804169fa68895af8ec4853f332b307" + integrity sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg== dependencies: "@types/cli-progress" "^3.11.0" ansi-escapes "^4.3.2" @@ -819,88 +723,18 @@ strip-ansi "^6.0.1" supports-color "^8.1.1" supports-hyperlinks "^2.2.0" + ts-node "^10.9.1" tslib "^2.5.0" widest-line "^3.1.0" wordwrap "^1.0.0" wrap-ansi "^7.0.0" -"@oclif/dev-cli@^1": - version "1.26.10" - resolved "https://registry.yarnpkg.com/@oclif/dev-cli/-/dev-cli-1.26.10.tgz#d8df3a79009b68552f5e7f249d1d19ca52278382" - integrity sha512-dJ+II9rVXckzFvG+82PbfphMTnoqiHvsuAAbcHrLdZWPBnFAiDKhNYE0iHnA/knAC4VGXhogsrAJ3ERT5d5r2g== - dependencies: - "@oclif/command" "^1.8.15" - "@oclif/config" "^1.18.2" - "@oclif/errors" "^1.3.5" - "@oclif/plugin-help" "3.2.18" - cli-ux "5.6.7" - debug "^4.1.1" - find-yarn-workspace-root "^2.0.0" - fs-extra "^8.1" - github-slugger "^1.2.1" - lodash "^4.17.11" - normalize-package-data "^3.0.0" - qqjs "^0.3.10" - tslib "^2.0.3" - -"@oclif/errors@1.3.5": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@oclif/errors/-/errors-1.3.5.tgz#a1e9694dbeccab10fe2fe15acb7113991bed636c" - integrity sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ== - dependencies: - clean-stack "^3.0.0" - fs-extra "^8.1" - indent-string "^4.0.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -"@oclif/errors@1.3.6", "@oclif/errors@^1.3.3", "@oclif/errors@^1.3.5", "@oclif/errors@^1.3.6": - version "1.3.6" - resolved "https://registry.yarnpkg.com/@oclif/errors/-/errors-1.3.6.tgz#e8fe1fc12346cb77c4f274e26891964f5175f75d" - integrity sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ== +"@oclif/plugin-command-snapshot@^3.3.10": + version "3.3.10" + resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-3.3.10.tgz#870b9c2107890d6a31360da02e7f568d8bdb658a" + integrity sha512-KVDa2WWP5NCbKgqFyV8XOW4m9ynKofTQILXETnimv/aUI6LfcCADB1543v3OXnMbDbDlA7ypc6KATlsPCMuvsw== dependencies: - clean-stack "^3.0.0" - fs-extra "^8.1" - indent-string "^4.0.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -"@oclif/help@^1.0.0", "@oclif/help@^1.0.1": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@oclif/help/-/help-1.0.5.tgz#0a370d0340fcf167ec3cb7a4f3074ebb3db8a94a" - integrity sha512-77ZXqVXcd+bQ6EafN56KbL4PbNtZM/Lq4GQElekNav+CPIgPNKT3AtMTQrc0fWke6bb/BTLB+1Fu1gWgx643jQ== - dependencies: - "@oclif/config" "1.18.6" - "@oclif/errors" "1.3.6" - chalk "^4.1.2" - indent-string "^4.0.0" - lodash "^4.17.21" - string-width "^4.2.0" - strip-ansi "^6.0.0" - widest-line "^3.1.0" - wrap-ansi "^6.2.0" - -"@oclif/linewrap@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@oclif/linewrap/-/linewrap-1.0.0.tgz#aedcb64b479d4db7be24196384897b5000901d91" - integrity sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw== - -"@oclif/parser@^3.8.0", "@oclif/parser@^3.8.10", "@oclif/parser@^3.8.9": - version "3.8.10" - resolved "https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.10.tgz#7b1048566e1d3f45ed09ca92b2e30f09bd9647e1" - integrity sha512-J4l/NcnfbIU84+NNdy6bxq9yJt4joFWNvpk59hq+uaQPUNtjmNJDVGuRvf6GUOxHNgRsVK1JRmd/Ez+v7Z9GqQ== - dependencies: - "@oclif/errors" "^1.3.6" - "@oclif/linewrap" "^1.0.0" - chalk "^4.1.0" - tslib "^2.5.0" - -"@oclif/plugin-command-snapshot@^3.3.8": - version "3.3.8" - resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-3.3.8.tgz#4ef6c9b0461b40c4be1f94977e5eb9dd6c756081" - integrity sha512-piYlSDDzldDkvToKEG8HCnYaBwpWIX0b2TNc9ZtmH2khVgwPvmMrfZQfLl/4ZXxobdk0ndgrUUIg0mOhgCAXgg== - dependencies: - "@oclif/core" "^2.4.0" + "@oclif/core" "^2.7.1" chalk "^4.1.2" just-diff "^5.2.0" lodash "^4.17.21" @@ -908,37 +742,12 @@ ts-json-schema-generator "^1.2.0" tslib "^2.5.0" -"@oclif/plugin-commands@^2.2.10": - version "2.2.10" - resolved "https://registry.yarnpkg.com/@oclif/plugin-commands/-/plugin-commands-2.2.10.tgz#e0209fd1fbf27ef418774d4a9d6d72954a8dcacc" - integrity sha512-fUOegX6RrJLC+euU/gPbBH6VX6aqh5vRpsg4r1NUlKvCSIJjCI78TSHUKECU+GQmvNA+3ql6tlD7hZ4rBTjKbg== - dependencies: - "@oclif/core" "^2.1.6" - lodash "^4.17.11" - -"@oclif/plugin-help@3.2.18": - version "3.2.18" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-3.2.18.tgz#f2bf6ba86719c174fc0e4c2149f73b46006bfdbd" - integrity sha512-5n5Pkz4L0duknIvFwx2Ko9Xda3miT6RZP8bgaaK3Q/9fzVBrhi4bOM0u05/OThI6V+3NsSdxYS2o1NLcXToWDg== - dependencies: - "@oclif/command" "^1.8.14" - "@oclif/config" "1.18.2" - "@oclif/errors" "1.3.5" - "@oclif/help" "^1.0.0" - chalk "^4.1.2" - indent-string "^4.0.0" - lodash "^4.17.21" - string-width "^4.2.0" - strip-ansi "^6.0.0" - widest-line "^3.1.0" - wrap-ansi "^6.2.0" - -"@oclif/plugin-help@^5.1.19", "@oclif/plugin-help@^5.2.7": - version "5.2.7" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.7.tgz#3c7ed34186b52fd54b810ec120a5a0130c4abc87" - integrity sha512-p6DJk0QMfzGvXGqrSZTQPitUGi68oGzr48tRKdrVxDDPMAELxHeXXFbkNRNdvjldPpTk44m0PbxV5tWhwurRwg== +"@oclif/plugin-help@^5.1.19": + version "5.2.8" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.8.tgz#25821ea8588b59e5554187611ce58b8a95d4e90d" + integrity sha512-Fl1DD6Hm7USG/BYqcUmc/hMXK6Bnd3HvkZsRG+qi0dbYaNtY9zJ58C5b3lgPn69bXJlyi1eWX4S8djSUWD8VYg== dependencies: - "@oclif/core" "^2.4.0" + "@oclif/core" "^2.6.2" "@oclif/plugin-not-found@^2.3.7": version "2.3.20" @@ -963,24 +772,6 @@ lodash "^4.17.21" semver "^7.3.8" -"@oclif/screen@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-1.0.4.tgz#b740f68609dfae8aa71c3a6cab15d816407ba493" - integrity sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw== - -"@oclif/screen@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" - integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== - -"@oclif/test@^2.2.21": - version "2.3.6" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.6.tgz#b3c7594f04c2eb55fc6b6f8e61d825500debb85a" - integrity sha512-n1DGbLzGrrfn/Nm2f8829RcQ2iOd9EXDZxx0U9WswpJS75P4N9Py4tYBhfX+wGU7CaJDfYxnqQHB0YuRYDBwrw== - dependencies: - "@oclif/core" "^2.1.2" - fancy-test "^2.0.12" - "@octokit/auth-token@^2.4.4": version "2.5.0" resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" @@ -1094,13 +885,13 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/cli-plugins-testkit@^3.2.24": - version "3.2.24" - resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-3.2.24.tgz#4a57f4ed5549ad908bc13ab05cb8c17e683f1a8a" - integrity sha512-FhP8s0aerfDax8+ZNx0u8BKG1jau+Iyci9jCcdmWlT6gcc06zQWBlRCNsRbjF9rWyiAeSEB1ObTYpVUzVQkFUw== +"@salesforce/cli-plugins-testkit@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-3.3.1.tgz#43f5818fb89c99c606535235624320881e050fae" + integrity sha512-cE13PNGBqqk9H01RLGZxDKgXRrHE4p1YsEConet7IsYYgZMXmhH1OUfj9HGmTTe55SZdmF1wt+Cu8AdZwFRBSw== dependencies: - "@salesforce/core" "^3.33.6" - "@salesforce/kit" "^1.9.0" + "@salesforce/core" "^3.34.4" + "@salesforce/kit" "^1.9.2" "@salesforce/ts-types" "^1.7.3" "@types/shelljs" "^0.8.11" archiver "^5.2.0" @@ -1109,38 +900,26 @@ strip-ansi "6.0.1" ts-retry-promise "^0.7.0" -"@salesforce/command@^5.3.2": - version "5.3.3" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.3.tgz#863380090d8febeb803ceb32690302c490ffe1fc" - integrity sha512-p6I5AiQG85Ptk6hxh0r9Xg34MTshnGmDkGSY+S1yqodOF8oV+frCnUenInjwibxyuSqL0hPm+scx8/jwhqLNVA== - dependencies: - "@oclif/core" "^1.25.0" - "@oclif/test" "^2.2.21" - "@salesforce/core" "^3.33.6" - "@salesforce/kit" "^1.8.5" - "@salesforce/ts-types" "^1.7.1" - chalk "^2.4.2" - -"@salesforce/core@^3.33.5", "@salesforce/core@^3.33.6": - version "3.33.6" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.6.tgz#48a3e8c708f4a0ed153e5e2d43c343fd5bf2c923" - integrity sha512-HxA0OIt6NSMdZwu2X7wIru8OJN8x8XxNiazXpLNW5MUi9rBupBAWYNROjDMPilxBgnoiBcJ5I84xdl+jWD3vqA== +"@salesforce/core@^3.32.12", "@salesforce/core@^3.33.6", "@salesforce/core@^3.34.1", "@salesforce/core@^3.34.4", "@salesforce/core@^3.34.6": + version "3.34.6" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.34.6.tgz#816031d3aab098d56165d876db626a3610d86c6e" + integrity sha512-9Nd+bQRSvCYDiZo97bhseajLhr7d51J9gsPUnfN3nHy1/TBQXjN+upRAPAeldvzU8G3L98WGDMtEpSTOG/PxkQ== dependencies: "@salesforce/bunyan" "^2.0.0" - "@salesforce/kit" "^1.9.0" - "@salesforce/schemas" "^1.5.0" + "@salesforce/kit" "^1.9.2" + "@salesforce/schemas" "^1.5.1" "@salesforce/ts-types" "^1.7.2" "@types/graceful-fs" "^4.1.6" "@types/semver" "^7.3.13" - ajv "^8.11.2" + ajv "^8.12.0" archiver "^5.3.0" change-case "^4.1.2" debug "^3.2.7" faye "^1.4.0" form-data "^4.0.0" - graceful-fs "^4.2.9" + graceful-fs "^4.2.11" js2xmlparser "^4.0.1" - jsforce "^2.0.0-beta.19" + jsforce "^2.0.0-beta.20" jsonwebtoken "9.0.0" ts-retry-promise "^0.7.0" @@ -1149,14 +928,13 @@ resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-3.1.0.tgz#8eb5b35860ff60d1c1dc3fd9329b01a28475d5b9" integrity sha512-cPph7ibj3DeSzWDFLcLtxOh5fmUlDUY2Ezq43n0V6auVP+l8orxRHjCExHS86SB3QKVgXkC8yYhryXiS8KF7Zw== -"@salesforce/dev-scripts@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@salesforce/dev-scripts/-/dev-scripts-3.1.1.tgz#39682a690f42d72af0419a7a74270fabd6905634" - integrity sha512-2D/cP6XRl5u3/7I12YGoGW/Wvoe41R3CDA3+usdvQ8A/bapjWrjLS8ByhWlEFhO1FRij+9LM6uFhNfVaJ4B3dg== +"@salesforce/dev-scripts@^4.1.3": + version "4.1.3" + resolved "https://registry.yarnpkg.com/@salesforce/dev-scripts/-/dev-scripts-4.1.3.tgz#e6d561e13f148d9ae6eec80d0e2e24303011e03c" + integrity sha512-RDZTM1Im2P++zRWSiLSGY31E+SYkHk+18uikMigZZm0XQsZf04XjDz0JMXujewMWWFnObJM0gKrswcDK/O9qSg== dependencies: "@commitlint/cli" "^17.1.2" "@commitlint/config-conventional" "^17.1.0" - "@oclif/dev-cli" "^1" "@salesforce/dev-config" "^3.0.0" "@salesforce/prettier-config" "^0.0.2" "@types/chai" "^4.2.11" @@ -1166,7 +944,7 @@ chai "^4.2.0" chalk "^4.0.0" cosmiconfig "^7.0.0" - eslint "^7.27.0" + eslint "^8.32.0" eslint-config-prettier "^8.5.0" eslint-config-salesforce "^1.1.0" eslint-config-salesforce-license "^0.1.6" @@ -1178,6 +956,7 @@ husky "^7.0.4" mocha "^9.1.3" nyc "^15.1.0" + oclif "^3.7.0" prettier "^2.7.1" pretty-quick "^3.1.0" shelljs "~0.8.4" @@ -1187,8 +966,9 @@ typedoc "0.23.16" typedoc-plugin-missing-exports "0.23.0" typescript "^4.1.3" + wireit "^0.9.5" -"@salesforce/kit@^1.8.5", "@salesforce/kit@^1.9.0", "@salesforce/kit@^1.9.2": +"@salesforce/kit@^1.8.2", "@salesforce/kit@^1.9.0", "@salesforce/kit@^1.9.2": version "1.9.2" resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.9.2.tgz#d232f135428363cdfe2649cb99a94bc2eb0a12fd" integrity sha512-kjZvjFNP6njhAiEa/ErdLXSDWZKafHYJyKCKz1wnSFmDM8TOpKHCCVw5cQo87ZQr8OqxqwUDIAlSBLyMzKi4Lg== @@ -1197,18 +977,21 @@ shx "^0.3.3" tslib "^2.5.0" -"@salesforce/plugin-command-reference@^1.6.5": - version "1.6.5" - resolved "https://registry.yarnpkg.com/@salesforce/plugin-command-reference/-/plugin-command-reference-1.6.5.tgz#bd98b116bdb6e7be8e149b12c623665189186f88" - integrity sha512-YNaw8XwUZ1usVO7OqtjnqCU26eRSpFs0Z2ysWRx7EB76GIUdPWGo8k/lT+icALjPvM24v8hXDSlDI61vGRdwjg== +"@salesforce/plugin-command-reference@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@salesforce/plugin-command-reference/-/plugin-command-reference-2.4.1.tgz#eb004d17728908ab2f7fd9554ee06f89258f300b" + integrity sha512-4MWvZSb8wSwY4N1hL3E7qyH9ONJ/tGcOtmqTdtwypp7r/GkapnezfwiQcexkhlwrDqUhkCG2h+r3YW/kUryGiA== dependencies: - "@salesforce/command" "^5.3.2" - "@salesforce/core" "^3.33.6" - "@types/lodash.uniqby" "^4.7.7" + "@oclif/core" "^2.0.7" + "@salesforce/core" "^3.32.12" + "@salesforce/kit" "^1.8.2" + "@salesforce/sf-plugins-core" "^2.0.1" + "@salesforce/ts-types" "^1.7.1" chalk "^3.0.0" - handlebars "4.7.7" + fs-extra "^10.0.1" + handlebars "^4.7.7" lodash.uniqby "^4.7.0" - shelljs "^0.8.5" + mkdirp "^1.0.4" tslib "^2" "@salesforce/prettier-config@^0.0.2": @@ -1216,18 +999,18 @@ resolved "https://registry.yarnpkg.com/@salesforce/prettier-config/-/prettier-config-0.0.2.tgz#ded39bf7cb75238edc9db6dd093649111350f8bc" integrity sha512-KExM355BLbxCW6siGBV7oUOotXvvVp0tAWERgzUkM2FcMb9fWrjwXDrIHc8V0UdDlA3UXtFltDWgN+Yqi+BA/g== -"@salesforce/schemas@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.5.0.tgz#8bfe2cb5d7cb29d3394b3b9cfb71bb527009c82c" - integrity sha512-EKFBURBuON7cj8XZCW+ybeSRRw7wUP1XUXZVHzFgx8KiYmSeGiRHBYbDjQOsQMho2uOLsTozMPEt2ehYnji0YA== +"@salesforce/schemas@^1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.5.1.tgz#2d1bfdcf593caaa04cd4b3e6fe621097ff7f28fe" + integrity sha512-MRqU+tn8w5IFvZ0Lm9YKLgxYxr2MQMI+fXXsTrwfUnijsps+ybF9IOTu6MOMxxl2vCUkO8XDjA435wXlWSLI6g== -"@salesforce/sf-plugins-core@^2.2.4": - version "2.2.4" - resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-2.2.4.tgz#c94f83cab62ff0009b88069e72b4cdcfc9748b82" - integrity sha512-lKi0W4y3SJfZCT1cuWZsc6vbJLS+QwO4TMbu/dob0LIba7r3+nrd7st8t2xvm/Z3hRKr8xsJADq/XFYPU7jfmQ== +"@salesforce/sf-plugins-core@^2.0.1", "@salesforce/sf-plugins-core@^2.2.5": + version "2.2.5" + resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-2.2.5.tgz#cc20c6f18f15c173b6bc3b511a56c09f155675df" + integrity sha512-9CINVi3akBDreUpoz1J9QhZphKJWqq86m7aJxMPPTIh0cHAdJ4qi4KcdP4Tmwub2BUTYdbibYzix7kpRM0MkwA== dependencies: "@oclif/core" "^2.4.0" - "@salesforce/core" "^3.33.5" + "@salesforce/core" "^3.34.1" "@salesforce/kit" "^1.9.0" "@salesforce/ts-types" "^1.7.3" chalk "^4" @@ -1383,7 +1166,7 @@ "@types/node" "*" "@types/responselike" "^1.0.0" -"@types/chai@*", "@types/chai@^4.2.11": +"@types/chai@^4.2.11": version "4.3.4" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.4.tgz#e913e8175db8307d78b4e8fa690408ba6b65dee4" integrity sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw== @@ -1408,14 +1191,6 @@ "@types/minimatch" "^5.1.2" "@types/node" "*" -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - "@types/graceful-fs@^4.1.6": version "4.1.6" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" @@ -1453,28 +1228,16 @@ dependencies: "@types/node" "*" -"@types/lodash.uniqby@^4.7.7": - version "4.7.7" - resolved "https://registry.yarnpkg.com/@types/lodash.uniqby/-/lodash.uniqby-4.7.7.tgz#48dbb652c41cc8fb30aa61a44174368081835ab5" - integrity sha512-sv2g6vkCIvEUsK5/Vq17haoZaisfj2EWW8mP7QWlnKi6dByoNmeuHDDXHR7sabuDqwO4gvU7ModIL22MmnOocg== - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - version "4.14.191" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" - integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== - -"@types/minimatch@*", "@types/minimatch@^5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== - "@types/minimatch@^3.0.3": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== +"@types/minimatch@^5.1.2": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + "@types/minimist@^1.2.0": version "1.2.2" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" @@ -1540,13 +1303,6 @@ resolved "https://registry.yarnpkg.com/@types/signal-exit/-/signal-exit-3.0.1.tgz#ec9fb8e3fbf0ed5d9f7d22b5647214bece916a5b" integrity sha512-OSitN9PP9E/c4tlt1Qdj3CAz5uHD9Da5rhUqlaKyQRCX1T7Zdpbk6YdeZbR2eiE2ce+NMBgVnMxGqpaPSNQDUQ== -"@types/sinon@*": - version "10.0.13" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.13.tgz#60a7a87a70d9372d0b7b38cc03e825f46981fb83" - integrity sha512-UVjDqJblVNQYvVNUsj0PuYYw0ELRmgt1Nt5Vk0pT5f16ROGfcKJY8o1HVuMOJOpD727RrGB9EGvoaTQE5tgxZQ== - dependencies: - "@types/sinonjs__fake-timers" "*" - "@types/sinon@10.0.11": version "10.0.11" resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.11.tgz#8245827b05d3fc57a6601bd35aee1f7ad330fc42" @@ -1574,136 +1330,88 @@ "@types/expect" "^1.20.4" "@types/node" "*" -"@typescript-eslint/eslint-plugin@^5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz#5fb0d43574c2411f16ea80f5fc335b8eaa7b28a8" - integrity sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg== +"@typescript-eslint/eslint-plugin@^5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.0.tgz#52c8a7a4512f10e7249ca1e2e61f81c62c34365c" + integrity sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA== dependencies: - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/type-utils" "5.52.0" - "@typescript-eslint/utils" "5.52.0" + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.57.0" + "@typescript-eslint/type-utils" "5.57.0" + "@typescript-eslint/utils" "5.57.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" - regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4" - integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA== +"@typescript-eslint/parser@^5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.57.0.tgz#f675bf2cd1a838949fd0de5683834417b757e4fa" + integrity sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ== dependencies: - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/typescript-estree" "5.52.0" + "@typescript-eslint/scope-manager" "5.57.0" + "@typescript-eslint/types" "5.57.0" + "@typescript-eslint/typescript-estree" "5.57.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1" - integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw== +"@typescript-eslint/scope-manager@5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz#79ccd3fa7bde0758059172d44239e871e087ea36" + integrity sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw== dependencies: - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/visitor-keys" "5.52.0" + "@typescript-eslint/types" "5.57.0" + "@typescript-eslint/visitor-keys" "5.57.0" -"@typescript-eslint/scope-manager@5.54.1": - version "5.54.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.54.1.tgz#6d864b4915741c608a58ce9912edf5a02bb58735" - integrity sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg== +"@typescript-eslint/type-utils@5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.57.0.tgz#98e7531c4e927855d45bd362de922a619b4319f2" + integrity sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ== dependencies: - "@typescript-eslint/types" "5.54.1" - "@typescript-eslint/visitor-keys" "5.54.1" - -"@typescript-eslint/type-utils@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz#9fd28cd02e6f21f5109e35496df41893f33167aa" - integrity sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw== - dependencies: - "@typescript-eslint/typescript-estree" "5.52.0" - "@typescript-eslint/utils" "5.52.0" + "@typescript-eslint/typescript-estree" "5.57.0" + "@typescript-eslint/utils" "5.57.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" - integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== - -"@typescript-eslint/types@5.54.1": - version "5.54.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.54.1.tgz#29fbac29a716d0f08c62fe5de70c9b6735de215c" - integrity sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw== +"@typescript-eslint/types@5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.57.0.tgz#727bfa2b64c73a4376264379cf1f447998eaa132" + integrity sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ== -"@typescript-eslint/typescript-estree@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" - integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ== +"@typescript-eslint/typescript-estree@5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.0.tgz#ebcd0ee3e1d6230e888d88cddf654252d41e2e40" + integrity sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw== dependencies: - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/visitor-keys" "5.52.0" + "@typescript-eslint/types" "5.57.0" + "@typescript-eslint/visitor-keys" "5.57.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.54.1": - version "5.54.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.1.tgz#df7b6ae05fd8fef724a87afa7e2f57fa4a599be1" - integrity sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg== - dependencies: - "@typescript-eslint/types" "5.54.1" - "@typescript-eslint/visitor-keys" "5.54.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72" - integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA== - dependencies: - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/typescript-estree" "5.52.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - semver "^7.3.7" - -"@typescript-eslint/utils@^5.53.0": - version "5.54.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.54.1.tgz#7a3ee47409285387b9d4609ea7e1020d1797ec34" - integrity sha512-IY5dyQM8XD1zfDe5X8jegX6r2EVU5o/WJnLu/znLPWCBF7KNGC+adacXnt5jEYS9JixDcoccI6CvE4RCjHMzCQ== +"@typescript-eslint/utils@5.57.0", "@typescript-eslint/utils@^5.54.1": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.57.0.tgz#eab8f6563a2ac31f60f3e7024b91bf75f43ecef6" + integrity sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw== dependencies: + "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.54.1" - "@typescript-eslint/types" "5.54.1" - "@typescript-eslint/typescript-estree" "5.54.1" + "@typescript-eslint/scope-manager" "5.57.0" + "@typescript-eslint/types" "5.57.0" + "@typescript-eslint/typescript-estree" "5.57.0" eslint-scope "^5.1.1" - eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f" - integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA== +"@typescript-eslint/visitor-keys@5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz#e2b2f4174aff1d15eef887ce3d019ecc2d7a8ac1" + integrity sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g== dependencies: - "@typescript-eslint/types" "5.52.0" - eslint-visitor-keys "^3.3.0" - -"@typescript-eslint/visitor-keys@5.54.1": - version "5.54.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.1.tgz#d7a8a0f7181d6ac748f4d47b2306e0513b98bf8b" - integrity sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg== - dependencies: - "@typescript-eslint/types" "5.54.1" + "@typescript-eslint/types" "5.57.0" eslint-visitor-keys "^3.3.0" "@ungap/promise-all-settled@1.1.2": @@ -1731,7 +1439,7 @@ abort-controller@^3.0.0: dependencies: event-target-shim "^5.0.0" -acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: +acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -1741,11 +1449,6 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - acorn@^8.4.1, acorn@^8.8.0: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" @@ -1785,7 +1488,7 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1, ajv@^8.11.0, ajv@^8.11.2: +ajv@^8.11.0, ajv@^8.12.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -1800,17 +1503,12 @@ ansi-colors@4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - ansi-escapes@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.2: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -1844,7 +1542,7 @@ ansi-styles@^3.0.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.2.0, ansi-styles@^4.2.1, ansi-styles@^4.3.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.2.1, ansi-styles@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -2014,11 +1712,6 @@ assertion-error@^1.1.0: resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - async@^3.2.3: version "3.2.4" resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" @@ -2342,7 +2035,7 @@ chalk@^1.0.0: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2395,7 +2088,7 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== -chokidar@3.5.3: +chokidar@3.5.3, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -2410,11 +2103,6 @@ chokidar@3.5.3: optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - chownr@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" @@ -2425,7 +2113,7 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -clean-stack@^3.0.0, clean-stack@^3.0.1: +clean-stack@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-3.0.1.tgz#155bf0b2221bf5f4fba89528d24c5953f17fe3a8" integrity sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== @@ -2444,7 +2132,7 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-progress@^3.10.0, cli-progress@^3.12.0, cli-progress@^3.4.0: +cli-progress@^3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.12.0.tgz#807ee14b66bcc086258e444ad0f19e7d42577942" integrity sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== @@ -2463,38 +2151,6 @@ cli-table@^0.3.1: dependencies: colors "1.0.3" -cli-ux@5.6.7: - version "5.6.7" - resolved "https://registry.yarnpkg.com/cli-ux/-/cli-ux-5.6.7.tgz#32ef9e6cb2b457be834280cc799028a11c8235a8" - integrity sha512-dsKAurMNyFDnO6X1TiiRNiVbL90XReLKcvIq4H777NMqXGBxBws23ag8ubCJE97vVZEgWG2eSUhsyLf63Jv8+g== - dependencies: - "@oclif/command" "^1.8.15" - "@oclif/errors" "^1.3.5" - "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^1.0.4" - ansi-escapes "^4.3.0" - ansi-styles "^4.2.0" - cardinal "^2.1.1" - chalk "^4.1.0" - clean-stack "^3.0.0" - cli-progress "^3.4.0" - extract-stack "^2.0.0" - fs-extra "^8.1" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.13.1" - lodash "^4.17.21" - natural-orderby "^2.0.1" - object-treeify "^1.1.4" - password-prompt "^1.1.2" - semver "^7.3.2" - string-width "^4.2.0" - strip-ansi "^6.0.0" - supports-color "^8.1.0" - supports-hyperlinks "^2.1.0" - tslib "^2.0.0" - cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" @@ -2801,7 +2457,7 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-spawn@^6.0.0, cross-spawn@^6.0.5: +cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -2863,7 +2519,7 @@ dayjs@^1.8.16: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== -debug@4, debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -2985,11 +2641,6 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - dezalgo@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" @@ -3068,7 +2719,7 @@ ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer "^5.0.1" -ejs@^3.1.6, ejs@^3.1.8: +ejs@^3.1.8: version "3.1.8" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== @@ -3099,13 +2750,6 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" @@ -3212,10 +2856,10 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -eslint-config-prettier@^8.5.0, eslint-config-prettier@^8.6.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" - integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== +eslint-config-prettier@^8.5.0, eslint-config-prettier@^8.8.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" + integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== eslint-config-salesforce-license@^0.1.6: version "0.1.6" @@ -3313,16 +2957,16 @@ eslint-plugin-jsdoc@^35.1.2: semver "^7.3.5" spdx-expression-parse "^3.0.1" -eslint-plugin-jsdoc@^40.0.1: - version "40.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.0.1.tgz#5f028b4928d5c77f54bfd3c42c00acb61d27bb9f" - integrity sha512-KkiRInury7YrjjV5aCHDxwsPy6XFt5p2b2CnpDMITnWs8patNPf5kj24+VXIWw45kP6z/B0GOKfrYczB56OjQQ== +eslint-plugin-jsdoc@^40.1.0: + version "40.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.1.0.tgz#fec2f649a60167fa5a94f05ce2c6c041caaab129" + integrity sha512-ANvrhiu62VlSorARM0hup60VQsS3hNyp0Ca7cnJDj8tpJzM7tNhBVqMVYXSuLzEmqrpwx6aAh+NAN2DdAGG5fQ== dependencies: - "@es-joy/jsdoccomment" "~0.36.1" + "@es-joy/jsdoccomment" "~0.37.0" comment-parser "1.3.1" debug "^4.3.4" escape-string-regexp "^4.0.0" - esquery "^1.4.0" + esquery "^1.5.0" semver "^7.3.8" spdx-expression-parse "^3.0.1" @@ -3331,13 +2975,13 @@ eslint-plugin-prefer-arrow@^1.2.1: resolved "https://registry.yarnpkg.com/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz#e7fbb3fa4cd84ff1015b9c51ad86550e55041041" integrity sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ== -eslint-plugin-sf-plugin@^1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-sf-plugin/-/eslint-plugin-sf-plugin-1.9.3.tgz#467d56bb493a6d98893ebad4f189583fac2d00af" - integrity sha512-coDSb6kCwHgbF1x7evP4g6vdR9UqEDRWqPU3KebTQzbEFuUt9udmWW71LSUJx2MFI92pUxR9Wvi8R9YmwinSXg== +eslint-plugin-sf-plugin@^1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-sf-plugin/-/eslint-plugin-sf-plugin-1.14.0.tgz#6bb25bd107119019e854595249b0c792aac5c3d4" + integrity sha512-KMgHn0uhml3ZjirCIP6h3e8PtIlN0JnTTOwypq17HJvOvKkb7SDPzCn4ogk/LfOGa0WrTuMGSzRWbrM3lhNydQ== dependencies: "@salesforce/core" "^3.33.6" - "@typescript-eslint/utils" "^5.53.0" + "@typescript-eslint/utils" "^5.54.1" eslint-scope@^5.1.1: version "5.1.1" @@ -3355,87 +2999,20 @@ eslint-scope@^7.1.1: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" + integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== +eslint@^8.32.0, eslint@^8.37.0: + version "8.37.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.37.0.tgz#1f660ef2ce49a0bfdec0b0d698e0b8b627287412" + integrity sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw== dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -eslint@^7.27.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -eslint@^8.34.0: - version "8.34.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" - integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== - dependencies: - "@eslint/eslintrc" "^1.4.1" + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.0.2" + "@eslint/js" "8.37.0" "@humanwhocodes/config-array" "^0.11.8" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -3446,10 +3023,9 @@ eslint@^8.34.0: doctrine "^3.0.0" escape-string-regexp "^4.0.0" eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" + eslint-visitor-keys "^3.4.0" + espree "^9.5.1" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" @@ -3470,38 +3046,28 @@ eslint@^8.34.0: minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.1" - regexpp "^3.2.0" strip-ansi "^6.0.1" strip-json-comments "^3.1.0" text-table "^0.2.0" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -espree@^9.4.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" - integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== +espree@^9.5.1: + version "9.5.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" + integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== dependencies: acorn "^8.8.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.0" esprima@^4.0.0, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" - integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== +esquery@^1.4.0, esquery@^1.4.2, esquery@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" @@ -3542,19 +3108,6 @@ events@1.1.1: resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== -execa@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" - integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== - dependencies: - cross-spawn "^6.0.0" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" @@ -3594,31 +3147,12 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" -extract-stack@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-2.0.0.tgz#11367bc865bfcd9bc0db3123e5edb57786f11f9b" - integrity sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ== - -fancy-test@^2.0.12: - version "2.0.12" - resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.12.tgz#a93cd92ffc23f70b069c39f19940d34f64c6ca67" - integrity sha512-S7qVQNaViLTMzn71huZvrUCV59ldq+enQ1EQOkdNbl4q4Om97gwqbYKvZoglsnzCWRRFaFP+qHynpdqaLdiZqg== - dependencies: - "@types/chai" "*" - "@types/lodash" "*" - "@types/node" "*" - "@types/sinon" "*" - lodash "^4.17.13" - mock-stdin "^1.0.0" - nock "^13.3.0" - stdout-stderr "^0.1.9" - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.0.3, fast-glob@^3.2.9: +fast-glob@^3.2.11, fast-glob@^3.2.9: version "3.2.12" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== @@ -3804,6 +3338,15 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs-extra@^10.0.1: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^11.0.0: version "11.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.0.tgz#5784b102104433bb0e090f48bfc4a30742c357ed" @@ -3813,15 +3356,6 @@ fs-extra@^11.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" - integrity sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^8.1, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -3873,11 +3407,6 @@ function.prototype.name@^1.1.5: es-abstract "^1.19.0" functions-have-names "^1.2.2" -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - functions-have-names@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" @@ -3946,11 +3475,6 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== - get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" @@ -3982,7 +3506,7 @@ git-raw-commits@^2.0.0: split2 "^3.0.0" through2 "^4.0.0" -github-slugger@^1.2.1, github-slugger@^1.5.0: +github-slugger@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== @@ -4031,7 +3555,7 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -4066,7 +3590,7 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.19.0, globals@^13.6.0, globals@^13.9.0: +globals@^13.19.0: version "13.20.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== @@ -4080,20 +3604,6 @@ globalthis@^1.0.3: dependencies: define-properties "^1.1.3" -globby@^10.0.1: - version "10.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" - integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" - globby@^11.0.1, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -4130,10 +3640,10 @@ got@^11: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== grapheme-splitter@^1.0.4: version "1.0.4" @@ -4150,7 +3660,7 @@ growl@1.10.5: resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== -handlebars@4.7.7: +handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -4268,7 +3778,7 @@ http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== -http-call@^5.1.2, http-call@^5.2.2: +http-call@^5.2.2: version "5.3.0" resolved "https://registry.yarnpkg.com/http-call/-/http-call-5.3.0.tgz#4ded815b13f423de176eb0942d69c43b25b148db" integrity sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== @@ -4382,12 +3892,7 @@ ignore-walk@^4.0.1: dependencies: minimatch "^3.0.4" -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4, ignore@^5.2.0: +ignore@^5.1.4, ignore@^5.2.0: version "5.2.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== @@ -4675,11 +4180,6 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -4893,17 +4393,17 @@ jsdoc-type-pratt-parser@^1.0.4: resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.2.0.tgz#3482a3833b74a88c95a6ba7253f0c0de3b77b9f5" integrity sha512-4STjeF14jp4bqha44nKMY1OUI6d2/g6uclHWUCZ7B4DoLzaB5bmpTkQrpqU+vSVzMD0LsKAOskcnI3I3VfIpmg== -jsdoc-type-pratt-parser@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz#a4a56bdc6e82e5865ffd9febc5b1a227ff28e67e" - integrity sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw== +jsdoc-type-pratt-parser@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz#136f0571a99c184d84ec84662c45c29ceff71114" + integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -jsforce@^2.0.0-beta.19: +jsforce@^2.0.0-beta.20: version "2.0.0-beta.20" resolved "https://registry.yarnpkg.com/jsforce/-/jsforce-2.0.0-beta.20.tgz#907630942b2ecd653098caa3f87e7710874cb207" integrity sha512-5TpdU0MEUN34M0mSKmBwOMKaI8dllTYF8NzpJn0/9akrwqKEERK6K2jGiMWcs85Vx1HCHEcwU2n+5ij6z6zr2g== @@ -4964,11 +4464,6 @@ json-stringify-nice@^1.1.4: resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - json5@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" @@ -5081,16 +4576,6 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -load-json-file@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" - integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== - dependencies: - graceful-fs "^4.1.15" - parse-json "^5.0.0" - strip-bom "^4.0.0" - type-fest "^0.6.0" - load-yaml-file@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/load-yaml-file/-/load-yaml-file-0.2.0.tgz#af854edaf2bea89346c07549122753c07372f64d" @@ -5180,11 +4665,6 @@ lodash.startcase@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - lodash.union@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" @@ -5205,7 +4685,7 @@ lodash.upperfirst@^4.3.1: resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5392,7 +4872,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -5557,11 +5037,6 @@ minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: minipass "^3.0.0" yallist "^4.0.0" -mkdirp-classic@^0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - mkdirp-infer-owner@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" @@ -5640,11 +5115,6 @@ mocha@^9.1.3: yargs-parser "20.2.4" yargs-unparser "2.0.0" -mock-stdin@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mock-stdin/-/mock-stdin-1.0.0.tgz#efcfaf4b18077e14541742fd758b9cae4e5365ea" - integrity sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q== - mri@^1.1.5: version "1.2.0" resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" @@ -5734,7 +5204,7 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -natural-orderby@^2.0.1, natural-orderby@^2.0.3: +natural-orderby@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/natural-orderby/-/natural-orderby-2.0.3.tgz#8623bc518ba162f8ff1cdb8941d74deb0fdcc016" integrity sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== @@ -5800,16 +5270,6 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -nock@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.3.0.tgz#b13069c1a03f1ad63120f994b04bfd2556925768" - integrity sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash "^4.17.21" - propagate "^2.0.0" - node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.9" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" @@ -5947,13 +5407,6 @@ npm-registry-fetch@^12.0.0, npm-registry-fetch@^12.0.1: minizlib "^2.1.2" npm-package-arg "^8.1.5" -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== - dependencies: - path-key "^2.0.0" - npm-run-path@^4.0.0, npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -6034,7 +5487,7 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-treeify@^1.1.33, object-treeify@^1.1.4: +object-treeify@^1.1.33: version "1.1.33" resolved "https://registry.yarnpkg.com/object-treeify/-/object-treeify-1.1.33.tgz#f06fece986830a3cba78ddd32d4c11d1f76cdf40" integrity sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== @@ -6058,12 +5511,12 @@ object.values@^1.1.5, object.values@^1.1.6: define-properties "^1.1.4" es-abstract "^1.20.4" -oclif@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/oclif/-/oclif-3.7.0.tgz#6507033312dbcae25e99050010c33d67a31e93a3" - integrity sha512-LtLc7/3lOQ0d6/JKGj8QriIK/MiIcjZXVX3WoynbXUswG/X8oIsSr1+F6Q69VVbXnjbYlbfiP+uYASr36Mrjzg== +oclif@^3.7.0, oclif@^3.7.3: + version "3.7.3" + resolved "https://registry.yarnpkg.com/oclif/-/oclif-3.7.3.tgz#822bb37626e65bf49d6644f07477dc3523fe0f4f" + integrity sha512-yQ85UkSJAsDIRx0DXrp287GyvsBc2piyk3a8wup8/T+wxmsdEvWW+SaDWIQfpHNzMHYHrGus0hGW2ZwNvcNgjg== dependencies: - "@oclif/core" "^2.3.0" + "@oclif/core" "^2.8.0" "@oclif/plugin-help" "^5.1.19" "@oclif/plugin-not-found" "^2.3.7" "@oclif/plugin-warn-if-update-available" "^2.0.14" @@ -6333,7 +5786,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^2.0.0, path-key@^2.0.1: +path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== @@ -6407,10 +5860,10 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier@^2.7.1, prettier@^2.8.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" - integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== +prettier@^2.7.1, prettier@^2.8.7: + version "2.8.7" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" + integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== pretty-bytes@^5.3.0: version "5.6.0" @@ -6446,11 +5899,6 @@ process-on-spawn@^1.0.0: dependencies: fromentries "^1.2.0" -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - promise-all-reject-late@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" @@ -6474,10 +5922,14 @@ promise-retry@^2.0.1: err-code "^2.0.2" retry "^0.12.0" -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== +proper-lockfile@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.2.tgz#c8b9de2af6b2f1601067f98e01ac66baa223141f" + integrity sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== + dependencies: + graceful-fs "^4.2.4" + retry "^0.12.0" + signal-exit "^3.0.2" psl@^1.1.33: version "1.9.0" @@ -6507,25 +5959,6 @@ q@^1.5.1: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== -qqjs@^0.3.10: - version "0.3.11" - resolved "https://registry.yarnpkg.com/qqjs/-/qqjs-0.3.11.tgz#795b9f7d00807d75c391b1241b5be3077143d9ea" - integrity sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg== - dependencies: - chalk "^2.4.1" - debug "^4.1.1" - execa "^0.10.0" - fs-extra "^6.0.1" - get-stream "^5.1.0" - glob "^7.1.2" - globby "^10.0.1" - http-call "^5.1.2" - load-json-file "^6.2.0" - pkg-dir "^4.2.0" - tar-fs "^2.0.0" - tmp "^0.1.0" - write-json-file "^4.1.1" - querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -6672,11 +6105,6 @@ regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" -regexpp@^3.1.0, regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - regextras@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.8.0.tgz#ec0f99853d4912839321172f608b544814b02217" @@ -6775,13 +6203,6 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -7035,15 +6456,6 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - smart-buffer@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" @@ -7083,7 +6495,7 @@ socks@^2.6.2: ip "^2.0.0" smart-buffer "^4.2.0" -sort-keys@^4.0.0, sort-keys@^4.2.0: +sort-keys@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18" integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== @@ -7172,14 +6584,6 @@ ssri@^9.0.0: dependencies: minipass "^3.1.1" -stdout-stderr@^0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/stdout-stderr/-/stdout-stderr-0.1.13.tgz#54e3450f3d4c54086a49c0c7f8786a44d1844b6f" - integrity sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA== - dependencies: - debug "^4.1.1" - strip-ansi "^6.0.0" - string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -7291,11 +6695,6 @@ strip-bom@^4.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" @@ -7339,7 +6738,7 @@ supports-color@^7.0.0, supports-color@^7.1.0, supports-color@^7.2.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.1.0, supports-hyperlinks@^2.2.0: +supports-hyperlinks@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== @@ -7352,17 +6751,6 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -table@^6.0.9: - version "6.8.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" - integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - taketalk@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/taketalk/-/taketalk-1.0.0.tgz#b4d4f0deed206ae7df775b129ea2ca6de52f26dd" @@ -7371,17 +6759,7 @@ taketalk@^1.0.0: get-stdin "^4.0.1" minimist "^1.1.0" -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4, tar-stream@^2.2.0: +tar-stream@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== @@ -7447,13 +6825,6 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmp@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" - integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== - dependencies: - rimraf "^2.6.3" - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -7548,7 +6919,7 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.1, tslib@^2.5.0: +tslib@^2, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== @@ -7784,11 +7155,6 @@ v8-compile-cache-lib@^3.0.1: resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -7940,6 +7306,17 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" +wireit@^0.9.5: + version "0.9.5" + resolved "https://registry.yarnpkg.com/wireit/-/wireit-0.9.5.tgz#7c3622f6ff5e63b7fac05783baf82f967f52562c" + integrity sha512-dKKNAwLxQjbPPMrltPxMUFKvLy2z6hlVjvR/qitvPm8GEQyb/1QYBG7ObvOQLsi95uAXpkWLJXBYkCKeVcMVgA== + dependencies: + braces "^3.0.2" + chokidar "^3.5.3" + fast-glob "^3.2.11" + jsonc-parser "^3.0.0" + proper-lockfile "^4.1.2" + word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -8009,18 +7386,6 @@ write-file-atomic@^4.0.0: imurmurhash "^0.1.4" signal-exit "^3.0.7" -write-json-file@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d" - integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ== - dependencies: - detect-indent "^6.0.0" - graceful-fs "^4.1.15" - is-plain-obj "^2.0.0" - make-dir "^3.0.0" - sort-keys "^4.0.0" - write-file-atomic "^3.0.0" - xml2js@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" From 850186d4a3e49f9639aecf641f09d8ef7d2873b0 Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Wed, 29 Mar 2023 15:17:37 -0600 Subject: [PATCH 02/21] chore: fix nuts workflow --- .github/workflows/test.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 185685e..7fad086 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,8 +25,7 @@ jobs: matrix: os: [ubuntu-latest, windows-latest] command: - - 'yarn test:nuts:package' - - 'yarn test:nuts:package1' + - 'yarn test:nuts' fail-fast: false with: os: ${{ matrix.os }} From 9d75c751393fa35bf6938339a6cc09f3d61ed637 Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Thu, 30 Mar 2023 07:14:43 -0600 Subject: [PATCH 03/21] chore: remove circleci config --- .circleci/config.yml | 103 ------------------------------------------- 1 file changed, 103 deletions(-) delete mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index c338094..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,103 +0,0 @@ -version: 2.1 -orbs: - release-management: salesforce/npm-release-management@4 -parameters: - sfdx_version: - description: | - By default, the latest version of the standalone CLI will be installed. - To install via npm, supply a version tag such as "latest" or "6". - default: '' - type: string - repo_tag: - description: "The tag of the module repo to checkout, '' defaults to branch/PR" - default: '' - type: string - npm_module_name: - description: 'The fully qualified npm module name, i.e. @salesforce/plugins-data' - default: '' - type: string - workflow: - description: | - String that controls which workflow would run. - This parameter is used by automation to determine if a workflow will run - within a pipeline. - type: string - default: 'test-and-release' -workflows: - version: 2 - test-and-release: - when: - equal: [test-and-release, << pipeline.parameters.workflow >>] - jobs: - - release-management/validate-pr: - filters: - branches: - ignore: main - - release-management/test-package: - matrix: - parameters: - os: - - linux - - windows - node_version: - # - latest - - lts - - maintenance - exclude: - - os: windows - node_version: maintenance - - release-management/test-nut: - context: na40-auth-url - sfdx_version: latest - node_version: lts - size: large - requires: - - release-management/test-package - no_output_timeout: 30m - matrix: - parameters: - os: - - linux - - windows - command: - - 'yarn test:nuts' - - release-management/release-package: - sign: true - github-release: true - requires: - - release-management/test-package - filters: - branches: - only: main - context: - - CLI_CTC - - AWS - - release - test-ts-update: - when: - equal: [test-ts-update, << pipeline.parameters.workflow >>] - jobs: - - release-management/test-ts-update - just-nuts: - when: - equal: [just-nuts, << pipeline.parameters.workflow >>] - jobs: - - release-management/test-nut: - name: just-nuts-<< matrix.os >> - sfdx_version: << pipeline.parameters.sfdx_version >> - sfdx_executable_path: sfdx - repo_tag: << pipeline.parameters.repo_tag >> - matrix: - parameters: - os: - - linux - - windows - npm_module_name: << pipeline.parameters.npm_module_name >> - context: na40-auth-url - dependabot-automerge: - when: - equal: [dependabot-automerge, << pipeline.parameters.workflow >>] - jobs: - - release-management/dependabot-automerge: - merge-method: squash - context: release From e5697510b5e277ba7f5112544dbb9f3d4e1635b6 Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Thu, 30 Mar 2023 07:27:32 -0600 Subject: [PATCH 04/21] chore: add support for prerelease --- .github/workflows/onRelease.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/onRelease.yml b/.github/workflows/onRelease.yml index 93e3878..44cf6b8 100644 --- a/.github/workflows/onRelease.yml +++ b/.github/workflows/onRelease.yml @@ -11,8 +11,20 @@ on: type: string required: true jobs: + # parses the package.json version and detects prerelease tag (ex: beta from 4.4.4-beta.0) + getDistTag: + outputs: + tag: ${{ steps.distTag.outputs.tag }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.release.tag_name || inputs.tag }} + - uses: salesforcecli/github-workflows/.github/actions/getPreReleaseTag@main + id: distTag npm: uses: salesforcecli/github-workflows/.github/workflows/npmPublish.yml@main + needs: [getDistTag] with: ctc: true sign: true From 6a8bc96e25e96fd43fb25d014386c3cd73a591d9 Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Thu, 30 Mar 2023 08:18:09 -0600 Subject: [PATCH 05/21] chore: test debugging --- .../lightning/generate/run/lwc/test.nut.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/test/commands/lightning/generate/run/lwc/test.nut.ts b/test/commands/lightning/generate/run/lwc/test.nut.ts index efdb71b..9354625 100644 --- a/test/commands/lightning/generate/run/lwc/test.nut.ts +++ b/test/commands/lightning/generate/run/lwc/test.nut.ts @@ -55,11 +55,17 @@ describe('lightning:run:lwc:test', () => { it('runs the tests (human)(cmd alias)', () => { const output = execCmd('force:lightning:lwc:test:run', { ensureExitCode: 0, - }).shellOutput.stderr; - expect(output).to.match(/Test Suites:\s+\d+\s+passed,\s+\d+\s+total/); - expect(output).to.match(/Tests:\s+\d+\s+passed,\s+\d+\s+total/); - expect(output).to.include('Snapshots: 0 total'); - expect(output).to.include('PASS'); + }).shellOutput; + const commandOutput = output.stdout; + const jestOutput = output.stderr; + expect(commandOutput).to.include('Test run complete. Exited with status code: 0'); + if (!/Test Suites:\s+\d+\s+passed,\s+\d+\s+total/.test(jestOutput)) { + expect.fail(jestOutput) + } + expect(jestOutput).to.match(/Test Suites:\s+\d+\s+passed,\s+\d+\s+total/); + expect(jestOutput).to.match(/Tests:\s+\d+\s+passed,\s+\d+\s+total/); + expect(jestOutput).to.include('Snapshots: 0 total'); + expect(jestOutput).to.include('PASS'); }); it('properly displays failed tests (human)', async () => { From 9e5c8ae9566249583a33f1577d3d9cf74c4ba3ab Mon Sep 17 00:00:00 2001 From: Eric Willhoit Date: Thu, 30 Mar 2023 09:49:01 -0500 Subject: [PATCH 06/21] chore: add prerelease actions --- .github/workflows/onPushToMain.yml | 17 ++++++++--------- .github/workflows/onRelease.yml | 2 +- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/workflows/onPushToMain.yml b/.github/workflows/onPushToMain.yml index b00f1cb..6779487 100644 --- a/.github/workflows/onPushToMain.yml +++ b/.github/workflows/onPushToMain.yml @@ -1,18 +1,17 @@ -# test name: version, tag and github release on: push: - branches: [main] + branches: + - main + - prerelease/* + tags-ignore: + - "*" jobs: release: + # this job will throw if prerelease is true but it doesn't have a prerelease-looking package.json version uses: salesforcecli/github-workflows/.github/workflows/githubRelease.yml@main secrets: inherit - - # most repos won't use this - # depends on previous job to avoid git collisions, not for any functionality reason - # docs: - # uses: salesforcecli/github-workflows/.github/workflows/publishTypedoc.yml@main - # secrets: inherit - # needs: release + with: + prerelease: ${{ github.ref_name != 'main' }} diff --git a/.github/workflows/onRelease.yml b/.github/workflows/onRelease.yml index 44cf6b8..cd9d354 100644 --- a/.github/workflows/onRelease.yml +++ b/.github/workflows/onRelease.yml @@ -28,6 +28,6 @@ jobs: with: ctc: true sign: true - tag: latest + tag: ${{ needs.getDistTag.outputs.tag || 'latest' }} githubTag: ${{ github.event.release.tag_name || inputs.tag }} secrets: inherit From f2977ecedd4fd0d8263b2d81806b9c41ab930494 Mon Sep 17 00:00:00 2001 From: Juliet Shackell Date: Thu, 30 Mar 2023 16:27:27 -0700 Subject: [PATCH 07/21] fix: sf-ify "lightning generate lwc test" --- messages/create.md | 18 ++++++++---------- src/commands/lightning/generate/lwc/test.ts | 9 ++++----- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/messages/create.md b/messages/create.md index 1feb0c3..53f3344 100644 --- a/messages/create.md +++ b/messages/create.md @@ -1,20 +1,18 @@ -# example +# examples -$ <%= config.bin %> <%= command.id %> -f force-app/main/default/lwc/myButton/myButton.js +- Create a Lightning web component test file called myButton.test.js for the myButton component: -# commandDescription + <%= config.bin %> <%= command.id %> --filef force-app/main/default/lwc/myButton/myButton.js -creates a Lightning web component test file with boilerplate code inside a **tests** directory. +# summary -# longDescription +Create a Lightning web component test file. -Creates a **tests** directory in the specified directory. Creates a yourComponentName.test.js file with boilerplate code in the **tests** directory. - -# filepathFlagDescription +# description -path to Lightning web component .js file to create a test for +Creates a **tests** directory in the specified directory. Creates a yourComponentName.test.js file with boilerplate code in the **tests** directory. -# filepathFlagLongDescription +# flags.file.summary Path to Lightning web component .js file to create a test for. diff --git a/src/commands/lightning/generate/lwc/test.ts b/src/commands/lightning/generate/lwc/test.ts index 7c6c00d..61323a4 100644 --- a/src/commands/lightning/generate/lwc/test.ts +++ b/src/commands/lightning/generate/lwc/test.ts @@ -20,17 +20,16 @@ Messages.importMessagesDirectory(__dirname); const messages = Messages.loadMessages('@salesforce/sfdx-plugin-lwc-test', 'create'); export default class GenerateTest extends SfCommand { - public static readonly summary = messages.getMessage('commandDescription'); - public static readonly description = messages.getMessage('longDescription'); - public static readonly examples = messages.getMessages('example'); + public static readonly summary = messages.getMessage('summary'); + public static readonly description = messages.getMessage('description'); + public static readonly examples = messages.getMessages('examples'); public static readonly requiresProject = true; public static readonly deprecateAliases = true; public static readonly aliases = ['force:lightning:lwc:test:create']; public static readonly flags = { file: Flags.file({ char: 'f', - summary: messages.getMessage('filepathFlagDescription'), - description: messages.getMessage('filepathFlagLongDescription'), + summary: messages.getMessage('flags.file.summary'), required: true, deprecateAliases: true, aliases: ['filepath'], From a031203ac70b815821cd3becd0d3a8b7b91b4ff9 Mon Sep 17 00:00:00 2001 From: Juliet Shackell Date: Mon, 3 Apr 2023 10:32:28 -0700 Subject: [PATCH 08/21] fix: quick sf-ication of setup/run command messages --- messages/run.md | 34 ++++++++++++------------ messages/setup.md | 12 +++++---- src/commands/lightning/run/lwc/test.ts | 11 ++++---- src/commands/lightning/setup/lwc/test.ts | 4 +-- 4 files changed, 31 insertions(+), 30 deletions(-) diff --git a/messages/run.md b/messages/run.md index 55036b9..5158e4a 100644 --- a/messages/run.md +++ b/messages/run.md @@ -1,38 +1,38 @@ # examples -- $ <%= config.bin %> <%= command.id %> +- Run LWC Jest unit tests: -- $ <%= config.bin %> <%= command.id %> -w + $ <%= config.bin %> <%= command.id %> -# commandDescription +- Run LWC Jest unit tests only when a watched file changes: -invokes Lightning Web Components Jest unit tests. + $ <%= config.bin %> <%= command.id %> --watch -# longDescription +# summary -Invokes Lightning Web Components Jest unit tests. +Invoke Lightning Web Components Jest unit tests. -# debugFlagDescription +# flags.debug.summary -run tests in debug mode +Run tests in a Node process that an external debugger can connect to. -# debugFlagLongDescription +# flags.debug.description -Runs tests in a Node process that an external debugger can connect to. The run pauses until the debugger is connected. For more information, see: https://jestjs.io/docs/en/troubleshooting +The run pauses until the debugger is connected. For more information, see: https://jestjs.io/docs/en/troubleshooting. -# watchFlagDescription +# flags.watch.summary -run tests in watch mode +Run tests when a watched file changes. -# watchFlagLongDescription +# flags.watch.description -Runs tests when a watched file changes. Watched files include the component under test and any files it references. +Watched files include the component under test and any files it references. # errorNoExecutableFound -No sfdx-lwc-jest executable found. Verify it is properly installed. -Run "%s lightning:setup:lwc:test --help" for installation details. +No sfdx-lwc-jest executable found. Verify it's properly installed. +Run "%s lightning setup lwc test --help" for installation details. # logSuccess -Test run complete. Exited with status code: %s +Test run complete. Exited with status code: %s. diff --git a/messages/setup.md b/messages/setup.md index c9354dd..8145856 100644 --- a/messages/setup.md +++ b/messages/setup.md @@ -1,14 +1,16 @@ # examples -- $ <%= config.bin %> <%= command.id %> +- Install Jest unit testing tools for LWC: -# commandDescription + $ <%= config.bin %> <%= command.id %> -install Jest unit testing tools for Lightning Web Components. +# summary -# longDescription +Install Jest unit testing tools for Lightning Web Components. -Installs Jest unit testing tools for Lightning Web Components. For more information, see the Lightning Web Components Dev Guide: https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.testing +# description + +For more information, see the Lightning Web Components Dev Guide: https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.testing # errorNodeNotFound diff --git a/src/commands/lightning/run/lwc/test.ts b/src/commands/lightning/run/lwc/test.ts index 637e82d..894908f 100644 --- a/src/commands/lightning/run/lwc/test.ts +++ b/src/commands/lightning/run/lwc/test.ts @@ -20,8 +20,7 @@ export type RunResult = { }; export default class RunTest extends SfCommand { - public static readonly summary = messages.getMessage('commandDescription'); - public static readonly description = messages.getMessage('longDescription'); + public static readonly summary = messages.getMessage('summary'); public static readonly examples = messages.getMessages('examples'); public static readonly requiresProject = true; public static args = { passthrough: Args.string({ description: 'passthrough arg' }) }; @@ -30,12 +29,12 @@ export default class RunTest extends SfCommand { public static readonly flags = { debug: Flags.boolean({ char: 'd', - summary: messages.getMessage('debugFlagDescription'), - description: messages.getMessage('debugFlagLongDescription'), + summary: messages.getMessage('flags.debug.summary'), + description: messages.getMessage('flags.debug.description'), }), watch: Flags.boolean({ - summary: messages.getMessage('watchFlagDescription'), - description: messages.getMessage('watchFlagLongDescription'), + summary: messages.getMessage('flags.watch.summary'), + description: messages.getMessage('flags.watch.description'), exclusive: ['debug'], }), loglevel, diff --git a/src/commands/lightning/setup/lwc/test.ts b/src/commands/lightning/setup/lwc/test.ts index ba663d5..79d05bf 100644 --- a/src/commands/lightning/setup/lwc/test.ts +++ b/src/commands/lightning/setup/lwc/test.ts @@ -34,8 +34,8 @@ export type SetupResult = { const forceignoreEntry = '\n# LWC Jest tests\n**/__tests__/**'; export default class SetupTest extends SfCommand { - public static readonly summary = messages.getMessage('commandDescription'); - public static readonly description = messages.getMessage('commandDescription'); + public static readonly summary = messages.getMessage('summary'); + public static readonly description = messages.getMessage('description'); public static readonly examples = messages.getMessages('examples'); public static readonly requiresProject = true; public static readonly deprecateAliases = true; From a1fffa24ea82fd888c7f7547ab1f50e92328cdfe Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Wed, 5 Apr 2023 11:10:34 -0600 Subject: [PATCH 09/21] chore: fix test assertions --- test/commands/lightning/generate/run/lwc/test.nut.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/commands/lightning/generate/run/lwc/test.nut.ts b/test/commands/lightning/generate/run/lwc/test.nut.ts index 9354625..dcb04b0 100644 --- a/test/commands/lightning/generate/run/lwc/test.nut.ts +++ b/test/commands/lightning/generate/run/lwc/test.nut.ts @@ -48,7 +48,7 @@ describe('lightning:run:lwc:test', () => { const output = execCmd('lightning:run:lwc:test --json', { ensureExitCode: 0, }).jsonOutput; - expect(output?.result.message).to.equal('Test run complete. Exited with status code: 0'); + expect(output?.result.message).to.equal('Test run complete. Exited with status code: 0.'); expect(output?.result.jestExitCode).to.equal(0); }); @@ -58,7 +58,7 @@ describe('lightning:run:lwc:test', () => { }).shellOutput; const commandOutput = output.stdout; const jestOutput = output.stderr; - expect(commandOutput).to.include('Test run complete. Exited with status code: 0'); + expect(commandOutput).to.include('Test run complete. Exited with status code: 0.'); if (!/Test Suites:\s+\d+\s+passed,\s+\d+\s+total/.test(jestOutput)) { expect.fail(jestOutput) } From de4830912dc1e3761031fafc37725dfed95219f3 Mon Sep 17 00:00:00 2001 From: mshanemc Date: Thu, 6 Apr 2023 08:29:39 -0500 Subject: [PATCH 10/21] chore: stab at changes --- .eslintrc.js | 6 +- .gitignore | 52 +- package.json | 132 ++- scripts/checkLicenseHeaders.js | 150 --- src/commands/lightning/generate/lwc/test.ts | 1 - src/commands/lightning/run/lwc/test.ts | 1 - src/commands/lightning/setup/lwc/test.ts | 12 +- src/lib/fileWriter.ts | 23 +- .../lightning/generate/lwc/test.nut.ts | 1 + .../lightning/generate/lwc/test.test.ts | 5 +- .../lightning/generate/run/lwc/test.nut.ts | 1 + test/commands/lightning/setup/lwc/test.nut.ts | 1 + .../commands/lightning/setup/lwc/test.test.ts | 4 +- yarn.lock | 888 ++++-------------- 14 files changed, 347 insertions(+), 930 deletions(-) delete mode 100644 scripts/checkLicenseHeaders.js diff --git a/.eslintrc.js b/.eslintrc.js index f95dc13..250e4c1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -5,10 +5,8 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ module.exports = { - extends: ['eslint-config-salesforce-typescript', 'eslint-config-salesforce-license', 'plugin:sf-plugin/migration'], + extends: ['eslint-config-salesforce-typescript', 'eslint-config-salesforce-license', 'plugin:sf-plugin/recommended'], rules: { - '@typescript-eslint/no-unsafe-argument': 'off', - '@typescript-eslint/prefer-includes': 'off', - 'class-methods-use-this': 'off', + // '@typescript-eslint/no-unsafe-argument': 'off', }, }; diff --git a/.gitignore b/.gitignore index 8055e12..d2ee941 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,47 @@ -*-debug.log -*-error.log -/.nyc_output -/dist -/lib -/package-lock.json -/tmp +# -- CLEAN +tmp/ +# use yarn by default, so ignore npm +package-lock.json + +# never checkin npm config +.npmrc + +# debug logs +npm-error.log +yarn-error.log + + +# compile source +lib + +# test artifacts +*xunit.xml +*checkstyle.xml +*unitcoverage +.nyc_output +coverage +test_session* + +# generated docs +docs + +# ignore sfdx-trust files +*.tgz +*.sig +package.json.bak. + +# -- CLEAN ALL +*.tsbuildinfo +.eslintcache +.wireit node_modules + +# -- +# put files here you don't want cleaned with sf-clean + +# os specific files +.DS_Store +.idea +.iml + oclif.manifest.json diff --git a/package.json b/package.json index 9761a15..b4869db 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,6 @@ "@salesforce/kit": "^1.9.2", "@salesforce/sf-plugins-core": "^2.2.4", "semver-compare": "^1.0.0", - "signal-exit": "^3.0.6", "tslib": "^2.5.0" }, "devDependencies": { @@ -18,15 +17,14 @@ "@oclif/plugin-help": "^5.2.7", "@salesforce/cli-plugins-testkit": "^3.2.24", "@salesforce/dev-config": "^3.1.0", - "@salesforce/dev-scripts": "^3.1.1", - "@salesforce/plugin-command-reference": "^1.6.5", + "@salesforce/dev-scripts": "^4.3.0", + "@salesforce/plugin-command-reference": "^2.4.1", "@salesforce/prettier-config": "^0.0.2", "@salesforce/ts-sinon": "^1.4.6", "@salesforce/ts-types": "^1.7.3", "@types/inquirer": "^8.2.0", "@types/semver-compare": "^1.0.1", "@types/shelljs": "^0.8.11", - "@types/signal-exit": "^3.0.1", "@typescript-eslint/eslint-plugin": "^5.52.0", "@typescript-eslint/parser": "^5.52.0", "chai": "^4.3.7", @@ -40,7 +38,6 @@ "eslint-plugin-jsdoc": "^40.0.1", "eslint-plugin-sf-plugin": "^1.9.3", "husky": "^8.0.3", - "isbinaryfile": "^5.0.0", "mocha": "^10.0.0", "nyc": "^15.1.0", "oclif": "^3.7.0", @@ -48,7 +45,8 @@ "pretty-quick": "^3.1.0", "sinon": "^14.0.0", "ts-node": "^10.9.1", - "typescript": "^4.9.5" + "typescript": "^4.9.5", + "wireit": "^0.9.5" }, "engines": { "node": ">=14.0.0" @@ -92,22 +90,122 @@ }, "repository": "salesforce/sfdx-plugin-lwc-test", "scripts": { - "build": "sf-build", - "check-license-headers": "node ./scripts/checkLicenseHeaders.js", + "build": "wireit", "clean": "sf-clean", "clean-all": "sf-clean all", - "compile": "sf-compile", - "docs": "sf-docs", - "format": "sf-format", - "lint": "sf-lint", + "compile": "wireit", + "format": "wireit", + "lint": "wireit", "postpack": "rm -f oclif.manifest.json", - "posttest": "yarn lint && yarn test:deprecation-policy && yarn test:command-reference", "prepack": "sf-prepack", - "pretest": "sf-compile-test", - "test": "sf-test", - "test:command-reference": "./bin/dev commandreference:generate -p @salesforce/sfdx-plugin-lwc-test --erroronwarnings", - "test:deprecation-policy": "./bin/dev snapshot:compare", + "test": "wireit", "test:nuts": "nyc mocha \"./test/**/*.nut.ts\" --slow 4500 --timeout 600000 --parallel --jobs 20", + "test:only": "wireit", "version": "oclif readme && git add README.md" + }, + "wireit": { + "build": { + "dependencies": [ + "compile", + "lint" + ] + }, + "compile": { + "command": "tsc -p . --pretty --incremental", + "files": [ + "src/**/*.ts", + "**/tsconfig.json", + "messages/**" + ], + "output": [ + "lib/**", + "*.tsbuildinfo" + ], + "clean": "if-file-deleted" + }, + "format": { + "command": "prettier --write \"+(src|test|schemas)/**/*.+(ts|js|json)|command-snapshot.json\"", + "files": [ + "src/**/*.ts", + "test/**/*.ts", + "schemas/**/*.json", + "command-snapshot.json", + ".prettier*" + ], + "output": [] + }, + "lint": { + "command": "eslint src test --color --cache --cache-location .eslintcache", + "files": [ + "src/**/*.ts", + "test/**/*.ts", + "messages/**", + "**/.eslint*", + "**/tsconfig.json" + ], + "output": [] + }, + "test:compile": { + "command": "tsc -p \"./test\" --pretty", + "files": [ + "test/**/*.ts", + "**/tsconfig.json" + ], + "output": [] + }, + "test": { + "dependencies": [ + "test:compile", + "test:only", + "test:command-reference", + "test:deprecation-policy", + "lint", + "test:json-schema" + ] + }, + "test:only": { + "command": "nyc mocha \"test/**/*.test.ts\"", + "env": { + "FORCE_COLOR": "2" + }, + "files": [ + "test/**/*.ts", + "src/**/*.ts", + "**/tsconfig.json", + ".mocha*", + "!*.nut.ts", + ".nycrc" + ], + "output": [] + }, + "test:command-reference": { + "command": "\"./bin/dev\" commandreference:generate --erroronwarnings", + "files": [ + "src/**/*.ts", + "messages/**", + "package.json" + ], + "output": [ + "tmp/root" + ] + }, + "test:deprecation-policy": { + "command": "\"./bin/dev\" snapshot:compare", + "files": [ + "src/**/*.ts" + ], + "output": [], + "dependencies": [ + "compile" + ] + }, + "test:json-schema": { + "command": "\"./bin/dev\" schema:compare", + "files": [ + "src/**/*.ts", + "schemas" + ], + "output": [] + } } } diff --git a/scripts/checkLicenseHeaders.js b/scripts/checkLicenseHeaders.js deleted file mode 100644 index 1895441..0000000 --- a/scripts/checkLicenseHeaders.js +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (c) 2018, salesforce.com, inc. - * All rights reserved. - * SPDX-License-Identifier: MIT - * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT - */ - -// Borrowed from https://github.com/facebook/jest - -/** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -'use strict'; - -const fs = require('fs'); -const {execSync} = require('child_process'); -const isbinaryfile = require('isbinaryfile'); - -const getFileContents = path => fs.readFileSync(path, {encoding: 'utf-8'}); -const isDirectory = path => fs.lstatSync(path).isDirectory(); -const createRegExp = pattern => new RegExp(pattern); - -const IGNORED_EXTENSIONS = [ - 'lock', - 'patch', - 'exe', - 'bin', - 'cfg', - 'config', - 'conf', - // 'html', // might have LWC components we want the header on - 'md', - 'markdown', - 'opam', - 'osm', - 'descr', - 'rst', - 'json', - 'key', - 'ini', - 'plist', - 'snap', - 'svg', - 'txt', - 'xcodeproj', - 'xcscheme', - 'xml', - 'yaml', - 'yml', - 'textile', - 'tsv', - 'csv', - 'pem', - 'csr', - 'der', - 'crt', - 'cert', - 'cer', - 'p7b', - 'iml', - 'org', - 'podspec', - 'modulemap', - 'pch', - 'lproj', - 'xcworkspace', - 'storyboard', - 'tvml', - 'xib', - 'pbxproj', - 'xcworkspacedata', - 'xccheckout', - 'xcsettings', - 'strings', - 'ipynb', - 'htm', - 'toml', - 'opts', -].map(extension => createRegExp(`\.${extension}$`)); - -const GENERIC_IGNORED_PATTERNS = [ - '(^|/)\\.[^/]+(/|$)', - - //'third[_\\-. ]party/', // to be on the safe side - '^node[_\\-. ]modules/', - 'gradlew\\.bat$', - 'gradlew$', - 'gradle/wrapper/', - '.idea/', - '__init__\\.py$', - '^Setup.hs$', - '^(readme|README|Readme)\\..*$', - 'Cargo\\.toml$', - '^Cartfile.*$', - '^.*\\.xcodeproj/$', - '^.*\\.xcworkspace/$', - '^.*\\.lproj/$', - '^.*\\.bundle/$', - '^MANIFEST\\.in$', -].map(createRegExp); - -const CUSTOM_IGNORED_PATTERNS = [ - // add anything repo specific here -].map(createRegExp); - -const IGNORED_PATTERNS = [ - ...IGNORED_EXTENSIONS, - ...GENERIC_IGNORED_PATTERNS, - ...CUSTOM_IGNORED_PATTERNS, -]; - -const INCLUDED_PATTERNS = [ - // Any file with an extension - /\.[^/]+$/, -]; - -const COPYRIGHT_HEADER_RE = /Copyright (\(c\))? [0-9]{4}, (s|S)alesforce.com, inc./; - -function needsCopyrightHeader(file) { - const contents = getFileContents(file); - return contents.trim().length > 0 && !COPYRIGHT_HEADER_RE.test(contents); -} - -function check() { - const allFiles = execSync('git ls-files', {encoding: 'utf-8'}) - .trim() - .split('\n'); - - const invalidFiles = allFiles.filter( - file => - INCLUDED_PATTERNS.some(pattern => pattern.test(file)) && - !IGNORED_PATTERNS.some(pattern => pattern.test(file)) && - !isDirectory(file) && - !isbinaryfile.isBinaryFileSync(file) && - needsCopyrightHeader(file) - ); - - if (invalidFiles.length > 0) { - console.log(`Salesforce copyright header check failed for the following files: - ${invalidFiles.join('\n ')} -Please include the header or blacklist the files in \`scripts/checkCopyrightHeaders.js\``); - process.exit(1); - } -} - -check(); diff --git a/src/commands/lightning/generate/lwc/test.ts b/src/commands/lightning/generate/lwc/test.ts index 7c6c00d..57f3521 100644 --- a/src/commands/lightning/generate/lwc/test.ts +++ b/src/commands/lightning/generate/lwc/test.ts @@ -38,7 +38,6 @@ export default class GenerateTest extends SfCommand { loglevel, }; - // eslint-disable-next-line @typescript-eslint/require-await public async run(): Promise { const { flags } = await this.parse(GenerateTest); const testDirName = '__tests__'; diff --git a/src/commands/lightning/run/lwc/test.ts b/src/commands/lightning/run/lwc/test.ts index 637e82d..13eb731 100644 --- a/src/commands/lightning/run/lwc/test.ts +++ b/src/commands/lightning/run/lwc/test.ts @@ -41,7 +41,6 @@ export default class RunTest extends SfCommand { loglevel, }; - // eslint-disable-next-line @typescript-eslint/require-await public async run(): Promise { const { args, flags } = await this.parse(RunTest); const addArgs: string[] = []; diff --git a/src/commands/lightning/setup/lwc/test.ts b/src/commands/lightning/setup/lwc/test.ts index ba663d5..5b9e858 100644 --- a/src/commands/lightning/setup/lwc/test.ts +++ b/src/commands/lightning/setup/lwc/test.ts @@ -7,7 +7,7 @@ import { execSync } from 'child_process'; import * as fs from 'fs'; import * as path from 'path'; -import { loglevel, SfCommand } from '@salesforce/sf-plugins-core'; +import { loglevel, SfCommand, Ux } from '@salesforce/sf-plugins-core'; import { Messages, SfError } from '@salesforce/core'; import semverCompare = require('semver-compare'); import { FileWriter } from '../../../../lib/fileWriter'; @@ -61,7 +61,7 @@ export default class SetupTest extends SfCommand { this.updateForceIgnore(fileWriter); this.log(messages.getMessage('logFileUpdatesStart')); - fileWriter.writeFiles(); + fileWriter.writeFiles(new Ux({ jsonEnabled: this.jsonEnabled() })); this.log('logFileUpdatesEnd'); // do this as the last step because it is hard to revert if experience an error from anything above @@ -74,6 +74,7 @@ export default class SetupTest extends SfCommand { } // pull out to own method for testability + // eslint-disable-next-line class-methods-use-this private getFileWriter(): FileWriter { return new FileWriter(); } @@ -125,7 +126,7 @@ export default class SetupTest extends SfCommand { fileWriter.queueWrite(forceignorePath, forceignoreEntry); } else { const forceignore = fs.readFileSync(forceignorePath, { encoding: 'utf8' }); - if (forceignore.indexOf('**/__tests__/**') === -1) { + if (!forceignore.includes('**/__tests__/**')) { this.log('logQueueForceignoreModify'); fileWriter.queueAppend(forceignorePath, forceignoreEntry, { encoding: 'utf8' }); } @@ -142,7 +143,10 @@ export default class SetupTest extends SfCommand { execSync('npm install --save-dev @salesforce/sfdx-lwc-jest', { stdio: 'inherit' }); } } catch (e) { - throw new SfError(messages.getMessage('errorLwcJestInstall', [(e as Error).message])); + if (e instanceof Error) { + throw new SfError(messages.getMessage('errorLwcJestInstall', [e.message])); + } + throw e; } } } diff --git a/src/lib/fileWriter.ts b/src/lib/fileWriter.ts index 4acb8d7..7b709d9 100644 --- a/src/lib/fileWriter.ts +++ b/src/lib/fileWriter.ts @@ -6,6 +6,7 @@ */ import * as crypto from 'crypto'; import * as fs from 'fs'; +import { Ux } from '@salesforce/sf-plugins-core'; import signalExit = require('signal-exit'); export class FileWriter { @@ -52,13 +53,13 @@ export class FileWriter { }); } - public writeFiles(): void { + public writeFiles(ux: Ux): void { const cleanup = this.revertChanges(); // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment const removeExitHandler = signalExit(cleanup); try { this.appendQueue.forEach((item) => { - const tmpFilename = item.filepath + '.' + this.getHash(item.filepath); + const tmpFilename = item.filepath + '.' + getHash(item.filepath); if (!fs.existsSync(item.filepath)) { throw new Error('Attempting to append to file that does not exist: ' + item.filepath); } @@ -68,7 +69,7 @@ export class FileWriter { }); this.writeQueue.forEach((item) => { - const tmpFilename = item.filepath + '.' + this.getHash(item.filepath); + const tmpFilename = item.filepath + '.' + getHash(item.filepath); if (fs.existsSync(item.filepath)) { fs.copyFileSync(item.filepath, tmpFilename); this.tmpFilelist[item.filepath] = tmpFilename; @@ -82,11 +83,10 @@ export class FileWriter { removeExitHandler(); this.removeTempFiles(); } catch (e) { - // TODO(tbliss): how to get access to the same logger that the commands have? - // eslint-disable-next-line no-console - console.log('Error writing files. Attempting to revert back to original state.'); - // eslint-disable-next-line no-console - console.log(e); + ux.log('Error writing files. Attempting to revert back to original state.'); + if (e instanceof Error) { + ux.log(e.message); + } // eslint-disable-next-line @typescript-eslint/no-unsafe-call removeExitHandler(); cleanup(); @@ -113,8 +113,7 @@ export class FileWriter { fs.unlinkSync(this.tmpFilelist[item]); }); } - - private getHash(filename: string): string { - return crypto.createHash('md5').update(filename, 'utf8').update(String(process.pid), 'utf8').digest('hex'); - } } + +const getHash = (filename: string): string => + crypto.createHash('md5').update(filename, 'utf8').update(String(process.pid), 'utf8').digest('hex'); diff --git a/test/commands/lightning/generate/lwc/test.nut.ts b/test/commands/lightning/generate/lwc/test.nut.ts index c3a566b..a9daad3 100644 --- a/test/commands/lightning/generate/lwc/test.nut.ts +++ b/test/commands/lightning/generate/lwc/test.nut.ts @@ -17,6 +17,7 @@ describe('lightning:generate:lwc:test', () => { before('prepare session and ensure environment variables', async () => { testSession = await TestSession.create({ project: { gitClone: 'https://github.com/trailheadapps/dreamhouse-lwc' }, + devhubAuthStrategy: 'NONE', }); testDir = path.join(testSession.project.dir, 'force-app', 'main', 'default', 'lwc', 'brokerCard'); }); diff --git a/test/commands/lightning/generate/lwc/test.test.ts b/test/commands/lightning/generate/lwc/test.test.ts index a85f69b..13494af 100644 --- a/test/commands/lightning/generate/lwc/test.test.ts +++ b/test/commands/lightning/generate/lwc/test.test.ts @@ -8,7 +8,7 @@ import * as fs from 'fs'; import { join } from 'path'; import * as sinon from 'sinon'; import { SinonStub } from 'sinon'; -import { expect } from 'chai'; +import { assert, expect } from 'chai'; import { TestContext } from '@salesforce/core/lib/testSetup'; import { stubMethod } from '@salesforce/ts-sinon'; import { Config } from '@oclif/core'; @@ -108,7 +108,8 @@ describe('force:lightning:lwc:test:create', () => { await create.run(); expect.fail('Expected error to be thrown'); } catch (e) { - expect((e as Error).message).to.contain('Test file already exists'); + assert(e instanceof Error); + expect(e.message).to.contain('Test file already exists'); } }); }); diff --git a/test/commands/lightning/generate/run/lwc/test.nut.ts b/test/commands/lightning/generate/run/lwc/test.nut.ts index efdb71b..5310867 100644 --- a/test/commands/lightning/generate/run/lwc/test.nut.ts +++ b/test/commands/lightning/generate/run/lwc/test.nut.ts @@ -22,6 +22,7 @@ describe('lightning:run:lwc:test', () => { before('prepare session and ensure environment variables', async () => { testSession = await TestSession.create({ project: { gitClone: 'https://github.com/trailheadapps/dreamhouse-lwc' }, + devhubAuthStrategy: 'NONE', }); execCmd('lightning:setup:lwc:test', { ensureExitCode: 0 }); // I'm not sure why this test started failing diff --git a/test/commands/lightning/setup/lwc/test.nut.ts b/test/commands/lightning/setup/lwc/test.nut.ts index 0ba8532..764dc16 100644 --- a/test/commands/lightning/setup/lwc/test.nut.ts +++ b/test/commands/lightning/setup/lwc/test.nut.ts @@ -16,6 +16,7 @@ describe('lightning:setup:lwc:test', () => { before('prepare session and ensure environment variables', async () => { testSession = await TestSession.create({ project: { gitClone: 'https://github.com/trailheadapps/dreamhouse-lwc' }, + devhubAuthStrategy: 'NONE', }); }); diff --git a/test/commands/lightning/setup/lwc/test.test.ts b/test/commands/lightning/setup/lwc/test.test.ts index 46c126e..61059cd 100644 --- a/test/commands/lightning/setup/lwc/test.test.ts +++ b/test/commands/lightning/setup/lwc/test.test.ts @@ -373,7 +373,7 @@ describe('lightning:setup:test', () => { .returns(true); (fs.existsSync as SinonStub).callThrough(); stubMethod($$.SANDBOX, fs, 'readFileSync').callsFake((path: string) => { - if (path.indexOf('forceignore') !== -1) { + if (path.includes('forceignore')) { return 'from test'; } return ''; @@ -407,7 +407,7 @@ describe('lightning:setup:test', () => { .returns(true); (fs.existsSync as SinonStub).callThrough(); stubMethod($$.SANDBOX, fs, 'readFileSync').callsFake((path: string) => { - if (path.indexOf('forceignore') !== -1) { + if (path.includes('forceignore')) { return '**/__tests__/**'; } return ''; diff --git a/yarn.lock b/yarn.lock index e05da0f..8e2161c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,13 +10,6 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" @@ -149,7 +142,7 @@ "@babel/traverse" "^7.20.13" "@babel/types" "^7.20.7" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": +"@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== @@ -398,29 +391,26 @@ esquery "^1.4.0" jsdoc-type-pratt-parser "~3.1.0" -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" + eslint-visitor-keys "^3.3.0" -"@eslint/eslintrc@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" - integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== +"@eslint-community/regexpp@^4.4.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz#f6f729b02feee2c749f57e334b7a1b5f40a81724" + integrity sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ== + +"@eslint/eslintrc@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02" + integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.4.0" + espree "^9.5.1" globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" @@ -428,6 +418,11 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/js@8.37.0": + version "8.37.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.37.0.tgz#cf1b5fa24217fe007f6487a26d765274925efa7d" + integrity sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A== + "@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" @@ -442,21 +437,12 @@ debug "^4.1.1" minimatch "^3.0.5" -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^1.2.0", "@humanwhocodes/object-schema@^1.2.1": +"@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== @@ -708,92 +694,10 @@ supports-color "^8.1.1" tslib "^2" -"@oclif/command@^1.8.14", "@oclif/command@^1.8.15": - version "1.8.22" - resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.22.tgz#b7ea268393277606bb5e0e557c39536ff4e883f2" - integrity sha512-lystv7IKsWRmCv6K68jSvHrO/DILUPBDb5GZ3absTA5XTnNXTaMrcwVzTcMPfTf+gCrgIaPPD1bmbRStwfQxFw== - dependencies: - "@oclif/config" "^1.18.2" - "@oclif/errors" "^1.3.6" - "@oclif/help" "^1.0.1" - "@oclif/parser" "^3.8.10" - debug "^4.1.1" - semver "^7.3.8" - -"@oclif/config@1.18.2": - version "1.18.2" - resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.2.tgz#5bfe74a9ba6a8ca3dceb314a81bd9ce2e15ebbfe" - integrity sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA== - dependencies: - "@oclif/errors" "^1.3.3" - "@oclif/parser" "^3.8.0" - debug "^4.1.1" - globby "^11.0.1" - is-wsl "^2.1.1" - tslib "^2.0.0" - -"@oclif/config@1.18.6": - version "1.18.6" - resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.6.tgz#37367026b3110a2f04875509b1920a8ee4489f21" - integrity sha512-OWhCpdu4QqggOPX1YPZ4XVmLLRX+lhGjXV6RNA7sogOwLqlEmSslnN/lhR5dkhcWZbKWBQH29YCrB3LDPRu/IA== - dependencies: - "@oclif/errors" "^1.3.6" - "@oclif/parser" "^3.8.9" - debug "^4.3.4" - globby "^11.1.0" - is-wsl "^2.1.1" - tslib "^2.3.1" - -"@oclif/config@^1.18.2": - version "1.18.8" - resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.8.tgz#efaccbd0381f90a98fa69c9131e14c5a91fc0659" - integrity sha512-FetS52+emaZQui0roFSdbBP8ddBkIezEoH2NcjLJRjqkMGdE9Z1V+jsISVqTYXk2KJ1gAI0CHDXFjJlNBYbJBg== - dependencies: - "@oclif/errors" "^1.3.6" - "@oclif/parser" "^3.8.10" - debug "^4.3.4" - globby "^11.1.0" - is-wsl "^2.1.1" - tslib "^2.5.0" - -"@oclif/core@^1.25.0": - version "1.26.1" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.26.1.tgz#26e46c96143d3e2b1dd9bd558ae1653fe9a4f3fa" - integrity sha512-g+OWJcM7JOVI53caTEtq0BB1nPotWctRLUyFODPgvDqXhVR7QED+Qz3LwFAMD8dt7/Ar2ZNq15U3bnpnOv453A== - dependencies: - "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^3.0.4" - ansi-escapes "^4.3.2" - ansi-styles "^4.3.0" - cardinal "^2.1.1" - chalk "^4.1.2" - clean-stack "^3.0.1" - cli-progress "^3.10.0" - debug "^4.3.4" - ejs "^3.1.6" - fs-extra "^9.1.0" - get-package-type "^0.1.0" - globby "^11.1.0" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.14.1" - natural-orderby "^2.0.3" - object-treeify "^1.1.33" - password-prompt "^1.1.2" - semver "^7.3.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - supports-color "^8.1.1" - supports-hyperlinks "^2.2.0" - tslib "^2.4.1" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -"@oclif/core@^2.1.2", "@oclif/core@^2.1.6", "@oclif/core@^2.3.0", "@oclif/core@^2.4.0", "@oclif/core@^2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.5.1.tgz#0a45b050426fd9b650b70ef53cfc46bb6f6b1a18" - integrity sha512-5s+SbsffV3XQ5pgv7h8/iLF116TfCLwsu9+/rZXEWypgsfvR8Z6anzVpbpGJxIYWHl9XLrm/viCwZVp3WtbnlQ== +"@oclif/core@^2.0.7", "@oclif/core@^2.1.2", "@oclif/core@^2.1.6", "@oclif/core@^2.3.0", "@oclif/core@^2.4.0", "@oclif/core@^2.5.1", "@oclif/core@^2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.0.tgz#4948de3168804169fa68895af8ec4853f332b307" + integrity sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg== dependencies: "@types/cli-progress" "^3.11.0" ansi-escapes "^4.3.2" @@ -819,82 +723,12 @@ strip-ansi "^6.0.1" supports-color "^8.1.1" supports-hyperlinks "^2.2.0" + ts-node "^10.9.1" tslib "^2.5.0" widest-line "^3.1.0" wordwrap "^1.0.0" wrap-ansi "^7.0.0" -"@oclif/dev-cli@^1": - version "1.26.10" - resolved "https://registry.yarnpkg.com/@oclif/dev-cli/-/dev-cli-1.26.10.tgz#d8df3a79009b68552f5e7f249d1d19ca52278382" - integrity sha512-dJ+II9rVXckzFvG+82PbfphMTnoqiHvsuAAbcHrLdZWPBnFAiDKhNYE0iHnA/knAC4VGXhogsrAJ3ERT5d5r2g== - dependencies: - "@oclif/command" "^1.8.15" - "@oclif/config" "^1.18.2" - "@oclif/errors" "^1.3.5" - "@oclif/plugin-help" "3.2.18" - cli-ux "5.6.7" - debug "^4.1.1" - find-yarn-workspace-root "^2.0.0" - fs-extra "^8.1" - github-slugger "^1.2.1" - lodash "^4.17.11" - normalize-package-data "^3.0.0" - qqjs "^0.3.10" - tslib "^2.0.3" - -"@oclif/errors@1.3.5": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@oclif/errors/-/errors-1.3.5.tgz#a1e9694dbeccab10fe2fe15acb7113991bed636c" - integrity sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ== - dependencies: - clean-stack "^3.0.0" - fs-extra "^8.1" - indent-string "^4.0.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -"@oclif/errors@1.3.6", "@oclif/errors@^1.3.3", "@oclif/errors@^1.3.5", "@oclif/errors@^1.3.6": - version "1.3.6" - resolved "https://registry.yarnpkg.com/@oclif/errors/-/errors-1.3.6.tgz#e8fe1fc12346cb77c4f274e26891964f5175f75d" - integrity sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ== - dependencies: - clean-stack "^3.0.0" - fs-extra "^8.1" - indent-string "^4.0.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -"@oclif/help@^1.0.0", "@oclif/help@^1.0.1": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@oclif/help/-/help-1.0.5.tgz#0a370d0340fcf167ec3cb7a4f3074ebb3db8a94a" - integrity sha512-77ZXqVXcd+bQ6EafN56KbL4PbNtZM/Lq4GQElekNav+CPIgPNKT3AtMTQrc0fWke6bb/BTLB+1Fu1gWgx643jQ== - dependencies: - "@oclif/config" "1.18.6" - "@oclif/errors" "1.3.6" - chalk "^4.1.2" - indent-string "^4.0.0" - lodash "^4.17.21" - string-width "^4.2.0" - strip-ansi "^6.0.0" - widest-line "^3.1.0" - wrap-ansi "^6.2.0" - -"@oclif/linewrap@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@oclif/linewrap/-/linewrap-1.0.0.tgz#aedcb64b479d4db7be24196384897b5000901d91" - integrity sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw== - -"@oclif/parser@^3.8.0", "@oclif/parser@^3.8.10", "@oclif/parser@^3.8.9": - version "3.8.10" - resolved "https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.10.tgz#7b1048566e1d3f45ed09ca92b2e30f09bd9647e1" - integrity sha512-J4l/NcnfbIU84+NNdy6bxq9yJt4joFWNvpk59hq+uaQPUNtjmNJDVGuRvf6GUOxHNgRsVK1JRmd/Ez+v7Z9GqQ== - dependencies: - "@oclif/errors" "^1.3.6" - "@oclif/linewrap" "^1.0.0" - chalk "^4.1.0" - tslib "^2.5.0" - "@oclif/plugin-command-snapshot@^3.3.8": version "3.3.8" resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-3.3.8.tgz#4ef6c9b0461b40c4be1f94977e5eb9dd6c756081" @@ -916,23 +750,6 @@ "@oclif/core" "^2.1.6" lodash "^4.17.11" -"@oclif/plugin-help@3.2.18": - version "3.2.18" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-3.2.18.tgz#f2bf6ba86719c174fc0e4c2149f73b46006bfdbd" - integrity sha512-5n5Pkz4L0duknIvFwx2Ko9Xda3miT6RZP8bgaaK3Q/9fzVBrhi4bOM0u05/OThI6V+3NsSdxYS2o1NLcXToWDg== - dependencies: - "@oclif/command" "^1.8.14" - "@oclif/config" "1.18.2" - "@oclif/errors" "1.3.5" - "@oclif/help" "^1.0.0" - chalk "^4.1.2" - indent-string "^4.0.0" - lodash "^4.17.21" - string-width "^4.2.0" - strip-ansi "^6.0.0" - widest-line "^3.1.0" - wrap-ansi "^6.2.0" - "@oclif/plugin-help@^5.1.19", "@oclif/plugin-help@^5.2.7": version "5.2.7" resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.7.tgz#3c7ed34186b52fd54b810ec120a5a0130c4abc87" @@ -963,24 +780,6 @@ lodash "^4.17.21" semver "^7.3.8" -"@oclif/screen@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-1.0.4.tgz#b740f68609dfae8aa71c3a6cab15d816407ba493" - integrity sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw== - -"@oclif/screen@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" - integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== - -"@oclif/test@^2.2.21": - version "2.3.6" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.6.tgz#b3c7594f04c2eb55fc6b6f8e61d825500debb85a" - integrity sha512-n1DGbLzGrrfn/Nm2f8829RcQ2iOd9EXDZxx0U9WswpJS75P4N9Py4tYBhfX+wGU7CaJDfYxnqQHB0YuRYDBwrw== - dependencies: - "@oclif/core" "^2.1.2" - fancy-test "^2.0.12" - "@octokit/auth-token@^2.4.4": version "2.5.0" resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" @@ -1109,38 +908,26 @@ strip-ansi "6.0.1" ts-retry-promise "^0.7.0" -"@salesforce/command@^5.3.2": - version "5.3.3" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.3.tgz#863380090d8febeb803ceb32690302c490ffe1fc" - integrity sha512-p6I5AiQG85Ptk6hxh0r9Xg34MTshnGmDkGSY+S1yqodOF8oV+frCnUenInjwibxyuSqL0hPm+scx8/jwhqLNVA== - dependencies: - "@oclif/core" "^1.25.0" - "@oclif/test" "^2.2.21" - "@salesforce/core" "^3.33.6" - "@salesforce/kit" "^1.8.5" - "@salesforce/ts-types" "^1.7.1" - chalk "^2.4.2" - -"@salesforce/core@^3.33.5", "@salesforce/core@^3.33.6": - version "3.33.6" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.6.tgz#48a3e8c708f4a0ed153e5e2d43c343fd5bf2c923" - integrity sha512-HxA0OIt6NSMdZwu2X7wIru8OJN8x8XxNiazXpLNW5MUi9rBupBAWYNROjDMPilxBgnoiBcJ5I84xdl+jWD3vqA== +"@salesforce/core@^3.32.12", "@salesforce/core@^3.33.6", "@salesforce/core@^3.34.6": + version "3.34.6" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.34.6.tgz#816031d3aab098d56165d876db626a3610d86c6e" + integrity sha512-9Nd+bQRSvCYDiZo97bhseajLhr7d51J9gsPUnfN3nHy1/TBQXjN+upRAPAeldvzU8G3L98WGDMtEpSTOG/PxkQ== dependencies: "@salesforce/bunyan" "^2.0.0" - "@salesforce/kit" "^1.9.0" - "@salesforce/schemas" "^1.5.0" + "@salesforce/kit" "^1.9.2" + "@salesforce/schemas" "^1.5.1" "@salesforce/ts-types" "^1.7.2" "@types/graceful-fs" "^4.1.6" "@types/semver" "^7.3.13" - ajv "^8.11.2" + ajv "^8.12.0" archiver "^5.3.0" change-case "^4.1.2" debug "^3.2.7" faye "^1.4.0" form-data "^4.0.0" - graceful-fs "^4.2.9" + graceful-fs "^4.2.11" js2xmlparser "^4.0.1" - jsforce "^2.0.0-beta.19" + jsforce "^2.0.0-beta.20" jsonwebtoken "9.0.0" ts-retry-promise "^0.7.0" @@ -1149,14 +936,13 @@ resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-3.1.0.tgz#8eb5b35860ff60d1c1dc3fd9329b01a28475d5b9" integrity sha512-cPph7ibj3DeSzWDFLcLtxOh5fmUlDUY2Ezq43n0V6auVP+l8orxRHjCExHS86SB3QKVgXkC8yYhryXiS8KF7Zw== -"@salesforce/dev-scripts@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@salesforce/dev-scripts/-/dev-scripts-3.1.1.tgz#39682a690f42d72af0419a7a74270fabd6905634" - integrity sha512-2D/cP6XRl5u3/7I12YGoGW/Wvoe41R3CDA3+usdvQ8A/bapjWrjLS8ByhWlEFhO1FRij+9LM6uFhNfVaJ4B3dg== +"@salesforce/dev-scripts@^4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@salesforce/dev-scripts/-/dev-scripts-4.3.0.tgz#af20b6f09ccaee60533644c7e5d1f5c4453c950a" + integrity sha512-Ym1tBAyYxo+IuH/duojBvQHS7NXCysz61SzRG7forQCEEMq189h7zYshioLL+ZGPx3qNIQE04+Zx1Vbuf3qJAg== dependencies: "@commitlint/cli" "^17.1.2" "@commitlint/config-conventional" "^17.1.0" - "@oclif/dev-cli" "^1" "@salesforce/dev-config" "^3.0.0" "@salesforce/prettier-config" "^0.0.2" "@types/chai" "^4.2.11" @@ -1166,7 +952,7 @@ chai "^4.2.0" chalk "^4.0.0" cosmiconfig "^7.0.0" - eslint "^7.27.0" + eslint "^8.32.0" eslint-config-prettier "^8.5.0" eslint-config-salesforce "^1.1.0" eslint-config-salesforce-license "^0.1.6" @@ -1178,6 +964,7 @@ husky "^7.0.4" mocha "^9.1.3" nyc "^15.1.0" + oclif "^3.7.0" prettier "^2.7.1" pretty-quick "^3.1.0" shelljs "~0.8.4" @@ -1187,8 +974,9 @@ typedoc "0.23.16" typedoc-plugin-missing-exports "0.23.0" typescript "^4.1.3" + wireit "^0.9.5" -"@salesforce/kit@^1.8.5", "@salesforce/kit@^1.9.0", "@salesforce/kit@^1.9.2": +"@salesforce/kit@^1.8.2", "@salesforce/kit@^1.9.0", "@salesforce/kit@^1.9.2": version "1.9.2" resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.9.2.tgz#d232f135428363cdfe2649cb99a94bc2eb0a12fd" integrity sha512-kjZvjFNP6njhAiEa/ErdLXSDWZKafHYJyKCKz1wnSFmDM8TOpKHCCVw5cQo87ZQr8OqxqwUDIAlSBLyMzKi4Lg== @@ -1197,18 +985,21 @@ shx "^0.3.3" tslib "^2.5.0" -"@salesforce/plugin-command-reference@^1.6.5": - version "1.6.5" - resolved "https://registry.yarnpkg.com/@salesforce/plugin-command-reference/-/plugin-command-reference-1.6.5.tgz#bd98b116bdb6e7be8e149b12c623665189186f88" - integrity sha512-YNaw8XwUZ1usVO7OqtjnqCU26eRSpFs0Z2ysWRx7EB76GIUdPWGo8k/lT+icALjPvM24v8hXDSlDI61vGRdwjg== +"@salesforce/plugin-command-reference@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@salesforce/plugin-command-reference/-/plugin-command-reference-2.4.1.tgz#eb004d17728908ab2f7fd9554ee06f89258f300b" + integrity sha512-4MWvZSb8wSwY4N1hL3E7qyH9ONJ/tGcOtmqTdtwypp7r/GkapnezfwiQcexkhlwrDqUhkCG2h+r3YW/kUryGiA== dependencies: - "@salesforce/command" "^5.3.2" - "@salesforce/core" "^3.33.6" - "@types/lodash.uniqby" "^4.7.7" + "@oclif/core" "^2.0.7" + "@salesforce/core" "^3.32.12" + "@salesforce/kit" "^1.8.2" + "@salesforce/sf-plugins-core" "^2.0.1" + "@salesforce/ts-types" "^1.7.1" chalk "^3.0.0" - handlebars "4.7.7" + fs-extra "^10.0.1" + handlebars "^4.7.7" lodash.uniqby "^4.7.0" - shelljs "^0.8.5" + mkdirp "^1.0.4" tslib "^2" "@salesforce/prettier-config@^0.0.2": @@ -1216,18 +1007,18 @@ resolved "https://registry.yarnpkg.com/@salesforce/prettier-config/-/prettier-config-0.0.2.tgz#ded39bf7cb75238edc9db6dd093649111350f8bc" integrity sha512-KExM355BLbxCW6siGBV7oUOotXvvVp0tAWERgzUkM2FcMb9fWrjwXDrIHc8V0UdDlA3UXtFltDWgN+Yqi+BA/g== -"@salesforce/schemas@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.5.0.tgz#8bfe2cb5d7cb29d3394b3b9cfb71bb527009c82c" - integrity sha512-EKFBURBuON7cj8XZCW+ybeSRRw7wUP1XUXZVHzFgx8KiYmSeGiRHBYbDjQOsQMho2uOLsTozMPEt2ehYnji0YA== +"@salesforce/schemas@^1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.5.1.tgz#2d1bfdcf593caaa04cd4b3e6fe621097ff7f28fe" + integrity sha512-MRqU+tn8w5IFvZ0Lm9YKLgxYxr2MQMI+fXXsTrwfUnijsps+ybF9IOTu6MOMxxl2vCUkO8XDjA435wXlWSLI6g== -"@salesforce/sf-plugins-core@^2.2.4": - version "2.2.4" - resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-2.2.4.tgz#c94f83cab62ff0009b88069e72b4cdcfc9748b82" - integrity sha512-lKi0W4y3SJfZCT1cuWZsc6vbJLS+QwO4TMbu/dob0LIba7r3+nrd7st8t2xvm/Z3hRKr8xsJADq/XFYPU7jfmQ== +"@salesforce/sf-plugins-core@^2.0.1", "@salesforce/sf-plugins-core@^2.2.4": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-2.2.7.tgz#dd3d567ef89396b3f414645b986dbddadc6ee342" + integrity sha512-bwtfYfJbvjrx3Up2fLmqHXgfXWdcI3CFS5D5zQf2wZhc5Ori4jlNMPsW2SP2J3ze50thjX+kLOTKu96AHiW7sA== dependencies: - "@oclif/core" "^2.4.0" - "@salesforce/core" "^3.33.5" + "@oclif/core" "^2.8.0" + "@salesforce/core" "^3.34.6" "@salesforce/kit" "^1.9.0" "@salesforce/ts-types" "^1.7.3" chalk "^4" @@ -1383,7 +1174,7 @@ "@types/node" "*" "@types/responselike" "^1.0.0" -"@types/chai@*", "@types/chai@^4.2.11": +"@types/chai@^4.2.11": version "4.3.4" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.4.tgz#e913e8175db8307d78b4e8fa690408ba6b65dee4" integrity sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw== @@ -1408,14 +1199,6 @@ "@types/minimatch" "^5.1.2" "@types/node" "*" -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - "@types/graceful-fs@^4.1.6": version "4.1.6" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" @@ -1453,28 +1236,16 @@ dependencies: "@types/node" "*" -"@types/lodash.uniqby@^4.7.7": - version "4.7.7" - resolved "https://registry.yarnpkg.com/@types/lodash.uniqby/-/lodash.uniqby-4.7.7.tgz#48dbb652c41cc8fb30aa61a44174368081835ab5" - integrity sha512-sv2g6vkCIvEUsK5/Vq17haoZaisfj2EWW8mP7QWlnKi6dByoNmeuHDDXHR7sabuDqwO4gvU7ModIL22MmnOocg== - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - version "4.14.191" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" - integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== - -"@types/minimatch@*", "@types/minimatch@^5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== - "@types/minimatch@^3.0.3": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== +"@types/minimatch@^5.1.2": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + "@types/minimist@^1.2.0": version "1.2.2" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" @@ -1535,18 +1306,6 @@ "@types/glob" "*" "@types/node" "*" -"@types/signal-exit@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/signal-exit/-/signal-exit-3.0.1.tgz#ec9fb8e3fbf0ed5d9f7d22b5647214bece916a5b" - integrity sha512-OSitN9PP9E/c4tlt1Qdj3CAz5uHD9Da5rhUqlaKyQRCX1T7Zdpbk6YdeZbR2eiE2ce+NMBgVnMxGqpaPSNQDUQ== - -"@types/sinon@*": - version "10.0.13" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.13.tgz#60a7a87a70d9372d0b7b38cc03e825f46981fb83" - integrity sha512-UVjDqJblVNQYvVNUsj0PuYYw0ELRmgt1Nt5Vk0pT5f16ROGfcKJY8o1HVuMOJOpD727RrGB9EGvoaTQE5tgxZQ== - dependencies: - "@types/sinonjs__fake-timers" "*" - "@types/sinon@10.0.11": version "10.0.11" resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.11.tgz#8245827b05d3fc57a6601bd35aee1f7ad330fc42" @@ -1731,7 +1490,7 @@ abort-controller@^3.0.0: dependencies: event-target-shim "^5.0.0" -acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: +acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -1741,11 +1500,6 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - acorn@^8.4.1, acorn@^8.8.0: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" @@ -1785,7 +1539,7 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1, ajv@^8.11.0, ajv@^8.11.2: +ajv@^8.11.0, ajv@^8.12.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -1800,17 +1554,12 @@ ansi-colors@4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - ansi-escapes@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.2: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -1844,7 +1593,7 @@ ansi-styles@^3.0.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.2.0, ansi-styles@^4.2.1, ansi-styles@^4.3.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.2.1, ansi-styles@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -2014,11 +1763,6 @@ assertion-error@^1.1.0: resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - async@^3.2.3: version "3.2.4" resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" @@ -2342,7 +2086,7 @@ chalk@^1.0.0: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2395,7 +2139,7 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== -chokidar@3.5.3: +chokidar@3.5.3, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -2410,11 +2154,6 @@ chokidar@3.5.3: optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - chownr@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" @@ -2425,7 +2164,7 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -clean-stack@^3.0.0, clean-stack@^3.0.1: +clean-stack@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-3.0.1.tgz#155bf0b2221bf5f4fba89528d24c5953f17fe3a8" integrity sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== @@ -2444,7 +2183,7 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-progress@^3.10.0, cli-progress@^3.12.0, cli-progress@^3.4.0: +cli-progress@^3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.12.0.tgz#807ee14b66bcc086258e444ad0f19e7d42577942" integrity sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== @@ -2463,38 +2202,6 @@ cli-table@^0.3.1: dependencies: colors "1.0.3" -cli-ux@5.6.7: - version "5.6.7" - resolved "https://registry.yarnpkg.com/cli-ux/-/cli-ux-5.6.7.tgz#32ef9e6cb2b457be834280cc799028a11c8235a8" - integrity sha512-dsKAurMNyFDnO6X1TiiRNiVbL90XReLKcvIq4H777NMqXGBxBws23ag8ubCJE97vVZEgWG2eSUhsyLf63Jv8+g== - dependencies: - "@oclif/command" "^1.8.15" - "@oclif/errors" "^1.3.5" - "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^1.0.4" - ansi-escapes "^4.3.0" - ansi-styles "^4.2.0" - cardinal "^2.1.1" - chalk "^4.1.0" - clean-stack "^3.0.0" - cli-progress "^3.4.0" - extract-stack "^2.0.0" - fs-extra "^8.1" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.13.1" - lodash "^4.17.21" - natural-orderby "^2.0.1" - object-treeify "^1.1.4" - password-prompt "^1.1.2" - semver "^7.3.2" - string-width "^4.2.0" - strip-ansi "^6.0.0" - supports-color "^8.1.0" - supports-hyperlinks "^2.1.0" - tslib "^2.0.0" - cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" @@ -2801,7 +2508,7 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-spawn@^6.0.0, cross-spawn@^6.0.5: +cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -2863,7 +2570,7 @@ dayjs@^1.8.16: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== -debug@4, debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -2985,11 +2692,6 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - dezalgo@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" @@ -3068,7 +2770,7 @@ ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer "^5.0.1" -ejs@^3.1.6, ejs@^3.1.8: +ejs@^3.1.8: version "3.1.8" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== @@ -3099,13 +2801,6 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" @@ -3355,13 +3050,6 @@ eslint-scope@^7.1.1: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - eslint-utils@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" @@ -3369,73 +3057,25 @@ eslint-utils@^3.0.0: dependencies: eslint-visitor-keys "^2.0.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - eslint-visitor-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -eslint@^7.27.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" + integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== -eslint@^8.34.0: - version "8.34.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" - integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== +eslint@^8.32.0, eslint@^8.34.0: + version "8.37.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.37.0.tgz#1f660ef2ce49a0bfdec0b0d698e0b8b627287412" + integrity sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw== dependencies: - "@eslint/eslintrc" "^1.4.1" + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.0.2" + "@eslint/js" "8.37.0" "@humanwhocodes/config-array" "^0.11.8" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -3446,10 +3086,9 @@ eslint@^8.34.0: doctrine "^3.0.0" escape-string-regexp "^4.0.0" eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" + eslint-visitor-keys "^3.4.0" + espree "^9.5.1" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" @@ -3470,38 +3109,28 @@ eslint@^8.34.0: minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.1" - regexpp "^3.2.0" strip-ansi "^6.0.1" strip-json-comments "^3.1.0" text-table "^0.2.0" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -espree@^9.4.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" - integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== +espree@^9.5.1: + version "9.5.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" + integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== dependencies: acorn "^8.8.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.0" esprima@^4.0.0, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" - integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== +esquery@^1.4.0, esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" @@ -3542,19 +3171,6 @@ events@1.1.1: resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== -execa@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" - integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== - dependencies: - cross-spawn "^6.0.0" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" @@ -3594,31 +3210,12 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" -extract-stack@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-2.0.0.tgz#11367bc865bfcd9bc0db3123e5edb57786f11f9b" - integrity sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ== - -fancy-test@^2.0.12: - version "2.0.12" - resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.12.tgz#a93cd92ffc23f70b069c39f19940d34f64c6ca67" - integrity sha512-S7qVQNaViLTMzn71huZvrUCV59ldq+enQ1EQOkdNbl4q4Om97gwqbYKvZoglsnzCWRRFaFP+qHynpdqaLdiZqg== - dependencies: - "@types/chai" "*" - "@types/lodash" "*" - "@types/node" "*" - "@types/sinon" "*" - lodash "^4.17.13" - mock-stdin "^1.0.0" - nock "^13.3.0" - stdout-stderr "^0.1.9" - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.0.3, fast-glob@^3.2.9: +fast-glob@^3.2.11, fast-glob@^3.2.9: version "3.2.12" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== @@ -3804,6 +3401,15 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs-extra@^10.0.1: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^11.0.0: version "11.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.0.tgz#5784b102104433bb0e090f48bfc4a30742c357ed" @@ -3813,15 +3419,6 @@ fs-extra@^11.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" - integrity sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^8.1, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -3873,11 +3470,6 @@ function.prototype.name@^1.1.5: es-abstract "^1.19.0" functions-have-names "^1.2.2" -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - functions-have-names@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" @@ -3946,11 +3538,6 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== - get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" @@ -3982,7 +3569,7 @@ git-raw-commits@^2.0.0: split2 "^3.0.0" through2 "^4.0.0" -github-slugger@^1.2.1, github-slugger@^1.5.0: +github-slugger@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== @@ -4031,7 +3618,7 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -4066,7 +3653,7 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.19.0, globals@^13.6.0, globals@^13.9.0: +globals@^13.19.0: version "13.20.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== @@ -4080,20 +3667,6 @@ globalthis@^1.0.3: dependencies: define-properties "^1.1.3" -globby@^10.0.1: - version "10.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" - integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" - globby@^11.0.1, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -4130,10 +3703,10 @@ got@^11: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== grapheme-splitter@^1.0.4: version "1.0.4" @@ -4150,7 +3723,7 @@ growl@1.10.5: resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== -handlebars@4.7.7: +handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -4268,7 +3841,7 @@ http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== -http-call@^5.1.2, http-call@^5.2.2: +http-call@^5.2.2: version "5.3.0" resolved "https://registry.yarnpkg.com/http-call/-/http-call-5.3.0.tgz#4ded815b13f423de176eb0942d69c43b25b148db" integrity sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== @@ -4382,12 +3955,7 @@ ignore-walk@^4.0.1: dependencies: minimatch "^3.0.4" -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4, ignore@^5.2.0: +ignore@^5.1.4, ignore@^5.2.0: version "5.2.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== @@ -4675,11 +4243,6 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -4766,11 +4329,6 @@ isbinaryfile@^4.0.10, isbinaryfile@^4.0.8: resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== -isbinaryfile@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-5.0.0.tgz#034b7e54989dab8986598cbcea41f66663c65234" - integrity sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg== - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -4903,7 +4461,7 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -jsforce@^2.0.0-beta.19: +jsforce@^2.0.0-beta.20: version "2.0.0-beta.20" resolved "https://registry.yarnpkg.com/jsforce/-/jsforce-2.0.0-beta.20.tgz#907630942b2ecd653098caa3f87e7710874cb207" integrity sha512-5TpdU0MEUN34M0mSKmBwOMKaI8dllTYF8NzpJn0/9akrwqKEERK6K2jGiMWcs85Vx1HCHEcwU2n+5ij6z6zr2g== @@ -4964,11 +4522,6 @@ json-stringify-nice@^1.1.4: resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - json5@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" @@ -5081,16 +4634,6 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -load-json-file@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" - integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== - dependencies: - graceful-fs "^4.1.15" - parse-json "^5.0.0" - strip-bom "^4.0.0" - type-fest "^0.6.0" - load-yaml-file@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/load-yaml-file/-/load-yaml-file-0.2.0.tgz#af854edaf2bea89346c07549122753c07372f64d" @@ -5180,11 +4723,6 @@ lodash.startcase@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - lodash.union@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" @@ -5205,7 +4743,7 @@ lodash.upperfirst@^4.3.1: resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5392,7 +4930,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -5557,11 +5095,6 @@ minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: minipass "^3.0.0" yallist "^4.0.0" -mkdirp-classic@^0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - mkdirp-infer-owner@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" @@ -5640,11 +5173,6 @@ mocha@^9.1.3: yargs-parser "20.2.4" yargs-unparser "2.0.0" -mock-stdin@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mock-stdin/-/mock-stdin-1.0.0.tgz#efcfaf4b18077e14541742fd758b9cae4e5365ea" - integrity sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q== - mri@^1.1.5: version "1.2.0" resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" @@ -5734,7 +5262,7 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -natural-orderby@^2.0.1, natural-orderby@^2.0.3: +natural-orderby@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/natural-orderby/-/natural-orderby-2.0.3.tgz#8623bc518ba162f8ff1cdb8941d74deb0fdcc016" integrity sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== @@ -5800,16 +5328,6 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -nock@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.3.0.tgz#b13069c1a03f1ad63120f994b04bfd2556925768" - integrity sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash "^4.17.21" - propagate "^2.0.0" - node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.9" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" @@ -5947,13 +5465,6 @@ npm-registry-fetch@^12.0.0, npm-registry-fetch@^12.0.1: minizlib "^2.1.2" npm-package-arg "^8.1.5" -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== - dependencies: - path-key "^2.0.0" - npm-run-path@^4.0.0, npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -6034,7 +5545,7 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-treeify@^1.1.33, object-treeify@^1.1.4: +object-treeify@^1.1.33: version "1.1.33" resolved "https://registry.yarnpkg.com/object-treeify/-/object-treeify-1.1.33.tgz#f06fece986830a3cba78ddd32d4c11d1f76cdf40" integrity sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== @@ -6333,7 +5844,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^2.0.0, path-key@^2.0.1: +path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== @@ -6446,11 +5957,6 @@ process-on-spawn@^1.0.0: dependencies: fromentries "^1.2.0" -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - promise-all-reject-late@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" @@ -6474,10 +5980,14 @@ promise-retry@^2.0.1: err-code "^2.0.2" retry "^0.12.0" -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== +proper-lockfile@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.2.tgz#c8b9de2af6b2f1601067f98e01ac66baa223141f" + integrity sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== + dependencies: + graceful-fs "^4.2.4" + retry "^0.12.0" + signal-exit "^3.0.2" psl@^1.1.33: version "1.9.0" @@ -6507,25 +6017,6 @@ q@^1.5.1: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== -qqjs@^0.3.10: - version "0.3.11" - resolved "https://registry.yarnpkg.com/qqjs/-/qqjs-0.3.11.tgz#795b9f7d00807d75c391b1241b5be3077143d9ea" - integrity sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg== - dependencies: - chalk "^2.4.1" - debug "^4.1.1" - execa "^0.10.0" - fs-extra "^6.0.1" - get-stream "^5.1.0" - glob "^7.1.2" - globby "^10.0.1" - http-call "^5.1.2" - load-json-file "^6.2.0" - pkg-dir "^4.2.0" - tar-fs "^2.0.0" - tmp "^0.1.0" - write-json-file "^4.1.1" - querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -6672,7 +6163,7 @@ regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" -regexpp@^3.1.0, regexpp@^3.2.0: +regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -6775,13 +6266,6 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -6988,7 +6472,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.6, signal-exit@^3.0.7: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -7035,15 +6519,6 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - smart-buffer@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" @@ -7083,7 +6558,7 @@ socks@^2.6.2: ip "^2.0.0" smart-buffer "^4.2.0" -sort-keys@^4.0.0, sort-keys@^4.2.0: +sort-keys@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18" integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== @@ -7172,14 +6647,6 @@ ssri@^9.0.0: dependencies: minipass "^3.1.1" -stdout-stderr@^0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/stdout-stderr/-/stdout-stderr-0.1.13.tgz#54e3450f3d4c54086a49c0c7f8786a44d1844b6f" - integrity sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA== - dependencies: - debug "^4.1.1" - strip-ansi "^6.0.0" - string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -7291,11 +6758,6 @@ strip-bom@^4.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" @@ -7339,7 +6801,7 @@ supports-color@^7.0.0, supports-color@^7.1.0, supports-color@^7.2.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.1.0, supports-hyperlinks@^2.2.0: +supports-hyperlinks@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== @@ -7352,17 +6814,6 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -table@^6.0.9: - version "6.8.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" - integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - taketalk@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/taketalk/-/taketalk-1.0.0.tgz#b4d4f0deed206ae7df775b129ea2ca6de52f26dd" @@ -7371,17 +6822,7 @@ taketalk@^1.0.0: get-stdin "^4.0.1" minimist "^1.1.0" -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4, tar-stream@^2.2.0: +tar-stream@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== @@ -7447,13 +6888,6 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmp@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" - integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== - dependencies: - rimraf "^2.6.3" - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -7548,7 +6982,7 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.1, tslib@^2.5.0: +tslib@^2, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== @@ -7784,11 +7218,6 @@ v8-compile-cache-lib@^3.0.1: resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -7940,6 +7369,17 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" +wireit@^0.9.5: + version "0.9.5" + resolved "https://registry.yarnpkg.com/wireit/-/wireit-0.9.5.tgz#7c3622f6ff5e63b7fac05783baf82f967f52562c" + integrity sha512-dKKNAwLxQjbPPMrltPxMUFKvLy2z6hlVjvR/qitvPm8GEQyb/1QYBG7ObvOQLsi95uAXpkWLJXBYkCKeVcMVgA== + dependencies: + braces "^3.0.2" + chokidar "^3.5.3" + fast-glob "^3.2.11" + jsonc-parser "^3.0.0" + proper-lockfile "^4.1.2" + word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -8009,18 +7449,6 @@ write-file-atomic@^4.0.0: imurmurhash "^0.1.4" signal-exit "^3.0.7" -write-json-file@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d" - integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ== - dependencies: - detect-indent "^6.0.0" - graceful-fs "^4.1.15" - is-plain-obj "^2.0.0" - make-dir "^3.0.0" - sort-keys "^4.0.0" - write-file-atomic "^3.0.0" - xml2js@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" From a7592b2f09c67e410a9028c1724b1f4e6154db59 Mon Sep 17 00:00:00 2001 From: mshanemc Date: Thu, 6 Apr 2023 08:37:13 -0500 Subject: [PATCH 11/21] chore: remove unused dep --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 4e019f9..26cd1de 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "dependencies": { "@oclif/core": "^2.8.0", "@salesforce/core": "^3.34.6", - "@salesforce/kit": "^1.9.2", "@salesforce/sf-plugins-core": "^2.2.5", "semver-compare": "^1.0.0", "signal-exit": "^3.0.6", From c651f526e62299b9f2a268f2e833a879e62dde56 Mon Sep 17 00:00:00 2001 From: Shane McLaughlin Date: Thu, 6 Apr 2023 09:59:28 -0500 Subject: [PATCH 12/21] fix: invalid flag leads to undefined (#75) --- .eslintrc.js | 3 --- src/commands/lightning/generate/lwc/test.ts | 5 +++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 250e4c1..0fb9a27 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -6,7 +6,4 @@ */ module.exports = { extends: ['eslint-config-salesforce-typescript', 'eslint-config-salesforce-license', 'plugin:sf-plugin/recommended'], - rules: { - // '@typescript-eslint/no-unsafe-argument': 'off', - }, }; diff --git a/src/commands/lightning/generate/lwc/test.ts b/src/commands/lightning/generate/lwc/test.ts index 63941b5..c63897e 100644 --- a/src/commands/lightning/generate/lwc/test.ts +++ b/src/commands/lightning/generate/lwc/test.ts @@ -44,10 +44,11 @@ export default class GenerateTest extends SfCommand { const modulePath = path.isAbsolute(filepath) ? filepath : path.join(process.cwd(), filepath); if (path.extname(modulePath) !== '.js') { - throw new SfError(messages.getMessage('errorFileNotJs', [flags.filepath])); + throw new SfError(messages.getMessage('errorFileNotJs', [filepath])); } + // TODO: use the `exists` flag on the filename. This requires all the test mocks to change if (!fs.existsSync(modulePath)) { - throw new SfError(messages.getMessage('errorFileNotFound', [flags.filepath])); + throw new SfError(messages.getMessage('errorFileNotFound', [filepath])); } const bundlePath = path.dirname(modulePath); From 54e8cedaf1427955ca50c97cf407fbf9a1f8b2dc Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Fri, 7 Apr 2023 07:44:10 -0600 Subject: [PATCH 13/21] chore: ensure backward compatibility --- src/commands/lightning/run/lwc/test.ts | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/commands/lightning/run/lwc/test.ts b/src/commands/lightning/run/lwc/test.ts index 5d079c2..1c36d08 100644 --- a/src/commands/lightning/run/lwc/test.ts +++ b/src/commands/lightning/run/lwc/test.ts @@ -7,9 +7,8 @@ import * as cp from 'child_process'; import * as fs from 'fs'; import * as path from 'path'; -import { Flags, loglevel, SfCommand } from '@salesforce/sf-plugins-core'; -import { Messages } from '@salesforce/core'; -import { Args } from '@oclif/core'; +import {Flags, loglevel, SfCommand} from '@salesforce/sf-plugins-core'; +import {Messages} from '@salesforce/core'; Messages.importMessagesDirectory(__dirname); const messages = Messages.loadMessages('@salesforce/sfdx-plugin-lwc-test', 'run'); @@ -23,9 +22,10 @@ export default class RunTest extends SfCommand { public static readonly summary = messages.getMessage('summary'); public static readonly examples = messages.getMessages('examples'); public static readonly requiresProject = true; - public static args = { passthrough: Args.string({ description: 'passthrough arg' }) }; public static readonly deprecateAliases = true; public static readonly aliases = ['force:lightning:lwc:test:run']; + public static strict = false; + public static '--' = true; public static readonly flags = { debug: Flags.boolean({ char: 'd', @@ -41,17 +41,11 @@ export default class RunTest extends SfCommand { }; public async run(): Promise { - const { args, flags } = await this.parse(RunTest); const addArgs: string[] = []; - - if (flags.debug) { - addArgs.push('--debug'); - } else if (flags.watch) { - addArgs.push('--watch'); - } - if (args.passthrough) { - addArgs.push(args.passthrough); - } + const tArgv = this.argv.filter((arg) => arg !== '--'); + const {argv} = await this.parse({strict: false, '--': true}, + ['--', ...tArgv]); + addArgs.push(...argv.map((arg) => arg as string)); const scriptRet = this.runJest(addArgs); From a92240bf3d6b2f7c6ef838970937290ff0130114 Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Fri, 7 Apr 2023 08:48:56 -0600 Subject: [PATCH 14/21] chore: document backward compatibility approach and fix tests --- messages/run.md | 4 ++ src/commands/lightning/run/lwc/test.ts | 38 +++++++++++++++++++ .../lightning/generate/run/lwc/test.test.ts | 14 ++++++- 3 files changed, 55 insertions(+), 1 deletion(-) diff --git a/messages/run.md b/messages/run.md index 5158e4a..88ed7c3 100644 --- a/messages/run.md +++ b/messages/run.md @@ -36,3 +36,7 @@ Run "%s lightning setup lwc test --help" for installation details. # logSuccess Test run complete. Exited with status code: %s. + +# watchAndDebugAreMutuallyExclusive + +--watch=true cannot also be provided when using --debug diff --git a/src/commands/lightning/run/lwc/test.ts b/src/commands/lightning/run/lwc/test.ts index 1c36d08..56f17f3 100644 --- a/src/commands/lightning/run/lwc/test.ts +++ b/src/commands/lightning/run/lwc/test.ts @@ -41,10 +41,48 @@ export default class RunTest extends SfCommand { }; public async run(): Promise { + /* In order to ensure backwards compatibility with old SfdxCommand version of this command + * it was necessary to bypass the typical parsing of the command. + * + * This command defines two flags, debug and watch, which are probably the + * most used jest flags. The previous implementation of this command also + * defined an args configuration, (passthrough) which would allow any + * additional flags to be passed through to jest. This is no longer possible + * given how @oclif/core parses the command line, rejecting any flags that + * are not defined in the flag configuration. + * + * The solution is two-fold. First, we change the command to allow non-strict + * command configuration, as well as allowing the use of the pass through flag ('--'). + * + * Second, we force the parse to use the config "{strict: false, '--': true}", instead + * of passing the command class to the parse method. This allows a parse of the command + * as if there are no flags defined, which results in the flags being parsed as arguments. + * + * Before calling the parse method, we filter out the '--' flag from the this.argv array and then + * call the parse method overriding the argv with the first element being '--' and the rest of the + * elements being the filtered argv array. This results in the parse method returning the flags + * as arguments. + * + * The resulting argv array is then passed to the runJest method as arguments. + */ const addArgs: string[] = []; + + // remove the '--' flag from the this.argv array const tArgv = this.argv.filter((arg) => arg !== '--'); + + const hasWatchFlag = tArgv.includes('--watch'); + const hasDebugFlag = tArgv.some(arg => /--debug|-d/.test(arg)); + + if (hasWatchFlag && hasDebugFlag) { + throw (messages.createError('watchAndDebugAreMutuallyExclusive')); + } + + // call the parse method with alternate config and override the argv + // with the first element being '--' and the rest of the elements being const {argv} = await this.parse({strict: false, '--': true}, ['--', ...tArgv]); + + // add argv entries to the addArgs array addArgs.push(...argv.map((arg) => arg as string)); const scriptRet = this.runJest(addArgs); diff --git a/test/commands/lightning/generate/run/lwc/test.test.ts b/test/commands/lightning/generate/run/lwc/test.test.ts index 7aa1285..f1d212d 100644 --- a/test/commands/lightning/generate/run/lwc/test.test.ts +++ b/test/commands/lightning/generate/run/lwc/test.test.ts @@ -115,7 +115,19 @@ describe('force:lightning:lwc:test:run', () => { await run.run(); expect.fail('Should have thrown an error'); } catch (e) { - expect((e as Error).message).to.contain('--debug=true cannot also be provided when using --watch'); + expect((e as Error).message).to.contain('--watch=true cannot also be provided when using --debug'); + } + }); + + it('errors when watch and -d flag set', async () => { + $$.inProject(true); + stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').returns({ status: 0 }); + run = new MyRunTest(['--watch', '-d'], {} as Config); + try { + await run.run(); + expect.fail('Should have thrown an error'); + } catch (e) { + expect((e as Error).message).to.contain('--watch=true cannot also be provided when using --debug'); } }); From 7f45fd6920b080263432fd893984da888b8fcd88 Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Fri, 7 Apr 2023 10:03:41 -0600 Subject: [PATCH 15/21] chore: properly hand json and loglevel flags --- src/commands/lightning/run/lwc/test.ts | 10 ++++++---- test/commands/lightning/generate/run/lwc/test.nut.ts | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/commands/lightning/run/lwc/test.ts b/src/commands/lightning/run/lwc/test.ts index 56f17f3..82b92d2 100644 --- a/src/commands/lightning/run/lwc/test.ts +++ b/src/commands/lightning/run/lwc/test.ts @@ -67,8 +67,8 @@ export default class RunTest extends SfCommand { */ const addArgs: string[] = []; - // remove the '--' flag from the this.argv array - const tArgv = this.argv.filter((arg) => arg !== '--'); + // remove the '--', '--json' and 'loglevel' flags from the this.argv array + const tArgv = this.argv.filter((arg) => !['--', '--json', 'loglevel'].includes(arg)); const hasWatchFlag = tArgv.includes('--watch'); const hasDebugFlag = tArgv.some(arg => /--debug|-d/.test(arg)); @@ -87,11 +87,13 @@ export default class RunTest extends SfCommand { const scriptRet = this.runJest(addArgs); - this.log(messages.getMessage('logSuccess', [scriptRet.status?.toString()])); - return { + const results: RunResult = { message: messages.getMessage('logSuccess', [scriptRet.status?.toString()]), jestExitCode: scriptRet.status ?? 1, }; + + this.logSuccess(messages.getMessage('logSuccess', [scriptRet.status?.toString()])); + return results; } public runJest(args: string[]): cp.SpawnSyncReturns { diff --git a/test/commands/lightning/generate/run/lwc/test.nut.ts b/test/commands/lightning/generate/run/lwc/test.nut.ts index a7d7d46..ce35f1f 100644 --- a/test/commands/lightning/generate/run/lwc/test.nut.ts +++ b/test/commands/lightning/generate/run/lwc/test.nut.ts @@ -48,9 +48,9 @@ describe('lightning:run:lwc:test', () => { it('runs the tests (json)', () => { const output = execCmd('lightning:run:lwc:test --json', { ensureExitCode: 0, - }).jsonOutput; - expect(output?.result.message).to.equal('Test run complete. Exited with status code: 0.'); - expect(output?.result.jestExitCode).to.equal(0); + }); + expect(output?.jsonOutput?.result.message).to.equal('Test run complete. Exited with status code: 0.'); + expect(output?.jsonOutput?.result.jestExitCode).to.equal(0); }); it('runs the tests (human)(cmd alias)', () => { From afe8b148d27f3e5ec45351508187b8ce898a9508 Mon Sep 17 00:00:00 2001 From: peternhale Date: Mon, 10 Apr 2023 12:12:27 -0600 Subject: [PATCH 16/21] Update src/commands/lightning/run/lwc/test.ts Co-authored-by: Shane McLaughlin --- src/commands/lightning/run/lwc/test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/commands/lightning/run/lwc/test.ts b/src/commands/lightning/run/lwc/test.ts index 82b92d2..2074fb8 100644 --- a/src/commands/lightning/run/lwc/test.ts +++ b/src/commands/lightning/run/lwc/test.ts @@ -83,7 +83,7 @@ export default class RunTest extends SfCommand { ['--', ...tArgv]); // add argv entries to the addArgs array - addArgs.push(...argv.map((arg) => arg as string)); + const addArgs = argv.map((arg) => arg as string); const scriptRet = this.runJest(addArgs); From 81b9f4b73d1657e1406318da48ae143b720b4ace Mon Sep 17 00:00:00 2001 From: mshanemc Date: Mon, 10 Apr 2023 13:19:21 -0500 Subject: [PATCH 17/21] fix: don't redeclare const --- src/commands/lightning/run/lwc/test.ts | 56 +++++++++++++------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/src/commands/lightning/run/lwc/test.ts b/src/commands/lightning/run/lwc/test.ts index 2074fb8..199c418 100644 --- a/src/commands/lightning/run/lwc/test.ts +++ b/src/commands/lightning/run/lwc/test.ts @@ -7,8 +7,8 @@ import * as cp from 'child_process'; import * as fs from 'fs'; import * as path from 'path'; -import {Flags, loglevel, SfCommand} from '@salesforce/sf-plugins-core'; -import {Messages} from '@salesforce/core'; +import { Flags, loglevel, SfCommand } from '@salesforce/sf-plugins-core'; +import { Messages } from '@salesforce/core'; Messages.importMessagesDirectory(__dirname); const messages = Messages.loadMessages('@salesforce/sfdx-plugin-lwc-test', 'run'); @@ -42,45 +42,43 @@ export default class RunTest extends SfCommand { public async run(): Promise { /* In order to ensure backwards compatibility with old SfdxCommand version of this command - * it was necessary to bypass the typical parsing of the command. - * - * This command defines two flags, debug and watch, which are probably the - * most used jest flags. The previous implementation of this command also - * defined an args configuration, (passthrough) which would allow any - * additional flags to be passed through to jest. This is no longer possible - * given how @oclif/core parses the command line, rejecting any flags that - * are not defined in the flag configuration. - * - * The solution is two-fold. First, we change the command to allow non-strict - * command configuration, as well as allowing the use of the pass through flag ('--'). - * - * Second, we force the parse to use the config "{strict: false, '--': true}", instead - * of passing the command class to the parse method. This allows a parse of the command - * as if there are no flags defined, which results in the flags being parsed as arguments. - * - * Before calling the parse method, we filter out the '--' flag from the this.argv array and then - * call the parse method overriding the argv with the first element being '--' and the rest of the - * elements being the filtered argv array. This results in the parse method returning the flags - * as arguments. - * - * The resulting argv array is then passed to the runJest method as arguments. + * it was necessary to bypass the typical parsing of the command. + * + * This command defines two flags, debug and watch, which are probably the + * most used jest flags. The previous implementation of this command also + * defined an args configuration, (passthrough) which would allow any + * additional flags to be passed through to jest. This is no longer possible + * given how @oclif/core parses the command line, rejecting any flags that + * are not defined in the flag configuration. + * + * The solution is two-fold. First, we change the command to allow non-strict + * command configuration, as well as allowing the use of the pass through flag ('--'). + * + * Second, we force the parse to use the config "{strict: false, '--': true}", instead + * of passing the command class to the parse method. This allows a parse of the command + * as if there are no flags defined, which results in the flags being parsed as arguments. + * + * Before calling the parse method, we filter out the '--' flag from the this.argv array and then + * call the parse method overriding the argv with the first element being '--' and the rest of the + * elements being the filtered argv array. This results in the parse method returning the flags + * as arguments. + * + * The resulting argv array is then passed to the runJest method as arguments. */ - const addArgs: string[] = []; // remove the '--', '--json' and 'loglevel' flags from the this.argv array const tArgv = this.argv.filter((arg) => !['--', '--json', 'loglevel'].includes(arg)); const hasWatchFlag = tArgv.includes('--watch'); - const hasDebugFlag = tArgv.some(arg => /--debug|-d/.test(arg)); + const hasDebugFlag = tArgv.some((arg) => /--debug|-d/.test(arg)); if (hasWatchFlag && hasDebugFlag) { - throw (messages.createError('watchAndDebugAreMutuallyExclusive')); + throw messages.createError('watchAndDebugAreMutuallyExclusive'); } // call the parse method with alternate config and override the argv // with the first element being '--' and the rest of the elements being - const {argv} = await this.parse({strict: false, '--': true}, - ['--', ...tArgv]); + const { argv } = await this.parse({ strict: false, '--': true }, ['--', ...tArgv]); // add argv entries to the addArgs array const addArgs = argv.map((arg) => arg as string); From 5e032ab21bfaf2d71725b70ff783dbeb262dd4fe Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Tue, 11 Apr 2023 06:25:02 -0600 Subject: [PATCH 18/21] chore: wip --- messages/run.md | 32 ++++++++ package.json | 2 +- src/commands/lightning/run/lwc/test.ts | 102 ++++++++++++++++--------- 3 files changed, 101 insertions(+), 35 deletions(-) diff --git a/messages/run.md b/messages/run.md index 88ed7c3..66d03ed 100644 --- a/messages/run.md +++ b/messages/run.md @@ -28,6 +28,38 @@ Run tests when a watched file changes. Watched files include the component under test and any files it references. +# flags.coverage.summary + +Collect coverage and display in output. + +# flags.coverage.description + +Collect coverage and display in output. + +# flags.updateSnapshot.summary + +Re-record every snapshot that fails during a test run. + +# flags.updateSnapshot.description + +Re-record every snapshot that fails during a test run. + +# flags.verbose.summary + +Display individual test results with the test suite hierarchy. + +# flags.verbose.description + +Display individual test results with the test suite hierarchy. + +# flags.skipApiVersionCheck.summary + +Disable the "sourceApiVersion" field check before running tests. + +# flags.skipApiVersionCheck.description + +**Warning** By disabling this check you risk running tests against stale versions of the framework. See details here: https://github.com/salesforce/sfdx-lwc-jest#disabling-the-sourceApiVersion-check + # errorNoExecutableFound No sfdx-lwc-jest executable found. Verify it's properly installed. diff --git a/package.json b/package.json index 26cd1de..3090101 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "wireit": "^0.9.5" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" }, "files": [ "/lib", diff --git a/src/commands/lightning/run/lwc/test.ts b/src/commands/lightning/run/lwc/test.ts index 199c418..cfc2f8a 100644 --- a/src/commands/lightning/run/lwc/test.ts +++ b/src/commands/lightning/run/lwc/test.ts @@ -7,8 +7,8 @@ import * as cp from 'child_process'; import * as fs from 'fs'; import * as path from 'path'; -import { Flags, loglevel, SfCommand } from '@salesforce/sf-plugins-core'; -import { Messages } from '@salesforce/core'; +import {Flags, loglevel, SfCommand} from '@salesforce/sf-plugins-core'; +import {Messages} from '@salesforce/core'; Messages.importMessagesDirectory(__dirname); const messages = Messages.loadMessages('@salesforce/sfdx-plugin-lwc-test', 'run'); @@ -26,6 +26,7 @@ export default class RunTest extends SfCommand { public static readonly aliases = ['force:lightning:lwc:test:run']; public static strict = false; public static '--' = true; + // sfdx-lwc-jest flags `--version` and`--help` cannot be defined in flags given they are reserved by oclif public static readonly flags = { debug: Flags.boolean({ char: 'd', @@ -37,53 +38,86 @@ export default class RunTest extends SfCommand { description: messages.getMessage('flags.watch.description'), exclusive: ['debug'], }), + coverage: Flags.boolean({ + summary: messages.getMessage('flags.coverage.summary'), + description: messages.getMessage('flags.coverage.description'), + }), + // eslint-disable-next-line sf-plugin/flag-case + updateSnapshot: Flags.boolean({ + char: 'u', + summary: messages.getMessage('flags.updateSnapshot.summary'), + description: messages.getMessage('flags.updateSnapshot.description'), + }), + verbose: Flags.boolean({ + summary: messages.getMessage('flags.verbose.summary'), + description: messages.getMessage('flags.verbose.description'), + }), + // eslint-disable-next-line sf-plugin/flag-case + skipApiVersionCheck: Flags.boolean({ + summary: messages.getMessage('flags.skipApiVersionCheck.summary'), + description: messages.getMessage('flags.skipApiVersionCheck.description'), + }), loglevel, }; + private flagKeys = Object.keys(RunTest.flags); + public async run(): Promise { /* In order to ensure backwards compatibility with old SfdxCommand version of this command - * it was necessary to bypass the typical parsing of the command. - * - * This command defines two flags, debug and watch, which are probably the - * most used jest flags. The previous implementation of this command also - * defined an args configuration, (passthrough) which would allow any - * additional flags to be passed through to jest. This is no longer possible - * given how @oclif/core parses the command line, rejecting any flags that - * are not defined in the flag configuration. - * - * The solution is two-fold. First, we change the command to allow non-strict - * command configuration, as well as allowing the use of the pass through flag ('--'). - * - * Second, we force the parse to use the config "{strict: false, '--': true}", instead - * of passing the command class to the parse method. This allows a parse of the command - * as if there are no flags defined, which results in the flags being parsed as arguments. - * - * Before calling the parse method, we filter out the '--' flag from the this.argv array and then - * call the parse method overriding the argv with the first element being '--' and the rest of the - * elements being the filtered argv array. This results in the parse method returning the flags - * as arguments. - * - * The resulting argv array is then passed to the runJest method as arguments. + * it was necessary to bypass the typical parsing of the command. + * + * This command defines two flags, debug and watch, which are probably the + * most used jest flags. The previous implementation of this command also + * defined an args configuration, (passthrough) which would allow any + * additional flags to be passed through to jest. This is no longer possible + * given how @oclif/core parses the command line, rejecting any flags that + * are not defined in the flag configuration. + * + * The solution is two-fold. First, we change the command to allow non-strict + * command configuration, as well as allowing the use of the pass through flag ('--'). + * + * Second, we force the parse to use the config "{strict: false, '--': true}", instead + * of passing the command class to the parse method. This allows a parse of the command + * as if there are no flags defined, which results in the flags being parsed as arguments. + * + * Before calling the parse method, we filter out the '--' flag from the this.argv array and then + * call the parse method overriding the argv with the first element being '--' and the rest of the + * elements being the filtered argv array. This results in the parse method returning the flags + * as arguments. + * + * The resulting argv array is then passed to the runJest method as arguments. */ - // remove the '--', '--json' and 'loglevel' flags from the this.argv array - const tArgv = this.argv.filter((arg) => !['--', '--json', 'loglevel'].includes(arg)); + const tArgv = this.argv.filter((arg) => !['--', '--json', '--loglevel'].includes(arg)); const hasWatchFlag = tArgv.includes('--watch'); - const hasDebugFlag = tArgv.some((arg) => /--debug|-d/.test(arg)); + const hasDebugFlag = tArgv.some(arg => /--debug|-d/.test(arg)); if (hasWatchFlag && hasDebugFlag) { - throw messages.createError('watchAndDebugAreMutuallyExclusive'); + throw (messages.createError('watchAndDebugAreMutuallyExclusive')); } // call the parse method with alternate config and override the argv // with the first element being '--' and the rest of the elements being - const { argv } = await this.parse({ strict: false, '--': true }, ['--', ...tArgv]); - - // add argv entries to the addArgs array - const addArgs = argv.map((arg) => arg as string); - - const scriptRet = this.runJest(addArgs); + const {argv} = await this.parse({strict: false, '--': true}, + ['--', ...tArgv]); + + // split into two arrays, one for command flags and one for remaining args + const cmdArgs = argv.map(arg => arg as string).reduce((parts, arg) => { + if (!arg.startsWith('-')) { + parts.right.push(arg); + } + const argSansHyphen = (arg).replace(/^-+/, ''); + + if (this.flagKeys.some(key => key === argSansHyphen || RunTest.flags[key as keyof typeof RunTest.flags].char === argSansHyphen)) { + parts.left.push(arg); + } else { + parts.right.push(arg); + } + return parts; + }, {left: [] as string[], right: [] as string[]}); + + const scriptRet = this.runJest([...cmdArgs.left, '--', ...cmdArgs.right]); const results: RunResult = { message: messages.getMessage('logSuccess', [scriptRet.status?.toString()]), From b27077e34e8d3de2c60aa7bb555d92c9dcf9f75a Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Tue, 11 Apr 2023 06:53:03 -0600 Subject: [PATCH 19/21] chore: fix tests generate schema --- schemas/lightning-generate-lwc-test.json | 30 +++++++++++++++ schemas/lightning-run-lwc-test.json | 22 +++++++++++ schemas/lightning-setup-lwc-test.json | 18 +++++++++ src/commands/lightning/run/lwc/test.ts | 37 +++++++++++-------- .../{generate => }/run/lwc/test.nut.ts | 2 +- .../{generate => }/run/lwc/test.test.ts | 2 +- 6 files changed, 93 insertions(+), 18 deletions(-) create mode 100644 schemas/lightning-generate-lwc-test.json create mode 100644 schemas/lightning-run-lwc-test.json create mode 100644 schemas/lightning-setup-lwc-test.json rename test/commands/lightning/{generate => }/run/lwc/test.nut.ts (97%) rename test/commands/lightning/{generate => }/run/lwc/test.test.ts (98%) diff --git a/schemas/lightning-generate-lwc-test.json b/schemas/lightning-generate-lwc-test.json new file mode 100644 index 0000000..c2f8e7e --- /dev/null +++ b/schemas/lightning-generate-lwc-test.json @@ -0,0 +1,30 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$ref": "#/definitions/GenerateResult", + "definitions": { + "GenerateResult": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "testPath": { + "type": "string" + }, + "className": { + "type": "string" + }, + "elementName": { + "type": "string" + } + }, + "required": [ + "message", + "testPath", + "className", + "elementName" + ], + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/schemas/lightning-run-lwc-test.json b/schemas/lightning-run-lwc-test.json new file mode 100644 index 0000000..3a83f66 --- /dev/null +++ b/schemas/lightning-run-lwc-test.json @@ -0,0 +1,22 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$ref": "#/definitions/RunResult", + "definitions": { + "RunResult": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "jestExitCode": { + "type": "number" + } + }, + "required": [ + "message", + "jestExitCode" + ], + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/schemas/lightning-setup-lwc-test.json b/schemas/lightning-setup-lwc-test.json new file mode 100644 index 0000000..5e7feb7 --- /dev/null +++ b/schemas/lightning-setup-lwc-test.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$ref": "#/definitions/SetupResult", + "definitions": { + "SetupResult": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/src/commands/lightning/run/lwc/test.ts b/src/commands/lightning/run/lwc/test.ts index cfc2f8a..7a46400 100644 --- a/src/commands/lightning/run/lwc/test.ts +++ b/src/commands/lightning/run/lwc/test.ts @@ -88,7 +88,7 @@ export default class RunTest extends SfCommand { * The resulting argv array is then passed to the runJest method as arguments. */ // remove the '--', '--json' and 'loglevel' flags from the this.argv array - const tArgv = this.argv.filter((arg) => !['--', '--json', '--loglevel'].includes(arg)); + const tArgv = this.argv.filter((arg) => !['--', '--loglevel'].includes(arg)); const hasWatchFlag = tArgv.includes('--watch'); const hasDebugFlag = tArgv.some(arg => /--debug|-d/.test(arg)); @@ -102,22 +102,10 @@ export default class RunTest extends SfCommand { const {argv} = await this.parse({strict: false, '--': true}, ['--', ...tArgv]); - // split into two arrays, one for command flags and one for remaining args - const cmdArgs = argv.map(arg => arg as string).reduce((parts, arg) => { - if (!arg.startsWith('-')) { - parts.right.push(arg); - } - const argSansHyphen = (arg).replace(/^-+/, ''); - - if (this.flagKeys.some(key => key === argSansHyphen || RunTest.flags[key as keyof typeof RunTest.flags].char === argSansHyphen)) { - parts.left.push(arg); - } else { - parts.right.push(arg); - } - return parts; - }, {left: [] as string[], right: [] as string[]}); + // rearrange the argv array so that the cmd flags are at the beginning and everything else is at the end + const cmdArgs = this.rearrangeCmdArgs(argv); - const scriptRet = this.runJest([...cmdArgs.left, '--', ...cmdArgs.right]); + const scriptRet = this.runJest(cmdArgs); const results: RunResult = { message: messages.getMessage('logSuccess', [scriptRet.status?.toString()]), @@ -138,6 +126,23 @@ export default class RunTest extends SfCommand { }); } + private rearrangeCmdArgs(argv: unknown[]): string[] { + const cmdArgs = argv.map(arg => arg as string).reduce((jestArgs: string[], arg: string) => { + if (!arg.startsWith('-')) { + jestArgs.push(arg); + } + const argSansHyphen = (arg).replace(/^-+/, ''); + + if (this.flagKeys.some(key => key === argSansHyphen || RunTest.flags[key as keyof typeof RunTest.flags].char === argSansHyphen)) { + jestArgs.unshift(arg); + } else { + jestArgs.push(arg); + } + return jestArgs; + }, ['--']); + return cmdArgs; + } + private getExecutablePath(): string { const projectPath = this.project.getPath(); const nodeModulePath = diff --git a/test/commands/lightning/generate/run/lwc/test.nut.ts b/test/commands/lightning/run/lwc/test.nut.ts similarity index 97% rename from test/commands/lightning/generate/run/lwc/test.nut.ts rename to test/commands/lightning/run/lwc/test.nut.ts index ce35f1f..e4b9a3f 100644 --- a/test/commands/lightning/generate/run/lwc/test.nut.ts +++ b/test/commands/lightning/run/lwc/test.nut.ts @@ -14,7 +14,7 @@ import * as fs from 'fs'; import * as path from 'path'; import { expect } from 'chai'; import { execCmd, TestSession } from '@salesforce/cli-plugins-testkit'; -import { RunResult } from '../../../../../../src/commands/lightning/run/lwc/test'; +import { RunResult } from '../../../../../src/commands/lightning/run/lwc/test'; describe('lightning:run:lwc:test', () => { let testSession: TestSession; diff --git a/test/commands/lightning/generate/run/lwc/test.test.ts b/test/commands/lightning/run/lwc/test.test.ts similarity index 98% rename from test/commands/lightning/generate/run/lwc/test.test.ts rename to test/commands/lightning/run/lwc/test.test.ts index f1d212d..82d5e2e 100644 --- a/test/commands/lightning/generate/run/lwc/test.test.ts +++ b/test/commands/lightning/run/lwc/test.test.ts @@ -13,7 +13,7 @@ import { TestContext } from '@salesforce/core/lib/testSetup'; import { stubMethod } from '@salesforce/ts-sinon'; import { Config } from '@oclif/core'; import { SfProject } from '@salesforce/core'; -import RunTest from '../../../../../../src/commands/lightning/run/lwc/test'; +import RunTest from '../../../../../src/commands/lightning/run/lwc/test'; const successReturn = { status: 0 } as cp.SpawnSyncReturns; From afabd972ae1ff3e98f4c2d904cb3985a7c44ce6e Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Wed, 12 Apr 2023 11:33:39 -0600 Subject: [PATCH 20/21] chore: update UTs --- command-snapshot.json | 60 ++++--- messages/run.md | 6 +- schemas/lightning-run-lwc-test.json | 4 + src/commands/lightning/run/lwc/test.ts | 170 ++++++++++++------- test/commands/lightning/run/lwc/test.nut.ts | 4 +- test/commands/lightning/run/lwc/test.test.ts | 34 ++-- 6 files changed, 174 insertions(+), 104 deletions(-) diff --git a/command-snapshot.json b/command-snapshot.json index 08d1e47..79d8719 100644 --- a/command-snapshot.json +++ b/command-snapshot.json @@ -1,20 +1,42 @@ [ - { - "command": "lightning:generate:lwc:test", - "plugin": "@salesforce/sfdx-plugin-lwc-test", - "flags": ["file", "json", "loglevel"], - "alias": ["force:lightning:lwc:test:create"] - }, - { - "command": "lightning:run:lwc:test", - "plugin": "@salesforce/sfdx-plugin-lwc-test", - "flags": ["debug", "json", "loglevel", "watch"], - "alias": ["force:lightning:lwc:test:run"] - }, - { - "command": "lightning:setup:lwc:test", - "plugin": "@salesforce/sfdx-plugin-lwc-test", - "flags": ["json", "loglevel"], - "alias": ["force:lightning:lwc:test:setup"] - } -] + { + "command": "lightning:generate:lwc:test", + "plugin": "@salesforce/sfdx-plugin-lwc-test", + "flags": [ + "file", + "json", + "loglevel" + ], + "alias": [ + "force:lightning:lwc:test:create" + ] + }, + { + "command": "lightning:run:lwc:test", + "plugin": "@salesforce/sfdx-plugin-lwc-test", + "flags": [ + "coverage", + "debug", + "json", + "loglevel", + "skipApiVersionCheck", + "updateSnapshot", + "verbose", + "watch" + ], + "alias": [ + "force:lightning:lwc:test:run" + ] + }, + { + "command": "lightning:setup:lwc:test", + "plugin": "@salesforce/sfdx-plugin-lwc-test", + "flags": [ + "json", + "loglevel" + ], + "alias": [ + "force:lightning:lwc:test:setup" + ] + } +] \ No newline at end of file diff --git a/messages/run.md b/messages/run.md index 66d03ed..30d6dc9 100644 --- a/messages/run.md +++ b/messages/run.md @@ -67,8 +67,4 @@ Run "%s lightning setup lwc test --help" for installation details. # logSuccess -Test run complete. Exited with status code: %s. - -# watchAndDebugAreMutuallyExclusive - ---watch=true cannot also be provided when using --debug +Test run complete. Jest exited with status code: %s%s. diff --git a/schemas/lightning-run-lwc-test.json b/schemas/lightning-run-lwc-test.json index 3a83f66..d0c6386 100644 --- a/schemas/lightning-run-lwc-test.json +++ b/schemas/lightning-run-lwc-test.json @@ -10,6 +10,10 @@ }, "jestExitCode": { "type": "number" + }, + "jestResults": { + "type": "object", + "additionalProperties": {} } }, "required": [ diff --git a/src/commands/lightning/run/lwc/test.ts b/src/commands/lightning/run/lwc/test.ts index 7a46400..4238b22 100644 --- a/src/commands/lightning/run/lwc/test.ts +++ b/src/commands/lightning/run/lwc/test.ts @@ -4,7 +4,7 @@ * Licensed under the BSD 3-Clause license. * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import * as cp from 'child_process'; +import {spawn, spawnSync} from 'child_process'; import * as fs from 'fs'; import * as path from 'path'; import {Flags, loglevel, SfCommand} from '@salesforce/sf-plugins-core'; @@ -16,6 +16,7 @@ const messages = Messages.loadMessages('@salesforce/sfdx-plugin-lwc-test', 'run' export type RunResult = { message: string; jestExitCode: number; + jestResults?: Record; }; export default class RunTest extends SfCommand { @@ -63,84 +64,125 @@ export default class RunTest extends SfCommand { private flagKeys = Object.keys(RunTest.flags); public async run(): Promise { - /* In order to ensure backwards compatibility with old SfdxCommand version of this command - * it was necessary to bypass the typical parsing of the command. - * - * This command defines two flags, debug and watch, which are probably the - * most used jest flags. The previous implementation of this command also - * defined an args configuration, (passthrough) which would allow any - * additional flags to be passed through to jest. This is no longer possible - * given how @oclif/core parses the command line, rejecting any flags that - * are not defined in the flag configuration. - * - * The solution is two-fold. First, we change the command to allow non-strict - * command configuration, as well as allowing the use of the pass through flag ('--'). - * - * Second, we force the parse to use the config "{strict: false, '--': true}", instead - * of passing the command class to the parse method. This allows a parse of the command - * as if there are no flags defined, which results in the flags being parsed as arguments. - * - * Before calling the parse method, we filter out the '--' flag from the this.argv array and then - * call the parse method overriding the argv with the first element being '--' and the rest of the - * elements being the filtered argv array. This results in the parse method returning the flags - * as arguments. - * - * The resulting argv array is then passed to the runJest method as arguments. - */ - // remove the '--', '--json' and 'loglevel' flags from the this.argv array - const tArgv = this.argv.filter((arg) => !['--', '--loglevel'].includes(arg)); + // rearrange the argv array so that the cmd flags are at the beginning and everything else is at the end + const cmdArgs = this.rearrangeCmdArgs(this.argv); - const hasWatchFlag = tArgv.includes('--watch'); - const hasDebugFlag = tArgv.some(arg => /--debug|-d/.test(arg)); + // call parse using RunTest config to validate this command's flags + await this.parse(RunTest, cmdArgs); - if (hasWatchFlag && hasDebugFlag) { - throw (messages.createError('watchAndDebugAreMutuallyExclusive')); + if (this.jsonEnabled()) { + const jsonIndex = cmdArgs.indexOf('--json'); + // remove the left hand json flag from the cmdArgs array + cmdArgs.splice(jsonIndex, 1); } - // call the parse method with alternate config and override the argv - // with the first element being '--' and the rest of the elements being - const {argv} = await this.parse({strict: false, '--': true}, - ['--', ...tArgv]); - - // rearrange the argv array so that the cmd flags are at the beginning and everything else is at the end - const cmdArgs = this.rearrangeCmdArgs(argv); - - const scriptRet = this.runJest(cmdArgs); - - const results: RunResult = { - message: messages.getMessage('logSuccess', [scriptRet.status?.toString()]), - jestExitCode: scriptRet.status ?? 1, - }; + const results = await this.runJest(cmdArgs); + const message = results.message === '' ? '' : ` (Message: ${results.message})`; + results.message = messages.getMessage('logSuccess', [ + results.jestExitCode, + message, + ]); - this.logSuccess(messages.getMessage('logSuccess', [scriptRet.status?.toString()])); + this.logSuccess(results.message); return results; } - public runJest(args: string[]): cp.SpawnSyncReturns { + public runJest(args: string[]): Promise { + // is json flag present for jest? + const jestJsonEnabled = args.includes('--json'); // on windows we must execute with the node prefix const executable = process.platform === 'win32' ? `node ${this.getExecutablePath()}` : this.getExecutablePath(); - - return cp.spawnSync(executable, args, { - stdio: 'inherit', - shell: true, + let stdout = ''; + let stderr = ''; + // create a child process spawn that will handle results like the unix "tee" command + return new Promise((resolve): void => { + if (jestJsonEnabled) { + let message = ''; + const cp = spawn(executable, args, { + stdio: ['ignore', 'pipe', 'pipe'], + shell: true, + }); + cp.on('error', (error) => { + this.log(`Error executing command: ${error.message}`); + message = error.message; + throw error; + }); + // only thing emitted to stdout is jest json results, so only capture that + cp.stdout.on('data', (data: string) => { + stdout = stdout + data; + }); + cp.stderr.on('data', (data: string) => { + stderr = stderr + data.toString(); + process.stderr.write(data); + }); + cp.on('exit', (code) => { + // eslint-disable-next-line no-console + console.log('================================================', stderr); + let exitCode = code ?? 0; + let jestResults; + try { + jestResults = stdout.length > 0 ? JSON.parse(stdout) as Record : undefined; + } catch (err) { + message = (err as Error).message ?? 'An error occurred while parsing the jest results'; + exitCode = 1; + } + resolve({ + message, + jestExitCode: exitCode, + jestResults + }); + }); + } else { + const cp = spawnSync(executable, args, { + stdio: ['ignore', 'inherit', 'inherit'], + shell: true, + }); + resolve({ + message: cp.error?.message ?? '', + jestExitCode: cp.status ?? 0, + }); + } }); } private rearrangeCmdArgs(argv: unknown[]): string[] { - const cmdArgs = argv.map(arg => arg as string).reduce((jestArgs: string[], arg: string) => { - if (!arg.startsWith('-')) { - jestArgs.push(arg); - } - const argSansHyphen = (arg).replace(/^-+/, ''); - - if (this.flagKeys.some(key => key === argSansHyphen || RunTest.flags[key as keyof typeof RunTest.flags].char === argSansHyphen)) { - jestArgs.unshift(arg); - } else { - jestArgs.push(arg); + const passThroughIndex = argv.indexOf('--'); + // find indexes of json flags + const jsonIndexes = argv.reduce((indexes: number[], arg, index) => { + if (arg === '--json') { + indexes.push(index); } - return jestArgs; - }, ['--']); - return cmdArgs; + return indexes; + }, []); + let jsonCount = 0; + const cmdArgs = argv.map(arg => arg as string) + .filter(arg => arg !== '--') + .reduce((jestArgs: string[], arg: string) => { + // not a flag, so add it to the end + if (!arg.startsWith('-')) { + jestArgs.push(arg); + return jestArgs; + } + // get the arg sans hyphen + const argSansHyphen = (arg).replace(/^-+/, ''); + // if the arg is json, and it is after the pass-through flag, add it to the end + if (argSansHyphen === 'json') { + if (jsonIndexes[jsonCount++] > passThroughIndex) { + jestArgs.push(arg); + } else { + jestArgs.unshift(arg); + } + return jestArgs; + } + if (this.flagKeys.some(key => key === argSansHyphen || RunTest.flags[key as keyof typeof RunTest.flags].char === argSansHyphen)) { + jestArgs.unshift(arg); + } else { + jestArgs.push(arg); + } + return jestArgs; + }, ['--']); + // remove the '--' if it is the last element + return cmdArgs[cmdArgs.length - 1] === '--' ? cmdArgs.slice(0, -1) : cmdArgs; } private getExecutablePath(): string { diff --git a/test/commands/lightning/run/lwc/test.nut.ts b/test/commands/lightning/run/lwc/test.nut.ts index e4b9a3f..de3f077 100644 --- a/test/commands/lightning/run/lwc/test.nut.ts +++ b/test/commands/lightning/run/lwc/test.nut.ts @@ -49,7 +49,7 @@ describe('lightning:run:lwc:test', () => { const output = execCmd('lightning:run:lwc:test --json', { ensureExitCode: 0, }); - expect(output?.jsonOutput?.result.message).to.equal('Test run complete. Exited with status code: 0.'); + expect(output?.jsonOutput?.result.message).to.equal('Test run complete. Jest exited with status code: 0.'); expect(output?.jsonOutput?.result.jestExitCode).to.equal(0); }); @@ -59,7 +59,7 @@ describe('lightning:run:lwc:test', () => { }).shellOutput; const commandOutput = output.stdout; const jestOutput = output.stderr; - expect(commandOutput).to.include('Test run complete. Exited with status code: 0.'); + expect(commandOutput).to.include('Test run complete. Jest exited with status code: 0.'); if (!/Test Suites:\s+\d+\s+passed,\s+\d+\s+total/.test(jestOutput)) { expect.fail(jestOutput); } diff --git a/test/commands/lightning/run/lwc/test.test.ts b/test/commands/lightning/run/lwc/test.test.ts index 82d5e2e..2a82368 100644 --- a/test/commands/lightning/run/lwc/test.test.ts +++ b/test/commands/lightning/run/lwc/test.test.ts @@ -14,8 +14,9 @@ import { stubMethod } from '@salesforce/ts-sinon'; import { Config } from '@oclif/core'; import { SfProject } from '@salesforce/core'; import RunTest from '../../../../../src/commands/lightning/run/lwc/test'; +import {RunResult} from '../../../../../src/commands/lightning/run/lwc/test'; -const successReturn = { status: 0 } as cp.SpawnSyncReturns; +const successReturn: RunResult = {jestExitCode: 0, message: ''}; function setupProject(setup: (project: SfProject) => void = () => {}) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment @@ -52,31 +53,36 @@ class MyRunTest extends RunTest { } } -describe('force:lightning:lwc:test:run', () => { +describe('lightning:run:lwc:test', () => { // Mock all things in core, like api, file io, etc. const $$ = new TestContext(); let runJestStub: sinon.SinonStub; let run: MyRunTest; + afterEach(() => { + runJestStub?.restore(); + }); + it('outputs completed message on status code 0', async () => { $$.inProject(true); - stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').returns(successReturn); + runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').resolves(successReturn); run = new MyRunTest([], {} as Config); const result = await run.run(); - expect(result.message).to.contain('Test run complete. Exited with status code: 0'); + expect(result.message).to.contain('Test run complete. Jest exited with status code: 0'); }); it('outputs completed message on status code 1 (failed tests)', async () => { $$.inProject(true); - stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').returns({ status: 1 }); + const unsuccessfulReturn = {message: 'Something went wrong', jestExitCode: 1}; + runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').resolves(unsuccessfulReturn); run = new MyRunTest([], {} as Config); const result = await run.run(); - expect(result.message).to.contain('Test run complete. Exited with status code: 1'); + expect(result.message).to.contain('Test run complete. Jest exited with status code: 1'); }); it('passes --debug to runJest when debug flag set', async () => { $$.inProject(true); - runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').returns(successReturn); + runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').resolves(successReturn); run = new MyRunTest(['--debug'], {} as Config); await run.run(); expect(runJestStub.args[0][0]).to.contain('--debug'); @@ -84,7 +90,7 @@ describe('force:lightning:lwc:test:run', () => { it('passes --watch to runJest when debug flag set', async () => { $$.inProject(true); - runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').returns(successReturn); + runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').resolves(successReturn); run = new MyRunTest(['--watch'], {} as Config); await run.run(); expect(runJestStub.args[0][0]).to.contain('--watch'); @@ -92,7 +98,7 @@ describe('force:lightning:lwc:test:run', () => { it('passes extra args to runJest', async () => { $$.inProject(true); - runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').returns(successReturn); + runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').resolves(successReturn); run = new MyRunTest(['path/to/test'], {} as Config); await run.run(); expect(runJestStub.args[0][0]).to.contain('path/to/test'); @@ -100,7 +106,7 @@ describe('force:lightning:lwc:test:run', () => { it('passes extra args and debug flag to runJest', async () => { $$.inProject(true); - runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').returns(successReturn); + runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').resolves(successReturn); run = new MyRunTest(['--debug', 'path/to/test'], {} as Config); await run.run(); expect(runJestStub.args[0][0]).to.contain('path/to/test'); @@ -109,25 +115,25 @@ describe('force:lightning:lwc:test:run', () => { it('errors when watch and debug flag set', async () => { $$.inProject(true); - stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').returns({ status: 0 }); + runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').resolves(successReturn); run = new MyRunTest(['--watch', '--debug'], {} as Config); try { await run.run(); expect.fail('Should have thrown an error'); } catch (e) { - expect((e as Error).message).to.contain('--watch=true cannot also be provided when using --debug'); + expect((e as Error).message).to.contain('--debug=true cannot also be provided when using --watch'); } }); it('errors when watch and -d flag set', async () => { $$.inProject(true); - stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').returns({ status: 0 }); + runJestStub = stubMethod($$.SANDBOX, MyRunTest.prototype, 'runJest').resolves(successReturn); run = new MyRunTest(['--watch', '-d'], {} as Config); try { await run.run(); expect.fail('Should have thrown an error'); } catch (e) { - expect((e as Error).message).to.contain('--watch=true cannot also be provided when using --debug'); + expect((e as Error).message).to.contain('--debug=true cannot also be provided when using --watch'); } }); From 21df2550a5f1935ba8c4b629633c295e4cbe2f1c Mon Sep 17 00:00:00 2001 From: Peter Hale Date: Fri, 14 Apr 2023 11:07:03 -0600 Subject: [PATCH 21/21] chore: use command json to control jest json results --- messages/run.md | 12 +++++++ package.json | 2 +- src/commands/lightning/run/lwc/test.ts | 50 +++++++++++++++++++++----- yarn.lock | 8 ++--- 4 files changed, 58 insertions(+), 14 deletions(-) diff --git a/messages/run.md b/messages/run.md index 30d6dc9..415c17b 100644 --- a/messages/run.md +++ b/messages/run.md @@ -68,3 +68,15 @@ Run "%s lightning setup lwc test --help" for installation details. # logSuccess Test run complete. Jest exited with status code: %s%s. + +# mustUseJsonFlag + +In order to get jest json results, you must use the command --json flag. + +# jestJsonFlagWarning + +Requesting jest json results using "-- --json" is deprecated. Use "--json" instead. + +# watchCannotBeUsedWithJsonFlag + +Any of the jest "--watch" flags cannot be used with the "--json" flag. diff --git a/package.json b/package.json index 3090101..9333105 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "version": "1.0.1", "main": "lib/index.js", "dependencies": { - "@oclif/core": "^2.8.0", + "@oclif/core": "^2.8.2", "@salesforce/core": "^3.34.6", "@salesforce/sf-plugins-core": "^2.2.5", "semver-compare": "^1.0.0", diff --git a/src/commands/lightning/run/lwc/test.ts b/src/commands/lightning/run/lwc/test.ts index 4238b22..a9fd1f7 100644 --- a/src/commands/lightning/run/lwc/test.ts +++ b/src/commands/lightning/run/lwc/test.ts @@ -17,6 +17,7 @@ export type RunResult = { message: string; jestExitCode: number; jestResults?: Record; + stderr?: string; }; export default class RunTest extends SfCommand { @@ -64,11 +65,11 @@ export default class RunTest extends SfCommand { private flagKeys = Object.keys(RunTest.flags); public async run(): Promise { - // rearrange the argv array so that the cmd flags are at the beginning and everything else is at the end + this.validateFlags(); const cmdArgs = this.rearrangeCmdArgs(this.argv); // call parse using RunTest config to validate this command's flags - await this.parse(RunTest, cmdArgs); + await this.parse(RunTest); if (this.jsonEnabled()) { const jsonIndex = cmdArgs.indexOf('--json'); @@ -76,6 +77,8 @@ export default class RunTest extends SfCommand { cmdArgs.splice(jsonIndex, 1); } + this.maybeEnableJestJsonFlag(cmdArgs); + const results = await this.runJest(cmdArgs); const message = results.message === '' ? '' : ` (Message: ${results.message})`; results.message = messages.getMessage('logSuccess', [ @@ -87,6 +90,7 @@ export default class RunTest extends SfCommand { return results; } + public runJest(args: string[]): Promise { // is json flag present for jest? const jestJsonEnabled = args.includes('--json'); @@ -113,11 +117,9 @@ export default class RunTest extends SfCommand { }); cp.stderr.on('data', (data: string) => { stderr = stderr + data.toString(); - process.stderr.write(data); }); cp.on('exit', (code) => { // eslint-disable-next-line no-console - console.log('================================================', stderr); let exitCode = code ?? 0; let jestResults; try { @@ -129,12 +131,13 @@ export default class RunTest extends SfCommand { resolve({ message, jestExitCode: exitCode, - jestResults + jestResults, + stderr: stderr.length > 0 ? stderr : undefined }); }); } else { const cp = spawnSync(executable, args, { - stdio: ['ignore', 'inherit', 'inherit'], + stdio: 'inherit', shell: true, }); resolve({ @@ -165,12 +168,10 @@ export default class RunTest extends SfCommand { } // get the arg sans hyphen const argSansHyphen = (arg).replace(/^-+/, ''); - // if the arg is json, and it is after the pass-through flag, add it to the end + if (argSansHyphen === 'json') { if (jsonIndexes[jsonCount++] > passThroughIndex) { jestArgs.push(arg); - } else { - jestArgs.unshift(arg); } return jestArgs; } @@ -185,6 +186,19 @@ export default class RunTest extends SfCommand { return cmdArgs[cmdArgs.length - 1] === '--' ? cmdArgs.slice(0, -1) : cmdArgs; } + private maybeEnableJestJsonFlag(cmdArgs: string[]): void { + if (this.jsonEnabled()) { + if (!cmdArgs.includes('--json')) { + if (!cmdArgs.includes('--')) { + // add pass through flag to the cmdArgs array + cmdArgs.push('--'); + } + // add the jest json flag to the cmdArgs array + cmdArgs.push('--json'); + } + } + } + private getExecutablePath(): string { const projectPath = this.project.getPath(); const nodeModulePath = @@ -198,4 +212,22 @@ export default class RunTest extends SfCommand { } return executablePath; } + + private validateFlags(): void { + // check if --json is being passed as part of pass though args + const ptIndex = this.argv.indexOf('--'); + const jestJsonIndex = this.argv.indexOf('--json') > ptIndex; + // throw error if json is not enabled and pass through --json flag is present + if (!this.jsonEnabled()) { + if (jestJsonIndex) { + throw messages.createError('mustUseJsonFlag'); + } else { + this.warn(messages.getMessage('jestJsonFlagWarning')); + } + } + + if (this.jsonEnabled() && this.argv.some(arg => arg.includes('watch'))) { + throw messages.createError('watchCannotBeUsedWithJsonFlag'); + } + } } diff --git a/yarn.lock b/yarn.lock index 12d1c34..a3e8fe9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -694,10 +694,10 @@ supports-color "^8.1.1" tslib "^2" -"@oclif/core@^2.0.7", "@oclif/core@^2.1.2", "@oclif/core@^2.4.0", "@oclif/core@^2.7.1", "@oclif/core@^2.8.0": - version "2.8.0" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.0.tgz#4948de3168804169fa68895af8ec4853f332b307" - integrity sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg== +"@oclif/core@^2.0.7", "@oclif/core@^2.1.2", "@oclif/core@^2.4.0", "@oclif/core@^2.7.1", "@oclif/core@^2.8.0", "@oclif/core@^2.8.2": + version "2.8.2" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.2.tgz#86fc31f20419dbb3cd25f89f4f1d83760c60f7c0" + integrity sha512-g50NrCdEcFlBfuwZb9RxLmxPNQ9wIaBPOiwbxlGYRkHMnsC6LNHcvVtyDnmndU8qoXrmCOZ6ocSZenOMlG+G1w== dependencies: "@types/cli-progress" "^3.11.0" ansi-escapes "^4.3.2"