From 78926711fba1ce38dc18c54f8d856a0041e4f645 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aslak=20Helles=C3=B8y?= Date: Fri, 4 Feb 2022 08:50:13 +0000 Subject: [PATCH 1/3] Restore tree-sitter functionality --- CHANGELOG.md | 3 + CONTRIBUTING.md | 6 + package-lock.json | 1202 ++++++++++---------- package.json | 10 +- src/index.ts | 1 + src/tree-sitter/ExpressionBuilder.ts | 94 ++ src/tree-sitter/helpers.ts | 30 + src/tree-sitter/index.ts | 2 + src/tree-sitter/javaQueries.ts | 75 ++ src/tree-sitter/typeScriptQueries.ts | 54 + src/tree-sitter/types.ts | 15 + test/tree-sitter/ExpressionBuilder.test.ts | 113 ++ tree-sitter-java.wasm | Bin 0 -> 232273 bytes tree-sitter-typescript.wasm | Bin 0 -> 1389235 bytes 14 files changed, 1032 insertions(+), 573 deletions(-) create mode 100644 CONTRIBUTING.md create mode 100644 src/tree-sitter/ExpressionBuilder.ts create mode 100644 src/tree-sitter/helpers.ts create mode 100644 src/tree-sitter/index.ts create mode 100644 src/tree-sitter/javaQueries.ts create mode 100644 src/tree-sitter/typeScriptQueries.ts create mode 100644 src/tree-sitter/types.ts create mode 100644 test/tree-sitter/ExpressionBuilder.test.ts create mode 100755 tree-sitter-java.wasm create mode 100755 tree-sitter-typescript.wasm diff --git a/CHANGELOG.md b/CHANGELOG.md index eeb1d5ee..f9251bc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +### Added +- Add tree-sitter functionality (`ExpressionBuilder`) + ## [0.11.0] - 2022-01-10 ### Changed - Upgrade to `@cucumber/cucumber-expressions` version `15.0.1` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..f8aed90e --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,6 @@ +# Contributing + +## Build wasm + + npm run build:typescript-wasm + npm run build:java-wasm diff --git a/package-lock.json b/package-lock.json index d31555ea..4c6480fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,13 +16,17 @@ "@types/js-search": "1.4.0", "fuse.js": "6.5.3", "js-search": "2.0.0", - "vscode-languageserver-types": "3.17.0-next.6" + "tree-sitter-cli": "0.20.4", + "tree-sitter-java": "0.19.1", + "tree-sitter-typescript": "0.19.0", + "vscode-languageserver-types": "3.17.0-next.7", + "web-tree-sitter": "0.20.3" }, "devDependencies": { "@cucumber/cucumber": "7.3.2", "@cucumber/message-streams": "^3.0.0", "@types/mocha": "9.1.0", - "@types/node": "17.0.8", + "@types/node": "17.0.14", "@typescript-eslint/eslint-plugin": "5.10.2", "@typescript-eslint/parser": "5.10.2", "eslint": "8.8.0", @@ -366,9 +370,9 @@ "dev": true }, "node_modules/@humanwhocodes/config-array": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", - "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz", + "integrity": "sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -421,13 +425,16 @@ } }, "node_modules/@npmcli/fs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz", - "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.0.tgz", + "integrity": "sha512-VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA==", "dev": true, "dependencies": { "@gar/promisify": "^1.0.1", "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/@npmcli/git": { @@ -594,9 +601,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz", - "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==", + "version": "17.0.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.14.tgz", + "integrity": "sha512-SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==", "dev": true }, "node_modules/@types/uuid": { @@ -843,9 +850,9 @@ } }, "node_modules/agentkeepalive": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", - "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.0.tgz", + "integrity": "sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw==", "dev": true, "dependencies": { "debug": "^4.1.0", @@ -947,43 +954,22 @@ } }, "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", "dev": true }, "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "dev": true, "dependencies": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/arg": { @@ -1211,21 +1197,6 @@ "node": ">=8" } }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cacheable-request/node_modules/lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", @@ -1258,9 +1229,9 @@ } }, "node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { "node": ">=10" @@ -1438,15 +1409,6 @@ "mimic-response": "^1.0.0" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1465,6 +1427,15 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, "node_modules/colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", @@ -1732,19 +1703,6 @@ "iconv-lite": "^0.6.2" } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -1975,9 +1933,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz", - "integrity": "sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", + "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", "dev": true, "dependencies": { "debug": "^3.2.7", @@ -2274,9 +2232,9 @@ } }, "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { "node": ">=4.0" @@ -2295,9 +2253,9 @@ } }, "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { "node": ">=4.0" @@ -2321,6 +2279,29 @@ "node": ">=0.10.0" } }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, "node_modules/ext": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", @@ -2331,15 +2312,15 @@ } }, "node_modules/ext/node_modules/type": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", - "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", "dev": true }, "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", "dev": true, "engines": [ "node >=0.6.0" @@ -2358,9 +2339,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -2370,7 +2351,7 @@ "micromatch": "^4.0.4" }, "engines": { - "node": ">=8" + "node": ">=8.6.0" } }, "node_modules/fast-glob/node_modules/glob-parent": { @@ -2501,9 +2482,9 @@ } }, "node_modules/flatted": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, "node_modules/fp-and-or": { @@ -2568,66 +2549,23 @@ } }, "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.0.tgz", + "integrity": "sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw==", "dev": true, "dependencies": { - "aproba": "^1.0.3", + "ansi-regex": "^5.0.1", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", + "has-unicode": "^2.0.1", "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/get-caller-file": { @@ -2665,6 +2603,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -2738,9 +2691,9 @@ } }, "node_modules/globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.12.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", + "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2753,16 +2706,16 @@ } }, "node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" }, "engines": { @@ -2807,9 +2760,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "node_modules/growl": { @@ -2947,6 +2900,15 @@ "node": ">= 6" } }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -2971,6 +2933,19 @@ "url": "https://github.com/sponsors/typicode" } }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -3148,9 +3123,9 @@ } }, "node_modules/is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -3233,9 +3208,9 @@ "dev": true }, "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, "engines": { "node": ">= 0.4" @@ -3393,12 +3368,12 @@ } }, "node_modules/is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3410,12 +3385,6 @@ "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", "dev": true }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -3825,9 +3794,9 @@ "dev": true }, "node_modules/minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", "dev": true, "dependencies": { "yallist": "^4.0.0" @@ -4121,6 +4090,11 @@ "thenify-all": "^1.0.0" } }, + "node_modules/nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + }, "node_modules/nanoid": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", @@ -4140,9 +4114,9 @@ "dev": true }, "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, "engines": { "node": ">= 0.6" @@ -4165,9 +4139,9 @@ } }, "node_modules/node-gyp": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.0.tgz", - "integrity": "sha512-Bi/oCm5bH6F+FmzfUxJpPaxMEyIhszULGR3TprmTeku8/dMFcdTcypk120NeZqEt54r1BrgEKtm2jJiuIKE28Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "dev": true, "dependencies": { "env-paths": "^2.2.0", @@ -4175,7 +4149,7 @@ "graceful-fs": "^4.2.6", "make-fetch-happen": "^9.1.0", "nopt": "^5.0.0", - "npmlog": "^4.1.2", + "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", "tar": "^6.1.2", @@ -4425,12 +4399,12 @@ } }, "node_modules/npm-registry-fetch": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", - "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.1.tgz", + "integrity": "sha512-ricy4ezH3Uv0d4am6RSwHjCYTWJI74NJjurIigWMAG7Vs3PFyd0TUlkrez5L0AgaPzDLRsEzqb5cOZ/Ue01bmA==", "dev": true, "dependencies": { - "make-fetch-happen": "^9.0.1", + "make-fetch-happen": "^10.0.0", "minipass": "^3.1.3", "minipass-fetch": "^1.3.0", "minipass-json-stream": "^1.0.1", @@ -4438,7 +4412,57 @@ "npm-package-arg": "^8.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.0.0.tgz", + "integrity": "sha512-CREcDkbKZZ64g5MN1FT+u58mDHX9FQFFtFyio5HonX44BdQdytqPZBXUz+6ibi2w/6ncji59f2phyXGSMGpgzA==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm-run-path": { @@ -4454,24 +4478,18 @@ } }, "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.0.tgz", + "integrity": "sha512-03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q==", "dev": true, "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.0", + "set-blocking": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/object-assign": { @@ -4484,9 +4502,9 @@ } }, "node_modules/object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4659,9 +4677,9 @@ } }, "node_modules/pacote": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.2.tgz", - "integrity": "sha512-Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg==", + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", + "integrity": "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==", "dev": true, "dependencies": { "@npmcli/git": "^2.1.0", @@ -4677,7 +4695,7 @@ "npm-package-arg": "^8.0.1", "npm-packlist": "^3.0.0", "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^11.0.0", + "npm-registry-fetch": "^12.0.0", "promise-retry": "^2.0.1", "read-package-json-fast": "^2.0.1", "rimraf": "^3.0.2", @@ -4770,9 +4788,9 @@ } }, "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" @@ -4859,29 +4877,6 @@ "node": ">=8" } }, - "node_modules/pretty-quick/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, "node_modules/pretty-quick/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -4895,30 +4890,6 @@ "node": ">=8" } }, - "node_modules/pretty-quick/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pretty-quick/node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "engines": { - "node": ">=8.12.0" - } - }, "node_modules/pretty-quick/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -4976,12 +4947,6 @@ "node": ">=8" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -5132,6 +5097,20 @@ "node": ">=10" } }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -5238,13 +5217,17 @@ } }, "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "dev": true, "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5347,10 +5330,24 @@ } }, "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -5458,9 +5455,9 @@ } }, "node_modules/signal-exit": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", - "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "node_modules/sisteransi": { @@ -5503,9 +5500,9 @@ } }, "node_modules/socks-proxy-agent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz", - "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", "dev": true, "dependencies": { "agent-base": "^6.0.2", @@ -5607,6 +5604,15 @@ "stacktrace-gps": "^3.0.4" } }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-argv": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", @@ -5710,6 +5716,18 @@ "node": ">=8" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/tar": { "version": "6.1.11", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", @@ -5787,6 +5805,33 @@ "node": ">=8.0" } }, + "node_modules/tree-sitter-cli": { + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.20.4.tgz", + "integrity": "sha512-G42x0Ev7mxA8WLUfZY+two5LIhPf6R/m7qDZtKxOzE77zXi6didNI/vf17kHaKaRXJrWnyCxHFaVQFO2LL81yg==", + "hasInstallScript": true, + "bin": { + "tree-sitter": "cli.js" + } + }, + "node_modules/tree-sitter-java": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/tree-sitter-java/-/tree-sitter-java-0.19.1.tgz", + "integrity": "sha512-yVm+4q1D4niaHcEf2iqhOcIaiSp3wxHjeC4eoLAqSQNVxSrhThmT1FEfM4yDgHV4XaxH+62xpKHCwYG9NzRt6Q==", + "hasInstallScript": true, + "dependencies": { + "nan": "^2.14.1" + } + }, + "node_modules/tree-sitter-typescript": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/tree-sitter-typescript/-/tree-sitter-typescript-0.19.0.tgz", + "integrity": "sha512-fDpenjG6HhHirBaMipxFlGlc9YUUc+CEJP7QLrs8Xi1NRS4h9WTntW68wORHfh2gd3XNQgLNGfev9iv2+7QjDg==", + "hasInstallScript": true, + "dependencies": { + "nan": "^2.14.0" + } + }, "node_modules/ts-node": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", @@ -6079,23 +6124,28 @@ } }, "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", "dev": true, - "engines": [ - "node >=0.6.0" - ], "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" } }, "node_modules/vscode-languageserver-types": { - "version": "3.17.0-next.6", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.6.tgz", - "integrity": "sha512-rHYeCotiabJHgvIYzWjV8g0dHCxyOQtcryTv1Xa1horaQ4jx2V+rjLBstc6zMpCyrnZcjorwEcAvGBDCd6wudw==" + "version": "3.17.0-next.7", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.7.tgz", + "integrity": "sha512-KH4zdG1qBXxoso61ChgpeoZYyHGJo8bV7Jv4I+fwQ1Ryy59JAxoZ9GAbhR5TeeafHctLcg6RFvY3m8Jqfu17cg==" + }, + "node_modules/web-tree-sitter": { + "version": "0.20.3", + "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.20.3.tgz", + "integrity": "sha512-zKGJW9r23y3BcJusbgvnOH2OYAW40MXAOi9bi3Gcc7T4Gms9WWgXF8m6adsJWpGJEhgOzCrfiz1IzKowJWrtYw==" }, "node_modules/which": { "version": "2.0.2", @@ -6595,9 +6645,9 @@ "dev": true }, "@humanwhocodes/config-array": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", - "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz", + "integrity": "sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -6638,9 +6688,9 @@ } }, "@npmcli/fs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz", - "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.0.tgz", + "integrity": "sha512-VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA==", "dev": true, "requires": { "@gar/promisify": "^1.0.1", @@ -6790,9 +6840,9 @@ "dev": true }, "@types/node": { - "version": "17.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz", - "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==", + "version": "17.0.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.14.tgz", + "integrity": "sha512-SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==", "dev": true }, "@types/uuid": { @@ -6936,9 +6986,9 @@ } }, "agentkeepalive": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", - "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.0.tgz", + "integrity": "sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw==", "dev": true, "requires": { "debug": "^4.1.0", @@ -7015,45 +7065,19 @@ } }, "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", "dev": true }, "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "dev": true, "requires": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "readable-stream": "^3.6.0" } }, "arg": { @@ -7239,15 +7263,6 @@ "responselike": "^1.0.2" }, "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, "lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", @@ -7273,9 +7288,9 @@ "dev": true }, "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true }, "capital-case": { @@ -7408,12 +7423,6 @@ "mimic-response": "^1.0.0" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -7429,6 +7438,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, "colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", @@ -7638,18 +7653,6 @@ "optional": true, "requires": { "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } } }, "end-of-stream": { @@ -7861,9 +7864,9 @@ } }, "eslint-module-utils": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz", - "integrity": "sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", + "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", "dev": true, "requires": { "debug": "^3.2.7", @@ -8062,9 +8065,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -8079,9 +8082,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -8098,6 +8101,23 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, "ext": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", @@ -8108,17 +8128,17 @@ }, "dependencies": { "type": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", - "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", "dev": true } } }, "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", "dev": true }, "fast-deep-equal": { @@ -8134,9 +8154,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -8251,9 +8271,9 @@ } }, "flatted": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, "fp-and-or": { @@ -8302,56 +8322,20 @@ "integrity": "sha512-sA5etGE7yD/pOqivZRBvUBd/NaL2sjAu6QuSaFoe1H2BrJSkH/T/UXAJ8CdXdw7DvY3Hs8CXKYkDWX7RiP5KOg==" }, "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.0.tgz", + "integrity": "sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw==", "dev": true, "requires": { - "aproba": "^1.0.3", + "ansi-regex": "^5.0.1", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", + "has-unicode": "^2.0.1", "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" } }, "get-caller-file": { @@ -8377,6 +8361,15 @@ "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", "dev": true }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, "get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -8428,25 +8421,25 @@ } }, "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.12.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", + "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", "dev": true, "requires": { "type-fest": "^0.20.2" } }, "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" } }, @@ -8481,9 +8474,9 @@ } }, "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "growl": { @@ -8582,6 +8575,12 @@ "debug": "4" } }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, "humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -8597,6 +8596,16 @@ "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", "dev": true }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -8729,9 +8738,9 @@ } }, "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "requires": { "has": "^1.0.3" @@ -8790,9 +8799,9 @@ "dev": true }, "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, "is-npm": { @@ -8887,12 +8896,12 @@ "dev": true }, "is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2" } }, "is-yarn-global": { @@ -8901,12 +8910,6 @@ "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", "dev": true }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -9239,9 +9242,9 @@ "dev": true }, "minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -9455,6 +9458,11 @@ "thenify-all": "^1.0.0" } }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + }, "nanoid": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", @@ -9468,9 +9476,9 @@ "dev": true }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true }, "next-tick": { @@ -9490,9 +9498,9 @@ } }, "node-gyp": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.0.tgz", - "integrity": "sha512-Bi/oCm5bH6F+FmzfUxJpPaxMEyIhszULGR3TprmTeku8/dMFcdTcypk120NeZqEt54r1BrgEKtm2jJiuIKE28Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "dev": true, "requires": { "env-paths": "^2.2.0", @@ -9500,7 +9508,7 @@ "graceful-fs": "^4.2.6", "make-fetch-happen": "^9.1.0", "nopt": "^5.0.0", - "npmlog": "^4.1.2", + "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", "tar": "^6.1.2", @@ -9685,17 +9693,60 @@ } }, "npm-registry-fetch": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", - "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.1.tgz", + "integrity": "sha512-ricy4ezH3Uv0d4am6RSwHjCYTWJI74NJjurIigWMAG7Vs3PFyd0TUlkrez5L0AgaPzDLRsEzqb5cOZ/Ue01bmA==", "dev": true, "requires": { - "make-fetch-happen": "^9.0.1", + "make-fetch-happen": "^10.0.0", "minipass": "^3.1.3", "minipass-fetch": "^1.3.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.0.0", "npm-package-arg": "^8.0.0" + }, + "dependencies": { + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "make-fetch-happen": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.0.0.tgz", + "integrity": "sha512-CREcDkbKZZ64g5MN1FT+u58mDHX9FQFFtFyio5HonX44BdQdytqPZBXUz+6ibi2w/6ncji59f2phyXGSMGpgzA==", + "dev": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + } } }, "npm-run-path": { @@ -9708,23 +9759,17 @@ } }, "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.0.tgz", + "integrity": "sha512-03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q==", "dev": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.0", + "set-blocking": "^2.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -9732,9 +9777,9 @@ "dev": true }, "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "dev": true }, "object-keys": { @@ -9858,9 +9903,9 @@ } }, "pacote": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.2.tgz", - "integrity": "sha512-Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg==", + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", + "integrity": "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==", "dev": true, "requires": { "@npmcli/git": "^2.1.0", @@ -9876,7 +9921,7 @@ "npm-package-arg": "^8.0.1", "npm-packlist": "^3.0.0", "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^11.0.0", + "npm-registry-fetch": "^12.0.0", "promise-retry": "^2.0.1", "read-package-json-fast": "^2.0.1", "rimraf": "^3.0.2", @@ -9939,9 +9984,9 @@ "dev": true }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "prelude-ls": { @@ -9995,23 +10040,6 @@ "supports-color": "^7.1.0" } }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -10022,21 +10050,6 @@ "path-exists": "^4.0.0" } }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -10078,12 +10091,6 @@ } } }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -10198,6 +10205,17 @@ "npm-normalize-package-bin": "^1.0.1" } }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -10274,13 +10292,14 @@ "dev": true }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-from": { @@ -10346,9 +10365,9 @@ } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "safer-buffer": { @@ -10438,9 +10457,9 @@ } }, "signal-exit": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", - "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "sisteransi": { @@ -10472,9 +10491,9 @@ } }, "socks-proxy-agent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz", - "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", "dev": true, "requires": { "agent-base": "^6.0.2", @@ -10563,6 +10582,15 @@ "stacktrace-gps": "^3.0.4" } }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, "string-argv": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", @@ -10636,6 +10664,12 @@ "has-flag": "^4.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, "tar": { "version": "6.1.11", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", @@ -10698,6 +10732,27 @@ "is-number": "^7.0.0" } }, + "tree-sitter-cli": { + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.20.4.tgz", + "integrity": "sha512-G42x0Ev7mxA8WLUfZY+two5LIhPf6R/m7qDZtKxOzE77zXi6didNI/vf17kHaKaRXJrWnyCxHFaVQFO2LL81yg==" + }, + "tree-sitter-java": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/tree-sitter-java/-/tree-sitter-java-0.19.1.tgz", + "integrity": "sha512-yVm+4q1D4niaHcEf2iqhOcIaiSp3wxHjeC4eoLAqSQNVxSrhThmT1FEfM4yDgHV4XaxH+62xpKHCwYG9NzRt6Q==", + "requires": { + "nan": "^2.14.1" + } + }, + "tree-sitter-typescript": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/tree-sitter-typescript/-/tree-sitter-typescript-0.19.0.tgz", + "integrity": "sha512-fDpenjG6HhHirBaMipxFlGlc9YUUc+CEJP7QLrs8Xi1NRS4h9WTntW68wORHfh2gd3XNQgLNGfev9iv2+7QjDg==", + "requires": { + "nan": "^2.14.0" + } + }, "ts-node": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", @@ -10927,9 +10982,9 @@ } }, "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -10938,9 +10993,14 @@ } }, "vscode-languageserver-types": { - "version": "3.17.0-next.6", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.6.tgz", - "integrity": "sha512-rHYeCotiabJHgvIYzWjV8g0dHCxyOQtcryTv1Xa1horaQ4jx2V+rjLBstc6zMpCyrnZcjorwEcAvGBDCd6wudw==" + "version": "3.17.0-next.7", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.7.tgz", + "integrity": "sha512-KH4zdG1qBXxoso61ChgpeoZYyHGJo8bV7Jv4I+fwQ1Ryy59JAxoZ9GAbhR5TeeafHctLcg6RFvY3m8Jqfu17cg==" + }, + "web-tree-sitter": { + "version": "0.20.3", + "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.20.3.tgz", + "integrity": "sha512-zKGJW9r23y3BcJusbgvnOH2OYAW40MXAOi9bi3Gcc7T4Gms9WWgXF8m6adsJWpGJEhgOzCrfiz1IzKowJWrtYw==" }, "which": { "version": "2.0.2", diff --git a/package.json b/package.json index 69b2a748..9ed9f599 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,8 @@ "build:cjs": "tsc --build tsconfig.build-cjs.json && cp package.cjs.json dist/cjs/package.json", "build:esm": "tsc --build tsconfig.build-esm.json", "build": "npm run build:cjs && npm run build:esm", + "build:java-wasm": "npx tree-sitter build-wasm node_modules/tree-sitter-java", + "build:typescript-wasm": "npx tree-sitter build-wasm node_modules/tree-sitter-typescript/typescript", "test": "mocha && npm run test:cjs", "test:cjs": "npm run build:cjs && mocha --no-config --recursive dist/cjs/test", "prepublishOnly": "npm run build", @@ -49,7 +51,7 @@ "@cucumber/cucumber": "7.3.2", "@cucumber/message-streams": "^3.0.0", "@types/mocha": "9.1.0", - "@types/node": "17.0.8", + "@types/node": "17.0.14", "@typescript-eslint/eslint-plugin": "5.10.2", "@typescript-eslint/parser": "5.10.2", "eslint": "8.8.0", @@ -75,6 +77,10 @@ "@types/js-search": "1.4.0", "fuse.js": "6.5.3", "js-search": "2.0.0", - "vscode-languageserver-types": "3.17.0-next.6" + "tree-sitter-cli": "0.20.4", + "tree-sitter-java": "0.19.1", + "tree-sitter-typescript": "0.19.0", + "vscode-languageserver-types": "3.17.0-next.7", + "web-tree-sitter": "0.20.3" } } diff --git a/src/index.ts b/src/index.ts index 1051f19a..a1ae33be 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,3 +3,4 @@ export * from './index/index.js' export * from './messages/index.js' export * from './service/index.js' export * from './step-documents/index.js' +export * from './tree-sitter/index.js' diff --git a/src/tree-sitter/ExpressionBuilder.ts b/src/tree-sitter/ExpressionBuilder.ts new file mode 100644 index 00000000..fc7a8ece --- /dev/null +++ b/src/tree-sitter/ExpressionBuilder.ts @@ -0,0 +1,94 @@ +import { + Expression, + ExpressionFactory, + ParameterTypeRegistry, +} from '@cucumber/cucumber-expressions' +import Parser, { Language } from 'web-tree-sitter' + +import { makeParameterType, recordFromMatch, toString, toStringOrRegExp } from './helpers.js' +import { javaQueries } from './javaQueries.js' +import { LanguageName, ParameterTypeMeta, Source, TreeSitterQueries, WasmUrls } from './types.js' +import { typeScriptQueries } from './typeScriptQueries.js' + +const treeSitterQueriesByLanguageName: Record = { + java: javaQueries, + typescript: typeScriptQueries, +} + +const defineStepDefinitionQueryKeys = ['expression'] +const defineParameterTypeKeys = ['name', 'expression'] + +export class ExpressionBuilder { + private parser: Parser + private languages: Record + + async init(wasmUrls: WasmUrls) { + await Parser.init() + this.parser = new Parser() + this.languages = { + java: await Parser.Language.load(wasmUrls['java']), + typescript: await Parser.Language.load(wasmUrls['typescript']), + } + } + + build( + sources: readonly Source[], + parameterTypes: readonly ParameterTypeMeta[] | undefined + ): readonly Expression[] { + if (!this.parser) throw new Error(`Please call init() first`) + const expressions: Expression[] = [] + const parameterTypeRegistry = new ParameterTypeRegistry() + const expressionFactory = new ExpressionFactory(parameterTypeRegistry) + + if (parameterTypes) { + for (const parameterType of parameterTypes) { + parameterTypeRegistry.defineParameterType( + makeParameterType(parameterType.name, new RegExp(parameterType.regexp)) + ) + } + } + + for (const source of sources) { + const language = this.languages[source.language] + this.parser.setLanguage(language) + const treeSitterQueries = treeSitterQueriesByLanguageName[source.language] + const tree = this.parser.parse(source.content) + + for (const defineParameterTypeQuery of treeSitterQueries.defineParameterTypeQueries) { + const matches = language.query(defineParameterTypeQuery).matches(tree.rootNode) + const records = matches.map((match) => recordFromMatch(match, defineParameterTypeKeys)) + for (const record of records) { + const name = record['name'] + const regexp = record['expression'] + if (name && regexp) { + parameterTypeRegistry.defineParameterType( + makeParameterType(toString(name), toStringOrRegExp(regexp)) + ) + } + } + } + } + + for (const source of sources) { + const language = this.languages[source.language] + this.parser.setLanguage(language) + const treeSitterQueries = treeSitterQueriesByLanguageName[source.language] + const tree = this.parser.parse(source.content) + + for (const defineStepDefinitionQuery of treeSitterQueries.defineStepDefinitionQueries) { + const matches = language.query(defineStepDefinitionQuery).matches(tree.rootNode) + const records = matches.map((match) => + recordFromMatch(match, defineStepDefinitionQueryKeys) + ) + for (const record of records) { + const expression = record['expression'] + if (expression) { + expressions.push(expressionFactory.createExpression(toStringOrRegExp(expression))) + } + } + } + } + + return expressions + } +} diff --git a/src/tree-sitter/helpers.ts b/src/tree-sitter/helpers.ts new file mode 100644 index 00000000..fcafc39b --- /dev/null +++ b/src/tree-sitter/helpers.ts @@ -0,0 +1,30 @@ +import { ParameterType } from '@cucumber/cucumber-expressions' +import Parser from 'web-tree-sitter' + +export function recordFromMatch( + match: Parser.QueryMatch, + keys: readonly T[] +): Record { + const values = keys.map((name) => match.captures.find((c) => c.name === name)?.node?.text) + return Object.fromEntries(keys.map((_, i) => [keys[i], values[i]])) as Record< + T, + string | undefined + > +} + +export function makeParameterType(name: string, regexp: string | RegExp) { + return new ParameterType(name, regexp, Object, () => undefined, false, false) +} + +export function toStringOrRegExp(s: string): string | RegExp { + const match = s.match(/^([/'"])(.*)([/'"])$/) + if (!match) throw new Error(`Could not match ${s}`) + if (match[1] === '/' && match[3] === '/') return new RegExp(match[2]) + return match[2] +} + +export function toString(s: string): string { + const match = s.match(/^['"](.*)['"]$/) + if (!match) return s + return match[1] +} diff --git a/src/tree-sitter/index.ts b/src/tree-sitter/index.ts new file mode 100644 index 00000000..07898489 --- /dev/null +++ b/src/tree-sitter/index.ts @@ -0,0 +1,2 @@ +export * from './ExpressionBuilder.js' +export * from './types.js' diff --git a/src/tree-sitter/javaQueries.ts b/src/tree-sitter/javaQueries.ts new file mode 100644 index 00000000..0e5160c2 --- /dev/null +++ b/src/tree-sitter/javaQueries.ts @@ -0,0 +1,75 @@ +import { TreeSitterQueries } from './types.js' + +export const javaQueries: TreeSitterQueries = { + defineParameterTypeQueries: [ + ` +(method_declaration + (modifiers + (annotation + name: (identifier) @annotation-name + arguments: (annotation_argument_list + [ + (string_literal) @expression + ] + ) + ) + ) + name: (identifier) @name + (#eq? @annotation-name "ParameterType") +) + `, + ` +(method_declaration + (modifiers + (annotation + name: (identifier) @annotation-name + arguments: (annotation_argument_list + [ + ( + (element_value_pair + key: (identifier) @name-key + value: (string_literal) @name + ) + (element_value_pair + key: (identifier) @value-key + value: (string_literal) @expression + ) + ) + ( + (element_value_pair + key: (identifier) @value-key + value: (string_literal) @expression + ) + (element_value_pair + key: (identifier) @name-key + value: (string_literal) @name + ) + ) + ] + ) + ) + ) + (#eq? @annotation-name "ParameterType") + (#eq? @name-key "name") + (#eq? @value-key "value") +) +`, + ], + defineStepDefinitionQueries: [ + ` +(method_declaration + (modifiers + (annotation + name: (identifier) @annotation-name + arguments: (annotation_argument_list + [ + (string_literal) @expression + ] + ) + ) + ) + (#match? @annotation-name "Given|When|Then") +) +`, + ], +} diff --git a/src/tree-sitter/typeScriptQueries.ts b/src/tree-sitter/typeScriptQueries.ts new file mode 100644 index 00000000..71b9d65c --- /dev/null +++ b/src/tree-sitter/typeScriptQueries.ts @@ -0,0 +1,54 @@ +import { TreeSitterQueries } from './types.js' + +export const typeScriptQueries: TreeSitterQueries = { + defineParameterTypeQueries: [ + ` +(call_expression + function: (identifier) @function-name + arguments: (arguments + (object + [ + ( + (pair + key: (property_identifier) @name-key + value: (string) @name + ) + (pair + key: (property_identifier) @regexp-key + value: [(regex) (string)] @expression + ) + ) + ( + (pair + key: (property_identifier) @regexp-key + value: [(regex) (string)] @expression + ) + (pair + key: (property_identifier) @name-key + value: (string) @name + ) + ) + ] + ) + ) + (#eq? @function-name "defineParameterType") + (#eq? @name-key "name") + (#eq? @regexp-key "regexp") +) +`, + ], + defineStepDefinitionQueries: [ + ` +(call_expression + function: (identifier) @function-name + arguments: (arguments + [ + (string) @expression + (regex) @expression + ] + ) + (#match? @function-name "Given|When|Then") +) +`, + ], +} diff --git a/src/tree-sitter/types.ts b/src/tree-sitter/types.ts new file mode 100644 index 00000000..0368572d --- /dev/null +++ b/src/tree-sitter/types.ts @@ -0,0 +1,15 @@ +export type ParameterTypeMeta = { name: string; regexp: string } + +export type LanguageName = 'java' | 'typescript' + +export type Source = { + language: LanguageName + content: string +} + +export type WasmUrls = Record + +export type TreeSitterQueries = { + defineParameterTypeQueries: readonly string[] + defineStepDefinitionQueries: readonly string[] +} diff --git a/test/tree-sitter/ExpressionBuilder.test.ts b/test/tree-sitter/ExpressionBuilder.test.ts new file mode 100644 index 00000000..97a45f41 --- /dev/null +++ b/test/tree-sitter/ExpressionBuilder.test.ts @@ -0,0 +1,113 @@ +import { CucumberExpression, RegularExpression } from '@cucumber/cucumber-expressions' +import assert from 'assert' + +import { ExpressionBuilder, Source, WasmUrls } from '../../src/index.js' + +const wasmUrls: WasmUrls = { + java: 'tree-sitter-java.wasm', + typescript: 'tree-sitter-typescript.wasm', +} + +describe('ExpressionBuilder', () => { + const expressionBuilder = new ExpressionBuilder() + let initialized = false + + beforeEach(async () => { + if (!initialized) { + await expressionBuilder.init(wasmUrls) + initialized = true + } + }) + + it('builds expressions from Java source', async () => { + const stepdefs: Source = { + language: 'java', + content: ` +class StepDefinitions { + @Given("I have {int} cukes in my belly" ) + void method1() { + } + + @When("you have some time") + void method2() { + } + + @Then("a {iso-date}") + void method3() { + } + + @Then("a {date}") + void method4() { + } +} +`, + } + + const parameterTypes: Source = { + language: 'java', + content: ` +class ParameterTypes { + @ParameterType("(?:.*) \\\\d{1,2}, \\\\d{4}") + public Date date(String date) throws ParseException { + return getDateInstance(MEDIUM, ENGLISH).parse(date); + } + + @ParameterType(name = "iso-date", value = "\\\\d{4}-\\\\d{2}-\\\\d{2}") + public Date isoDate(String date) throws ParseException { + return new SimpleDateFormat("yyyy-mm-dd").parse(date); + } +} +`, + } + + const expressions = expressionBuilder.build([stepdefs, parameterTypes], []) + assert.deepStrictEqual( + expressions.map((e) => e.source), + ['I have {int} cukes in my belly', 'you have some time', 'a {iso-date}', 'a {date}'] + ) + }) + + it('builds expressions from TypeScript source', async () => { + const stepdefs: Source = { + language: 'typescript', + content: ` +import { Given, Then, When } from '@cucumber/cucumber' + +Given('a {uuid}', async function (uuid: string) { +}) + +When('a {date}', async function (date: Date) { +}) + +Then(/a regexp/, async function () { +}) +`, + } + + const parameterTypes: Source = { + language: 'typescript', + content: ` +import { defineParameterType } from '@cucumber/cucumber' + +defineParameterType({ + name: 'uuid', + regexp: /[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}/, + transformer: (uuid: string) => uuid, +}) + +defineParameterType({ + name: 'date', + regexp: /\\d{4}-\\d{2}-\\d{2}/, + transformer: (name: string) => new Date(name), +}) +`, + } + const expressions = expressionBuilder.build([stepdefs, parameterTypes], []) + assert.deepStrictEqual( + expressions.map((e) => + e instanceof CucumberExpression ? e.source : (e as RegularExpression).regexp + ), + ['a {uuid}', 'a {date}', /a regexp/] + ) + }) +}) diff --git a/tree-sitter-java.wasm b/tree-sitter-java.wasm new file mode 100755 index 0000000000000000000000000000000000000000..5de1ba3347828be013a94ee4cf2223065d804b3d GIT binary patch literal 232273 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 literal 0 HcmV?d00001 diff --git a/tree-sitter-typescript.wasm b/tree-sitter-typescript.wasm new file mode 100755 index 0000000000000000000000000000000000000000..0ca4303523be5f822e249e23e14ceb5eba434c13 GIT binary patch literal 1389235 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%0D8Gc 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 literal 0 HcmV?d00001 From 2d2adb40e84f15e14fba676ba7787e86230a3375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aslak=20Helles=C3=B8y?= Date: Fri, 4 Feb 2022 09:12:58 +0000 Subject: [PATCH 2/3] Allow 15s timeout (for the fuzz tests) --- .mocharc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mocharc.json b/.mocharc.json index 74ecb7c0..14ceebf0 100644 --- a/.mocharc.json +++ b/.mocharc.json @@ -2,5 +2,5 @@ "loader": "ts-node/esm", "extension": ["ts"], "recursive": true, - "timeout": 5000 + "timeout": 15000 } From bdf3016d3ed8b4352a0da38a7aca88e79ca9eb99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aslak=20Helles=C3=B8y?= Date: Fri, 4 Feb 2022 09:20:43 +0000 Subject: [PATCH 3/3] Disable fuzz test in CI. Remove Node 12 in CI --- .github/workflows/test-javascript.yml | 2 +- test/index/Index.test.ts | 67 ++++++++++++++------------- 2 files changed, 36 insertions(+), 33 deletions(-) diff --git a/.github/workflows/test-javascript.yml b/.github/workflows/test-javascript.yml index 13c23557..5ebba718 100644 --- a/.github/workflows/test-javascript.yml +++ b/.github/workflows/test-javascript.yml @@ -16,7 +16,7 @@ jobs: - macos-latest - ubuntu-latest # 16.12.0 has broken ESM support - node-version: ['12.x', '14.x', '16.11.x', '17.x'] + node-version: ['14.x', '16.11.x', '17.x'] steps: - name: set git core.autocrlf to 'input' diff --git a/test/index/Index.test.ts b/test/index/Index.test.ts index 1ef565e2..0cd2b964 100644 --- a/test/index/Index.test.ts +++ b/test/index/Index.test.ts @@ -48,43 +48,46 @@ function verifyIndexContract(name: string, buildIndex: BuildIndex) { }) }) - describe('performance / fuzz', () => { - it('matches how quickly exactly?', () => { - const ef = new ExpressionFactory(new ParameterTypeRegistry()) - for (let i = 0; i < 100; i++) { - const length = 100 - const stepDocuments: StepDocument[] = Array(length) - .fill(0) - .map(() => { - const sentence = txtgen.sentence() - return { - suggestion: sentence, - segments: [sentence], - expression: ef.createExpression(sentence), - } - }) - const index = buildIndex(stepDocuments) + if (!process.env.CI) { + describe('performance / fuzz', () => { + it('matches how quickly exactly?', () => { + const ef = new ExpressionFactory(new ParameterTypeRegistry()) + for (let i = 0; i < 100; i++) { + const length = 100 + const stepDocuments: StepDocument[] = Array(length) + .fill(0) + .map(() => { + const sentence = txtgen.sentence() + return { + suggestion: sentence, + segments: [sentence], + expression: ef.createExpression(sentence), + } + }) + const index = buildIndex(stepDocuments) - const sentence = stepDocuments[Math.floor(length / 2)].segments[0] as string - const words = sentence.split(' ') - // Find a word longer than 5 letters (fall back to the middle word if there are none) - const word = words.find((word) => word.length > 5) || words[Math.floor(words.length / 2)] - const term = word.replace(/[.?!;,']/g, '').toLowerCase() + const sentence = stepDocuments[Math.floor(length / 2)].segments[0] as string + const words = sentence.split(' ') + // Find a word longer than 5 letters (fall back to the middle word if there are none) + const word = + words.find((word) => word.length > 5) || words[Math.floor(words.length / 2)] + const term = word.replace(/[.?!;,']/g, '').toLowerCase() - const suggestions = index(term) - if (suggestions.length === 0) { - console.error(`WARNING: ${name} - no hits for "${term}"`) - } - for (const suggestion of suggestions) { - const s = (suggestion.segments[0] as string).toLowerCase() - if (!s.includes(term)) { - // console.log(JSON.stringify(stepDocuments, null, 2)) - console.error(`WARNING: ${name} - "${s}" does not include "${term}"`) + const suggestions = index(term) + if (suggestions.length === 0) { + console.error(`WARNING: ${name} - no hits for "${term}"`) + } + for (const suggestion of suggestions) { + const s = (suggestion.segments[0] as string).toLowerCase() + if (!s.includes(term)) { + // console.log(JSON.stringify(stepDocuments, null, 2)) + console.error(`WARNING: ${name} - "${s}" does not include "${term}"`) + } } } - } + }) }) - }) + } }) }