diff --git a/.github/workflows/pr-gated.yml b/.github/workflows/pr-gated.yml index 3185461f..669b0229 100644 --- a/.github/workflows/pr-gated.yml +++ b/.github/workflows/pr-gated.yml @@ -13,22 +13,27 @@ jobs: steps: - name: checkout uses: actions/checkout@v5 + - name: setup bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: latest - name: setup node uses: actions/setup-node@v5 with: node-version-file: "package.json" - run: node -v + - run: bun -v - run: npm ci - run: npm audit - run: npm run lint - run: npm run build - name: Run tests - run: npm run test + run: bun test --bail --reporter=junit --reporter-outfile test-results.xml - name: Publish test results uses: dorny/test-reporter@v2.1.1 if: success() || failure() with: - name: Mocha Tests + name: Bun Tests path: test-results.xml reporter: java-junit fail-on-error: true diff --git a/eslint.config.js b/eslint.config.mjs similarity index 92% rename from eslint.config.js rename to eslint.config.mjs index 416dd638..3c065e5c 100644 --- a/eslint.config.js +++ b/eslint.config.mjs @@ -1,12 +1,12 @@ -const js = require("@eslint/js"); -const tseslint = require("@typescript-eslint/eslint-plugin"); -const tsparser = require("@typescript-eslint/parser"); -const prettier = require("eslint-plugin-prettier"); -const promise = require("eslint-plugin-promise"); -const security = require("eslint-plugin-security"); -const prettierConfig = require("eslint-config-prettier"); +import js from "@eslint/js"; +import tseslint from "@typescript-eslint/eslint-plugin"; +import tsparser from "@typescript-eslint/parser"; +import prettier from "eslint-plugin-prettier"; +import promise from "eslint-plugin-promise"; +import security from "eslint-plugin-security"; +import prettierConfig from "eslint-config-prettier"; -module.exports = [ +export default [ js.configs.recommended, { files: ["src/**/*.ts"], @@ -81,6 +81,13 @@ module.exports = [ }, ], "@typescript-eslint/unified-signatures": "error", + "@typescript-eslint/consistent-type-imports": [ + "warn", + { + prefer: "type-imports", + fixStyle: "inline-type-imports", + }, + ], // Standard ESLint rules "no-unused-vars": "off", // Disabled in favor of @typescript-eslint/no-unused-vars diff --git a/mochaReporterConfig.json b/mochaReporterConfig.json deleted file mode 100644 index 0a341481..00000000 --- a/mochaReporterConfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "reporterEnabled": "spec, mocha-junit-reporter", - "mochaJunitReporterReporterOptions": { - "mochaFile": "test-results.xml" - } -} diff --git a/package-lock.json b/package-lock.json index a69dfb86..e2706d6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,43 +15,24 @@ "vscode-languageserver-types": "3.17.5" }, "devDependencies": { - "@types/chai": "^4.3.20", - "@types/mocha": "^10.0.8", + "@types/bun": "^1.3.0", "@types/node": "^22.7.3", "@typescript-eslint/eslint-plugin": "^8.43.0", "@typescript-eslint/parser": "^8.43.0", - "chai": "^4.5.0", "cross-env": "^7.0.3", "eslint": "^9.35.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-promise": "^7.2.1", "eslint-plugin-security": "^3.0.1", - "mocha": "^10.8.2", - "mocha-junit-reporter": "^2.2.1", - "mocha-multi-reporters": "^1.5.1", "prettier": "^3.3.3", "ts-loader": "^9.5.4", - "ts-node": "^10.9.2", "typescript": "^5.9.2" }, "engines": { "node": ">=22" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.9.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", @@ -320,6 +301,7 @@ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=6.0.0" } @@ -353,18 +335,8 @@ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } + "peer": true }, "node_modules/@microsoft/powerquery-formatter": { "version": "0.3.18", @@ -455,40 +427,15 @@ "url": "https://opencollective.com/pkgr" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/chai": { - "version": "4.3.20", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.20.tgz", - "integrity": "sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==", + "node_modules/@types/bun": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.3.0.tgz", + "integrity": "sha512-+lAGCYjXjip2qY375xX/scJeVRmZ5cY0wyHYyCYxNcdEXrQ4AOe3gACgd4iQ8ksOslJtW4VNxBJ8llUwc3a6AA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "bun-types": "1.3.0" + } }, "node_modules/@types/eslint": { "version": "9.6.1", @@ -528,13 +475,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/mocha": { - "version": "10.0.10", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz", - "integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/node": { "version": "22.18.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.1.tgz", @@ -545,6 +485,17 @@ "undici-types": "~6.21.0" } }, + "node_modules/@types/react": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", + "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.0.2" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.43.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.43.0.tgz", @@ -1009,19 +960,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1084,26 +1022,6 @@ "license": "MIT", "peer": true }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -1120,27 +1038,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, - "license": "MIT" - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1148,16 +1045,6 @@ "dev": true, "license": "Python-2.0" }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1165,19 +1052,6 @@ "dev": true, "license": "MIT" }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", @@ -1201,13 +1075,6 @@ "node": ">=8" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true, - "license": "ISC" - }, "node_modules/browserslist": { "version": "4.25.4", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz", @@ -1250,6 +1117,19 @@ "license": "MIT", "peer": true }, + "node_modules/bun-types": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.3.0.tgz", + "integrity": "sha512-u8X0thhx+yJ0KmkxuEo9HAtdfgCBaM/aI9K90VQcQioAmkVp3SG3FkwWGibUFz3WdXAdcsqOcbU40lK7tbHdkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + }, + "peerDependencies": { + "@types/react": "^19" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1260,19 +1140,6 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001741", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz", @@ -1295,25 +1162,6 @@ "license": "CC-BY-4.0", "peer": true }, - "node_modules/chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1331,67 +1179,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": "*" - } - }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", @@ -1403,18 +1190,6 @@ "node": ">=6.0" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1450,13 +1225,6 @@ "dev": true, "license": "MIT" }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, - "license": "MIT" - }, "node_modules/cross-env": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", @@ -1491,15 +1259,13 @@ "node": ">= 8" } }, - "node_modules/crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": "*" - } + "license": "MIT", + "peer": true }, "node_modules/debug": { "version": "4.4.1", @@ -1519,32 +1285,6 @@ } } }, - "node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1552,16 +1292,6 @@ "dev": true, "license": "MIT" }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/electron-to-chromium": { "version": "1.5.215", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.215.tgz", @@ -1570,13 +1300,6 @@ "license": "ISC", "peer": true }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, "node_modules/enhanced-resolve": { "version": "5.18.3", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", @@ -1605,6 +1328,7 @@ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=6" } @@ -2059,16 +1783,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, "node_modules/flat-cache": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", @@ -2090,69 +1804,6 @@ "dev": true, "license": "ISC" }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2174,19 +1825,6 @@ "license": "BSD-2-Clause", "peer": true }, - "node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/globals": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", @@ -2230,16 +1868,6 @@ "node": ">=8" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, "node_modules/ignore": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", @@ -2277,65 +1905,16 @@ "node": ">=0.8.19" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2359,29 +1938,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -2515,13 +2071,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -2529,52 +2078,6 @@ "dev": true, "license": "MIT" }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.1" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "license": "ISC" - }, - "node_modules/md5": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - } - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -2648,121 +2151,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mocha": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", - "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.3", - "browser-stdout": "^1.3.1", - "chokidar": "^3.5.3", - "debug": "^4.3.5", - "diff": "^5.2.0", - "escape-string-regexp": "^4.0.0", - "find-up": "^5.0.0", - "glob": "^8.1.0", - "he": "^1.2.0", - "js-yaml": "^4.1.0", - "log-symbols": "^4.1.0", - "minimatch": "^5.1.6", - "ms": "^2.1.3", - "serialize-javascript": "^6.0.2", - "strip-json-comments": "^3.1.1", - "supports-color": "^8.1.1", - "workerpool": "^6.5.1", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9", - "yargs-unparser": "^2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/mocha-junit-reporter": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/mocha-junit-reporter/-/mocha-junit-reporter-2.2.1.tgz", - "integrity": "sha512-iDn2tlKHn8Vh8o4nCzcUVW4q7iXp7cC4EB78N0cDHIobLymyHNwe0XG8HEHHjc3hJlXm0Vy6zcrxaIhnI2fWmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4", - "md5": "^2.3.0", - "mkdirp": "^3.0.0", - "strip-ansi": "^6.0.1", - "xml": "^1.0.1" - }, - "peerDependencies": { - "mocha": ">=2.2.5" - } - }, - "node_modules/mocha-multi-reporters": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/mocha-multi-reporters/-/mocha-multi-reporters-1.5.1.tgz", - "integrity": "sha512-Yb4QJOaGLIcmB0VY7Wif5AjvLMUFAdV57D2TWEva1Y0kU/3LjKpeRVmlMIfuO1SVbauve459kgtIizADqxMWPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "lodash": "^4.17.15" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "mocha": ">=3.1.2" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -2793,26 +2181,6 @@ "license": "MIT", "peer": true }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -2896,16 +2264,6 @@ "node": ">=8" } }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -3009,23 +2367,11 @@ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "safe-buffer": "^5.1.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/regexp-tree": { "version": "0.1.27", "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", @@ -3036,16 +2382,6 @@ "regexp-tree": "bin/regexp-tree" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -3121,7 +2457,8 @@ "url": "https://feross.org/support" } ], - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/safe-regex": { "version": "2.1.1", @@ -3213,6 +2550,7 @@ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "randombytes": "^2.1.0" } @@ -3273,34 +2611,6 @@ "node": ">=0.10.0" } }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -3472,60 +2782,6 @@ "webpack": "^5.0.0" } }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -3539,16 +2795,6 @@ "node": ">= 0.8.0" } }, - "node_modules/type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/typescript": { "version": "5.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", @@ -3612,13 +2858,6 @@ "punycode": "^2.1.0" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "license": "MIT" - }, "node_modules/vscode-languageserver-textdocument": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", @@ -3759,110 +2998,6 @@ "node": ">=0.10.0" } }, - "node_modules/workerpool": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/xml": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==", - "dev": true, - "license": "MIT" - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index d9d2501d..3fc0a0e6 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "link:start": "npm link && npm uninstall @microsoft/powerquery-parser @microsoft/powerquery-formatter && git clean -xdf && npm install && npm link @microsoft/powerquery-parser @microsoft/powerquery-formatter", "link:stop": "npm unlink @microsoft/powerquery-parser @microsoft/powerquery-formatter && git clean -xdf && npm install && npm install @microsoft/powerquery-parser@latest @microsoft/powerquery-formatter@latest --save-exact", "lint": "eslint src --ext ts", - "test": "mocha --no-package --reporter mocha-multi-reporters --reporter-options configFile=mochaReporterConfig.json" + "test": "bun test --bail" }, "homepage": "https://github.com/microsoft/powerquery-language-services#readme", "repository": { @@ -34,24 +34,18 @@ "lib/powerquery-language-services/**/*" ], "devDependencies": { - "@types/chai": "^4.3.20", - "@types/mocha": "^10.0.8", + "@types/bun": "^1.3.0", "@types/node": "^22.7.3", "@typescript-eslint/eslint-plugin": "^8.43.0", "@typescript-eslint/parser": "^8.43.0", - "chai": "^4.5.0", "cross-env": "^7.0.3", "eslint": "^9.35.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-promise": "^7.2.1", "eslint-plugin-security": "^3.0.1", - "mocha": "^10.8.2", - "mocha-junit-reporter": "^2.2.1", - "mocha-multi-reporters": "^1.5.1", "prettier": "^3.3.3", "ts-loader": "^9.5.4", - "ts-node": "^10.9.2", "typescript": "^5.9.2" }, "dependencies": { @@ -60,4 +54,4 @@ "vscode-languageserver-textdocument": "1.0.12", "vscode-languageserver-types": "3.17.5" } -} +} \ No newline at end of file diff --git a/src/powerquery-language-services/analysis/analysis.ts b/src/powerquery-language-services/analysis/analysis.ts index 14f309e5..67c1d4f4 100644 --- a/src/powerquery-language-services/analysis/analysis.ts +++ b/src/powerquery-language-services/analysis/analysis.ts @@ -1,21 +1,21 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { CommonError, ICancellationToken, Result } from "@microsoft/powerquery-parser"; -import type { - DocumentSymbol, - FoldingRange, - Hover, - Location, - Position, - SignatureHelp, +import { type CommonError, type ICancellationToken, type Result } from "@microsoft/powerquery-parser"; +import { + type DocumentSymbol, + type FoldingRange, + type Hover, + type Location, + type Position, + type SignatureHelp, } from "vscode-languageserver-types"; -import { ParseError, ParseState } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type ParseError, type ParseState } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { AutocompleteItem, TActiveNode, TypeCache } from "../inspection"; -import { IDisposable } from "../commonTypes"; -import { PartialSemanticToken } from "../providers"; -import { TextEdit } from "vscode-languageserver-textdocument"; +import { type AutocompleteItem, type TActiveNode, type TypeCache } from "../inspection"; +import { type IDisposable } from "../commonTypes"; +import { type PartialSemanticToken } from "../providers"; +import { type TextEdit } from "vscode-languageserver-textdocument"; // All language services related methods are of type Result. // The type is essentially a trinary type where: diff --git a/src/powerquery-language-services/analysis/analysisBase.ts b/src/powerquery-language-services/analysis/analysisBase.ts index 537f4c14..685f723c 100644 --- a/src/powerquery-language-services/analysis/analysisBase.ts +++ b/src/powerquery-language-services/analysis/analysisBase.ts @@ -2,54 +2,64 @@ // Licensed under the MIT license. import * as PQP from "@microsoft/powerquery-parser/lib/powerquery-parser"; -import { Assert, CommonError, ICancellationToken, Result, ResultUtils } from "@microsoft/powerquery-parser"; import { - AstNodeById, - ChildIdsById, + Assert, + type CommonError, + type ICancellationToken, + type Result, + ResultUtils, +} from "@microsoft/powerquery-parser"; +import { + type AstNodeById, + type ChildIdsById, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser/nodeIdMap/nodeIdMap"; import { - DocumentSymbol, - FoldingRange, - Hover, - Location, - Position, - SignatureHelp, + type DocumentSymbol, + type FoldingRange, + type Hover, + type Location, + type Position, + type SignatureHelp, SymbolKind, } from "vscode-languageserver-types"; import { - NodeIdMap, + type NodeIdMap, NodeIdMapUtils, - ParseError, - ParseState, - TXorNode, - XorNode, + type ParseError, + type ParseState, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import type { TextDocument, TextEdit } from "vscode-languageserver-textdocument"; -import { Trace, TraceConstant, TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TextDocument, type TextEdit } from "vscode-languageserver-textdocument"; +import { + type Trace, + TraceConstant, + type TraceManager, +} from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { ActiveNodeUtils, TActiveLeafIdentifier, TActiveNode, TypeCache } from "../inspection"; -import type { - AutocompleteItemProviderContext, - DefinitionProviderContext, - HoverProviderContext, - IAutocompleteItemProvider, - ILibraryProvider, - ILocalDocumentProvider, - PartialSemanticToken, - SignatureProviderContext, +import { ActiveNodeUtils, type TActiveLeafIdentifier, type TActiveNode, type TypeCache } from "../inspection"; +import { + type AutocompleteItemProviderContext, + type DefinitionProviderContext, + type HoverProviderContext, + type IAutocompleteItemProvider, + type ILibraryProvider, + type ILocalDocumentProvider, + type PartialSemanticToken, + type SignatureProviderContext, } from "../providers/commonTypes"; -import { CommonTypesUtils, Inspection, InspectionSettings, InspectionUtils, PositionUtils } from ".."; +import { CommonTypesUtils, Inspection, type InspectionSettings, InspectionUtils, PositionUtils } from ".."; import { findDirectUpperScopeExpression, findScopeItemByLiteral, scopeCreatorIdentifier, - TScopeItem, + type TScopeItem, } from "../inspection/scope/scopeUtils"; import { LanguageAutocompleteItemProvider, LibraryProvider, LocalDocumentProvider } from "../providers"; -import type { Analysis } from "./analysis"; -import type { AnalysisSettings } from "./analysisSettings"; +import { type Analysis } from "./analysis"; +import { type AnalysisSettings } from "./analysisSettings"; import { ValidationTraceConstant } from "../trace"; // Implementation of Analysis. diff --git a/src/powerquery-language-services/analysis/analysisSettings.ts b/src/powerquery-language-services/analysis/analysisSettings.ts index 4baeaf7f..6f41002f 100644 --- a/src/powerquery-language-services/analysis/analysisSettings.ts +++ b/src/powerquery-language-services/analysis/analysisSettings.ts @@ -1,12 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { IAutocompleteItemProvider, ILibraryProvider, ILocalDocumentProvider } from "../providers"; -import { ILibrary } from "../library/library"; -import { InspectionSettings } from "../inspectionSettings"; -import { TypeCache } from "../inspection"; +import { type IAutocompleteItemProvider, type ILibraryProvider, type ILocalDocumentProvider } from "../providers"; +import { type ILibrary } from "../library/library"; +import { type InspectionSettings } from "../inspectionSettings"; +import { type TypeCache } from "../inspection"; export interface AnalysisSettings { // Allows injection of custom providers. diff --git a/src/powerquery-language-services/analysis/analysisUtils.ts b/src/powerquery-language-services/analysis/analysisUtils.ts index 5e55a2e0..fbbc4734 100644 --- a/src/powerquery-language-services/analysis/analysisUtils.ts +++ b/src/powerquery-language-services/analysis/analysisUtils.ts @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import type { TextDocument } from "vscode-languageserver-textdocument"; +import { type TextDocument } from "vscode-languageserver-textdocument"; -import { Analysis } from "./analysis"; -import { AnalysisSettings } from "./analysisSettings"; +import { type Analysis } from "./analysis"; +import { type AnalysisSettings } from "./analysisSettings"; import { DocumentAnalysis } from "./documentAnalysis"; const analysisByUri: Map = new Map(); diff --git a/src/powerquery-language-services/analysis/documentAnalysis.ts b/src/powerquery-language-services/analysis/documentAnalysis.ts index 68be7f87..48fb062a 100644 --- a/src/powerquery-language-services/analysis/documentAnalysis.ts +++ b/src/powerquery-language-services/analysis/documentAnalysis.ts @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import type { Range } from "vscode-languageserver-types"; -import type { TextDocument } from "vscode-languageserver-textdocument"; +import { type Range } from "vscode-languageserver-types"; +import { type TextDocument } from "vscode-languageserver-textdocument"; -import { AnalysisSettings } from "./analysisSettings"; +import { type AnalysisSettings } from "./analysisSettings"; import { MemoizedAnalysis } from "./memoizedAnalysis"; export class DocumentAnalysis extends MemoizedAnalysis { diff --git a/src/powerquery-language-services/analysis/index.ts b/src/powerquery-language-services/analysis/index.ts index f4274ac2..31313554 100644 --- a/src/powerquery-language-services/analysis/index.ts +++ b/src/powerquery-language-services/analysis/index.ts @@ -3,6 +3,6 @@ export * as AnalysisUtils from "./analysisUtils"; export { AnalysisBase } from "./analysisBase"; -export { Analysis } from "./analysis"; +export { type Analysis } from "./analysis"; export { DocumentAnalysis } from "./documentAnalysis"; -export { AnalysisSettings } from "./analysisSettings"; +export { type AnalysisSettings } from "./analysisSettings"; diff --git a/src/powerquery-language-services/analysis/memoizedAnalysis.ts b/src/powerquery-language-services/analysis/memoizedAnalysis.ts index 9f1aed6e..5f2536ac 100644 --- a/src/powerquery-language-services/analysis/memoizedAnalysis.ts +++ b/src/powerquery-language-services/analysis/memoizedAnalysis.ts @@ -1,16 +1,16 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { CommonError, ICancellationToken, Result } from "@microsoft/powerquery-parser"; -import { Position } from "vscode-languageserver-types"; +import { type CommonError, type ICancellationToken, type Result } from "@microsoft/powerquery-parser"; +import { type Position } from "vscode-languageserver-types"; import { ActiveNodeUtils, - Autocomplete, - TActiveNode, - TriedCurrentInvokeExpression, - TriedNodeScope, - TriedScopeType, + type Autocomplete, + type TActiveNode, + type TriedCurrentInvokeExpression, + type TriedNodeScope, + type TriedScopeType, } from "../inspection"; import { AnalysisBase } from "./analysisBase"; diff --git a/src/powerquery-language-services/commonTypes.ts b/src/powerquery-language-services/commonTypes.ts index 98cff6c3..f65e046a 100644 --- a/src/powerquery-language-services/commonTypes.ts +++ b/src/powerquery-language-services/commonTypes.ts @@ -16,11 +16,15 @@ import { MarkupContent, Position, Range, - SignatureHelp, + type SignatureHelp, SymbolKind, TextEdit, } from "vscode-languageserver-types"; -import { DocumentUri, TextDocument, TextDocumentContentChangeEvent } from "vscode-languageserver-textdocument"; +import { + type DocumentUri, + TextDocument, + type TextDocumentContentChangeEvent, +} from "vscode-languageserver-textdocument"; export { CompletionItem, diff --git a/src/powerquery-language-services/commonTypesUtils.ts b/src/powerquery-language-services/commonTypesUtils.ts index 86a9be71..4e9a9b67 100644 --- a/src/powerquery-language-services/commonTypesUtils.ts +++ b/src/powerquery-language-services/commonTypesUtils.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as PQP from "@microsoft/powerquery-parser"; +import type * as PQP from "@microsoft/powerquery-parser"; -import { Position, Range } from "./commonTypes"; +import { type Position, type Range } from "./commonTypes"; export function rangeFromTokenRange(tokenRange: PQP.Language.Token.TokenRange): Range { return { diff --git a/src/powerquery-language-services/documentSymbols.ts b/src/powerquery-language-services/documentSymbols.ts index a79c409b..82248a46 100644 --- a/src/powerquery-language-services/documentSymbols.ts +++ b/src/powerquery-language-services/documentSymbols.ts @@ -1,16 +1,16 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as PQP from "@microsoft/powerquery-parser"; +import type * as PQP from "@microsoft/powerquery-parser"; import { - NodeIdMap, + type NodeIdMap, NodeIdMapUtils, - XorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { DocumentSymbol, SymbolKind } from "./commonTypes"; +import { type DocumentSymbol, SymbolKind } from "./commonTypes"; import { InspectionUtils } from "."; export function getDocumentSymbols( diff --git a/src/powerquery-language-services/externalType/externalType.ts b/src/powerquery-language-services/externalType/externalType.ts index e4cf5f71..dd59dac0 100644 --- a/src/powerquery-language-services/externalType/externalType.ts +++ b/src/powerquery-language-services/externalType/externalType.ts @@ -18,7 +18,7 @@ // Eg. `Table.AddColumn(tbl, "foo", each 1)` could be implemented so the evaluated type is a modification // of its first argument. -import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; export type TExternalTypeRequest = ExternalValueTypeRequest | ExternalInvocationTypeRequest; diff --git a/src/powerquery-language-services/externalType/externalTypeUtils.ts b/src/powerquery-language-services/externalType/externalTypeUtils.ts index f7caebe0..8dc5f3a5 100644 --- a/src/powerquery-language-services/externalType/externalTypeUtils.ts +++ b/src/powerquery-language-services/externalType/externalTypeUtils.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { ExternalType } from "."; diff --git a/src/powerquery-language-services/formatter.ts b/src/powerquery-language-services/formatter.ts index 5e7d6084..1817027d 100644 --- a/src/powerquery-language-services/formatter.ts +++ b/src/powerquery-language-services/formatter.ts @@ -3,9 +3,9 @@ import * as PQF from "@microsoft/powerquery-formatter"; import * as PQP from "@microsoft/powerquery-parser"; -import { Range, TextEdit } from "vscode-languageserver-types"; +import { type Range, TextEdit } from "vscode-languageserver-types"; import { ResultUtils } from "@microsoft/powerquery-parser"; -import { TextDocument } from "vscode-languageserver-textdocument"; +import { type TextDocument } from "vscode-languageserver-textdocument"; export function tryFormat( document: TextDocument, diff --git a/src/powerquery-language-services/inspection/activeNode/activeNode.ts b/src/powerquery-language-services/inspection/activeNode/activeNode.ts index 1cb00d5f..dca61f87 100644 --- a/src/powerquery-language-services/inspection/activeNode/activeNode.ts +++ b/src/powerquery-language-services/inspection/activeNode/activeNode.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import type { Position } from "vscode-languageserver-types"; -import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type Position } from "vscode-languageserver-types"; +import { type TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; export type TActiveNode = // A Position located inside an Ast (either fully or partially parsed). diff --git a/src/powerquery-language-services/inspection/activeNode/activeNodeUtils.ts b/src/powerquery-language-services/inspection/activeNode/activeNodeUtils.ts index 5ff3d7ec..47cda9ef 100644 --- a/src/powerquery-language-services/inspection/activeNode/activeNodeUtils.ts +++ b/src/powerquery-language-services/inspection/activeNode/activeNodeUtils.ts @@ -3,24 +3,24 @@ import { AncestryUtils, - NodeIdMap, + type NodeIdMap, NodeIdMapUtils, - ParseContext, - TXorNode, - XorNode, + type ParseContext, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { ArrayUtils, Assert, CommonError } from "@microsoft/powerquery-parser"; import { Ast, AstUtils, Constant, IdentifierUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import type { Position } from "vscode-languageserver-types"; +import { type Position } from "vscode-languageserver-types"; import { - ActiveNode, + type ActiveNode, ActiveNodeKind, ActiveNodeLeafKind, - OutOfBoundPosition, - TActiveLeafIdentifier, - TActiveNode, + type OutOfBoundPosition, + type TActiveLeafIdentifier, + type TActiveNode, } from "./activeNode"; import { PositionUtils } from "../.."; diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.ts index 23586158..361b5a78 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.ts @@ -4,26 +4,30 @@ import * as PQP from "@microsoft/powerquery-parser"; import { AncestryUtils, - NodeIdMap, + type NodeIdMap, NodeIdMapIterator, NodeIdMapUtils, - TXorNode, - XorNode, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Assert, ResultUtils } from "@microsoft/powerquery-parser"; import { Ast, IdentifierUtils, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import type { Position, Range } from "vscode-languageserver-types"; -import { Token, TokenKind } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/token"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Position, type Range } from "vscode-languageserver-types"; +import { type Token, TokenKind } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/token"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { ActiveNode, ActiveNodeUtils, TActiveNode } from "../activeNode"; -import { AutocompleteFieldAccess, InspectedFieldAccess, TriedAutocompleteFieldAccess } from "./commonTypes"; +import { type ActiveNode, ActiveNodeUtils, type TActiveNode } from "../activeNode"; +import { + type AutocompleteFieldAccess, + type InspectedFieldAccess, + type TriedAutocompleteFieldAccess, +} from "./commonTypes"; import { AutocompleteTraceConstant, calculateJaroWinkler, CompletionItemKind, PositionUtils, TextEdit } from "../.."; -import { TriedType, tryType } from "../type"; -import { AutocompleteItem } from "./autocompleteItem"; -import { InspectionSettings } from "../../inspectionSettings"; -import { TypeCache } from "../typeCache"; +import { type TriedType, tryType } from "../type"; +import { type AutocompleteItem } from "./autocompleteItem"; +import { type InspectionSettings } from "../../inspectionSettings"; +import { type TypeCache } from "../typeCache"; export function inspectFieldAccess( lexerSnapshot: PQP.Lexer.LexerSnapshot, diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.ts index b1a6e70b..5c2fed9e 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { CompletionItem } from "vscode-languageserver-types"; -import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type CompletionItem } from "vscode-languageserver-types"; +import { type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; export interface AutocompleteItem extends CompletionItem { readonly jaroWinklerScore: number; diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.ts index 0e451066..b0144839 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.ts @@ -2,14 +2,14 @@ // Licensed under the MIT license. import { CompletionItemKind, TextEdit } from "vscode-languageserver-types"; -import { Keyword, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type Keyword, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { Assert } from "@microsoft/powerquery-parser"; import { XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { AutocompleteItemProviderContext, Inspection } from "../../.."; -import type { AutocompleteItem } from "./autocompleteItem"; +import { type AutocompleteItemProviderContext, Inspection } from "../../.."; +import { type AutocompleteItem } from "./autocompleteItem"; import { calculateJaroWinkler } from "../../../jaroWinkler"; -import { Library } from "../../../library"; +import { type Library } from "../../../library"; export function fromKeywordKind(label: Keyword.KeywordKind, other?: string): AutocompleteItem { const jaroWinklerScore: number = other !== undefined ? calculateJaroWinkler(label, other) : 1; diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.ts index c5963a9d..1555797a 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.ts @@ -3,11 +3,11 @@ import * as PQP from "@microsoft/powerquery-parser"; import { Ast, Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { NodeIdMap, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type NodeIdMap, type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { ResultUtils } from "@microsoft/powerquery-parser"; -import { ActiveNode, ActiveNodeLeafKind, ActiveNodeUtils, TActiveNode } from "../../activeNode"; -import { AutocompleteItem, AutocompleteItemUtils } from "../autocompleteItem"; +import { type ActiveNode, ActiveNodeLeafKind, ActiveNodeUtils, type TActiveNode } from "../../activeNode"; +import { type AutocompleteItem, AutocompleteItemUtils } from "../autocompleteItem"; import { autocompleteKeywordDefault } from "./autocompleteKeywordDefault"; import { autocompleteKeywordErrorHandlingExpression } from "./autocompleteKeywordErrorHandlingExpression"; import { autocompleteKeywordIdentifierPairedExpression } from "./autocompleteKeywordIdentifierPairedExpression"; @@ -15,10 +15,10 @@ import { autocompleteKeywordLetExpression } from "./autocompleteKeywordLetExpres import { autocompleteKeywordListExpression } from "./autocompleteKeywordListExpression"; import { autocompleteKeywordSectionMember } from "./autocompleteKeywordSectionMember"; import { autocompleteKeywordTrailingText } from "./autocompleteKeywordTrailingText"; -import { InspectAutocompleteKeywordState } from "./commonTypes"; +import { type InspectAutocompleteKeywordState } from "./commonTypes"; import { PositionUtils } from "../../.."; -import { TrailingToken } from "../trailingToken"; -import { TriedAutocompleteKeyword } from "../commonTypes"; +import { type TrailingToken } from "../trailingToken"; +import { type TriedAutocompleteKeyword } from "../commonTypes"; export function tryAutocompleteKeyword( settings: PQP.CommonSettings, diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.ts index 0598ca04..68cf32dd 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.ts @@ -2,10 +2,10 @@ // Licensed under the MIT license. import { Ast, Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { ActiveNode, ActiveNodeLeafKind } from "../../activeNode"; -import { InspectAutocompleteKeywordState } from "./commonTypes"; +import { type ActiveNode, ActiveNodeLeafKind } from "../../activeNode"; +import { type InspectAutocompleteKeywordState } from "./commonTypes"; import { PositionUtils } from "../../.."; export function autocompleteKeywordDefault( diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.ts index ac6cf46c..b5af949f 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.ts @@ -2,12 +2,12 @@ // Licensed under the MIT license. import { Keyword, Token } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import type { Position } from "vscode-languageserver-types"; +import { type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Position } from "vscode-languageserver-types"; -import { InspectAutocompleteKeywordState } from "./commonTypes"; +import { type InspectAutocompleteKeywordState } from "./commonTypes"; import { PositionUtils } from "../../.."; -import { TrailingToken } from "../trailingToken"; +import { type TrailingToken } from "../trailingToken"; export function autocompleteKeywordErrorHandlingExpression( state: InspectAutocompleteKeywordState, diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.ts index 726522f7..bbf8cdf6 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.ts @@ -4,7 +4,7 @@ import { AncestryUtils, NodeIdMapUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Ast, Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { InspectAutocompleteKeywordState } from "./commonTypes"; +import { type InspectAutocompleteKeywordState } from "./commonTypes"; import { PositionUtils } from "../../.."; export function autocompleteKeywordIdentifierPairedExpression( diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.ts index 14953b40..c1b44a14 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.ts @@ -4,7 +4,7 @@ import { AncestryUtils, NodeIdMapIterator, - TXorNode, + type TXorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Ast, Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; @@ -12,7 +12,7 @@ import { Ast, Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser import { autocompleteKeywordDefault } from "./autocompleteKeywordDefault"; import { autocompleteKeywordRightMostLeaf } from "./common"; import { autocompleteKeywordTrailingText } from "./autocompleteKeywordTrailingText"; -import { InspectAutocompleteKeywordState } from "./commonTypes"; +import { type InspectAutocompleteKeywordState } from "./commonTypes"; import { PositionUtils } from "../../.."; export async function autocompleteKeywordLetExpression( diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.ts index 0055a29d..043b5ffb 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.ts @@ -1,12 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { AncestryUtils, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { AncestryUtils, type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Ast, Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { Assert } from "@microsoft/powerquery-parser"; -import { ActiveNode } from "../../activeNode"; -import { InspectAutocompleteKeywordState } from "./commonTypes"; +import { type ActiveNode } from "../../activeNode"; +import { type InspectAutocompleteKeywordState } from "./commonTypes"; import { PositionUtils } from "../../.."; export function autocompleteKeywordListExpression( diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.ts index f14f33c7..699ab5ee 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.ts @@ -4,14 +4,14 @@ import { AncestryUtils, NodeIdMapUtils, - TXorNode, - XorNode, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Ast, Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { autocompleteKeywordRightMostLeaf } from "./common"; -import { InspectAutocompleteKeywordState } from "./commonTypes"; +import { type InspectAutocompleteKeywordState } from "./commonTypes"; export function autocompleteKeywordSectionMember( state: InspectAutocompleteKeywordState, diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.ts index e08f145b..f25b9e9c 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.ts @@ -5,7 +5,7 @@ import * as PQP from "@microsoft/powerquery-parser"; import { Assert } from "@microsoft/powerquery-parser"; import { Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { TrailingToken } from "../trailingToken"; +import { type TrailingToken } from "../trailingToken"; export function autocompleteKeywordTrailingText( inspected: ReadonlyArray, diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.ts index 2d761797..dfb8821f 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.ts @@ -1,14 +1,18 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { AncestryUtils, NodeIdMapUtils, TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { + AncestryUtils, + NodeIdMapUtils, + type TXorNode, +} from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Assert, CommonError } from "@microsoft/powerquery-parser"; -import { Ast, Keyword, KeywordUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type Ast, type Keyword, KeywordUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { ActiveNode } from "../../activeNode"; -import { AutocompleteItem } from "../autocompleteItem"; +import { type ActiveNode } from "../../activeNode"; +import { type AutocompleteItem } from "../autocompleteItem"; import { autocompleteKeyword } from "./autocompleteKeyword"; -import { InspectAutocompleteKeywordState } from "./commonTypes"; +import { type InspectAutocompleteKeywordState } from "./commonTypes"; export async function autocompleteKeywordRightMostLeaf( state: InspectAutocompleteKeywordState, diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.ts index ab4a7717..a3514f96 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.ts @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { NodeIdMap, TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type NodeIdMap, type TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { ActiveNode } from "../../activeNode"; -import { TrailingToken } from "../trailingToken"; +import { type ActiveNode } from "../../activeNode"; +import { type TrailingToken } from "../trailingToken"; export interface InspectAutocompleteKeywordState { readonly nodeIdMapCollection: NodeIdMap.Collection; diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.ts index bf400bbf..daf8f49c 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.ts @@ -3,24 +3,24 @@ import { AncestryUtils, - NodeIdMap, + type NodeIdMap, NodeIdMapUtils, - TXorNode, - XorNode, + type TXorNode, + type XorNode, XorNodeKind, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Assert, CommonSettings, ResultUtils, TypeScriptUtils } from "@microsoft/powerquery-parser"; +import { Assert, type CommonSettings, ResultUtils, TypeScriptUtils } from "@microsoft/powerquery-parser"; import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Position, Range, TextEdit } from "vscode-languageserver-types"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Position, type Range, TextEdit } from "vscode-languageserver-types"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { LanguageConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/constant/constant"; -import { ActiveNode, ActiveNodeUtils, TActiveNode } from "../activeNode"; +import { type ActiveNode, ActiveNodeUtils, type TActiveNode } from "../activeNode"; import { AutocompleteTraceConstant, calculateJaroWinkler, CompletionItemKind, PositionUtils } from "../.."; -import { AutocompleteItem } from "./autocompleteItem"; -import { TrailingToken } from "./trailingToken"; -import { TriedAutocompleteLanguageConstant } from "./commonTypes"; +import { type AutocompleteItem } from "./autocompleteItem"; +import { type TrailingToken } from "./trailingToken"; +import { type TriedAutocompleteLanguageConstant } from "./commonTypes"; export function tryAutocompleteLanguageConstant( settings: CommonSettings, diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.ts b/src/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.ts index 97832547..e2a91fa5 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.ts @@ -3,20 +3,20 @@ import { AncestryUtils, - NodeIdMap, + type NodeIdMap, NodeIdMapUtils, - TXorNode, - XorNode, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Assert, CommonError, CommonSettings, ResultUtils, Trace } from "@microsoft/powerquery-parser"; +import { Assert, CommonError, type CommonSettings, ResultUtils, type Trace } from "@microsoft/powerquery-parser"; import { Ast, AstUtils, Constant, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { PrimitiveTypeConstant, PrimitiveTypeConstants, } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/constant/constant"; -import { ActiveNode, ActiveNodeUtils, TActiveNode } from "../activeNode"; +import { type ActiveNode, ActiveNodeUtils, type TActiveNode } from "../activeNode"; import { AutocompleteTraceConstant, calculateJaroWinkler, @@ -25,9 +25,9 @@ import { Range, TextEdit, } from "../.."; -import { AutocompleteItem } from "./autocompleteItem"; -import { TrailingToken } from "./trailingToken"; -import { TriedAutocompletePrimitiveType } from "./commonTypes"; +import { type AutocompleteItem } from "./autocompleteItem"; +import { type TrailingToken } from "./trailingToken"; +import { type TriedAutocompletePrimitiveType } from "./commonTypes"; export function tryAutocompletePrimitiveType( settings: CommonSettings, diff --git a/src/powerquery-language-services/inspection/autocomplete/autocompleteUtils.ts b/src/powerquery-language-services/inspection/autocomplete/autocompleteUtils.ts index 4bd67129..92aff0dd 100644 --- a/src/powerquery-language-services/inspection/autocomplete/autocompleteUtils.ts +++ b/src/powerquery-language-services/inspection/autocomplete/autocompleteUtils.ts @@ -3,8 +3,8 @@ import { ResultUtils } from "@microsoft/powerquery-parser"; -import { Autocomplete } from "./commonTypes"; -import { AutocompleteItem } from "./autocompleteItem"; +import { type Autocomplete } from "./commonTypes"; +import { type AutocompleteItem } from "./autocompleteItem"; export function keys(autocomplete: Autocomplete): ReadonlyArray { let result: string[] = []; diff --git a/src/powerquery-language-services/inspection/autocomplete/commonTypes.ts b/src/powerquery-language-services/inspection/autocomplete/commonTypes.ts index b242c3d4..d03d53a7 100644 --- a/src/powerquery-language-services/inspection/autocomplete/commonTypes.ts +++ b/src/powerquery-language-services/inspection/autocomplete/commonTypes.ts @@ -1,12 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as PQP from "@microsoft/powerquery-parser"; -import { Range } from "vscode-languageserver-types"; -import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import type * as PQP from "@microsoft/powerquery-parser"; +import { type Range } from "vscode-languageserver-types"; +import { type TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { AutocompleteItem } from "./autocompleteItem"; +import { type AutocompleteItem } from "./autocompleteItem"; export type TriedAutocompleteFieldAccess = PQP.Result; diff --git a/src/powerquery-language-services/inspection/autocomplete/task.ts b/src/powerquery-language-services/inspection/autocomplete/task.ts index 328dcc2e..4f78879b 100644 --- a/src/powerquery-language-services/inspection/autocomplete/task.ts +++ b/src/powerquery-language-services/inspection/autocomplete/task.ts @@ -2,20 +2,20 @@ // Licensed under the MIT license. import * as PQP from "@microsoft/powerquery-parser"; -import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { Autocomplete } from "./commonTypes"; +import { type Autocomplete } from "./commonTypes"; import { AutocompleteTraceConstant } from "../.."; import { createTrailingToken } from "./trailingTokenUtils"; -import { InspectionSettings } from "../../inspectionSettings"; -import { TActiveNode } from "../activeNode"; -import { TrailingToken } from "./trailingToken"; +import { type InspectionSettings } from "../../inspectionSettings"; +import { type TActiveNode } from "../activeNode"; +import { type TrailingToken } from "./trailingToken"; import { tryAutocompleteFieldAccess } from "./autocompleteFieldAccess"; import { tryAutocompleteKeyword } from "./autocompleteKeyword/autocompleteKeyword"; import { tryAutocompleteLanguageConstant } from "./autocompleteLanguageConstant"; import { tryAutocompletePrimitiveType } from "./autocompletePrimitiveType"; -import { TypeCache } from "../typeCache"; +import { type TypeCache } from "../typeCache"; // Given some Position and ParseState, return autocomplete suggestions. export async function autocomplete( diff --git a/src/powerquery-language-services/inspection/autocomplete/trailingToken.ts b/src/powerquery-language-services/inspection/autocomplete/trailingToken.ts index 45a7fc37..a5c6fecc 100644 --- a/src/powerquery-language-services/inspection/autocomplete/trailingToken.ts +++ b/src/powerquery-language-services/inspection/autocomplete/trailingToken.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as PQP from "@microsoft/powerquery-parser"; -import { TokenPositionComparison } from "../../tokenPositionComparison"; +import type * as PQP from "@microsoft/powerquery-parser"; +import { type TokenPositionComparison } from "../../tokenPositionComparison"; // A ParseError includes the token it failed to parse. // This is that token plus a flag for where it is in relation to a Position. diff --git a/src/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.ts b/src/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.ts index f50817a5..4387aa82 100644 --- a/src/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.ts +++ b/src/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.ts @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as PQP from "@microsoft/powerquery-parser"; -import type { Position } from "vscode-languageserver-types"; +import type * as PQP from "@microsoft/powerquery-parser"; +import { type Position } from "vscode-languageserver-types"; import { PositionUtils, TokenPositionComparison } from "../.."; -import { TrailingToken } from "./trailingToken"; +import { type TrailingToken } from "./trailingToken"; export function createTrailingToken(position: Position, parseErrorToken: PQP.Language.Token.Token): TrailingToken { const tokenStartComparison: TokenPositionComparison = PositionUtils.compareTokenPosition( diff --git a/src/powerquery-language-services/inspection/commonTypes.ts b/src/powerquery-language-services/inspection/commonTypes.ts index cfd84f8c..c133f161 100644 --- a/src/powerquery-language-services/inspection/commonTypes.ts +++ b/src/powerquery-language-services/inspection/commonTypes.ts @@ -1,14 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as PQP from "@microsoft/powerquery-parser"; +import type * as PQP from "@microsoft/powerquery-parser"; -import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Inspection } from ".."; -import { TActiveNode } from "./activeNode"; -import { TriedExpectedType } from "./expectedType"; -import { TriedNodeScope } from "./scope"; -import { TypeCache } from "./typeCache"; +import { type Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type Inspection } from ".."; +import { type TActiveNode } from "./activeNode"; +import { type TriedExpectedType } from "./expectedType"; +import { type TriedNodeScope } from "./scope"; +import { type TypeCache } from "./typeCache"; export type TriedInspection = PQP.Result; diff --git a/src/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.ts b/src/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.ts index 8b5f0183..3315cb60 100644 --- a/src/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.ts +++ b/src/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.ts @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { TPowerQueryType } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/type/type"; -import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type TPowerQueryType } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/type/type"; +import { type TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { TScopeItem } from "../scope"; +import { type TScopeItem } from "../scope"; export enum DereferencedIdentifierKind { External = "External", diff --git a/src/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.ts b/src/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.ts index fd1a9323..a04676f9 100644 --- a/src/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.ts +++ b/src/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.ts @@ -5,23 +5,23 @@ import * as PQP from "@microsoft/powerquery-parser"; import { Assert, ResultUtils } from "@microsoft/powerquery-parser"; import { Ast, AstUtils, IdentifierExpressionUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { - AstXorNode, - NodeIdMap, + type AstXorNode, + type NodeIdMap, NodeIdMapUtils, - TXorNode, + type TXorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { TPowerQueryType } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/type/type"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TPowerQueryType } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/type/type"; -import { assertGetOrCreateNodeScope, ScopeById, ScopeItemKind, TScopeItem } from "../scope"; +import { assertGetOrCreateNodeScope, type ScopeById, ScopeItemKind, type TScopeItem } from "../scope"; import { - DereferencedIdentifierExternal, + type DereferencedIdentifierExternal, DereferencedIdentifierKind, - DereferencedIdentifierUndefined, - TDereferencedIdentifier, + type DereferencedIdentifierUndefined, + type TDereferencedIdentifier, } from "././dereferencedIdentifier"; -import { ExternalTypeUtils, Inspection, InspectionSettings, TraceUtils } from "../.."; +import { ExternalTypeUtils, type Inspection, type InspectionSettings, TraceUtils } from "../.."; import { InspectionTraceConstant } from "../../trace"; // Recursively dereference the identifier until it reaches either: diff --git a/src/powerquery-language-services/inspection/expectedType.ts b/src/powerquery-language-services/inspection/expectedType.ts index ef0a0ac9..78ce9419 100644 --- a/src/powerquery-language-services/inspection/expectedType.ts +++ b/src/powerquery-language-services/inspection/expectedType.ts @@ -4,10 +4,10 @@ import * as PQP from "@microsoft/powerquery-parser"; import { Assert, ResultUtils } from "@microsoft/powerquery-parser"; import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { ActiveNode, ActiveNodeLeafKind, ActiveNodeUtils, TActiveNode } from "./activeNode"; +import { type ActiveNode, ActiveNodeLeafKind, ActiveNodeUtils, type TActiveNode } from "./activeNode"; import { InspectionTraceConstant } from "../trace"; export type TriedExpectedType = PQP.Result; diff --git a/src/powerquery-language-services/inspection/invokeExpression/common.ts b/src/powerquery-language-services/inspection/invokeExpression/common.ts index 5f67890e..d474e6d7 100644 --- a/src/powerquery-language-services/inspection/invokeExpression/common.ts +++ b/src/powerquery-language-services/inspection/invokeExpression/common.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Type, type TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; export interface IInvokeExpression { readonly invokeExpressionXorNode: TXorNode; diff --git a/src/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.ts b/src/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.ts index 5deaff1a..16e01f3e 100644 --- a/src/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.ts +++ b/src/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.ts @@ -4,19 +4,19 @@ import * as PQP from "@microsoft/powerquery-parser"; import { AncestryUtils, - NodeIdMap, + type NodeIdMap, NodeIdMapUtils, - TXorNode, + type TXorNode, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { ResultUtils } from "@microsoft/powerquery-parser"; -import { ActiveNode, ActiveNodeUtils, TActiveNode } from "../activeNode"; -import { IInvokeExpression, InvokeExpressionArguments } from "./common"; -import { InvokeExpression, TriedInvokeExpression, tryInvokeExpression } from "./invokeExpression"; -import { TypeCache, TypeCacheUtils } from "../typeCache"; -import { InspectionSettings } from "../../inspectionSettings"; +import { type ActiveNode, ActiveNodeUtils, type TActiveNode } from "../activeNode"; +import { type IInvokeExpression, type InvokeExpressionArguments } from "./common"; +import { type InvokeExpression, type TriedInvokeExpression, tryInvokeExpression } from "./invokeExpression"; +import { type TypeCache, TypeCacheUtils } from "../typeCache"; +import { type InspectionSettings } from "../../inspectionSettings"; import { InspectionTraceConstant } from "../.."; // An inspection of the inner most invoke expression for an ActiveNode. diff --git a/src/powerquery-language-services/inspection/invokeExpression/index.ts b/src/powerquery-language-services/inspection/invokeExpression/index.ts index 47556b77..d49f57ad 100644 --- a/src/powerquery-language-services/inspection/invokeExpression/index.ts +++ b/src/powerquery-language-services/inspection/invokeExpression/index.ts @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -export { InvokeExpressionArguments } from "./common"; +export { type InvokeExpressionArguments } from "./common"; export * from "./currentInvokeExpression"; export * from "./invokeExpression"; diff --git a/src/powerquery-language-services/inspection/invokeExpression/invokeExpression.ts b/src/powerquery-language-services/inspection/invokeExpression/invokeExpression.ts index 5d9b77b0..5f6011fc 100644 --- a/src/powerquery-language-services/inspection/invokeExpression/invokeExpression.ts +++ b/src/powerquery-language-services/inspection/invokeExpression/invokeExpression.ts @@ -3,21 +3,21 @@ import * as PQP from "@microsoft/powerquery-parser"; import { Assert, ResultUtils } from "@microsoft/powerquery-parser"; -import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { Ast, type Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { - NodeIdMap, + type NodeIdMap, NodeIdMapIterator, NodeIdMapUtils, - TXorNode, + type TXorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { assertGetOrCreateNodeScope, NodeScope, ScopeItemKind, TScopeItem } from "../scope"; -import { IInvokeExpression, InvokeExpressionArguments } from "./common"; -import { TriedType, tryType } from "../type"; -import { TypeCache, TypeCacheUtils } from "../typeCache"; -import { InspectionSettings } from "../../inspectionSettings"; +import { assertGetOrCreateNodeScope, type NodeScope, ScopeItemKind, type TScopeItem } from "../scope"; +import { type IInvokeExpression, type InvokeExpressionArguments } from "./common"; +import { type TriedType, tryType } from "../type"; +import { type TypeCache, TypeCacheUtils } from "../typeCache"; +import { type InspectionSettings } from "../../inspectionSettings"; import { InspectionTraceConstant } from "../../trace"; // An inspection of an arbitrary invoke expression. diff --git a/src/powerquery-language-services/inspection/pseudoFunctionExpressionType.ts b/src/powerquery-language-services/inspection/pseudoFunctionExpressionType.ts index 6213be2d..7c17edfc 100644 --- a/src/powerquery-language-services/inspection/pseudoFunctionExpressionType.ts +++ b/src/powerquery-language-services/inspection/pseudoFunctionExpressionType.ts @@ -3,11 +3,11 @@ import { Ast, AstUtils, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { - NodeIdMap, + type NodeIdMap, NodeIdMapIterator, NodeIdMapUtils, - TXorNode, - XorNode, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; diff --git a/src/powerquery-language-services/inspection/scope/scope.ts b/src/powerquery-language-services/inspection/scope/scope.ts index aadb55cf..582f740c 100644 --- a/src/powerquery-language-services/inspection/scope/scope.ts +++ b/src/powerquery-language-services/inspection/scope/scope.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as PQP from "@microsoft/powerquery-parser"; -import { Ast, Constant, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import type * as PQP from "@microsoft/powerquery-parser"; +import { type Ast, type Constant, type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; // Keys are identifier literals. export type ScopeTypeByKey = Map; diff --git a/src/powerquery-language-services/inspection/scope/scopeInspection.ts b/src/powerquery-language-services/inspection/scope/scopeInspection.ts index 4898bec4..95e6cb91 100644 --- a/src/powerquery-language-services/inspection/scope/scopeInspection.ts +++ b/src/powerquery-language-services/inspection/scope/scopeInspection.ts @@ -4,35 +4,35 @@ import * as PQP from "@microsoft/powerquery-parser"; import { AncestryUtils, - NodeIdMap, + type NodeIdMap, NodeIdMapIterator, NodeIdMapUtils, - TXorNode, + type TXorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Ast, IdentifierUtils, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { ICancellationToken, MapUtils, ResultUtils } from "@microsoft/powerquery-parser"; -import { PrimitiveTypeConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/constant/constant"; +import { type ICancellationToken, MapUtils, ResultUtils } from "@microsoft/powerquery-parser"; +import { type PrimitiveTypeConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/constant/constant"; -import { Inspection, InspectionTraceConstant, TraceUtils } from "../.."; +import { type Inspection, InspectionTraceConstant, TraceUtils } from "../.."; import { - LetVariableScopeItem, - NodeScope, - ParameterScopeItem, - RecordFieldScopeItem, - ScopeById, + type LetVariableScopeItem, + type NodeScope, + type ParameterScopeItem, + type RecordFieldScopeItem, + type ScopeById, ScopeItemKind, - SectionMemberScopeItem, - TriedNodeScope, - TScopeItem, + type SectionMemberScopeItem, + type TriedNodeScope, + type TScopeItem, } from "./scope"; import { - PseduoFunctionExpressionType, + type PseduoFunctionExpressionType, pseudoFunctionExpressionType, - PseudoFunctionParameterType, + type PseudoFunctionParameterType, } from "../pseudoFunctionExpressionType"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { TypeById } from "../typeCache"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TypeById } from "../typeCache"; // Builds a scope for the given node. export async function tryNodeScope( diff --git a/src/powerquery-language-services/inspection/scope/scopeUtils.ts b/src/powerquery-language-services/inspection/scope/scopeUtils.ts index ce6eabca..e7eb0cba 100644 --- a/src/powerquery-language-services/inspection/scope/scopeUtils.ts +++ b/src/powerquery-language-services/inspection/scope/scopeUtils.ts @@ -2,30 +2,30 @@ // Licensed under the MIT license. import * as PQP from "@microsoft/powerquery-parser"; import { - AstNodeById, - ParentIdById, + type AstNodeById, + type ParentIdById, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser/nodeIdMap/nodeIdMap"; import { - EachExpression, - FunctionExpression, - LetExpression, - RecordExpression, - RecordLiteral, - SectionMember, + type EachExpression, + type FunctionExpression, + type LetExpression, + type RecordExpression, + type RecordLiteral, + type SectionMember, } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/ast/ast"; import { - EachScopeItem, - LetVariableScopeItem, - NodeScope, - ParameterScopeItem, - RecordFieldScopeItem, + type EachScopeItem, + type LetVariableScopeItem, + type NodeScope, + type ParameterScopeItem, + type RecordFieldScopeItem, ScopeItemKind, - SectionMemberScopeItem, - TScopeItem, - UndefinedScopeItem, + type SectionMemberScopeItem, + type TScopeItem, + type UndefinedScopeItem, } from "./scope"; import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; export * from "./scope"; export * from "./scopeInspection"; diff --git a/src/powerquery-language-services/inspection/task.ts b/src/powerquery-language-services/inspection/task.ts index f1f0841a..4a3ce7bb 100644 --- a/src/powerquery-language-services/inspection/task.ts +++ b/src/powerquery-language-services/inspection/task.ts @@ -3,26 +3,26 @@ import * as PQP from "@microsoft/powerquery-parser"; import { - AstNodeById, - ChildIdsById, + type AstNodeById, + type ChildIdsById, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser/nodeIdMap/nodeIdMap"; -import { NodeIdMap, TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type NodeIdMap, type TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import type { Position } from "vscode-languageserver-types"; +import { type Position } from "vscode-languageserver-types"; -import { ActiveNodeUtils, TActiveNode } from "./activeNode"; +import { ActiveNodeUtils, type TActiveNode } from "./activeNode"; import { findDirectUpperScopeExpression, findScopeItemByLiteral, scopeCreatorIdentifier } from "./scope/scopeUtils"; -import { Inspection, InspectionTraceConstant } from ".."; -import { TriedExpectedType, tryExpectedType } from "./expectedType"; -import { TriedNodeScope, tryNodeScope, TScopeItem } from "./scope"; -import { TriedScopeType, tryScopeType } from "./type"; -import { TypeCache, TypeCacheUtils } from "./typeCache"; +import { type Inspection, InspectionTraceConstant } from ".."; +import { type TriedExpectedType, tryExpectedType } from "./expectedType"; +import { type TriedNodeScope, tryNodeScope, type TScopeItem } from "./scope"; +import { type TriedScopeType, tryScopeType } from "./type"; +import { type TypeCache, TypeCacheUtils } from "./typeCache"; import { autocomplete } from "./autocomplete"; -import { Inspected } from "./commonTypes"; -import { InspectionSettings } from "../inspectionSettings"; -import { TriedCurrentInvokeExpression } from "./invokeExpression"; +import { type Inspected } from "./commonTypes"; +import { type InspectionSettings } from "../inspectionSettings"; +import { type TriedCurrentInvokeExpression } from "./invokeExpression"; import { tryCurrentInvokeExpression } from "./invokeExpression/currentInvokeExpression"; export class InspectionInstance implements Inspected { diff --git a/src/powerquery-language-services/inspection/type/inspectType/common.ts b/src/powerquery-language-services/inspection/type/inspectType/common.ts index 193bb1f8..2449f2e4 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/common.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/common.ts @@ -4,12 +4,12 @@ import * as PQP from "@microsoft/powerquery-parser"; import { Assert, ResultUtils } from "@microsoft/powerquery-parser"; import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Inspection, InspectionTraceConstant, TraceUtils } from "../../.."; -import { InspectTypeState, InspectTypeStateUtils } from "./inspectTypeState"; -import { NodeScope, ParameterScopeItem, ScopeItemKind, tryNodeScope, TScopeItem } from "../../scope"; +import { type InspectTypeState, InspectTypeStateUtils } from "./inspectTypeState"; +import { type NodeScope, type ParameterScopeItem, ScopeItemKind, tryNodeScope, type TScopeItem } from "../../scope"; import { inspectTypeConstant } from "./inspectTypeConstant"; import { inspectTypeEachExpression } from "./inspectTypeEachExpression"; import { inspectTypeErrorHandlingExpression } from "./inspectTypeErrorHandlingExpression"; @@ -35,7 +35,7 @@ import { inspectTypeRecursivePrimaryExpression } from "./inspectTypeRecursivePri import { inspectTypeTableType } from "./inspectTypeTableType"; import { inspectTypeTBinOpExpression } from "./inspectTypeTBinOpExpression"; import { inspectTypeUnaryExpression } from "./inspectTypeUnaryExpression"; -import { TDereferencedIdentifier } from "../../dereferencedIdentifier"; +import { type TDereferencedIdentifier } from "../../dereferencedIdentifier"; import { tryBuildDereferencedIdentifierPath } from "../../dereferencedIdentifier/dereferencedIdentifierUtils"; // Recursively flattens all AnyUnion.unionedTypePairs into a single array, diff --git a/src/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.ts b/src/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.ts index 5f1cc665..e80c28f3 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.ts @@ -1,21 +1,21 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { Ast, type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { - NodeIdMap, + type NodeIdMap, NodeIdMapIterator, NodeIdMapUtils, - TXorNode, + type TXorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { ArrayUtils } from "@microsoft/powerquery-parser"; -import { FieldSpecificationKeyValuePair } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser/nodeIdMap/nodeIdMapIterator"; -import { Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type FieldSpecificationKeyValuePair } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser/nodeIdMap/nodeIdMapIterator"; +import { type Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { InspectionTraceConstant, TraceUtils } from "../../.."; import { inspectTypeFieldSpecification } from "./inspectTypeFieldSpecification"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; export interface ExaminedFieldSpecificationList { readonly fields: Map; diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.ts index f8ce84dc..72d13155 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { Ast, Constant, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; export function inspectTypeConstant(xorNode: TXorNode): Type.TPowerQueryType { XorNodeUtils.assertIsNodeKind(xorNode, Ast.NodeKind.Constant); diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.ts index 989ce4c3..ffd36d0a 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.ts @@ -2,12 +2,12 @@ // Licensed under the MIT license. import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { InspectionTraceConstant, TraceUtils } from "../../.."; import { inspectTypeFromChildAttributeIndex } from "./common"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; export async function inspectTypeEachExpression( state: InspectTypeState, diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.ts index 7faae809..60386ba1 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.ts @@ -5,15 +5,15 @@ import * as PQP from "@microsoft/powerquery-parser"; import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { NodeIdMapUtils, - TXorNode, - XorNode, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { InspectionTraceConstant, TraceUtils } from "../../.."; import { inspectTypeFromChildAttributeIndex } from "./common"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; export async function inspectTypeErrorHandlingExpression( state: InspectTypeState, diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.ts index 73b2803d..14357213 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.ts @@ -1,19 +1,19 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { Ast, type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { - NodeIdMap, + type NodeIdMap, NodeIdMapUtils, - TXorNode, + type TXorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { assertGetOrCreateNodeScope, inspectXor } from "../common"; -import { EachScopeItem, ScopeItemKind, ScopeUtils } from "../../../scope"; +import { type EachScopeItem, ScopeItemKind, ScopeUtils } from "../../../scope"; import { InspectionTraceConstant, TraceUtils } from "../../../.."; -import { InspectTypeState } from "../inspectTypeState"; +import { type InspectTypeState } from "../inspectTypeState"; // A field selection/projection is an operation a target value, // where the target is either an EachExpression or a RecursivePrimaryExpression. diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.ts index 22f31f19..084741dd 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.ts @@ -6,14 +6,14 @@ import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquer import { NodeIdMapIterator, NodeIdMapUtils, - TXorNode, + type TXorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { InspectionTraceConstant, TraceUtils } from "../../../.."; import { inspectFieldType } from "./common"; -import { InspectTypeState } from "../inspectTypeState"; +import { type InspectTypeState } from "../inspectTypeState"; export async function inspectTypeFieldProjection( state: InspectTypeState, diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.ts index 9b12f72d..05e73785 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.ts @@ -2,12 +2,12 @@ // Licensed under the MIT license. import { Ast, IdentifierUtils, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { NodeIdMapUtils, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { NodeIdMapUtils, type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { InspectionTraceConstant, TraceUtils } from "../../../.."; import { inspectFieldType } from "./common"; -import { InspectTypeState } from "../inspectTypeState"; +import { type InspectTypeState } from "../inspectTypeState"; // A field selection/projection is an operation done on some value. // The target can be either an EachExpression or a RecursivePrimaryExpression. diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.ts index c4abff4c..93b0949e 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.ts @@ -2,11 +2,11 @@ // Licensed under the MIT license. import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { NodeIdMapUtils, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { NodeIdMapUtils, type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { InspectionTraceConstant, TraceUtils } from "../../.."; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; import { inspectXor } from "./common"; export async function inspectTypeFieldSpecification( diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.ts index 38288776..9052861b 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.ts @@ -2,18 +2,18 @@ // Licensed under the MIT license. import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Assert } from "@microsoft/powerquery-parser"; import { allForAnyUnion, inspectTypeFromChildAttributeIndex } from "./common"; import { InspectionTraceConstant, TraceUtils } from "../../.."; import { - PseduoFunctionExpressionType, + type PseduoFunctionExpressionType, pseudoFunctionExpressionType, - PseudoFunctionParameterType, + type PseudoFunctionParameterType, } from "../../pseudoFunctionExpressionType"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; import { TypeStrategy } from "../../../inspectionSettings"; export async function inspectTypeFunctionExpression( diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.ts index bca85633..8a282a58 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.ts @@ -7,15 +7,15 @@ import { InspectionTraceConstant, TraceUtils } from "../../.."; import { NodeIdMapIterator, NodeIdMapUtils, - TXorNode, - XorNode, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Assert } from "@microsoft/powerquery-parser"; import { inspectTypeFromChildAttributeIndex } from "./common"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; import { TypeStrategy } from "../../../inspectionSettings"; export async function inspectTypeFunctionType( diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.ts index b26ace9f..17684f7b 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.ts @@ -2,12 +2,12 @@ // Licensed under the MIT license. import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { InspectionTraceConstant, TraceUtils } from "../../.."; import { dereferencedIdentifierType } from "./common"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; export async function inspectTypeIdentifier( state: InspectTypeState, diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.ts index 5bfb16e8..e14ca528 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.ts @@ -2,12 +2,12 @@ // Licensed under the MIT license. import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { InspectionTraceConstant, TraceUtils } from "../../.."; import { dereferencedIdentifierType } from "./common"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; export async function inspectTypeIdentifierExpression( state: InspectTypeState, diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.ts index a79b7814..63266688 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.ts @@ -2,12 +2,12 @@ // Licensed under the MIT license. import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { TXorNode, XorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TXorNode, type XorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { allForAnyUnion, inspectTypeFromChildAttributeIndex } from "./common"; import { InspectionTraceConstant, TraceUtils } from "../../.."; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; export async function inspectTypeIfExpression( state: InspectTypeState, diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.ts index 1d0380fd..879da863 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.ts @@ -1,22 +1,22 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as PQP from "@microsoft/powerquery-parser"; +import type * as PQP from "@microsoft/powerquery-parser"; import { Assert, ResultUtils } from "@microsoft/powerquery-parser"; import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { NodeIdMapIterator, NodeIdMapUtils, - TXorNode, - XorNode, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { DereferencedIdentifierKind, TDereferencedIdentifier } from "../../dereferencedIdentifier"; -import { ExternalType, ExternalTypeUtils } from "../../../externalType"; +import { DereferencedIdentifierKind, type TDereferencedIdentifier } from "../../dereferencedIdentifier"; +import { type ExternalType, ExternalTypeUtils } from "../../../externalType"; import { InspectionTraceConstant, TraceUtils } from "../../.."; -import { InspectTypeState, InspectTypeStateUtils } from "./inspectTypeState"; +import { type InspectTypeState, InspectTypeStateUtils } from "./inspectTypeState"; import { inspectXor } from "./common"; import { tryBuildDereferencedIdentifierPath } from "../../dereferencedIdentifier/dereferencedIdentifierUtils"; diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeList.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeList.ts index 4dc77ce7..3c1afd6c 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeList.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeList.ts @@ -1,13 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { NodeIdMapIterator, TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { NodeIdMapIterator, type TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Assert } from "@microsoft/powerquery-parser"; import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { InspectionTraceConstant, TraceUtils } from "../../.."; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; import { inspectXor } from "./common"; import { TypeStrategy } from "../../../inspectionSettings"; diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.ts index bc1909d0..b9b9e17c 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.ts @@ -2,12 +2,12 @@ // Licensed under the MIT license. import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { NodeIdMapUtils, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { NodeIdMapUtils, type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Assert } from "@microsoft/powerquery-parser"; import { InspectionTraceConstant, TraceUtils } from "../../.."; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; import { inspectXor } from "./common"; import { TypeStrategy } from "../../../inspectionSettings"; diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.ts index d3f595b7..6453034a 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.ts @@ -2,12 +2,12 @@ // Licensed under the MIT license. import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { TXorNode, XorNodeKind, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TXorNode, XorNodeKind, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Assert } from "@microsoft/powerquery-parser"; import { InspectionTraceConstant, TraceUtils } from "../../.."; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; export function inspectTypeLiteralExpression( state: InspectTypeState, diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.ts index d961096e..feaa63c7 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.ts @@ -2,12 +2,12 @@ // Licensed under the MIT license. import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { NodeIdMapUtils, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { NodeIdMapUtils, type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { InspectionTraceConstant, TraceUtils } from "../../.."; import { inspectTypeFromChildAttributeIndex } from "./common"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; export async function inspectTypeNullCoalescingExpression( state: InspectTypeState, diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.ts index bf5d3a7f..566b53e4 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.ts @@ -1,13 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { NodeIdMapUtils, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { Ast, type Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { NodeIdMapUtils, type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { InspectionTraceConstant, TraceUtils } from "../../.."; import { inspectTypeFromChildAttributeIndex } from "./common"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; export async function inspectTypeParameter( state: InspectTypeState, diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.ts index 750466b3..ffacbdfc 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.ts @@ -2,11 +2,11 @@ // Licensed under the MIT license. import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { InspectionTraceConstant, TraceUtils } from "../../.."; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; export function inspectTypePrimitiveType( state: InspectTypeState, diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.ts index cac6f91d..e9d0bac8 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.ts @@ -2,13 +2,13 @@ // Licensed under the MIT license. import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Assert } from "@microsoft/powerquery-parser"; import { InspectionTraceConstant, TraceUtils } from "../../.."; import { inspectTypeFromChildAttributeIndex } from "./common"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; import { TypeStrategy } from "../../../inspectionSettings"; export async function inspectTypeRangeExpression( diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.ts index 9ded035e..6265ff5c 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.ts @@ -1,13 +1,17 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { NodeIdMapIterator, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { + NodeIdMapIterator, + type TXorNode, + XorNodeUtils, +} from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Assert } from "@microsoft/powerquery-parser"; import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { InspectionTraceConstant, TraceUtils } from "../../.."; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; import { inspectXor } from "./common"; import { TypeStrategy } from "../../../inspectionSettings"; diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.ts index fbef939f..5d668825 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.ts @@ -2,13 +2,13 @@ // Licensed under the MIT license. import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { NodeIdMapUtils, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { NodeIdMapUtils, type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Assert } from "@microsoft/powerquery-parser"; import { InspectionTraceConstant, TraceUtils } from "../../.."; import { examineFieldSpecificationList } from "./examineFieldSpecificationList"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; import { TypeStrategy } from "../../../inspectionSettings"; export async function inspectTypeRecordType( diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.ts index 71c3e787..697b68f3 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.ts @@ -6,14 +6,14 @@ import { InspectionTraceConstant, TraceUtils } from "../../.."; import { NodeIdMapIterator, NodeIdMapUtils, - TXorNode, - XorNode, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { inspectTypeFromChildAttributeIndex, inspectXor } from "./common"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; export async function inspectTypeRecursivePrimaryExpression( state: InspectTypeState, diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.ts index 32de8722..f030463c 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.ts @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { InspectionSettings } from "../../../../inspectionSettings"; -import { ScopeById } from "../../../scope"; -import { TypeById } from "../../../typeCache"; +import { type InspectionSettings } from "../../../../inspectionSettings"; +import { type ScopeById } from "../../../scope"; +import { type TypeById } from "../../../typeCache"; export interface InspectTypeState extends InspectionSettings { readonly typeById: TypeById; diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.ts index 00fd490c..f6dd4ee1 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.ts @@ -1,12 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { InspectionSettings } from "../../../../inspectionSettings"; -import { InspectTypeState } from "./inspectTypeState"; -import { TypeCache } from "../../../typeCache"; +import { type InspectionSettings } from "../../../../inspectionSettings"; +import { type InspectTypeState } from "./inspectTypeState"; +import { type TypeCache } from "../../../typeCache"; export function toInspectionSettings(inspectTypeState: InspectTypeState, trace: Trace): InspectionSettings { return { diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.ts index 42815b40..0bbf932e 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.ts @@ -3,12 +3,22 @@ import * as PQP from "@microsoft/powerquery-parser"; import { Assert, CommonError } from "@microsoft/powerquery-parser"; -import { Ast, AstUtils, Constant, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { NodeIdMapIterator, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { + type Ast, + AstUtils, + Constant, + Type, + TypeUtils, +} from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { + NodeIdMapIterator, + type TXorNode, + XorNodeUtils, +} from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { InspectionTraceConstant, TraceUtils } from "../../.."; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; import { inspectXor } from "./common"; type TRecordOrTable = Type.TRecord | Type.TTable; diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.ts index 329c8fa4..731237db 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.ts @@ -2,13 +2,13 @@ // Licensed under the MIT license. import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { NodeIdMapUtils, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { NodeIdMapUtils, type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Assert } from "@microsoft/powerquery-parser"; import { InspectionTraceConstant, TraceUtils } from "../../.."; import { examineFieldSpecificationList } from "./examineFieldSpecificationList"; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; import { inspectXor } from "./common"; import { TypeStrategy } from "../../../inspectionSettings"; diff --git a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.ts b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.ts index bfa48e3e..f9ddb663 100644 --- a/src/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.ts +++ b/src/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.ts @@ -3,18 +3,18 @@ import { Ast, Constant, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { - NodeIdMap, + type NodeIdMap, NodeIdMapIterator, NodeIdMapUtils, - TXorNode, - XorNode, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Assert } from "@microsoft/powerquery-parser"; import { InspectionTraceConstant, TraceUtils } from "../../.."; -import { InspectTypeState } from "./inspectTypeState"; +import { type InspectTypeState } from "./inspectTypeState"; import { inspectXor } from "./common"; export async function inspectTypeUnaryExpression( diff --git a/src/powerquery-language-services/inspection/type/task.ts b/src/powerquery-language-services/inspection/type/task.ts index 00d723f8..4865e3e8 100644 --- a/src/powerquery-language-services/inspection/type/task.ts +++ b/src/powerquery-language-services/inspection/type/task.ts @@ -1,17 +1,17 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as PQP from "@microsoft/powerquery-parser"; +import type * as PQP from "@microsoft/powerquery-parser"; import { MapUtils, ResultUtils } from "@microsoft/powerquery-parser"; -import { NodeIdMap, NodeIdMapUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type NodeIdMap, NodeIdMapUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { assertGetOrCreateNodeScope, getOrCreateScopeItemType, inspectXor } from "./inspectType"; -import { InspectionSettings, InspectionTraceConstant } from "../.."; -import { InspectTypeState, InspectTypeStateUtils } from "./inspectType/inspectTypeState"; -import { NodeScope, ScopeTypeByKey } from "../scope"; -import { TypeCache, TypeCacheUtils } from "../typeCache"; +import { type InspectionSettings, InspectionTraceConstant } from "../.."; +import { type InspectTypeState, InspectTypeStateUtils } from "./inspectType/inspectTypeState"; +import { type NodeScope, type ScopeTypeByKey } from "../scope"; +import { type TypeCache, TypeCacheUtils } from "../typeCache"; export type TriedScopeType = PQP.Result; diff --git a/src/powerquery-language-services/inspection/typeCache/typeCache.ts b/src/powerquery-language-services/inspection/typeCache/typeCache.ts index e97c7b05..3601b288 100644 --- a/src/powerquery-language-services/inspection/typeCache/typeCache.ts +++ b/src/powerquery-language-services/inspection/typeCache/typeCache.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { ScopeById } from "../scope"; +import { type ScopeById } from "../scope"; export type TypeById = Map; diff --git a/src/powerquery-language-services/inspection/typeCache/typeCacheUtils.ts b/src/powerquery-language-services/inspection/typeCache/typeCacheUtils.ts index 9798f42c..ff7fce7a 100644 --- a/src/powerquery-language-services/inspection/typeCache/typeCacheUtils.ts +++ b/src/powerquery-language-services/inspection/typeCache/typeCacheUtils.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { TypeCache } from "./typeCache"; +import { type TypeCache } from "./typeCache"; // A cache that can be re-used for successive calls under the same document. export function emptyCache(): TypeCache { diff --git a/src/powerquery-language-services/inspectionSettings.ts b/src/powerquery-language-services/inspectionSettings.ts index 91ea4007..7141af53 100644 --- a/src/powerquery-language-services/inspectionSettings.ts +++ b/src/powerquery-language-services/inspectionSettings.ts @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as PQP from "@microsoft/powerquery-parser"; +import type * as PQP from "@microsoft/powerquery-parser"; -import { Library } from "./library"; -import { TypeById } from "./inspection"; +import { type Library } from "./library"; +import { type TypeById } from "./inspection"; export enum TypeStrategy { // Allow evaluation of extended types (such as AnyUnion). diff --git a/src/powerquery-language-services/inspectionUtils.ts b/src/powerquery-language-services/inspectionUtils.ts index 85f2a41a..102fff08 100644 --- a/src/powerquery-language-services/inspectionUtils.ts +++ b/src/powerquery-language-services/inspectionUtils.ts @@ -1,14 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import * as PQP from "@microsoft/powerquery-parser"; +import type * as PQP from "@microsoft/powerquery-parser"; import { Assert, ResultUtils } from "@microsoft/powerquery-parser"; import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { DocumentSymbol, SymbolKind } from "vscode-languageserver-types"; +import { type DocumentSymbol, SymbolKind } from "vscode-languageserver-types"; import { Inspection, PositionUtils } from "."; -import { InspectionSettings, TypeStrategy } from "./inspectionSettings"; -import { AutocompleteItemProviderContext } from "./providers/commonTypes"; +import { type InspectionSettings, TypeStrategy } from "./inspectionSettings"; +import { type AutocompleteItemProviderContext } from "./providers/commonTypes"; import { AutocompleteItemUtils } from "./inspection/autocomplete"; import { Library } from "./library"; diff --git a/src/powerquery-language-services/library/library.ts b/src/powerquery-language-services/library/library.ts index d0363493..7b13a675 100644 --- a/src/powerquery-language-services/library/library.ts +++ b/src/powerquery-language-services/library/library.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { CompletionItemKind } from "vscode-languageserver-types"; -import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type CompletionItemKind } from "vscode-languageserver-types"; +import { type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { ExternalType } from "../externalType"; diff --git a/src/powerquery-language-services/library/libraryDefinitionUtils.ts b/src/powerquery-language-services/library/libraryDefinitionUtils.ts index 01848f39..2e251272 100644 --- a/src/powerquery-language-services/library/libraryDefinitionUtils.ts +++ b/src/powerquery-language-services/library/libraryDefinitionUtils.ts @@ -1,19 +1,23 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { CompletionItemKind, ParameterInformation, SignatureInformation } from "vscode-languageserver-types"; -import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { + type CompletionItemKind, + type ParameterInformation, + type SignatureInformation, +} from "vscode-languageserver-types"; +import { type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { - LibraryConstant, + type LibraryConstant, LibraryDefinitionKind, - LibraryDefinitions, - LibraryFunction, - LibraryParameter, - LibraryType, - TLibraryDefinition, + type LibraryDefinitions, + type LibraryFunction, + type LibraryParameter, + type LibraryType, + type TLibraryDefinition, } from "./library"; -import { ExternalType } from "../externalType"; +import { type ExternalType } from "../externalType"; export function assertAsConstant(definition: TLibraryDefinition | undefined): LibraryConstant { assertIsConstant(definition); diff --git a/src/powerquery-language-services/library/librarySymbolUtils.ts b/src/powerquery-language-services/library/librarySymbolUtils.ts index 243623cc..966ddc05 100644 --- a/src/powerquery-language-services/library/librarySymbolUtils.ts +++ b/src/powerquery-language-services/library/librarySymbolUtils.ts @@ -1,13 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { ArrayUtils, ErrorResult, Result, ResultUtils } from "@microsoft/powerquery-parser"; +import { ArrayUtils, type ErrorResult, type Result, ResultUtils } from "@microsoft/powerquery-parser"; import { Constant, ConstantUtils, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { NoOpTraceManagerInstance } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { ExternalType, ExternalTypeUtils } from "../externalType"; +import { type ExternalType, ExternalTypeUtils } from "../externalType"; import { Library, LibraryDefinitionUtils } from "../library"; -import { LibrarySymbol, LibrarySymbolFunctionParameter } from "./librarySymbol"; +import { type LibrarySymbol, type LibrarySymbolFunctionParameter } from "./librarySymbol"; import { CompletionItemKind } from "../commonTypes"; // Created when non-zero conversion errors occur. diff --git a/src/powerquery-language-services/library/libraryUtils.ts b/src/powerquery-language-services/library/libraryUtils.ts index 2f24173b..adaf8a88 100644 --- a/src/powerquery-language-services/library/libraryUtils.ts +++ b/src/powerquery-language-services/library/libraryUtils.ts @@ -1,11 +1,17 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { ParameterInformation, SignatureInformation } from "vscode-languageserver-types"; +import { type ParameterInformation, type SignatureInformation } from "vscode-languageserver-types"; import { Assert } from "@microsoft/powerquery-parser"; import { IdentifierExpressionUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { ILibrary, LibraryDefinitionKind, LibraryFunction, LibraryParameter, TLibraryDefinition } from "./library"; +import { + type ILibrary, + LibraryDefinitionKind, + type LibraryFunction, + type LibraryParameter, + type TLibraryDefinition, +} from "./library"; import { LibraryDefinitionUtils } from "."; export function getDefinition(library: ILibrary, identifierLiteral: string): TLibraryDefinition | undefined { diff --git a/src/powerquery-language-services/localization/localization.ts b/src/powerquery-language-services/localization/localization.ts index 1d59f526..4df2ab9d 100644 --- a/src/powerquery-language-services/localization/localization.ts +++ b/src/powerquery-language-services/localization/localization.ts @@ -1,6 +1,6 @@ import { StringUtils } from "@microsoft/powerquery-parser"; -import { ILocalizationTemplates } from "./templates"; +import { type ILocalizationTemplates } from "./templates"; interface ILocalization { error_validation_duplicate_identifier: (templates: ILocalizationTemplates, identifier: string) => string; diff --git a/src/powerquery-language-services/localization/localizationUtils.ts b/src/powerquery-language-services/localization/localizationUtils.ts index 7da00647..7fa2992e 100644 --- a/src/powerquery-language-services/localization/localizationUtils.ts +++ b/src/powerquery-language-services/localization/localizationUtils.ts @@ -1,4 +1,4 @@ -import { DefaultTemplates, ILocalizationTemplates, TemplatesByLocale } from "./templates"; +import { DefaultTemplates, type ILocalizationTemplates, TemplatesByLocale } from "./templates"; export function getLocalizationTemplates(locale: string): ILocalizationTemplates { return TemplatesByLocale.get(locale.toLowerCase()) ?? DefaultTemplates; diff --git a/src/powerquery-language-services/positionUtils.ts b/src/powerquery-language-services/positionUtils.ts index 53192cae..f87ca5b1 100644 --- a/src/powerquery-language-services/positionUtils.ts +++ b/src/powerquery-language-services/positionUtils.ts @@ -3,14 +3,14 @@ import * as PQP from "@microsoft/powerquery-parser"; import { - NodeIdMap, + type NodeIdMap, NodeIdMapUtils, - TXorNode, + type TXorNode, XorNodeKind, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import type { Position, Range } from "vscode-languageserver-types"; +import { type Position, type Range } from "vscode-languageserver-types"; import { Assert } from "@microsoft/powerquery-parser"; -import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { TokenPositionComparison } from "./tokenPositionComparison"; export function compareTokenPosition( diff --git a/src/powerquery-language-services/providers/commonTypes.ts b/src/powerquery-language-services/providers/commonTypes.ts index acbc128a..e7980179 100644 --- a/src/powerquery-language-services/providers/commonTypes.ts +++ b/src/powerquery-language-services/providers/commonTypes.ts @@ -1,24 +1,24 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import type { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { CommonError, ICancellationToken, Result } from "@microsoft/powerquery-parser"; -import type { - FoldingRange, - Hover, - Location, - Range, - SemanticTokenModifiers, - SemanticTokenTypes, - SignatureHelp, +import { type Ast, type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type CommonError, type ICancellationToken, type Result } from "@microsoft/powerquery-parser"; +import { + type FoldingRange, + type Hover, + type Location, + type Range, + type SemanticTokenModifiers, + type SemanticTokenTypes, + type SignatureHelp, } from "vscode-languageserver-types"; -import { NodeIdMap, ParseState } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type NodeIdMap, type ParseState } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import type { Autocomplete, TriedCurrentInvokeExpression } from "../inspection"; -import { Inspection, InspectionSettings } from ".."; -import type { AutocompleteItem } from "../inspection/autocomplete/autocompleteItem"; -import type { ILibrary } from "../library/library"; +import { type Autocomplete, type TriedCurrentInvokeExpression } from "../inspection"; +import { type Inspection, type InspectionSettings } from ".."; +import { type AutocompleteItem } from "../inspection/autocomplete/autocompleteItem"; +import { type ILibrary } from "../library/library"; export interface IAutocompleteItemProvider { getAutocompleteItems( diff --git a/src/powerquery-language-services/providers/languageCompletionItemProvider.ts b/src/powerquery-language-services/providers/languageCompletionItemProvider.ts index b162ed73..8034ee94 100644 --- a/src/powerquery-language-services/providers/languageCompletionItemProvider.ts +++ b/src/powerquery-language-services/providers/languageCompletionItemProvider.ts @@ -1,12 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { CommonError, ICancellationToken, Result, ResultUtils } from "@microsoft/powerquery-parser"; +import { type CommonError, type ICancellationToken, type Result, ResultUtils } from "@microsoft/powerquery-parser"; import { KeywordKind } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/keyword/keyword"; -import { Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { AutocompleteItemProviderContext, IAutocompleteItemProvider } from "./commonTypes"; -import { Inspection } from ".."; +import { type AutocompleteItemProviderContext, type IAutocompleteItemProvider } from "./commonTypes"; +import { type Inspection } from ".."; import { ProviderTraceConstant } from "../trace"; export class LanguageAutocompleteItemProvider implements IAutocompleteItemProvider { diff --git a/src/powerquery-language-services/providers/libraryProvider.ts b/src/powerquery-language-services/providers/libraryProvider.ts index de4d7696..85d45b88 100644 --- a/src/powerquery-language-services/providers/libraryProvider.ts +++ b/src/powerquery-language-services/providers/libraryProvider.ts @@ -1,20 +1,20 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Assert, CommonError, Result, ResultUtils } from "@microsoft/powerquery-parser"; -import { Hover, MarkupKind, SignatureHelp, SignatureInformation } from "vscode-languageserver-types"; -import { Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { Assert, type CommonError, type Result, ResultUtils } from "@microsoft/powerquery-parser"; +import { type Hover, MarkupKind, type SignatureHelp, type SignatureInformation } from "vscode-languageserver-types"; +import { type Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { - AutocompleteItemProviderContext, - HoverProviderContext, - ILibraryProvider, - SignatureProviderContext, + type AutocompleteItemProviderContext, + type HoverProviderContext, + type ILibraryProvider, + type SignatureProviderContext, } from "./commonTypes"; import { Library, LibraryDefinitionUtils, LibraryUtils } from "../library"; import { AutocompleteItemUtils } from "../inspection"; -import { Inspection } from ".."; +import { type Inspection } from ".."; import { ProviderTraceConstant } from "../trace"; export class LibraryProvider implements ILibraryProvider { diff --git a/src/powerquery-language-services/providers/localDocumentProvider/foldingRanges.ts b/src/powerquery-language-services/providers/localDocumentProvider/foldingRanges.ts index 5cf4561f..1c7bfdd3 100644 --- a/src/powerquery-language-services/providers/localDocumentProvider/foldingRanges.ts +++ b/src/powerquery-language-services/providers/localDocumentProvider/foldingRanges.ts @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { NodeIdMap, NodeIdMapUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type NodeIdMap, NodeIdMapUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, type TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { FoldingRange } from "vscode-languageserver-types"; -import { TokenRange } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/token"; +import { type FoldingRange } from "vscode-languageserver-types"; +import { type TokenRange } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/token"; import { ProviderTraceConstant } from "../../trace"; diff --git a/src/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.ts b/src/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.ts index d1a0c8e3..258d0a0e 100644 --- a/src/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.ts +++ b/src/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.ts @@ -3,30 +3,37 @@ import { AncestryUtils, - NodeIdMap, + type NodeIdMap, NodeIdMapUtils, - TXorNode, + type TXorNode, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { CommonError, Result, ResultUtils } from "@microsoft/powerquery-parser"; -import { DocumentUri, FoldingRange, Hover, Location, MarkupKind, SignatureHelp } from "vscode-languageserver-types"; -import { Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { Ast, type Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type CommonError, type Result, ResultUtils } from "@microsoft/powerquery-parser"; +import { + type DocumentUri, + type FoldingRange, + type Hover, + type Location, + MarkupKind, + type SignatureHelp, +} from "vscode-languageserver-types"; +import { type Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import * as InspectionUtils from "../../inspectionUtils"; import { - AutocompleteItemProviderContext, - DefinitionProviderContext, - FoldingRangeProviderContext, - HoverProviderContext, - ILocalDocumentProvider, - PartialSemanticToken, - SemanticTokenProviderContext, - SignatureProviderContext, + type AutocompleteItemProviderContext, + type DefinitionProviderContext, + type FoldingRangeProviderContext, + type HoverProviderContext, + type ILocalDocumentProvider, + type PartialSemanticToken, + type SemanticTokenProviderContext, + type SignatureProviderContext, } from "../commonTypes"; import { Inspection, PositionUtils } from "../.."; import { createFoldingRanges } from "./foldingRanges"; import { createPartialSemanticTokens } from "./partialSemanticToken"; -import { ILibrary } from "../../library/library"; +import { type ILibrary } from "../../library/library"; import { ProviderTraceConstant } from "../../trace"; import { ScopeUtils } from "../../inspection"; diff --git a/src/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.ts b/src/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.ts index b2e74cfe..32851f81 100644 --- a/src/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.ts +++ b/src/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.ts @@ -1,20 +1,20 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Assert, ICancellationToken } from "@microsoft/powerquery-parser"; +import { Assert, type ICancellationToken } from "@microsoft/powerquery-parser"; import { - NodeIdMap, + type NodeIdMap, NodeIdMapUtils, - TXorNode, - XorNode, + type TXorNode, + type XorNode, XorNodeUtils, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { SemanticTokenModifiers, SemanticTokenTypes } from "vscode-languageserver-types"; -import { Trace, TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace, type TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Library, PositionUtils } from "../.."; -import { PartialSemanticToken } from "../commonTypes"; +import { type Library, PositionUtils } from "../.."; +import { type PartialSemanticToken } from "../commonTypes"; import { ProviderTraceConstant } from "../../trace"; export function createPartialSemanticTokens( diff --git a/src/powerquery-language-services/providers/nullSymbolProvider.ts b/src/powerquery-language-services/providers/nullSymbolProvider.ts index 19adfae6..3b10462a 100644 --- a/src/powerquery-language-services/providers/nullSymbolProvider.ts +++ b/src/powerquery-language-services/providers/nullSymbolProvider.ts @@ -1,30 +1,30 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { CommonError, Result, ResultUtils } from "@microsoft/powerquery-parser"; -import { FoldingRange, Location } from "vscode-languageserver-types"; +import { type CommonError, type Result, ResultUtils } from "@microsoft/powerquery-parser"; +import { type FoldingRange, type Location } from "vscode-languageserver-types"; import { - AutocompleteItemProviderContext, - DefinitionProviderContext, - HoverProviderContext, - PartialSemanticToken, - ProviderContext, - SignatureProviderContext, + type AutocompleteItemProviderContext, + type DefinitionProviderContext, + type HoverProviderContext, + type PartialSemanticToken, + type ProviderContext, + type SignatureProviderContext, } from "./commonTypes"; import { - IAutocompleteItemProvider, - IDefinitionProvider, - IFoldingRangeProvider, - IHoverProvider, - ISemanticTokenProvider, - ISignatureHelpProvider, + type IAutocompleteItemProvider, + type IDefinitionProvider, + type IFoldingRangeProvider, + type IHoverProvider, + type ISemanticTokenProvider, + type ISignatureHelpProvider, } from "../providers"; -import { ExternalType, Library } from ".."; -import { Hover, SignatureHelp } from "../commonTypes"; +import { ExternalType, type Library } from ".."; +import { type Hover, type SignatureHelp } from "../commonTypes"; -import { AutocompleteItem } from "../inspection/autocomplete"; +import { type AutocompleteItem } from "../inspection/autocomplete"; export class NullSymbolProvider implements diff --git a/src/powerquery-language-services/traceUtils.ts b/src/powerquery-language-services/traceUtils.ts index d0d78bc6..e496ac61 100644 --- a/src/powerquery-language-services/traceUtils.ts +++ b/src/powerquery-language-services/traceUtils.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Ast, type Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; export function typeDetails(powerQueryType: Type.TPowerQueryType): TypeDetails { return { diff --git a/src/powerquery-language-services/validate/validate.ts b/src/powerquery-language-services/validate/validate.ts index 8906c80f..e0add756 100644 --- a/src/powerquery-language-services/validate/validate.ts +++ b/src/powerquery-language-services/validate/validate.ts @@ -1,21 +1,25 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { NodeIdMap, ParseError, ParseState } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Diagnostic } from "vscode-languageserver-types"; -import { TextDocument } from "vscode-languageserver-textdocument"; -import { Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; - -import { Analysis, AnalysisSettings, AnalysisUtils } from "../analysis"; -import { CommonError, Result, ResultUtils } from "@microsoft/powerquery-parser"; -import { TypeCache } from "../inspection"; +import { + type NodeIdMap, + type ParseError, + type ParseState, +} from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Diagnostic } from "vscode-languageserver-types"; +import { type TextDocument } from "vscode-languageserver-textdocument"; +import { type Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; + +import { type Analysis, type AnalysisSettings, AnalysisUtils } from "../analysis"; +import { type CommonError, type Result, ResultUtils } from "@microsoft/powerquery-parser"; +import { type TypeCache } from "../inspection"; import { validateDuplicateIdentifiers } from "./validateDuplicateIdentifiers"; import { validateFunctionExpression } from "./validateFunctionExpression"; import { validateInvokeExpression } from "./validateInvokeExpression"; -import type { ValidateOk } from "./validateOk"; +import { type ValidateOk } from "./validateOk"; import { validateParse } from "./validateParse"; import { validateUnknownIdentifiers } from "./validateUnknownIdentifiers"; -import type { ValidationSettings } from "./validationSettings"; +import { type ValidationSettings } from "./validationSettings"; import { ValidationTraceConstant } from "../trace"; export function validate( diff --git a/src/powerquery-language-services/validate/validateDuplicateIdentifiers.ts b/src/powerquery-language-services/validate/validateDuplicateIdentifiers.ts index f04f5b5d..17a9cb73 100644 --- a/src/powerquery-language-services/validate/validateDuplicateIdentifiers.ts +++ b/src/powerquery-language-services/validate/validateDuplicateIdentifiers.ts @@ -2,22 +2,27 @@ // Licensed under the MIT license. import * as PQP from "@microsoft/powerquery-parser"; -import { Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DocumentUri } from "vscode-languageserver-types"; import { - NodeIdMap, + type Diagnostic, + type DiagnosticRelatedInformation, + DiagnosticSeverity, + type DocumentUri, +} from "vscode-languageserver-types"; +import { + type NodeIdMap, NodeIdMapIterator, NodeIdMapUtils, - TXorNode, + type TXorNode, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { ICancellationToken } from "@microsoft/powerquery-parser"; -import { TextDocument } from "vscode-languageserver-textdocument"; -import { Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type ICancellationToken } from "@microsoft/powerquery-parser"; +import { type TextDocument } from "vscode-languageserver-textdocument"; +import { type Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Localization, LocalizationUtils } from "../localization"; import { DiagnosticErrorCode } from "../diagnosticErrorCode"; import { PositionUtils } from ".."; -import { ValidationSettings } from "./validationSettings"; +import { type ValidationSettings } from "./validationSettings"; import { ValidationTraceConstant } from "../trace"; export function validateDuplicateIdentifiers( diff --git a/src/powerquery-language-services/validate/validateFunctionExpression.ts b/src/powerquery-language-services/validate/validateFunctionExpression.ts index cfab5de7..207fe17c 100644 --- a/src/powerquery-language-services/validate/validateFunctionExpression.ts +++ b/src/powerquery-language-services/validate/validateFunctionExpression.ts @@ -1,22 +1,22 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Diagnostic, DiagnosticSeverity } from "vscode-languageserver-types"; +import { type Diagnostic, DiagnosticSeverity } from "vscode-languageserver-types"; import { - NodeIdMap, + type NodeIdMap, NodeIdMapIterator, NodeIdMapUtils, - TXorNode, + type TXorNode, } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Range } from "vscode-languageserver-textdocument"; -import { Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Range } from "vscode-languageserver-textdocument"; +import { type Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Localization, LocalizationUtils } from "../localization"; import { DiagnosticErrorCode } from "../diagnosticErrorCode"; -import { ILocalizationTemplates } from "../localization/templates"; +import { type ILocalizationTemplates } from "../localization/templates"; import { PositionUtils } from ".."; -import { ValidationSettings } from "./validationSettings"; +import { type ValidationSettings } from "./validationSettings"; import { ValidationTraceConstant } from "../trace"; // Check for repeat parameter names for FunctionExpressions. diff --git a/src/powerquery-language-services/validate/validateInvokeExpression.ts b/src/powerquery-language-services/validate/validateInvokeExpression.ts index 37f254e9..b285ca5a 100644 --- a/src/powerquery-language-services/validate/validateInvokeExpression.ts +++ b/src/powerquery-language-services/validate/validateInvokeExpression.ts @@ -3,16 +3,20 @@ import { Assert, ResultUtils } from "@microsoft/powerquery-parser"; import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Diagnostic, DiagnosticSeverity } from "vscode-languageserver-types"; -import { NodeIdMap, NodeIdMapUtils, TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import type { Range } from "vscode-languageserver-textdocument"; +import { type Diagnostic, DiagnosticSeverity } from "vscode-languageserver-types"; +import { + type NodeIdMap, + NodeIdMapUtils, + type TXorNode, +} from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Trace, TraceConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Range } from "vscode-languageserver-textdocument"; import { Inspection, PositionUtils } from ".."; import { Localization, LocalizationUtils } from "../localization"; import { DiagnosticErrorCode } from "../diagnosticErrorCode"; -import { ILocalizationTemplates } from "../localization/templates"; -import { ValidationSettings } from "./validationSettings"; +import { type ILocalizationTemplates } from "../localization/templates"; +import { type ValidationSettings } from "./validationSettings"; import { ValidationTraceConstant } from "../trace"; export async function validateInvokeExpression( diff --git a/src/powerquery-language-services/validate/validateOk.ts b/src/powerquery-language-services/validate/validateOk.ts index 77c0f116..2841efe7 100644 --- a/src/powerquery-language-services/validate/validateOk.ts +++ b/src/powerquery-language-services/validate/validateOk.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import type { Diagnostic } from "vscode-languageserver-types"; +import { type Diagnostic } from "vscode-languageserver-types"; export interface ValidateOk { readonly diagnostics: Diagnostic[]; diff --git a/src/powerquery-language-services/validate/validateParse.ts b/src/powerquery-language-services/validate/validateParse.ts index 06e14527..5faf10db 100644 --- a/src/powerquery-language-services/validate/validateParse.ts +++ b/src/powerquery-language-services/validate/validateParse.ts @@ -2,12 +2,16 @@ // Licensed under the MIT license. import * as PQP from "@microsoft/powerquery-parser"; -import { Diagnostic, DiagnosticSeverity, Range } from "vscode-languageserver-types"; -import { NodeIdMapUtils, ParseContext, ParseError } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { type Diagnostic, DiagnosticSeverity, type Range } from "vscode-languageserver-types"; +import { + NodeIdMapUtils, + type ParseContext, + ParseError, +} from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { DiagnosticErrorCode } from "../diagnosticErrorCode"; -import { ValidationSettings } from "./validationSettings"; +import { type ValidationSettings } from "./validationSettings"; export async function validateParse( parseError: ParseError.ParseError | undefined, diff --git a/src/powerquery-language-services/validate/validateUnknownIdentifiers.ts b/src/powerquery-language-services/validate/validateUnknownIdentifiers.ts index b02acb8a..6424c505 100644 --- a/src/powerquery-language-services/validate/validateUnknownIdentifiers.ts +++ b/src/powerquery-language-services/validate/validateUnknownIdentifiers.ts @@ -2,19 +2,19 @@ // Licensed under the MIT license. import { ArrayUtils, ResultUtils } from "@microsoft/powerquery-parser"; -import { Diagnostic, DiagnosticSeverity } from "vscode-languageserver-types"; -import { NodeIdMap, NodeIdMapUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Diagnostic, DiagnosticSeverity } from "vscode-languageserver-types"; +import { type NodeIdMap, NodeIdMapUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; +import { type Trace } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { Inspection, LibraryUtils, PositionUtils } from ".."; import { Localization, LocalizationUtils } from "../localization"; import { calculateJaroWinklers } from "../jaroWinkler"; import { DiagnosticErrorCode } from "../diagnosticErrorCode"; import { ExternalTypeRequestKind } from "../externalType/externalType"; -import { ILocalizationTemplates } from "../localization/templates"; -import { TriedNodeScope } from "../inspection"; -import { ValidationSettings } from "./validationSettings"; +import { type ILocalizationTemplates } from "../localization/templates"; +import { type TriedNodeScope } from "../inspection"; +import { type ValidationSettings } from "./validationSettings"; import { ValidationTraceConstant } from "../trace"; export async function validateUnknownIdentifiers( diff --git a/src/powerquery-language-services/validate/validationSettings/validationSettings.ts b/src/powerquery-language-services/validate/validationSettings/validationSettings.ts index b3ce67c9..8f22a79c 100644 --- a/src/powerquery-language-services/validate/validationSettings/validationSettings.ts +++ b/src/powerquery-language-services/validate/validationSettings/validationSettings.ts @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { ICancellationToken } from "@microsoft/powerquery-parser"; +import { type ICancellationToken } from "@microsoft/powerquery-parser"; -import { InspectionSettings } from "../../inspectionSettings"; -import { Library } from "../../library"; +import { type InspectionSettings } from "../../inspectionSettings"; +import { type Library } from "../../library"; export interface ValidationSettings extends InspectionSettings { readonly cancellationToken: ICancellationToken | undefined; diff --git a/src/powerquery-language-services/validate/validationSettings/validationSettingsUtils.ts b/src/powerquery-language-services/validate/validationSettings/validationSettingsUtils.ts index 12d94a75..21e1daa3 100644 --- a/src/powerquery-language-services/validate/validationSettings/validationSettingsUtils.ts +++ b/src/powerquery-language-services/validate/validationSettings/validationSettingsUtils.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { InspectionSettings } from "../.."; -import { ValidationSettings } from "./validationSettings"; +import { type InspectionSettings } from "../.."; +import { type ValidationSettings } from "./validationSettings"; /** Creates a ValidationSettings instance by: * 1. shallow copying InspectionSettings diff --git a/src/test/analysis.test.ts b/src/test/analysis.test.ts index 67e13f3f..f1cdf95f 100644 --- a/src/test/analysis.test.ts +++ b/src/test/analysis.test.ts @@ -1,30 +1,32 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; import { Assert, CommonError, DefaultLocale, ExpiredCancellationToken, - Result, + type Result, ResultUtils, } from "@microsoft/powerquery-parser"; -import { expect } from "chai"; - -import type { - Analysis, - AnalysisSettings, - Hover, - Inspection, - Library, - Position, - SignatureHelp, +import { describe, expect, it } from "bun:test"; + +import { + type Analysis, + type AnalysisSettings, + type Hover, + type Inspection, + type Library, + type Position, + type SignatureHelp, } from "../powerquery-language-services"; -import type { AutocompleteItem, TypeCache } from "../powerquery-language-services/inspection"; -import { ILibraryProvider, ILocalDocumentProvider } from "../powerquery-language-services/providers/commonTypes"; +import { type AutocompleteItem, type TypeCache } from "../powerquery-language-services/inspection"; +import { + type ILibraryProvider, + type ILocalDocumentProvider, +} from "../powerquery-language-services/providers/commonTypes"; import { TestConstants, TestUtils } from "."; -import { ILibrary } from "../powerquery-language-services/library/library"; +import { type ILibrary } from "../powerquery-language-services/library/library"; import { SlowLibraryProvider } from "./providers/slowLibraryProvider.test"; import { SlowLocalDocumentProvider } from "./providers/slowLocalDocumentProvider.test"; @@ -45,9 +47,9 @@ describe(`Analysis`, () => { ), ); - expect(autocompleteItem.jaroWinklerScore).to.equal(1); + expect(autocompleteItem.jaroWinklerScore).toBe(1); expect(autocompleteItem.label === TestConstants.TestLibraryName.SquareIfNumber); - expect(autocompleteItem.documentation).to.equal(undefined, `local definition should have no documentation`); + expect(autocompleteItem.documentation).toBeUndefined(); // local definition should have no documentation }); }); diff --git a/src/test/documentSymbols.test.ts b/src/test/documentSymbols.test.ts index f9af4cfd..7c0694df 100644 --- a/src/test/documentSymbols.test.ts +++ b/src/test/documentSymbols.test.ts @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; +import { describe, it } from "bun:test"; import { NoOpCancellationToken } from "@microsoft/powerquery-parser"; import { TestConstants, TestUtils } from "."; -import { AbridgedDocumentSymbol } from "./testUtils"; +import { type AbridgedDocumentSymbol } from "./testUtils"; import { SymbolKind } from "../powerquery-language-services"; describe("getDocumentSymbols", () => { diff --git a/src/test/externalConsumption.test.ts b/src/test/externalConsumption.test.ts index be278494..a296e0f7 100644 --- a/src/test/externalConsumption.test.ts +++ b/src/test/externalConsumption.test.ts @@ -1,19 +1,24 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; -import { Assert, CommonError, NoOpCancellationToken, Result, ResultUtils } from "@microsoft/powerquery-parser"; -import { expect } from "chai"; +import { + Assert, + type CommonError, + NoOpCancellationToken, + type Result, + ResultUtils, +} from "@microsoft/powerquery-parser"; +import { describe, expect, it } from "bun:test"; import { NoOpTraceManagerInstance } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { - Analysis, - AnalysisSettings, + type Analysis, + type AnalysisSettings, AnalysisUtils, CompletionItemKind, DiagnosticSeverity, - Hover, - Position, + type Hover, + type Position, SymbolKind, textDocument, } from "../powerquery-language-services"; @@ -47,19 +52,19 @@ describe("External consumption", () => { }); it("CompletionItemKind", () => { - expect(CompletionItemKind.Text).to.equal(1); - expect(CompletionItemKind.Keyword).to.equal(14); + expect(CompletionItemKind.Text).toBe(1); + expect(CompletionItemKind.Keyword).toBe(14); }); it("DiagnosticSeverity", () => { - expect(DiagnosticSeverity.Error).to.equal(1); - expect(DiagnosticSeverity.Warning).to.equal(2); - expect(DiagnosticSeverity.Information).to.equal(3); - expect(DiagnosticSeverity.Hint).to.equal(4); + expect(DiagnosticSeverity.Error).toBe(1); + expect(DiagnosticSeverity.Warning).toBe(2); + expect(DiagnosticSeverity.Information).toBe(3); + expect(DiagnosticSeverity.Hint).toBe(4); }); it("SymbolKind", () => { - expect(SymbolKind.Function).to.equal(12); - expect(SymbolKind.Constant).to.equal(14); + expect(SymbolKind.Function).toBe(12); + expect(SymbolKind.Constant).toBe(14); }); }); diff --git a/src/test/inspection/activeNode.test.ts b/src/test/inspection/activeNode.test.ts index ad52dc73..459ef641 100644 --- a/src/test/inspection/activeNode.test.ts +++ b/src/test/inspection/activeNode.test.ts @@ -1,11 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; +import { describe, expect, it } from "bun:test"; import { DefaultSettings } from "@microsoft/powerquery-parser"; -import { expect } from "chai"; -import { ActiveNodeUtils, TActiveNode } from "../../powerquery-language-services/inspection"; +import { ActiveNodeUtils, type TActiveNode } from "../../powerquery-language-services/inspection"; import { TestUtils } from ".."; describe(`ActiveNodeUtils`, () => { @@ -21,7 +20,7 @@ describe(`ActiveNodeUtils`, () => { if (params.expected !== undefined) { ActiveNodeUtils.assertPositionInBounds(activeNode); - expect(activeNode.isInKey).to.equal(params.expected); + expect(activeNode.isInKey).toEqual(params.expected); } } diff --git a/src/test/inspection/autocomplete/autocompleteFieldAccess.test.ts b/src/test/inspection/autocomplete/autocompleteFieldAccess.test.ts index 05066bff..51c33d55 100644 --- a/src/test/inspection/autocomplete/autocompleteFieldAccess.test.ts +++ b/src/test/inspection/autocomplete/autocompleteFieldAccess.test.ts @@ -1,13 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; -import { ResultUtils, Task } from "@microsoft/powerquery-parser"; +import { describe, expect, it } from "bun:test"; +import { ResultUtils, type Task } from "@microsoft/powerquery-parser"; -import { ActiveNode, ActiveNodeUtils } from "../../../powerquery-language-services/inspection"; -import { Inspection, Position } from "../../../powerquery-language-services"; +import { type ActiveNode, ActiveNodeUtils } from "../../../powerquery-language-services/inspection"; +import { type Inspection, type Position } from "../../../powerquery-language-services"; import { TestConstants, TestUtils } from "../.."; -import { expect } from "chai"; import { inspectFieldAccess } from "../../../powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess"; describe(`Inspection - Autocomplete - FieldAccess`, () => { @@ -61,7 +60,7 @@ describe(`Inspection - Autocomplete - FieldAccess`, () => { activeNode, ); - expect(actual).to.deep.equal(expected); + expect(actual).toEqual(expected); } describe(`FieldSelection`, () => { diff --git a/src/test/inspection/autocomplete/autocompleteKeywordt.test.ts b/src/test/inspection/autocomplete/autocompleteKeywordt.test.ts index 1ed1c56e..ec775cf1 100644 --- a/src/test/inspection/autocomplete/autocompleteKeywordt.test.ts +++ b/src/test/inspection/autocomplete/autocompleteKeywordt.test.ts @@ -1,17 +1,16 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; +import { describe, expect, it } from "bun:test"; import { ExpressionKeywordKinds, KeywordKind, } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/keyword/keyword"; import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { expect } from "chai"; import { ResultUtils } from "@microsoft/powerquery-parser"; import { TestConstants, TestUtils } from "../.."; -import { Inspection } from "../../../powerquery-language-services"; +import { type Inspection } from "../../../powerquery-language-services"; describe(`Inspection - Autocomplete - Keyword`, () => { async function runTest(params: { @@ -29,7 +28,7 @@ describe(`Inspection - Autocomplete - Keyword`, () => { (item: Inspection.AutocompleteItem) => item.label, ); - expect(actualLabels).to.include.members(params.expected); + expect(actualLabels).toEqual(expect.arrayContaining(params.expected)); } it(`|`, async () => diff --git a/src/test/inspection/autocomplete/autocompleteLanguageConstant.test.ts b/src/test/inspection/autocomplete/autocompleteLanguageConstant.test.ts index 88792db1..6cb727e4 100644 --- a/src/test/inspection/autocomplete/autocompleteLanguageConstant.test.ts +++ b/src/test/inspection/autocomplete/autocompleteLanguageConstant.test.ts @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; +import { describe, it } from "bun:test"; import { LanguageConstant } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/constant/constant"; import { ResultUtils } from "@microsoft/powerquery-parser"; -import { Inspection } from "../../../powerquery-language-services"; +import { type Inspection } from "../../../powerquery-language-services"; import { TestUtils } from "../.."; describe(`Inspection - Autocomplete - Language constants`, () => { diff --git a/src/test/inspection/autocomplete/autocompletePrimitiveType.test.ts b/src/test/inspection/autocomplete/autocompletePrimitiveType.test.ts index a59c8602..f185ca93 100644 --- a/src/test/inspection/autocomplete/autocompletePrimitiveType.test.ts +++ b/src/test/inspection/autocomplete/autocompletePrimitiveType.test.ts @@ -1,13 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; +import { describe, it } from "bun:test"; import { PrimitiveTypeConstant, PrimitiveTypeConstants, } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/constant/constant"; -import { Inspection } from "../../../powerquery-language-services"; +import { type Inspection } from "../../../powerquery-language-services"; import { ResultUtils } from "@microsoft/powerquery-parser"; import { TestUtils } from "../.."; @@ -101,29 +101,29 @@ describe(`Inspection - Autocomplete - PrimitiveType`, () => { it(`type nullable |date`, async () => await expectDatePrimitiveTypeReplacements(`type nullable |date`)); - it(`type {|`, async () => await expectPrimitiveTypeInserts(`type {|`)); + it(`{|`, async () => await expectPrimitiveTypeInserts(`{|`)); - it(`type { |`, async () => await expectPrimitiveTypeInserts(`type { |`)); + it(`{ |`, async () => await expectPrimitiveTypeInserts(`{ |`)); - it(`type { number |`, async () => await expectNoPrimitiveTypeSuggestions(`type { number |`)); + it(`{ number |`, async () => await expectNoPrimitiveTypeSuggestions(`{ number |`)); - it(`type { number |}`, async () => await expectNoPrimitiveTypeSuggestions(`type { number |}`)); + it(`{ number |}`, async () => await expectNoPrimitiveTypeSuggestions(`{ number |}`)); - it(`type { number }|`, async () => await expectNoPrimitiveTypeSuggestions(`type { number }|`)); + it(`{ number }|`, async () => await expectNoPrimitiveTypeSuggestions(`{ number }|`)); - it(`type { date|`, async () => await expectDatePrimitiveTypeReplacements(`type { date|`)); + it(`{ date|`, async () => await expectDatePrimitiveTypeReplacements(`{ date|`)); - it(`type { |date`, async () => await expectDatePrimitiveTypeReplacements(`type { |date`)); + it(`{ |date`, async () => await expectDatePrimitiveTypeReplacements(`{ |date`)); - it(`type { | date`, async () => await expectNoPrimitiveTypeSuggestions(`type { | date`)); + it(`{ | date`, async () => await expectNoPrimitiveTypeSuggestions(`{ | date`)); - it(`type { date | `, async () => await expectNoPrimitiveTypeSuggestions(`type { date | `)); + it(`{ date | `, async () => await expectNoPrimitiveTypeSuggestions(`{ date | `)); - it(`type { date | } `, async () => await expectNoPrimitiveTypeSuggestions(`type { date | } `)); + it(`{ date | } `, async () => await expectNoPrimitiveTypeSuggestions(`{ date | } `)); - it(`type {date|}`, async () => await expectDatePrimitiveTypeReplacements(`type {date|}`)); + it(`{date|}`, async () => await expectDatePrimitiveTypeReplacements(`{date|}`)); - it(`type {|date}`, async () => await expectDatePrimitiveTypeReplacements(`type {|date}`)); + it(`{|date}`, async () => await expectDatePrimitiveTypeReplacements(`{|date}`)); it(`type [x =|`, async () => await expectPrimitiveTypeInserts(`type [x =|`)); diff --git a/src/test/inspection/currentInvokeExpression.test.ts b/src/test/inspection/currentInvokeExpression.test.ts index b69820e9..16263103 100644 --- a/src/test/inspection/currentInvokeExpression.test.ts +++ b/src/test/inspection/currentInvokeExpression.test.ts @@ -1,151 +1,151 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; +import { describe, expect, it } from "bun:test"; + import * as PQP from "@microsoft/powerquery-parser"; import { Assert, ResultUtils } from "@microsoft/powerquery-parser"; -import { Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { expect } from "chai"; +import { type Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { TestConstants, TestUtils } from ".."; -import { CurrentInvokeExpressionArguments } from "../../powerquery-language-services/inspection"; -import { Inspection } from "../../powerquery-language-services"; +import { type CurrentInvokeExpressionArguments } from "../../powerquery-language-services/inspection"; +import { type Inspection } from "../../powerquery-language-services"; function expectNoParameters_givenExtraneousParameter(inspected: Inspection.CurrentInvokeExpression): void { - expect(inspected.name).to.equal(TestConstants.TestLibraryName.CreateFooAndBarRecord); + expect(inspected.name).toBe(TestConstants.TestLibraryName.CreateFooAndBarRecord); Assert.isDefined(inspected.arguments); const invokeArgs: CurrentInvokeExpressionArguments = inspected.arguments; - expect(invokeArgs.argumentOrdinal).to.equal(0); - expect(invokeArgs.givenArgumentTypes).to.deep.equal([TypeUtils.numberLiteral(false, `1`)]); - expect(invokeArgs.givenArguments.length).to.equal(1); - expect(invokeArgs.numMaxExpectedArguments).to.equal(0); - expect(invokeArgs.numMinExpectedArguments).to.equal(0); - expect(invokeArgs.typeChecked.extraneous.length).to.equal(1); - expect(invokeArgs.typeChecked.invalid.size).to.equal(0); - expect(invokeArgs.typeChecked.missing.length).to.equal(0); - expect(invokeArgs.typeChecked.valid.length).to.equal(0); - - expect(invokeArgs.typeChecked.extraneous.includes(0)).to.equal(true); + expect(invokeArgs.argumentOrdinal).toBe(0); + expect(invokeArgs.givenArgumentTypes).toEqual([TypeUtils.numberLiteral(false, `1`)]); + expect(invokeArgs.givenArguments.length).toBe(1); + expect(invokeArgs.numMaxExpectedArguments).toBe(0); + expect(invokeArgs.numMinExpectedArguments).toBe(0); + expect(invokeArgs.typeChecked.extraneous.length).toBe(1); + expect(invokeArgs.typeChecked.invalid.size).toBe(0); + expect(invokeArgs.typeChecked.missing.length).toBe(0); + expect(invokeArgs.typeChecked.valid.length).toBe(0); + + expect(invokeArgs.typeChecked.extraneous.includes(0)).toBe(true); } function expectText_givenNothing(inspected: Inspection.CurrentInvokeExpression): void { - expect(inspected.name).to.equal(TestConstants.TestLibraryName.DuplicateText); + expect(inspected.name).toBe(TestConstants.TestLibraryName.DuplicateText); Assert.isDefined(inspected.arguments); const invokeArgs: CurrentInvokeExpressionArguments = inspected.arguments; - expect(invokeArgs.argumentOrdinal).to.equal(0); - expect(invokeArgs.givenArgumentTypes).to.deep.equal([]); - expect(invokeArgs.givenArguments.length).to.equal(0); - expect(invokeArgs.numMaxExpectedArguments).to.equal(1); - expect(invokeArgs.numMinExpectedArguments).to.equal(1); - expect(invokeArgs.typeChecked.extraneous.length).to.equal(0); - expect(invokeArgs.typeChecked.invalid.size).to.equal(0); - expect(invokeArgs.typeChecked.missing.length).to.equal(1); - expect(invokeArgs.typeChecked.valid.length).to.equal(0); - - expect(invokeArgs.typeChecked.missing).to.deep.equal([0]); + expect(invokeArgs.argumentOrdinal).toBe(0); + expect(invokeArgs.givenArgumentTypes).toEqual([]); + expect(invokeArgs.givenArguments.length).toBe(0); + expect(invokeArgs.numMaxExpectedArguments).toBe(1); + expect(invokeArgs.numMinExpectedArguments).toBe(1); + expect(invokeArgs.typeChecked.extraneous.length).toBe(0); + expect(invokeArgs.typeChecked.invalid.size).toBe(0); + expect(invokeArgs.typeChecked.missing.length).toBe(1); + expect(invokeArgs.typeChecked.valid.length).toBe(0); + + expect(invokeArgs.typeChecked.missing).toEqual([0]); } function expectText_givenText(inspected: Inspection.CurrentInvokeExpression): void { - expect(inspected.name).to.equal(TestConstants.TestLibraryName.DuplicateText); + expect(inspected.name).toBe(TestConstants.TestLibraryName.DuplicateText); Assert.isDefined(inspected.arguments); const invokeArgs: CurrentInvokeExpressionArguments = inspected.arguments; - expect(invokeArgs.argumentOrdinal).to.equal(0); - expect(invokeArgs.givenArgumentTypes).to.deep.equal([TypeUtils.textLiteral(false, `"foo"`)]); - expect(invokeArgs.givenArguments.length).to.equal(1); - expect(invokeArgs.numMaxExpectedArguments).to.equal(1); - expect(invokeArgs.numMinExpectedArguments).to.equal(1); - expect(invokeArgs.typeChecked.extraneous.length).to.equal(0); - expect(invokeArgs.typeChecked.invalid.size).to.equal(0); - expect(invokeArgs.typeChecked.missing.length).to.equal(0); - expect(invokeArgs.typeChecked.valid.length).to.equal(1); - - expect(invokeArgs.typeChecked.valid).to.deep.equal([0]); + expect(invokeArgs.argumentOrdinal).toBe(0); + expect(invokeArgs.givenArgumentTypes).toEqual([TypeUtils.textLiteral(false, `"foo"`)]); + expect(invokeArgs.givenArguments.length).toBe(1); + expect(invokeArgs.numMaxExpectedArguments).toBe(1); + expect(invokeArgs.numMinExpectedArguments).toBe(1); + expect(invokeArgs.typeChecked.extraneous.length).toBe(0); + expect(invokeArgs.typeChecked.invalid.size).toBe(0); + expect(invokeArgs.typeChecked.missing.length).toBe(0); + expect(invokeArgs.typeChecked.valid.length).toBe(1); + + expect(invokeArgs.typeChecked.valid).toEqual([0]); } function expectNumberParameter_missingParameter(inspected: Inspection.CurrentInvokeExpression): void { - expect(inspected.name).to.equal(TestConstants.TestLibraryName.SquareIfNumber); + expect(inspected.name).toBe(TestConstants.TestLibraryName.SquareIfNumber); Assert.isDefined(inspected.arguments); const invokeArgs: CurrentInvokeExpressionArguments = inspected.arguments; - expect(invokeArgs.argumentOrdinal).to.equal(0); - expect(invokeArgs.givenArgumentTypes).to.deep.equal([]); - expect(invokeArgs.givenArguments.length).to.equal(0); - expect(invokeArgs.numMaxExpectedArguments).to.equal(1); - expect(invokeArgs.numMinExpectedArguments).to.equal(1); - expect(invokeArgs.typeChecked.extraneous.length).to.equal(0); - expect(invokeArgs.typeChecked.invalid.size).to.equal(0); - expect(invokeArgs.typeChecked.missing.length).to.equal(1); - expect(invokeArgs.typeChecked.valid.length).to.equal(0); - - expect(invokeArgs.typeChecked.missing.includes(0)).to.equal(true); + expect(invokeArgs.argumentOrdinal).toBe(0); + expect(invokeArgs.givenArgumentTypes).toEqual([]); + expect(invokeArgs.givenArguments.length).toBe(0); + expect(invokeArgs.numMaxExpectedArguments).toBe(1); + expect(invokeArgs.numMinExpectedArguments).toBe(1); + expect(invokeArgs.typeChecked.extraneous.length).toBe(0); + expect(invokeArgs.typeChecked.invalid.size).toBe(0); + expect(invokeArgs.typeChecked.missing.length).toBe(1); + expect(invokeArgs.typeChecked.valid.length).toBe(0); + + expect(invokeArgs.typeChecked.missing.includes(0)).toBe(true); } function expectNoParameter_givenNoParameter(inspected: Inspection.CurrentInvokeExpression): void { - expect(inspected.name).to.equal(TestConstants.TestLibraryName.CreateFooAndBarRecord); + expect(inspected.name).toBe(TestConstants.TestLibraryName.CreateFooAndBarRecord); Assert.isDefined(inspected.arguments); const invokeArgs: CurrentInvokeExpressionArguments = inspected.arguments; - expect(invokeArgs.argumentOrdinal).to.equal(0); - expect(invokeArgs.givenArgumentTypes).to.deep.equal([]); - expect(invokeArgs.givenArguments.length).to.equal(0); - expect(invokeArgs.numMaxExpectedArguments).to.equal(0); - expect(invokeArgs.numMinExpectedArguments).to.equal(0); - expect(invokeArgs.typeChecked.extraneous.length).to.equal(0); - expect(invokeArgs.typeChecked.invalid.size).to.equal(0); - expect(invokeArgs.typeChecked.missing.length).to.equal(0); - expect(invokeArgs.typeChecked.valid.length).to.equal(0); + expect(invokeArgs.argumentOrdinal).toBe(0); + expect(invokeArgs.givenArgumentTypes).toEqual([]); + expect(invokeArgs.givenArguments.length).toBe(0); + expect(invokeArgs.numMaxExpectedArguments).toBe(0); + expect(invokeArgs.numMinExpectedArguments).toBe(0); + expect(invokeArgs.typeChecked.extraneous.length).toBe(0); + expect(invokeArgs.typeChecked.invalid.size).toBe(0); + expect(invokeArgs.typeChecked.missing.length).toBe(0); + expect(invokeArgs.typeChecked.valid.length).toBe(0); } function expectRequiredAndOptional_givenRequired(inspected: Inspection.CurrentInvokeExpression): void { - expect(inspected.name).to.equal(TestConstants.TestLibraryName.CombineNumberAndOptionalText); + expect(inspected.name).toBe(TestConstants.TestLibraryName.CombineNumberAndOptionalText); Assert.isDefined(inspected.arguments); const invokeArgs: CurrentInvokeExpressionArguments = inspected.arguments; - expect(invokeArgs.argumentOrdinal).to.equal(0); - expect(invokeArgs.givenArgumentTypes).to.deep.equal([TypeUtils.numberLiteral(false, "1")]); - expect(invokeArgs.givenArguments.length).to.equal(1); - expect(invokeArgs.numMaxExpectedArguments).to.equal(2); - expect(invokeArgs.numMinExpectedArguments).to.equal(1); - expect(invokeArgs.typeChecked.extraneous.length).to.equal(0); - expect(invokeArgs.typeChecked.invalid.size).to.equal(0); - expect(invokeArgs.typeChecked.missing.length).to.equal(0); - expect(invokeArgs.typeChecked.valid.length).to.equal(2); - - expect(invokeArgs.typeChecked.valid).to.deep.equal([0, 1]); + expect(invokeArgs.argumentOrdinal).toBe(0); + expect(invokeArgs.givenArgumentTypes).toEqual([TypeUtils.numberLiteral(false, "1")]); + expect(invokeArgs.givenArguments.length).toBe(1); + expect(invokeArgs.numMaxExpectedArguments).toBe(2); + expect(invokeArgs.numMinExpectedArguments).toBe(1); + expect(invokeArgs.typeChecked.extraneous.length).toBe(0); + expect(invokeArgs.typeChecked.invalid.size).toBe(0); + expect(invokeArgs.typeChecked.missing.length).toBe(0); + expect(invokeArgs.typeChecked.valid.length).toBe(2); + + expect(invokeArgs.typeChecked.valid).toEqual([0, 1]); } function expectRequiredAndOptional_givenRequiredAndOptional(inspected: Inspection.CurrentInvokeExpression): void { - expect(inspected.name).to.equal(TestConstants.TestLibraryName.CombineNumberAndOptionalText); + expect(inspected.name).toBe(TestConstants.TestLibraryName.CombineNumberAndOptionalText); Assert.isDefined(inspected.arguments); const invokeArgs: CurrentInvokeExpressionArguments = inspected.arguments; - expect(invokeArgs.argumentOrdinal).to.equal(1); + expect(invokeArgs.argumentOrdinal).toBe(1); - expect(invokeArgs.givenArgumentTypes).to.deep.equal([ + expect(invokeArgs.givenArgumentTypes).toEqual([ TypeUtils.numberLiteral(false, "1"), TypeUtils.textLiteral(false, `"secondArg"`), ]); - expect(invokeArgs.givenArguments.length).to.equal(2); - expect(invokeArgs.numMaxExpectedArguments).to.equal(2); - expect(invokeArgs.numMinExpectedArguments).to.equal(1); - expect(invokeArgs.typeChecked.extraneous.length).to.equal(0); - expect(invokeArgs.typeChecked.invalid.size).to.equal(0); - expect(invokeArgs.typeChecked.missing.length).to.equal(0); - expect(invokeArgs.typeChecked.valid.length).to.equal(2); + expect(invokeArgs.givenArguments.length).toBe(2); + expect(invokeArgs.numMaxExpectedArguments).toBe(2); + expect(invokeArgs.numMinExpectedArguments).toBe(1); + expect(invokeArgs.typeChecked.extraneous.length).toBe(0); + expect(invokeArgs.typeChecked.invalid.size).toBe(0); + expect(invokeArgs.typeChecked.missing.length).toBe(0); + expect(invokeArgs.typeChecked.valid.length).toBe(2); - expect(invokeArgs.typeChecked.valid).to.deep.equal([0, 1]); + expect(invokeArgs.typeChecked.valid).toEqual([0, 1]); } function expectText_givenNumber(inspected: Inspection.CurrentInvokeExpression): void { @@ -155,45 +155,45 @@ function expectText_givenNumber(inspected: Inspection.CurrentInvokeExpression): const actualArgument: Type.NumberLiteral = TypeUtils.numberLiteral(false, "1"); - expect(inspected.name).to.equal(TestConstants.TestLibraryName.DuplicateText); + expect(inspected.name).toBe(TestConstants.TestLibraryName.DuplicateText); Assert.isDefined(inspected.arguments); const invokeArgs: CurrentInvokeExpressionArguments = inspected.arguments; - expect(invokeArgs.argumentOrdinal).to.equal(0); - expect(invokeArgs.givenArgumentTypes).to.deep.equal([actualArgument]); - expect(invokeArgs.givenArguments.length).to.equal(1); - expect(invokeArgs.numMaxExpectedArguments).to.equal(1); - expect(invokeArgs.numMinExpectedArguments).to.equal(1); - expect(invokeArgs.typeChecked.extraneous.length).to.equal(0); - expect(invokeArgs.typeChecked.invalid.size).to.equal(1); - expect(invokeArgs.typeChecked.missing.length).to.equal(0); - expect(invokeArgs.typeChecked.valid.length).to.equal(0); + expect(invokeArgs.argumentOrdinal).toBe(0); + expect(invokeArgs.givenArgumentTypes).toEqual([actualArgument]); + expect(invokeArgs.givenArguments.length).toBe(1); + expect(invokeArgs.numMaxExpectedArguments).toBe(1); + expect(invokeArgs.numMinExpectedArguments).toBe(1); + expect(invokeArgs.typeChecked.extraneous.length).toBe(0); + expect(invokeArgs.typeChecked.invalid.size).toBe(1); + expect(invokeArgs.typeChecked.missing.length).toBe(0); + expect(invokeArgs.typeChecked.valid.length).toBe(0); const invalidArguments: Map = invokeArgs.typeChecked.invalid; const firstArg: TypeUtils.InvocationMismatch = PQP.MapUtils.assertGet(invalidArguments, 0); - expect(firstArg).to.deep.equal({ + expect(firstArg).toEqual({ expected: expectedArgument, actual: actualArgument, }); } function expectNestedInvocation(inspected: Inspection.CurrentInvokeExpression): void { - expect(inspected.name).to.equal(TestConstants.TestLibraryName.CreateFooAndBarRecord); + expect(inspected.name).toBe(TestConstants.TestLibraryName.CreateFooAndBarRecord); Assert.isDefined(inspected.arguments); const invokeArgs: CurrentInvokeExpressionArguments = inspected.arguments; - expect(invokeArgs.argumentOrdinal).to.equal(0); - expect(invokeArgs.givenArgumentTypes).to.deep.equal([]); - expect(invokeArgs.givenArguments.length).to.equal(0); - expect(invokeArgs.numMaxExpectedArguments).to.equal(0); - expect(invokeArgs.numMinExpectedArguments).to.equal(0); - expect(invokeArgs.typeChecked.extraneous.length).to.equal(0); - expect(invokeArgs.typeChecked.invalid.size).to.equal(0); - expect(invokeArgs.typeChecked.missing.length).to.equal(0); - expect(invokeArgs.typeChecked.valid.length).to.equal(0); + expect(invokeArgs.argumentOrdinal).toBe(0); + expect(invokeArgs.givenArgumentTypes).toEqual([]); + expect(invokeArgs.givenArguments.length).toBe(0); + expect(invokeArgs.numMaxExpectedArguments).toBe(0); + expect(invokeArgs.numMinExpectedArguments).toBe(0); + expect(invokeArgs.typeChecked.extraneous.length).toBe(0); + expect(invokeArgs.typeChecked.invalid.size).toBe(0); + expect(invokeArgs.typeChecked.missing.length).toBe(0); + expect(invokeArgs.typeChecked.valid.length).toBe(0); } describe(`subset Inspection - InvokeExpression`, () => { diff --git a/src/test/inspection/dereferenceIdentifierUtils.test.ts b/src/test/inspection/dereferenceIdentifierUtils.test.ts index f48a22b1..ffe09101 100644 --- a/src/test/inspection/dereferenceIdentifierUtils.test.ts +++ b/src/test/inspection/dereferenceIdentifierUtils.test.ts @@ -1,14 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; +import { describe, expect, it } from "bun:test"; + import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; -import { expect } from "chai"; -import { TPowerQueryType } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/type/type"; +import { type TPowerQueryType } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/type/type"; import { assertEqualRootType, assertScopeType } from "../testUtils"; -import { InspectionSettings } from "../../powerquery-language-services"; -import { ScopeTypeByKey } from "../../powerquery-language-services/inspection"; +import { type InspectionSettings } from "../../powerquery-language-services"; +import { type ScopeTypeByKey } from "../../powerquery-language-services/inspection"; import { TestConstants } from ".."; import { TestLibraryName } from "../testConstants"; @@ -38,7 +38,7 @@ describe(`dereferenceIdentifierUtils`, () => { const expectedEntries: [string, Type.TPowerQueryType][] = [...params.expected.entries()]; const actualEntries: [string, Type.TPowerQueryType][] = [...scopeTypeByKey.entries()]; - expect(actualEntries).to.have.deep.members(expectedEntries); + expect(actualEntries).toEqual(expect.arrayContaining(expectedEntries)); } const numberLiteral: Type.NumberLiteral = TypeUtils.numberLiteral(false, 42); diff --git a/src/test/inspection/jaroWinkler.test.ts b/src/test/inspection/jaroWinkler.test.ts index 409b7551..cc4f4fc0 100644 --- a/src/test/inspection/jaroWinkler.test.ts +++ b/src/test/inspection/jaroWinkler.test.ts @@ -1,26 +1,25 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; -import { expect } from "chai"; +import { describe, expect, it } from "bun:test"; import { calculateJaroWinkler } from "../../powerquery-language-services/jaroWinkler"; describe(`Jaro-Winkler`, () => { it(`case insensitive`, () => { const key: string = "Table.AddColumn"; - expect(calculateJaroWinkler(key, key.toUpperCase())).to.equal(calculateJaroWinkler(key, key.toLowerCase())); + expect(calculateJaroWinkler(key, key.toUpperCase())).toBe(calculateJaroWinkler(key, key.toLowerCase())); }); it(`one character off`, () => { const left: string = "Table.AddColumn"; const right: string = "Tabl.AddColumn"; - expect(calculateJaroWinkler(left, right)).to.equal(0.9866666666666667); + expect(calculateJaroWinkler(left, right)).toBe(0.9866666666666667); }); it(`many characters off`, () => { const left: string = "Table.AddColumn"; const right: string = "Tbl.AsdC"; - expect(calculateJaroWinkler(left, right)).to.equal(0.5900793650793651); + expect(calculateJaroWinkler(left, right)).toBe(0.5900793650793651); }); }); diff --git a/src/test/inspection/renameEdits.test.ts b/src/test/inspection/renameEdits.test.ts index b61779c1..bd01334c 100644 --- a/src/test/inspection/renameEdits.test.ts +++ b/src/test/inspection/renameEdits.test.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; +import { describe, it } from "bun:test"; -import type { TextEdit } from "vscode-languageserver-types"; +import { type TextEdit } from "vscode-languageserver-types"; import { TestConstants, TestUtils } from ".."; diff --git a/src/test/inspection/scope.test.ts b/src/test/inspection/scope.test.ts index 85e94337..dbcc08bd 100644 --- a/src/test/inspection/scope.test.ts +++ b/src/test/inspection/scope.test.ts @@ -1,12 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; import * as PQP from "@microsoft/powerquery-parser"; import { Ast, Constant } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; +import { describe, it } from "bun:test"; -import { Inspection, InspectionSettings, Library, TypeStrategy } from "../../powerquery-language-services"; -import { TAbridgedNodeScopeItem } from "../testUtils"; +import { Inspection, type InspectionSettings, Library, TypeStrategy } from "../../powerquery-language-services"; +import { type TAbridgedNodeScopeItem } from "../testUtils"; import { TestUtils } from ".."; describe(`Inspection - Scope - Identifier`, () => { diff --git a/src/test/inspection/type.test.ts b/src/test/inspection/type.test.ts index 4bd631af..5067ce3b 100644 --- a/src/test/inspection/type.test.ts +++ b/src/test/inspection/type.test.ts @@ -1,13 +1,19 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; import * as PQP from "@microsoft/powerquery-parser"; +import { describe, it } from "bun:test"; + import { Ast, Type, TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { Assert } from "@microsoft/powerquery-parser"; import { NoOpTraceManagerInstance } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; -import { ExternalType, Inspection, InspectionSettings, TypeStrategy } from "../../powerquery-language-services"; +import { + ExternalType, + type Inspection, + type InspectionSettings, + TypeStrategy, +} from "../../powerquery-language-services"; import { TestUtils } from ".."; describe(`Inspection - Type`, () => { @@ -643,9 +649,9 @@ describe(`Inspection - Type`, () => { }); describe(`${Ast.NodeKind.ListType}`, () => { - it(`type { number }`, async () => + it(`{ number }`, async () => await assertEqualRootType({ - text: `type { number }`, + text: `{ number }`, expected: TypeUtils.listType(false, Type.NumberInstance), })); }); @@ -1038,7 +1044,7 @@ describe(`Inspection - Type`, () => { it(`${Ast.NodeKind.ListType}`, async () => await assertEqualRootType({ - text: `type { foo }`, + text: `{ foo }`, expected: Type.TypePrimitiveInstance, settings: PrimitiveInspectionSettings, })); diff --git a/src/test/library.test.ts b/src/test/library.test.ts index c850eb7d..422ae3c4 100644 --- a/src/test/library.test.ts +++ b/src/test/library.test.ts @@ -1,23 +1,23 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { expect } from "chai"; +import { describe, expect, it } from "bun:test"; import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; import { CompletionItemKind, - Library, + type Library, LibraryDefinitionUtils, LibrarySymbolUtils, } from "../powerquery-language-services"; import { ExtendedTypeKind, TypeKind } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/type/type"; import { - FailedLibrarySymbolConversion, + type FailedLibrarySymbolConversion, FailedLibrarySymbolConversionKind, } from "../powerquery-language-services/library/librarySymbolUtils"; -import { LibraryDefinitionKind, TLibraryDefinition } from "../powerquery-language-services/library/library"; -import { Result, ResultUtils } from "@microsoft/powerquery-parser"; -import { LibrarySymbol } from "../powerquery-language-services/library/librarySymbol"; +import { LibraryDefinitionKind, type TLibraryDefinition } from "../powerquery-language-services/library/library"; +import { type Result, ResultUtils } from "@microsoft/powerquery-parser"; +import { type LibrarySymbol } from "../powerquery-language-services/library/librarySymbol"; import { TestConstants } from "."; describe("Library", () => { @@ -60,11 +60,11 @@ describe("Library", () => { ); if (params.isExpected) { - expect(hasResult).to.equal(true); - expect(getResult).to.not.equal(undefined); + expect(hasResult).toBe(true); + expect(getResult).not.toBe(undefined); } else { - expect(hasResult).to.equal(false); - expect(getResult).to.equal(undefined); + expect(hasResult).toBe(false); + expect(getResult).toBe(undefined); } } @@ -107,10 +107,10 @@ describe("Library", () => { if (ResultUtils.isOk(params.expected)) { ResultUtils.assertIsOk(result); - expect(result.value).to.deep.equal(params.expected.value); + expect(result.value).toEqual(params.expected.value); } else { ResultUtils.assertIsError(result); - expect(result.error.kind).to.equal(params.expected.error); + expect(result.error.kind).toBe(params.expected.error); } } diff --git a/src/test/mochaConfig.json b/src/test/mochaConfig.json deleted file mode 100644 index 7da3cb7f..00000000 --- a/src/test/mochaConfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "reporterEnabled": "spec, mocha-junit-reporter", - "mochaJunitReporterReporterOptions": { - "mochaFile": "test-results.xml" - } -} diff --git a/src/test/mockDocument.ts b/src/test/mockDocument.ts index f08f4c8d..0ca9e630 100644 --- a/src/test/mockDocument.ts +++ b/src/test/mockDocument.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Position, Range } from "vscode-languageserver-types"; -import { TextDocument, TextDocumentContentChangeEvent } from "vscode-languageserver-textdocument"; +import { Position, type Range } from "vscode-languageserver-types"; +import { type TextDocument, type TextDocumentContentChangeEvent } from "vscode-languageserver-textdocument"; export class MockDocument implements TextDocument { private static NextUri: number = 0; diff --git a/src/test/providers/localDocumentProvider.test.ts b/src/test/providers/localDocumentProvider.test.ts index 0ac17e04..00252989 100644 --- a/src/test/providers/localDocumentProvider.test.ts +++ b/src/test/providers/localDocumentProvider.test.ts @@ -1,24 +1,29 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; -import { Assert, CommonError, ICancellationToken, Result, ResultUtils } from "@microsoft/powerquery-parser"; -import { FoldingRange, SemanticTokenModifiers, SemanticTokenTypes } from "vscode-languageserver-types"; -import type { Range } from "vscode-languageserver-textdocument"; +import { describe, expect, it, xit } from "bun:test"; import { - Analysis, - AnalysisSettings, + Assert, + type CommonError, + type ICancellationToken, + type Result, + ResultUtils, +} from "@microsoft/powerquery-parser"; +import { type FoldingRange, type Range, SemanticTokenModifiers, SemanticTokenTypes } from "vscode-languageserver-types"; + +import { + type Analysis, + type AnalysisSettings, Inspection, - Library, + type Library, NullSymbolProvider, - PartialSemanticToken, - Position, - SignatureHelp, + type PartialSemanticToken, + type Position, + type SignatureHelp, } from "../../powerquery-language-services"; import { TestConstants, TestUtils } from ".."; -import { AutocompleteItem } from "../../powerquery-language-services/inspection"; -import { expect } from "chai"; +import { type AutocompleteItem } from "../../powerquery-language-services/inspection"; describe(`SimpleLocalDocumentSymbolProvider`, () => { const IsolatedAnalysisSettings: AnalysisSettings = { @@ -889,7 +894,7 @@ describe(`SimpleLocalDocumentSymbolProvider`, () => { (item: Inspection.AutocompleteItem) => item.label, ); - expect(actualLabels).to.include.members(expected); + expect(actualLabels).toEqual(expect.arrayContaining(expected)); }); }); }); diff --git a/src/test/providers/multipleProviders.test.ts b/src/test/providers/multipleProviders.test.ts index 6425caca..e6981bbe 100644 --- a/src/test/providers/multipleProviders.test.ts +++ b/src/test/providers/multipleProviders.test.ts @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; +import { describe, it, xit } from "bun:test"; import { TestConstants, TestUtils } from ".."; -import { AutocompleteItem } from "../../powerquery-language-services/inspection"; +import { type AutocompleteItem } from "../../powerquery-language-services/inspection"; describe(`Multiple providers (TestConstants.SimpleLibraryAnalysisSettings)`, () => { describe(`getHover for key-value-pair`, () => { diff --git a/src/test/providers/simpleLibraryProvider.test.ts b/src/test/providers/simpleLibraryProvider.test.ts index f3639b78..4aeb888a 100644 --- a/src/test/providers/simpleLibraryProvider.test.ts +++ b/src/test/providers/simpleLibraryProvider.test.ts @@ -1,17 +1,17 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; +import { describe, it } from "bun:test"; import { KeywordConstant, UnaryOperator, } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/constant/constant"; -import { SignatureInformation } from "vscode-languageserver-types"; +import { type SignatureInformation } from "vscode-languageserver-types"; -import { AnalysisSettings, NullSymbolProvider } from "../../powerquery-language-services"; -import { AutocompleteItem, TypeCache } from "../../powerquery-language-services/inspection"; +import { type AnalysisSettings, NullSymbolProvider } from "../../powerquery-language-services"; +import { type AutocompleteItem, type TypeCache } from "../../powerquery-language-services/inspection"; import { TestConstants, TestUtils } from ".."; -import { ILibrary } from "../../powerquery-language-services/library/library"; +import { type ILibrary } from "../../powerquery-language-services/library/library"; import { TestLibraryName } from "../testConstants"; describe(`SimpleLibraryProvider`, () => { diff --git a/src/test/providers/slowLanguageAutocompleteItemProviderFn.test.ts b/src/test/providers/slowLanguageAutocompleteItemProviderFn.test.ts index 2aed190c..355a1a3d 100644 --- a/src/test/providers/slowLanguageAutocompleteItemProviderFn.test.ts +++ b/src/test/providers/slowLanguageAutocompleteItemProviderFn.test.ts @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { CommonError, Result } from "@microsoft/powerquery-parser"; +import { type CommonError, type Result } from "@microsoft/powerquery-parser"; import { - AutocompleteItemProviderContext, - Inspection, + type AutocompleteItemProviderContext, + type Inspection, LanguageAutocompleteItemProvider, } from "../../powerquery-language-services"; diff --git a/src/test/providers/slowLibraryProvider.test.ts b/src/test/providers/slowLibraryProvider.test.ts index 68de34d4..f4ffabad 100644 --- a/src/test/providers/slowLibraryProvider.test.ts +++ b/src/test/providers/slowLibraryProvider.test.ts @@ -1,18 +1,18 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { CommonError, Result } from "@microsoft/powerquery-parser"; +import { type CommonError, type Result } from "@microsoft/powerquery-parser"; import { - AutocompleteItemProviderContext, - Hover, - HoverProviderContext, - Inspection, + type AutocompleteItemProviderContext, + type Hover, + type HoverProviderContext, + type Inspection, LibraryProvider, - SignatureHelp, - SignatureProviderContext, + type SignatureHelp, + type SignatureProviderContext, } from "../../powerquery-language-services"; -import { ILibrary } from "../../powerquery-language-services/library/library"; +import { type ILibrary } from "../../powerquery-language-services/library/library"; export class SlowLibraryProvider extends LibraryProvider { private readonly delayInMs: number; diff --git a/src/test/providers/slowLocalDocumentProvider.test.ts b/src/test/providers/slowLocalDocumentProvider.test.ts index 6032358c..3901d994 100644 --- a/src/test/providers/slowLocalDocumentProvider.test.ts +++ b/src/test/providers/slowLocalDocumentProvider.test.ts @@ -1,24 +1,24 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { CommonError, Result } from "@microsoft/powerquery-parser"; -import { FoldingRange, Location } from "vscode-languageserver-types"; +import { type CommonError, type Result } from "@microsoft/powerquery-parser"; +import { type FoldingRange, type Location } from "vscode-languageserver-types"; import { - AutocompleteItemProviderContext, - DefinitionProviderContext, - FoldingRangeProviderContext, - Hover, - HoverProviderContext, - Inspection, + type AutocompleteItemProviderContext, + type DefinitionProviderContext, + type FoldingRangeProviderContext, + type Hover, + type HoverProviderContext, + type Inspection, LocalDocumentProvider, - PartialSemanticToken, - SemanticTokenProviderContext, - SignatureHelp, - SignatureProviderContext, + type PartialSemanticToken, + type SemanticTokenProviderContext, + type SignatureHelp, + type SignatureProviderContext, } from "../../powerquery-language-services"; -import { ILibrary } from "../../powerquery-language-services/library/library"; -import { TypeCache } from "../../powerquery-language-services/inspection"; +import { type ILibrary } from "../../powerquery-language-services/library/library"; +import { type TypeCache } from "../../powerquery-language-services/inspection"; export class SlowLocalDocumentProvider extends LocalDocumentProvider { private readonly delayInMs: number; diff --git a/src/test/testConstants.ts b/src/test/testConstants.ts index 31173453..38e77132 100644 --- a/src/test/testConstants.ts +++ b/src/test/testConstants.ts @@ -9,15 +9,15 @@ import { Assert } from "@microsoft/powerquery-parser"; import { NoOpTraceManagerInstance } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace"; import { - AnalysisSettings, + type AnalysisSettings, CompletionItemKind, ExternalType, - InspectionSettings, + type InspectionSettings, Library, LibraryDefinitionUtils, LibrarySymbolUtils, TypeStrategy, - ValidationSettings, + type ValidationSettings, } from "../powerquery-language-services"; import { noOpExternalTypeResolver } from "../powerquery-language-services/externalType/externalType"; diff --git a/src/test/testUtils/abridgedTestUtils.ts b/src/test/testUtils/abridgedTestUtils.ts index 6c07247c..b58a5176 100644 --- a/src/test/testUtils/abridgedTestUtils.ts +++ b/src/test/testUtils/abridgedTestUtils.ts @@ -2,10 +2,15 @@ // Licensed under the MIT license. import { Assert } from "@microsoft/powerquery-parser"; -import { Constant } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; - -import { DocumentSymbol, Inspection, SignatureHelp, SymbolKind } from "../../powerquery-language-services"; -import { NodeScope } from "../../powerquery-language-services/inspection"; +import { type Constant } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; + +import { + type DocumentSymbol, + Inspection, + type SignatureHelp, + type SymbolKind, +} from "../../powerquery-language-services"; +import { type NodeScope } from "../../powerquery-language-services/inspection"; export interface AbridgedDocumentSymbol { readonly name: string; diff --git a/src/test/testUtils/analysisTestUtils.ts b/src/test/testUtils/analysisTestUtils.ts index 0068aea9..64b4a578 100644 --- a/src/test/testUtils/analysisTestUtils.ts +++ b/src/test/testUtils/analysisTestUtils.ts @@ -1,14 +1,26 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { DocumentSymbol, FoldingRange, Hover, Location, Position, SignatureHelp } from "vscode-languageserver-types"; -import { ICancellationToken, ResultUtils } from "@microsoft/powerquery-parser"; +import { + type DocumentSymbol, + type FoldingRange, + type Hover, + type Location, + type Position, + type SignatureHelp, +} from "vscode-languageserver-types"; +import { type ICancellationToken, ResultUtils } from "@microsoft/powerquery-parser"; import * as TestUtils from "./testUtils"; -import { Analysis, AnalysisSettings, AnalysisUtils, PartialSemanticToken } from "../../powerquery-language-services"; -import { AutocompleteItem } from "../../powerquery-language-services/inspection"; -import { MockDocument } from "../mockDocument"; -import { TextEdit } from "vscode-languageserver-textdocument"; +import { + type Analysis, + type AnalysisSettings, + AnalysisUtils, + type PartialSemanticToken, +} from "../../powerquery-language-services"; +import { type AutocompleteItem } from "../../powerquery-language-services/inspection"; +import { type MockDocument } from "../mockDocument"; +import { type TextEdit } from "vscode-languageserver-textdocument"; export function assertAnalysisFromText(params: { readonly text: string; diff --git a/src/test/testUtils/assertEqualTestUtils.ts b/src/test/testUtils/assertEqualTestUtils.ts index 88d60bc6..a8044110 100644 --- a/src/test/testUtils/assertEqualTestUtils.ts +++ b/src/test/testUtils/assertEqualTestUtils.ts @@ -1,27 +1,32 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Assert, ICancellationToken } from "@microsoft/powerquery-parser"; +import { expect } from "bun:test"; + +import { Assert, type ICancellationToken } from "@microsoft/powerquery-parser"; import { - DocumentSymbol, - FoldingRange, - Hover, - Location, + type DocumentSymbol, + type FoldingRange, + type Hover, + type Location, MarkupContent, - SignatureHelp, + type SignatureHelp, } from "vscode-languageserver-types"; -import { Range, TextEdit } from "vscode-languageserver-textdocument"; -import { expect } from "chai"; -import { TPowerQueryType } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/type/type"; +import { type Range, type TextEdit } from "vscode-languageserver-textdocument"; +import { type TPowerQueryType } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/type/type"; -import { AbridgedAutocompleteItem, AbridgedDocumentSymbol, TAbridgedNodeScopeItem } from "./abridgedTestUtils"; import { - AnalysisSettings, - Inspection, - InspectionSettings, - PartialSemanticToken, + type AbridgedAutocompleteItem, + type AbridgedDocumentSymbol, + type TAbridgedNodeScopeItem, +} from "./abridgedTestUtils"; +import { + type AnalysisSettings, + type Inspection, + type InspectionSettings, + type PartialSemanticToken, } from "../../powerquery-language-services"; -import { NodeScope } from "../../powerquery-language-services/inspection"; +import { type NodeScope } from "../../powerquery-language-services/inspection"; import { TestUtils } from ".."; import { TypeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/language"; @@ -29,7 +34,7 @@ export function assertEqualAbridgedAutocompleteItems(params: { readonly expected: ReadonlyArray; readonly actual: ReadonlyArray; }): void { - expect(params.actual).to.have.deep.members(params.expected); + expect(params.actual).toEqual(expect.arrayContaining(params.expected)); } export async function assertEqualDefinitionAnalysis(params: { @@ -42,7 +47,7 @@ export async function assertEqualDefinitionAnalysis(params: { if (actual) { Assert.isDefined(actual); - expect(params.expected).to.deep.equal(actual.map((location: Location) => location.range)); + expect(params.expected).toEqual(actual.map((location: Location) => location.range)); } else { Assert.isUndefined(actual); } @@ -57,7 +62,7 @@ export async function assertEqualDocumentSymbolsAnalysis(params: { const actual: ReadonlyArray | undefined = await TestUtils.assertDocumentSymbolsAnalysis(params); Assert.isDefined(actual); - expect(params.expected).to.deep.equal(TestUtils.abridgedDocumentSymbols(actual)); + expect(params.expected).toEqual(TestUtils.abridgedDocumentSymbols(actual)); } export async function assertEqualFoldingRangesAnalysis(params: { @@ -68,7 +73,7 @@ export async function assertEqualFoldingRangesAnalysis(params: { const foldingRanges: FoldingRange[] | undefined = await TestUtils.assertFoldingRangesAnalysis(params); Assert.isDefined(foldingRanges); - expect(foldingRanges).to.deep.equal(params.expected); + expect(foldingRanges).toEqual(Array.from(params.expected)); } export async function assertEqualHoverAnalysis(params: { @@ -81,7 +86,7 @@ export async function assertEqualHoverAnalysis(params: { if (params.expected) { Assert.isDefined(actual); - expect(assertAsMarkupContent(actual.contents).value).to.equal(params.expected); + expect(assertAsMarkupContent(actual.contents).value).toBe(params.expected); } else { Assert.isUndefined(actual); } @@ -105,7 +110,7 @@ export async function assertEqualNodeScope(params: { left.identifier.localeCompare(right.identifier), ); - expect(sortedActual).to.have.deep.members(sortedExpected); + expect(sortedActual).toEqual(expect.arrayContaining(sortedExpected)); } export async function assertEqualPartialSemanticTokensAnalysis(params: { @@ -117,7 +122,7 @@ export async function assertEqualPartialSemanticTokensAnalysis(params: { if (params.expected) { Assert.isDefined(semanticTokens); - expect(semanticTokens).to.deep.equal(params.expected); + expect(semanticTokens).toEqual(Array.from(params.expected)); } else { Assert.isUndefined(semanticTokens); } @@ -134,7 +139,7 @@ export async function assertEqualRenameEdits(params: { if (params.expected) { Assert.isDefined(textEdits); - expect(textEdits).to.deep.equal(params.expected); + expect(textEdits).toEqual(params.expected); } else { Assert.isUndefined(textEdits); } @@ -165,7 +170,7 @@ export async function assertEqualSignatureHelpAnalysis(params: { if (params.expected) { Assert.isDefined(signatureHelp); - expect(signatureHelp).to.deep.equal(params.expected); + expect(signatureHelp).toEqual(params.expected); } else { Assert.isUndefined(signatureHelp); } @@ -178,7 +183,7 @@ export function assertEqualScopeType(params: { const expectedArray: ReadonlyArray<[string, TPowerQueryType]> = convertScopeTypeByKeyToArray(params.expected); const actualArray: ReadonlyArray<[string, TPowerQueryType]> = convertScopeTypeByKeyToArray(params.actual); - expect(actualArray).to.have.deep.members(expectedArray); + expect(actualArray).toEqual(expect.arrayContaining(expectedArray)); } function assertAsMarkupContent(value: Hover["contents"]): MarkupContent { @@ -201,7 +206,7 @@ function assertEqualPowerQueryType(params: { const jsonifiedExpected: string = JSON.stringify(params.expected, mapReplacer, 2); const jsonifiedActual: string = JSON.stringify(params.actual, mapReplacer, 2); - expect(jsonifiedActual).to.equal(jsonifiedExpected, `PowerQuery types are not equal.`); + expect(jsonifiedActual).toBe(jsonifiedExpected); // PowerQuery types are not equal } function assertIsMarkupContent(value: Hover["contents"]): asserts value is MarkupContent { diff --git a/src/test/testUtils/autocompleteTestUtils.ts b/src/test/testUtils/autocompleteTestUtils.ts index a131bbcd..af521814 100644 --- a/src/test/testUtils/autocompleteTestUtils.ts +++ b/src/test/testUtils/autocompleteTestUtils.ts @@ -1,13 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; -import { expect } from "chai"; +import { expect } from "bun:test"; import { TestConstants, TestUtils } from ".."; -import { AbridgedAutocompleteItem } from "./abridgedTestUtils"; +import { type AbridgedAutocompleteItem } from "./abridgedTestUtils"; import { AutocompleteItemUtils } from "../../powerquery-language-services/inspection"; -import { Inspection } from "../../powerquery-language-services"; +import { type Inspection } from "../../powerquery-language-services"; export async function expectAbridgedAutocompleteItems(params: { readonly textWithPipe: string; @@ -90,6 +89,6 @@ export async function expectTopSuggestions(params: { .slice(params.expected.length) .filter((value: Inspection.AutocompleteItem) => value.jaroWinklerScore >= remainderScoreThreshold); - expect(topN).to.deep.equal(params.expected); - expect(remainderAboveThreshold).to.be.empty; + expect(topN).toEqual(params.expected); + expect(remainderAboveThreshold).toHaveLength(0); } diff --git a/src/test/testUtils/inspectionTestUtils.ts b/src/test/testUtils/inspectionTestUtils.ts index d52bed68..24d9d7a1 100644 --- a/src/test/testUtils/inspectionTestUtils.ts +++ b/src/test/testUtils/inspectionTestUtils.ts @@ -1,21 +1,21 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Assert, ResultUtils, Task, TaskUtils } from "@microsoft/powerquery-parser"; -import { NodeIdMap, TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; -import { Position } from "vscode-languageserver-types"; -import { TPowerQueryType } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/type/type"; +import { Assert, ResultUtils, type Task, TaskUtils } from "@microsoft/powerquery-parser"; +import { type NodeIdMap, type TXorNode, XorNodeUtils } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser"; +import { type Position } from "vscode-languageserver-types"; +import { type TPowerQueryType } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/type/type"; import { ActiveNodeUtils, - Inspected, - NodeScope, - TActiveNode, + type Inspected, + type NodeScope, + type TActiveNode, tryNodeScope, - TypeCache, + type TypeCache, TypeCacheUtils, } from "../../powerquery-language-services/inspection"; -import { Inspection, InspectionSettings } from "../../powerquery-language-services"; +import { Inspection, type InspectionSettings } from "../../powerquery-language-services"; import { TestUtils } from ".."; export async function assertAutocompleteInspection(params: { diff --git a/src/test/testUtils/parseTestUtils.ts b/src/test/testUtils/parseTestUtils.ts index 3195dde2..b7e0b0c9 100644 --- a/src/test/testUtils/parseTestUtils.ts +++ b/src/test/testUtils/parseTestUtils.ts @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { Settings, Task, TaskUtils } from "@microsoft/powerquery-parser"; -import { Position } from "vscode-languageserver-types"; +import { type Settings, type Task, TaskUtils } from "@microsoft/powerquery-parser"; +import { type Position } from "vscode-languageserver-types"; -import { ActiveNodeUtils, TActiveNode } from "../../powerquery-language-services/inspection"; +import { ActiveNodeUtils, type TActiveNode } from "../../powerquery-language-services/inspection"; import { TestUtils } from ".."; export async function assertActiveNode(params: { diff --git a/src/test/testUtils/testUtils.ts b/src/test/testUtils/testUtils.ts index 64e98a1f..73fe5798 100644 --- a/src/test/testUtils/testUtils.ts +++ b/src/test/testUtils/testUtils.ts @@ -3,13 +3,14 @@ import * as File from "fs"; import * as Path from "path"; -import { assert } from "chai"; -import { Position } from "vscode-languageserver-types"; +import { type Position } from "vscode-languageserver-types"; import { MockDocument } from "../mockDocument"; export function extractPosition(textWithPipe: string): [string, Position] { - assert.isTrue((textWithPipe.match(/\|/g) ?? []).length == 1, `textWithPipe must contain exactly pipe character`); + if ((textWithPipe.match(/\|/g) ?? []).length !== 1) { + throw new Error(`textWithPipe must contain exactly pipe character`); + } const lines: ReadonlyArray = textWithPipe.split("\n"); const numLines: number = lines.length; @@ -39,7 +40,10 @@ export function extractPosition(textWithPipe: string): [string, Position] { export function readFile(fileName: string): string { const fullPath: string = Path.join(Path.dirname(__filename), "..", "files", fileName); - assert.isTrue(File.existsSync(fullPath), `file ${fullPath} not found.`); + + if (!File.existsSync(fullPath)) { + throw new Error(`file ${fullPath} not found.`); + } return File.readFileSync(fullPath, "utf8").replace(/^\uFEFF/, ""); } diff --git a/src/test/testUtils/validationTestUtils.ts b/src/test/testUtils/validationTestUtils.ts index e1ea2feb..8b8fa2b5 100644 --- a/src/test/testUtils/validationTestUtils.ts +++ b/src/test/testUtils/validationTestUtils.ts @@ -1,13 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; -import { Assert, CommonError, Result, ResultUtils } from "@microsoft/powerquery-parser"; -import { expect } from "chai"; +import { Assert, type CommonError, type Result, ResultUtils } from "@microsoft/powerquery-parser"; +import { expect } from "bun:test"; import * as PQLS from "../../powerquery-language-services"; import { TestConstants, TestUtils } from ".."; -import { MockDocument } from "../mockDocument"; +import { type MockDocument } from "../mockDocument"; export async function assertLessWhenSuppressed(params: { readonly text: string; @@ -26,7 +25,7 @@ export async function assertLessWhenSuppressed(params: { validationSettings: params.withoutCheckSettings, }); - expect(withoutCheckResult.diagnostics.length).to.be.lessThan(withCheckResult.diagnostics.length); + expect(withoutCheckResult.diagnostics.length).toBeLessThan(withCheckResult.diagnostics.length); } export async function assertValidate(params: { diff --git a/src/test/validation/checkDiagnosticsOnParseError.test.ts b/src/test/validation/checkDiagnosticsOnParseError.test.ts index dbfdb7dd..37404542 100644 --- a/src/test/validation/checkDiagnosticsOnParseError.test.ts +++ b/src/test/validation/checkDiagnosticsOnParseError.test.ts @@ -1,12 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; -import { expect } from "chai"; +import { describe, expect, it } from "bun:test"; -import { Diagnostic, DiagnosticErrorCode, ValidationSettings } from "../../powerquery-language-services"; +import { type Diagnostic, DiagnosticErrorCode, type ValidationSettings } from "../../powerquery-language-services"; import { TestConstants, TestUtils } from ".."; -import { ValidateOk } from "../../powerquery-language-services/validate/validateOk"; +import { type ValidateOk } from "../../powerquery-language-services/validate/validateOk"; const TestExpressions: { readonly NoErrors: string; @@ -45,25 +44,19 @@ async function runTest(params: { validationSettings, }); - expect(validationResult.diagnostics.length).to.equal( - params.expected.diagnosticsCount, - "unexpected diagnostics count", - ); + // unexpected diagnostics count + expect(validationResult.diagnostics.length).toBe(params.expected.diagnosticsCount); - expect(validationResult.hasSyntaxError).to.equal( - params.expected.hasSyntaxError, - "unexpected value for hasSyntaxError", - ); + // unexpected value for hasSyntaxError + expect(validationResult.hasSyntaxError).toBe(params.expected.hasSyntaxError); if (params.expected.hasSyntaxError) { const hasParseError: boolean = validationResult.diagnostics.some( (diagnostic: Diagnostic) => diagnostic.code === DiagnosticErrorCode.ParseError, ); - expect(hasParseError).to.equal( - true, - "expected at least one Error.Parse diagnostic when hasSyntaxError is true", - ); + // expected at least one Error.Parse diagnostic when hasSyntaxError is true + expect(hasParseError).toBe(true); } return validationResult; diff --git a/src/test/validation/duplicateIdentifier.test.ts b/src/test/validation/duplicateIdentifier.test.ts index d964c884..29d94382 100644 --- a/src/test/validation/duplicateIdentifier.test.ts +++ b/src/test/validation/duplicateIdentifier.test.ts @@ -1,27 +1,35 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; -import { assert, expect } from "chai"; +import { describe, expect, it } from "bun:test"; import { Assert } from "@microsoft/powerquery-parser"; import { - Diagnostic, + type Diagnostic, DiagnosticErrorCode, - DiagnosticRelatedInformation, + type DiagnosticRelatedInformation, DiagnosticSeverity, - Position, - ValidationSettings, + type Position, + type ValidationSettings, } from "../../powerquery-language-services"; import { TestConstants, TestUtils } from ".."; -import { ValidateOk } from "../../powerquery-language-services/validate/validateOk"; +import { type ValidateOk } from "../../powerquery-language-services/validate/validateOk"; function assertValidationError(diagnostic: Diagnostic, startPosition: Position): void { - assert.isDefined(diagnostic.code); - assert.isDefined(diagnostic.message); - assert.isDefined(diagnostic.range); - expect(diagnostic.range.start).to.deep.equal(startPosition); - expect(diagnostic.severity).to.equal(DiagnosticSeverity.Error); + if (diagnostic.code === undefined) { + throw new Error("diagnostic.code is undefined"); + } + + if (diagnostic.message === undefined) { + throw new Error("diagnostic.message is undefined"); + } + + if (diagnostic.range === undefined) { + throw new Error("diagnostic.range is undefined"); + } + + expect(diagnostic.range.start).toEqual(startPosition); + expect(diagnostic.severity).toBe(DiagnosticSeverity.Error); } async function expectNoValidationErrors(text: string): Promise { @@ -31,8 +39,8 @@ async function expectNoValidationErrors(text: string): Promise { validationSettings: DuplicateIdentifierSettings, }); - expect(validationResult.hasSyntaxError).to.equal(false, "hasSyntaxError flag should be false"); - expect(validationResult.diagnostics.length).to.equal(0, "no diagnostics expected"); + expect(validationResult.hasSyntaxError).toBe(false); // hasSyntaxError flag should be false + expect(validationResult.diagnostics.length).toBe(0); // no diagnostics expected } interface DuplicateIdentifierError { @@ -67,8 +75,8 @@ async function validateDuplicateIdentifierDiagnostics(params: { for (const diagnostic of actual) { Assert.isDefined(diagnostic.relatedInformation); - expect(diagnostic.relatedInformation?.length).to.be.greaterThan(0, "expected at least one relatedInformation"); - expect(diagnostic.source).to.equal(errorSource, `expected diagnostic to have errorSource of ${errorSource}`); + expect(diagnostic.relatedInformation?.length).toBeGreaterThan(0); // expected at least one relatedInformation + expect(diagnostic.source).toBe(errorSource); // expected diagnostic to have errorSource const match: RegExpMatchArray | null = diagnostic.message.match(/'(.*?)'/); const name: string = match ? match[1] : ""; @@ -82,7 +90,7 @@ async function validateDuplicateIdentifierDiagnostics(params: { }); } - expect(abridgedActual).deep.equals(params.expected); + expect(abridgedActual).toEqual(Array.from(params.expected)); } describe(`Validation - duplicateIdentifier`, () => { @@ -98,9 +106,9 @@ describe(`Validation - duplicateIdentifier`, () => { validationSettings: DuplicateIdentifierSettings, }); - expect(validationResult.hasSyntaxError).to.equal(true, "hasSyntaxError flag should be true"); - expect(validationResult.diagnostics.length).to.equal(1); - expect(validationResult.diagnostics[0].source).to.equal(errorSource); + expect(validationResult.hasSyntaxError).toBe(true); // hasSyntaxError flag should be true + expect(validationResult.diagnostics.length).toBe(1); + expect(validationResult.diagnostics[0].source).toBe(errorSource); assertValidationError(validationResult.diagnostics[0], { line: 0, character: 4 }); }); diff --git a/src/test/validation/functionExpression.test.ts b/src/test/validation/functionExpression.test.ts index 278348f7..8fd78c94 100644 --- a/src/test/validation/functionExpression.test.ts +++ b/src/test/validation/functionExpression.test.ts @@ -1,19 +1,32 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; -import { assert, expect } from "chai"; +import { describe, expect, it } from "bun:test"; -import { Diagnostic, DiagnosticErrorCode, DiagnosticSeverity, Position } from "../../powerquery-language-services"; +import { + type Diagnostic, + DiagnosticErrorCode, + DiagnosticSeverity, + type Position, +} from "../../powerquery-language-services"; import { TestConstants, TestUtils } from ".."; -import { ValidateOk } from "../../powerquery-language-services/validate/validateOk"; +import { type ValidateOk } from "../../powerquery-language-services/validate/validateOk"; function assertValidationError(diagnostic: Diagnostic, startPosition: Position): void { - assert.isDefined(diagnostic.code); - assert.isDefined(diagnostic.message); - assert.isDefined(diagnostic.range); - expect(diagnostic.range.start).to.deep.equal(startPosition); - expect(diagnostic.severity).to.equal(DiagnosticSeverity.Error); + if (diagnostic.code === undefined) { + throw new Error("diagnostic.code is undefined"); + } + + if (diagnostic.message === undefined) { + throw new Error("diagnostic.message is undefined"); + } + + if (diagnostic.range === undefined) { + throw new Error("diagnostic.range is undefined"); + } + + expect(diagnostic.range.start).toEqual(startPosition); + expect(diagnostic.severity).toBe(DiagnosticSeverity.Error); } async function assertNoValidationErrors(text: string): Promise { @@ -23,8 +36,8 @@ async function assertNoValidationErrors(text: string): Promise { validationSettings: TestConstants.SimpleLibraryValidateAllSettings, }); - expect(validationResult.hasSyntaxError).to.equal(false, `hasSyntaxError flag should be false`); - expect(validationResult.diagnostics.length).to.equal(0, `no diagnostics expected`); + expect(validationResult.hasSyntaxError).toBe(false); // hasSyntaxError flag should be false + expect(validationResult.diagnostics.length).toBe(0); // no diagnostics expected } describe(`Validation - functionExpression`, () => { @@ -42,15 +55,15 @@ describe(`Validation - functionExpression`, () => { validationSettings: TestConstants.SimpleLibraryValidateAllSettings, }); - expect(validationResult.hasSyntaxError).to.equal(false, `hasSyntaxError flag should be false`); + expect(validationResult.hasSyntaxError).toBe(false); // hasSyntaxError flag should be false assertValidationError(validationResult.diagnostics[0], { line: 0, character: 1 }); assertValidationError(validationResult.diagnostics[1], { line: 0, character: 16 }); - expect(validationResult.diagnostics.length).to.equal(2); - expect(validationResult.diagnostics[0].source).to.equal(errorSource); - expect(validationResult.diagnostics[1].source).to.equal(errorSource); - expect(validationResult.diagnostics[0].code).to.equal(DiagnosticErrorCode.DuplicateIdentifier); - expect(validationResult.diagnostics[1].code).to.equal(DiagnosticErrorCode.DuplicateIdentifier); + expect(validationResult.diagnostics.length).toBe(2); + expect(validationResult.diagnostics[0].source).toBe(errorSource); + expect(validationResult.diagnostics[1].source).toBe(errorSource); + expect(validationResult.diagnostics[0].code).toBe(DiagnosticErrorCode.DuplicateIdentifier); + expect(validationResult.diagnostics[1].code).toBe(DiagnosticErrorCode.DuplicateIdentifier); }); }); }); diff --git a/src/test/validation/invokeExpression.test.ts b/src/test/validation/invokeExpression.test.ts index 4db57f7a..c969a1e4 100644 --- a/src/test/validation/invokeExpression.test.ts +++ b/src/test/validation/invokeExpression.test.ts @@ -1,11 +1,15 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; +import { describe, expect, it } from "bun:test"; import { Assert } from "@microsoft/powerquery-parser"; -import { expect } from "chai"; -import { Diagnostic, DiagnosticErrorCode, Position, ValidationSettings } from "../../powerquery-language-services"; +import { + type Diagnostic, + DiagnosticErrorCode, + type Position, + type ValidationSettings, +} from "../../powerquery-language-services"; import { TestConstants, TestUtils } from ".."; import { assertLessWhenSuppressed } from "../testUtils/validationTestUtils"; import { SimpleLibraryValidateAllSettings } from "../testConstants"; @@ -77,9 +81,9 @@ function expectArgumentCountMismatch( 10, ); - expect(actualNumMin).to.equal(expectedNumMin); - expect(actualNumMax).to.equal(expectedNumMax); - expect(actualNumGiven).to.equal(expectedNumGiven); + expect(actualNumMin).toBe(expectedNumMin); + expect(actualNumMax).toBe(expectedNumMax); + expect(actualNumGiven).toBe(expectedNumGiven); } function expectInvocationDiagnosticPositions( @@ -90,7 +94,7 @@ function expectInvocationDiagnosticPositions( (abridged: AbridgedInvocationDiagnostic) => abridged.startPosition, ); - expect(abridgedPositions).to.deep.equal(expectedStartPositions); + expect(abridgedPositions).toEqual(expectedStartPositions); } describe("Validation - InvokeExpression", () => { @@ -141,7 +145,7 @@ describe("Validation - InvokeExpression", () => { text: `${TestConstants.TestLibraryName.CombineNumberAndOptionalText}(0, "")`, }); - expect(invocationDiagnostics.length).to.equal(0); + expect(invocationDiagnostics.length).toBe(0); }); }); @@ -156,7 +160,7 @@ describe("Validation - InvokeExpression", () => { _`, }); - expect(invocationDiagnostics.length).to.equal(2); + expect(invocationDiagnostics.length).toBe(2); const expected: ReadonlyArray = [ { diff --git a/src/test/validation/unknownIdentifiers.test.ts b/src/test/validation/unknownIdentifiers.test.ts index 1d8b480e..25e2c07e 100644 --- a/src/test/validation/unknownIdentifiers.test.ts +++ b/src/test/validation/unknownIdentifiers.test.ts @@ -1,11 +1,15 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import "mocha"; import { Assert, MapUtils } from "@microsoft/powerquery-parser"; -import { expect } from "chai"; - -import { Diagnostic, DiagnosticErrorCode, Position, ValidationSettings } from "../../powerquery-language-services"; +import { describe, expect, it, xit } from "bun:test"; + +import { + type Diagnostic, + DiagnosticErrorCode, + type Position, + type ValidationSettings, +} from "../../powerquery-language-services"; import { SimpleValidateNoneSettings, TestLibraryName } from "../testConstants"; import { TestConstants, TestUtils } from ".."; import { assertLessWhenSuppressed } from "../testUtils/validationTestUtils"; @@ -43,7 +47,7 @@ async function assertNoUnknownIdentifiers(text: string): Promise { const abridgedDiagnostics: ReadonlyArray = await assertUnknownIdentifierDiagnostics(text); - expect(abridgedDiagnostics.length).equal(0); + expect(abridgedDiagnostics.length).toBe(0); } async function assertUnknownIdentifierSuggestions( diff --git a/tsconfig.json b/tsconfig.json index 12faf7a9..d5bec3c6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -19,13 +19,20 @@ "target": "es2022", "tsBuildInfoFile": "./tsconfig.tsbuildinfo", "esModuleInterop": true, - "allowSyntheticDefaultImports": true + "allowSyntheticDefaultImports": true, + "types": [ + "bun-types" + ] }, - "include": ["src/**/*.ts"], - "exclude": ["node_modules"], + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "node_modules" + ], "ts-node": { "compilerOptions": { "module": "commonjs" } } -} +} \ No newline at end of file