aboutsummaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
Diffstat (limited to 'editors')
-rw-r--r--editors/code/.eslintrc.js34
-rw-r--r--editors/code/package-lock.json904
-rw-r--r--editors/code/package.json14
-rw-r--r--editors/code/src/commands/index.ts2
-rw-r--r--editors/code/src/commands/ssr.ts4
-rw-r--r--editors/code/src/config.ts42
-rw-r--r--editors/code/src/highlighting.ts2
-rw-r--r--editors/code/src/inlay_hints.ts8
-rw-r--r--editors/code/src/installation/download_artifact.ts4
-rw-r--r--editors/code/src/installation/fetch_artifact_release_info.ts6
-rw-r--r--editors/code/src/installation/server.ts3
-rw-r--r--editors/code/src/main.ts12
-rw-r--r--editors/code/src/status_display.ts2
-rw-r--r--editors/code/tslint.json10
14 files changed, 933 insertions, 114 deletions
diff --git a/editors/code/.eslintrc.js b/editors/code/.eslintrc.js
new file mode 100644
index 000000000..113a8a78e
--- /dev/null
+++ b/editors/code/.eslintrc.js
@@ -0,0 +1,34 @@
1module.exports = {
2 "env": {
3 "es6": true,
4 "node": true
5 },
6 "parser": "@typescript-eslint/parser",
7 "parserOptions": {
8 "project": "tsconfig.json",
9 "sourceType": "module"
10 },
11 "plugins": [
12 "@typescript-eslint"
13 ],
14 "rules": {
15 "@typescript-eslint/member-delimiter-style": [
16 "error",
17 {
18 "multiline": {
19 "delimiter": "semi",
20 "requireLast": true
21 },
22 "singleline": {
23 "delimiter": "semi",
24 "requireLast": false
25 }
26 }
27 ],
28 "@typescript-eslint/semi": [
29 "error",
30 "always"
31 ],
32 "prefer-const": "error"
33 }
34};
diff --git a/editors/code/package-lock.json b/editors/code/package-lock.json
index 22aa63c9d..d7da47089 100644
--- a/editors/code/package-lock.json
+++ b/editors/code/package-lock.json
@@ -70,12 +70,24 @@
70 "estree-walker": "^1.0.1" 70 "estree-walker": "^1.0.1"
71 } 71 }
72 }, 72 },
73 "@types/eslint-visitor-keys": {
74 "version": "1.0.0",
75 "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
76 "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==",
77 "dev": true
78 },
73 "@types/estree": { 79 "@types/estree": {
74 "version": "0.0.39", 80 "version": "0.0.39",
75 "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 81 "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
76 "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 82 "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
77 "dev": true 83 "dev": true
78 }, 84 },
85 "@types/json-schema": {
86 "version": "7.0.4",
87 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz",
88 "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==",
89 "dev": true
90 },
79 "@types/node": { 91 "@types/node": {
80 "version": "12.12.27", 92 "version": "12.12.27",
81 "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.27.tgz", 93 "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.27.tgz",
@@ -112,12 +124,118 @@
112 "integrity": "sha512-ds6TceMsh77Fs0Mq0Vap6Y72JbGWB8Bay4DrnJlf5d9ui2RSe1wis13oQm+XhguOeH1HUfLGzaDAoupTUtgabw==", 124 "integrity": "sha512-ds6TceMsh77Fs0Mq0Vap6Y72JbGWB8Bay4DrnJlf5d9ui2RSe1wis13oQm+XhguOeH1HUfLGzaDAoupTUtgabw==",
113 "dev": true 125 "dev": true
114 }, 126 },
127 "@typescript-eslint/eslint-plugin": {
128 "version": "2.20.0",
129 "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.20.0.tgz",
130 "integrity": "sha512-cimIdVDV3MakiGJqMXw51Xci6oEDEoPkvh8ggJe2IIzcc0fYqAxOXN6Vbeanahz6dLZq64W+40iUEc9g32FLDQ==",
131 "dev": true,
132 "requires": {
133 "@typescript-eslint/experimental-utils": "2.20.0",
134 "eslint-utils": "^1.4.3",
135 "functional-red-black-tree": "^1.0.1",
136 "regexpp": "^3.0.0",
137 "tsutils": "^3.17.1"
138 },
139 "dependencies": {
140 "tsutils": {
141 "version": "3.17.1",
142 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
143 "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
144 "dev": true,
145 "requires": {
146 "tslib": "^1.8.1"
147 }
148 }
149 }
150 },
151 "@typescript-eslint/experimental-utils": {
152 "version": "2.20.0",
153 "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.20.0.tgz",
154 "integrity": "sha512-fEBy9xYrwG9hfBLFEwGW2lKwDRTmYzH3DwTmYbT+SMycmxAoPl0eGretnBFj/s+NfYBG63w/5c3lsvqqz5mYag==",
155 "dev": true,
156 "requires": {
157 "@types/json-schema": "^7.0.3",
158 "@typescript-eslint/typescript-estree": "2.20.0",
159 "eslint-scope": "^5.0.0"
160 }
161 },
162 "@typescript-eslint/parser": {
163 "version": "2.20.0",
164 "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.20.0.tgz",
165 "integrity": "sha512-o8qsKaosLh2qhMZiHNtaHKTHyCHc3Triq6aMnwnWj7budm3xAY9owSZzV1uon5T9cWmJRJGzTFa90aex4m77Lw==",
166 "dev": true,
167 "requires": {
168 "@types/eslint-visitor-keys": "^1.0.0",
169 "@typescript-eslint/experimental-utils": "2.20.0",
170 "@typescript-eslint/typescript-estree": "2.20.0",
171 "eslint-visitor-keys": "^1.1.0"
172 }
173 },
174 "@typescript-eslint/typescript-estree": {
175 "version": "2.20.0",
176 "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.20.0.tgz",
177 "integrity": "sha512-WlFk8QtI8pPaE7JGQGxU7nGcnk1ccKAJkhbVookv94ZcAef3m6oCE/jEDL6dGte3JcD7reKrA0o55XhBRiVT3A==",
178 "dev": true,
179 "requires": {
180 "debug": "^4.1.1",
181 "eslint-visitor-keys": "^1.1.0",
182 "glob": "^7.1.6",
183 "is-glob": "^4.0.1",
184 "lodash": "^4.17.15",
185 "semver": "^6.3.0",
186 "tsutils": "^3.17.1"
187 },
188 "dependencies": {
189 "tsutils": {
190 "version": "3.17.1",
191 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
192 "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
193 "dev": true,
194 "requires": {
195 "tslib": "^1.8.1"
196 }
197 }
198 }
199 },
115 "acorn": { 200 "acorn": {
116 "version": "7.1.0", 201 "version": "7.1.0",
117 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", 202 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
118 "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", 203 "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
119 "dev": true 204 "dev": true
120 }, 205 },
206 "acorn-jsx": {
207 "version": "5.1.0",
208 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
209 "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
210 "dev": true
211 },
212 "ajv": {
213 "version": "6.11.0",
214 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
215 "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==",
216 "dev": true,
217 "requires": {
218 "fast-deep-equal": "^3.1.1",
219 "fast-json-stable-stringify": "^2.0.0",
220 "json-schema-traverse": "^0.4.1",
221 "uri-js": "^4.2.2"
222 }
223 },
224 "ansi-escapes": {
225 "version": "4.3.0",
226 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
227 "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
228 "dev": true,
229 "requires": {
230 "type-fest": "^0.8.1"
231 }
232 },
233 "ansi-regex": {
234 "version": "5.0.0",
235 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
236 "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
237 "dev": true
238 },
121 "ansi-styles": { 239 "ansi-styles": {
122 "version": "3.2.1", 240 "version": "3.2.1",
123 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 241 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -136,6 +254,12 @@
136 "sprintf-js": "~1.0.2" 254 "sprintf-js": "~1.0.2"
137 } 255 }
138 }, 256 },
257 "astral-regex": {
258 "version": "1.0.0",
259 "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
260 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
261 "dev": true
262 },
139 "azure-devops-node-api": { 263 "azure-devops-node-api": {
140 "version": "7.2.0", 264 "version": "7.2.0",
141 "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-7.2.0.tgz", 265 "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-7.2.0.tgz",
@@ -182,6 +306,12 @@
182 "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", 306 "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
183 "dev": true 307 "dev": true
184 }, 308 },
309 "callsites": {
310 "version": "3.1.0",
311 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
312 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
313 "dev": true
314 },
185 "chalk": { 315 "chalk": {
186 "version": "2.4.2", 316 "version": "2.4.2",
187 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 317 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -193,6 +323,12 @@
193 "supports-color": "^5.3.0" 323 "supports-color": "^5.3.0"
194 } 324 }
195 }, 325 },
326 "chardet": {
327 "version": "0.7.0",
328 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
329 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
330 "dev": true
331 },
196 "cheerio": { 332 "cheerio": {
197 "version": "1.0.0-rc.3", 333 "version": "1.0.0-rc.3",
198 "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", 334 "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz",
@@ -207,6 +343,21 @@
207 "parse5": "^3.0.1" 343 "parse5": "^3.0.1"
208 } 344 }
209 }, 345 },
346 "cli-cursor": {
347 "version": "3.1.0",
348 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
349 "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
350 "dev": true,
351 "requires": {
352 "restore-cursor": "^3.1.0"
353 }
354 },
355 "cli-width": {
356 "version": "2.2.0",
357 "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
358 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
359 "dev": true
360 },
210 "color-convert": { 361 "color-convert": {
211 "version": "1.9.3", 362 "version": "1.9.3",
212 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 363 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -240,6 +391,27 @@
240 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 391 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
241 "dev": true 392 "dev": true
242 }, 393 },
394 "cross-spawn": {
395 "version": "6.0.5",
396 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
397 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
398 "dev": true,
399 "requires": {
400 "nice-try": "^1.0.4",
401 "path-key": "^2.0.1",
402 "semver": "^5.5.0",
403 "shebang-command": "^1.2.0",
404 "which": "^1.2.9"
405 },
406 "dependencies": {
407 "semver": {
408 "version": "5.7.1",
409 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
410 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
411 "dev": true
412 }
413 }
414 },
243 "css-select": { 415 "css-select": {
244 "version": "1.2.0", 416 "version": "1.2.0",
245 "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", 417 "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
@@ -258,6 +430,21 @@
258 "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", 430 "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
259 "dev": true 431 "dev": true
260 }, 432 },
433 "debug": {
434 "version": "4.1.1",
435 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
436 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
437 "dev": true,
438 "requires": {
439 "ms": "^2.1.1"
440 }
441 },
442 "deep-is": {
443 "version": "0.1.3",
444 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
445 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
446 "dev": true
447 },
261 "denodeify": { 448 "denodeify": {
262 "version": "1.2.1", 449 "version": "1.2.1",
263 "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", 450 "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz",
@@ -270,11 +457,14 @@
270 "integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=", 457 "integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=",
271 "dev": true 458 "dev": true
272 }, 459 },
273 "diff": { 460 "doctrine": {
274 "version": "4.0.1", 461 "version": "3.0.0",
275 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", 462 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
276 "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", 463 "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
277 "dev": true 464 "dev": true,
465 "requires": {
466 "esutils": "^2.0.2"
467 }
278 }, 468 },
279 "dom-serializer": { 469 "dom-serializer": {
280 "version": "0.1.1", 470 "version": "0.1.1",
@@ -331,6 +521,12 @@
331 } 521 }
332 } 522 }
333 }, 523 },
524 "emoji-regex": {
525 "version": "8.0.0",
526 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
527 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
528 "dev": true
529 },
334 "entities": { 530 "entities": {
335 "version": "1.1.2", 531 "version": "1.1.2",
336 "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", 532 "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
@@ -343,12 +539,125 @@
343 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 539 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
344 "dev": true 540 "dev": true
345 }, 541 },
542 "eslint": {
543 "version": "6.8.0",
544 "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
545 "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
546 "dev": true,
547 "requires": {
548 "@babel/code-frame": "^7.0.0",
549 "ajv": "^6.10.0",
550 "chalk": "^2.1.0",
551 "cross-spawn": "^6.0.5",
552 "debug": "^4.0.1",
553 "doctrine": "^3.0.0",
554 "eslint-scope": "^5.0.0",
555 "eslint-utils": "^1.4.3",
556 "eslint-visitor-keys": "^1.1.0",
557 "espree": "^6.1.2",
558 "esquery": "^1.0.1",
559 "esutils": "^2.0.2",
560 "file-entry-cache": "^5.0.1",
561 "functional-red-black-tree": "^1.0.1",
562 "glob-parent": "^5.0.0",
563 "globals": "^12.1.0",
564 "ignore": "^4.0.6",
565 "import-fresh": "^3.0.0",
566 "imurmurhash": "^0.1.4",
567 "inquirer": "^7.0.0",
568 "is-glob": "^4.0.0",
569 "js-yaml": "^3.13.1",
570 "json-stable-stringify-without-jsonify": "^1.0.1",
571 "levn": "^0.3.0",
572 "lodash": "^4.17.14",
573 "minimatch": "^3.0.4",
574 "mkdirp": "^0.5.1",
575 "natural-compare": "^1.4.0",
576 "optionator": "^0.8.3",
577 "progress": "^2.0.0",
578 "regexpp": "^2.0.1",
579 "semver": "^6.1.2",
580 "strip-ansi": "^5.2.0",
581 "strip-json-comments": "^3.0.1",
582 "table": "^5.2.3",
583 "text-table": "^0.2.0",
584 "v8-compile-cache": "^2.0.3"
585 },
586 "dependencies": {
587 "regexpp": {
588 "version": "2.0.1",
589 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
590 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
591 "dev": true
592 }
593 }
594 },
595 "eslint-scope": {
596 "version": "5.0.0",
597 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
598 "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
599 "dev": true,
600 "requires": {
601 "esrecurse": "^4.1.0",
602 "estraverse": "^4.1.1"
603 }
604 },
605 "eslint-utils": {
606 "version": "1.4.3",
607 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
608 "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
609 "dev": true,
610 "requires": {
611 "eslint-visitor-keys": "^1.1.0"
612 }
613 },
614 "eslint-visitor-keys": {
615 "version": "1.1.0",
616 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
617 "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
618 "dev": true
619 },
620 "espree": {
621 "version": "6.1.2",
622 "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
623 "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
624 "dev": true,
625 "requires": {
626 "acorn": "^7.1.0",
627 "acorn-jsx": "^5.1.0",
628 "eslint-visitor-keys": "^1.1.0"
629 }
630 },
346 "esprima": { 631 "esprima": {
347 "version": "4.0.1", 632 "version": "4.0.1",
348 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 633 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
349 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 634 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
350 "dev": true 635 "dev": true
351 }, 636 },
637 "esquery": {
638 "version": "1.1.0",
639 "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz",
640 "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==",
641 "dev": true,
642 "requires": {
643 "estraverse": "^4.0.0"
644 }
645 },
646 "esrecurse": {
647 "version": "4.2.1",
648 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
649 "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
650 "dev": true,
651 "requires": {
652 "estraverse": "^4.1.0"
653 }
654 },
655 "estraverse": {
656 "version": "4.3.0",
657 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
658 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
659 "dev": true
660 },
352 "estree-walker": { 661 "estree-walker": {
353 "version": "1.0.1", 662 "version": "1.0.1",
354 "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 663 "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
@@ -361,6 +670,46 @@
361 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 670 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
362 "dev": true 671 "dev": true
363 }, 672 },
673 "external-editor": {
674 "version": "3.1.0",
675 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
676 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
677 "dev": true,
678 "requires": {
679 "chardet": "^0.7.0",
680 "iconv-lite": "^0.4.24",
681 "tmp": "^0.0.33"
682 },
683 "dependencies": {
684 "tmp": {
685 "version": "0.0.33",
686 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
687 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
688 "dev": true,
689 "requires": {
690 "os-tmpdir": "~1.0.2"
691 }
692 }
693 }
694 },
695 "fast-deep-equal": {
696 "version": "3.1.1",
697 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
698 "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
699 "dev": true
700 },
701 "fast-json-stable-stringify": {
702 "version": "2.1.0",
703 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
704 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
705 "dev": true
706 },
707 "fast-levenshtein": {
708 "version": "2.0.6",
709 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
710 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
711 "dev": true
712 },
364 "fd-slicer": { 713 "fd-slicer": {
365 "version": "1.1.0", 714 "version": "1.1.0",
366 "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 715 "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
@@ -370,12 +719,53 @@
370 "pend": "~1.2.0" 719 "pend": "~1.2.0"
371 } 720 }
372 }, 721 },
722 "figures": {
723 "version": "3.2.0",
724 "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
725 "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
726 "dev": true,
727 "requires": {
728 "escape-string-regexp": "^1.0.5"
729 }
730 },
731 "file-entry-cache": {
732 "version": "5.0.1",
733 "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
734 "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
735 "dev": true,
736 "requires": {
737 "flat-cache": "^2.0.1"
738 }
739 },
740 "flat-cache": {
741 "version": "2.0.1",
742 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
743 "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
744 "dev": true,
745 "requires": {
746 "flatted": "^2.0.0",
747 "rimraf": "2.6.3",
748 "write": "1.0.3"
749 }
750 },
751 "flatted": {
752 "version": "2.0.1",
753 "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
754 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
755 "dev": true
756 },
373 "fs.realpath": { 757 "fs.realpath": {
374 "version": "1.0.0", 758 "version": "1.0.0",
375 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 759 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
376 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 760 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
377 "dev": true 761 "dev": true
378 }, 762 },
763 "functional-red-black-tree": {
764 "version": "1.0.1",
765 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
766 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
767 "dev": true
768 },
379 "glob": { 769 "glob": {
380 "version": "7.1.6", 770 "version": "7.1.6",
381 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 771 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
@@ -390,6 +780,24 @@
390 "path-is-absolute": "^1.0.0" 780 "path-is-absolute": "^1.0.0"
391 } 781 }
392 }, 782 },
783 "glob-parent": {
784 "version": "5.1.0",
785 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
786 "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
787 "dev": true,
788 "requires": {
789 "is-glob": "^4.0.1"
790 }
791 },
792 "globals": {
793 "version": "12.3.0",
794 "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
795 "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
796 "dev": true,
797 "requires": {
798 "type-fest": "^0.8.1"
799 }
800 },
393 "has-flag": { 801 "has-flag": {
394 "version": "3.0.0", 802 "version": "3.0.0",
395 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 803 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -410,6 +818,37 @@
410 "readable-stream": "^3.1.1" 818 "readable-stream": "^3.1.1"
411 } 819 }
412 }, 820 },
821 "iconv-lite": {
822 "version": "0.4.24",
823 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
824 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
825 "dev": true,
826 "requires": {
827 "safer-buffer": ">= 2.1.2 < 3"
828 }
829 },
830 "ignore": {
831 "version": "4.0.6",
832 "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
833 "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
834 "dev": true
835 },
836 "import-fresh": {
837 "version": "3.2.1",
838 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
839 "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
840 "dev": true,
841 "requires": {
842 "parent-module": "^1.0.0",
843 "resolve-from": "^4.0.0"
844 }
845 },
846 "imurmurhash": {
847 "version": "0.1.4",
848 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
849 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
850 "dev": true
851 },
413 "inflight": { 852 "inflight": {
414 "version": "1.0.6", 853 "version": "1.0.6",
415 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 854 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -426,12 +865,60 @@
426 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 865 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
427 "dev": true 866 "dev": true
428 }, 867 },
868 "inquirer": {
869 "version": "7.0.4",
870 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz",
871 "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==",
872 "dev": true,
873 "requires": {
874 "ansi-escapes": "^4.2.1",
875 "chalk": "^2.4.2",
876 "cli-cursor": "^3.1.0",
877 "cli-width": "^2.0.0",
878 "external-editor": "^3.0.3",
879 "figures": "^3.0.0",
880 "lodash": "^4.17.15",
881 "mute-stream": "0.0.8",
882 "run-async": "^2.2.0",
883 "rxjs": "^6.5.3",
884 "string-width": "^4.1.0",
885 "strip-ansi": "^5.1.0",
886 "through": "^2.3.6"
887 }
888 },
889 "is-extglob": {
890 "version": "2.1.1",
891 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
892 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
893 "dev": true
894 },
895 "is-fullwidth-code-point": {
896 "version": "3.0.0",
897 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
898 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
899 "dev": true
900 },
901 "is-glob": {
902 "version": "4.0.1",
903 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
904 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
905 "dev": true,
906 "requires": {
907 "is-extglob": "^2.1.1"
908 }
909 },
429 "is-module": { 910 "is-module": {
430 "version": "1.0.0", 911 "version": "1.0.0",
431 "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", 912 "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
432 "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", 913 "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
433 "dev": true 914 "dev": true
434 }, 915 },
916 "is-promise": {
917 "version": "2.1.0",
918 "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
919 "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
920 "dev": true
921 },
435 "is-reference": { 922 "is-reference": {
436 "version": "1.1.4", 923 "version": "1.1.4",
437 "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.4.tgz", 924 "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.4.tgz",
@@ -441,6 +928,12 @@
441 "@types/estree": "0.0.39" 928 "@types/estree": "0.0.39"
442 } 929 }
443 }, 930 },
931 "isexe": {
932 "version": "2.0.0",
933 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
934 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
935 "dev": true
936 },
444 "js-tokens": { 937 "js-tokens": {
445 "version": "4.0.0", 938 "version": "4.0.0",
446 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 939 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -457,11 +950,33 @@
457 "esprima": "^4.0.0" 950 "esprima": "^4.0.0"
458 } 951 }
459 }, 952 },
953 "json-schema-traverse": {
954 "version": "0.4.1",
955 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
956 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
957 "dev": true
958 },
959 "json-stable-stringify-without-jsonify": {
960 "version": "1.0.1",
961 "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
962 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
963 "dev": true
964 },
460 "jsonc-parser": { 965 "jsonc-parser": {
461 "version": "2.2.0", 966 "version": "2.2.0",
462 "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.0.tgz", 967 "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.0.tgz",
463 "integrity": "sha512-4fLQxW1j/5fWj6p78vAlAafoCKtuBm6ghv+Ij5W2DrDx0qE+ZdEl2c6Ko1mgJNF5ftX1iEWQQ4Ap7+3GlhjkOA==" 968 "integrity": "sha512-4fLQxW1j/5fWj6p78vAlAafoCKtuBm6ghv+Ij5W2DrDx0qE+ZdEl2c6Ko1mgJNF5ftX1iEWQQ4Ap7+3GlhjkOA=="
464 }, 969 },
970 "levn": {
971 "version": "0.3.0",
972 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
973 "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
974 "dev": true,
975 "requires": {
976 "prelude-ls": "~1.1.2",
977 "type-check": "~0.3.2"
978 }
979 },
465 "linkify-it": { 980 "linkify-it": {
466 "version": "2.2.0", 981 "version": "2.2.0",
467 "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", 982 "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
@@ -521,6 +1036,12 @@
521 "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 1036 "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
522 "dev": true 1037 "dev": true
523 }, 1038 },
1039 "mimic-fn": {
1040 "version": "2.1.0",
1041 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
1042 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
1043 "dev": true
1044 },
524 "minimatch": { 1045 "minimatch": {
525 "version": "3.0.4", 1046 "version": "3.0.4",
526 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1047 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -545,12 +1066,30 @@
545 "minimist": "0.0.8" 1066 "minimist": "0.0.8"
546 } 1067 }
547 }, 1068 },
1069 "ms": {
1070 "version": "2.1.2",
1071 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1072 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1073 "dev": true
1074 },
548 "mute-stream": { 1075 "mute-stream": {
549 "version": "0.0.8", 1076 "version": "0.0.8",
550 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 1077 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
551 "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", 1078 "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
552 "dev": true 1079 "dev": true
553 }, 1080 },
1081 "natural-compare": {
1082 "version": "1.4.0",
1083 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
1084 "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
1085 "dev": true
1086 },
1087 "nice-try": {
1088 "version": "1.0.5",
1089 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
1090 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
1091 "dev": true
1092 },
554 "node-fetch": { 1093 "node-fetch": {
555 "version": "2.6.0", 1094 "version": "2.6.0",
556 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", 1095 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
@@ -574,6 +1113,29 @@
574 "wrappy": "1" 1113 "wrappy": "1"
575 } 1114 }
576 }, 1115 },
1116 "onetime": {
1117 "version": "5.1.0",
1118 "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
1119 "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
1120 "dev": true,
1121 "requires": {
1122 "mimic-fn": "^2.1.0"
1123 }
1124 },
1125 "optionator": {
1126 "version": "0.8.3",
1127 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
1128 "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
1129 "dev": true,
1130 "requires": {
1131 "deep-is": "~0.1.3",
1132 "fast-levenshtein": "~2.0.6",
1133 "levn": "~0.3.0",
1134 "prelude-ls": "~1.1.2",
1135 "type-check": "~0.3.2",
1136 "word-wrap": "~1.2.3"
1137 }
1138 },
577 "os": { 1139 "os": {
578 "version": "0.1.1", 1140 "version": "0.1.1",
579 "resolved": "https://registry.npmjs.org/os/-/os-0.1.1.tgz", 1141 "resolved": "https://registry.npmjs.org/os/-/os-0.1.1.tgz",
@@ -602,6 +1164,15 @@
602 "os-tmpdir": "^1.0.0" 1164 "os-tmpdir": "^1.0.0"
603 } 1165 }
604 }, 1166 },
1167 "parent-module": {
1168 "version": "1.0.1",
1169 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
1170 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
1171 "dev": true,
1172 "requires": {
1173 "callsites": "^3.0.0"
1174 }
1175 },
605 "parse-semver": { 1176 "parse-semver": {
606 "version": "1.1.1", 1177 "version": "1.1.1",
607 "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", 1178 "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz",
@@ -634,6 +1205,12 @@
634 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1205 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
635 "dev": true 1206 "dev": true
636 }, 1207 },
1208 "path-key": {
1209 "version": "2.0.1",
1210 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
1211 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
1212 "dev": true
1213 },
637 "path-parse": { 1214 "path-parse": {
638 "version": "1.0.6", 1215 "version": "1.0.6",
639 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 1216 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
@@ -646,12 +1223,30 @@
646 "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", 1223 "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
647 "dev": true 1224 "dev": true
648 }, 1225 },
1226 "prelude-ls": {
1227 "version": "1.1.2",
1228 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
1229 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
1230 "dev": true
1231 },
1232 "progress": {
1233 "version": "2.0.3",
1234 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
1235 "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
1236 "dev": true
1237 },
649 "pseudomap": { 1238 "pseudomap": {
650 "version": "1.0.2", 1239 "version": "1.0.2",
651 "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 1240 "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
652 "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 1241 "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
653 "dev": true 1242 "dev": true
654 }, 1243 },
1244 "punycode": {
1245 "version": "2.1.1",
1246 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1247 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1248 "dev": true
1249 },
655 "read": { 1250 "read": {
656 "version": "1.0.7", 1251 "version": "1.0.7",
657 "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", 1252 "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
@@ -672,6 +1267,12 @@
672 "util-deprecate": "^1.0.1" 1267 "util-deprecate": "^1.0.1"
673 } 1268 }
674 }, 1269 },
1270 "regexpp": {
1271 "version": "3.0.0",
1272 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz",
1273 "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==",
1274 "dev": true
1275 },
675 "resolve": { 1276 "resolve": {
676 "version": "1.14.1", 1277 "version": "1.14.1",
677 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz", 1278 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz",
@@ -681,6 +1282,31 @@
681 "path-parse": "^1.0.6" 1282 "path-parse": "^1.0.6"
682 } 1283 }
683 }, 1284 },
1285 "resolve-from": {
1286 "version": "4.0.0",
1287 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
1288 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
1289 "dev": true
1290 },
1291 "restore-cursor": {
1292 "version": "3.1.0",
1293 "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
1294 "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
1295 "dev": true,
1296 "requires": {
1297 "onetime": "^5.1.0",
1298 "signal-exit": "^3.0.2"
1299 }
1300 },
1301 "rimraf": {
1302 "version": "2.6.3",
1303 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
1304 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
1305 "dev": true,
1306 "requires": {
1307 "glob": "^7.1.3"
1308 }
1309 },
684 "rollup": { 1310 "rollup": {
685 "version": "1.31.1", 1311 "version": "1.31.1",
686 "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.31.1.tgz", 1312 "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.31.1.tgz",
@@ -692,23 +1318,87 @@
692 "acorn": "^7.1.0" 1318 "acorn": "^7.1.0"
693 } 1319 }
694 }, 1320 },
1321 "run-async": {
1322 "version": "2.3.0",
1323 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
1324 "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
1325 "dev": true,
1326 "requires": {
1327 "is-promise": "^2.1.0"
1328 }
1329 },
1330 "rxjs": {
1331 "version": "6.5.4",
1332 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
1333 "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
1334 "dev": true,
1335 "requires": {
1336 "tslib": "^1.9.0"
1337 }
1338 },
695 "safe-buffer": { 1339 "safe-buffer": {
696 "version": "5.2.0", 1340 "version": "5.2.0",
697 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", 1341 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
698 "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", 1342 "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
699 "dev": true 1343 "dev": true
700 }, 1344 },
1345 "safer-buffer": {
1346 "version": "2.1.2",
1347 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1348 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1349 "dev": true
1350 },
701 "semver": { 1351 "semver": {
702 "version": "6.3.0", 1352 "version": "6.3.0",
703 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 1353 "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
704 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" 1354 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
705 }, 1355 },
1356 "shebang-command": {
1357 "version": "1.2.0",
1358 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
1359 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
1360 "dev": true,
1361 "requires": {
1362 "shebang-regex": "^1.0.0"
1363 }
1364 },
1365 "shebang-regex": {
1366 "version": "1.0.0",
1367 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
1368 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
1369 "dev": true
1370 },
706 "sigmund": { 1371 "sigmund": {
707 "version": "1.0.1", 1372 "version": "1.0.1",
708 "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", 1373 "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
709 "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", 1374 "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
710 "dev": true 1375 "dev": true
711 }, 1376 },
1377 "signal-exit": {
1378 "version": "3.0.2",
1379 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
1380 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
1381 "dev": true
1382 },
1383 "slice-ansi": {
1384 "version": "2.1.0",
1385 "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
1386 "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
1387 "dev": true,
1388 "requires": {
1389 "ansi-styles": "^3.2.0",
1390 "astral-regex": "^1.0.0",
1391 "is-fullwidth-code-point": "^2.0.0"
1392 },
1393 "dependencies": {
1394 "is-fullwidth-code-point": {
1395 "version": "2.0.0",
1396 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1397 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1398 "dev": true
1399 }
1400 }
1401 },
712 "sourcemap-codec": { 1402 "sourcemap-codec": {
713 "version": "1.4.8", 1403 "version": "1.4.8",
714 "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 1404 "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
@@ -721,6 +1411,28 @@
721 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1411 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
722 "dev": true 1412 "dev": true
723 }, 1413 },
1414 "string-width": {
1415 "version": "4.2.0",
1416 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
1417 "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
1418 "dev": true,
1419 "requires": {
1420 "emoji-regex": "^8.0.0",
1421 "is-fullwidth-code-point": "^3.0.0",
1422 "strip-ansi": "^6.0.0"
1423 },
1424 "dependencies": {
1425 "strip-ansi": {
1426 "version": "6.0.0",
1427 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
1428 "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
1429 "dev": true,
1430 "requires": {
1431 "ansi-regex": "^5.0.0"
1432 }
1433 }
1434 }
1435 },
724 "string_decoder": { 1436 "string_decoder": {
725 "version": "1.3.0", 1437 "version": "1.3.0",
726 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1438 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -730,6 +1442,29 @@
730 "safe-buffer": "~5.2.0" 1442 "safe-buffer": "~5.2.0"
731 } 1443 }
732 }, 1444 },
1445 "strip-ansi": {
1446 "version": "5.2.0",
1447 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1448 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1449 "dev": true,
1450 "requires": {
1451 "ansi-regex": "^4.1.0"
1452 },
1453 "dependencies": {
1454 "ansi-regex": {
1455 "version": "4.1.0",
1456 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1457 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1458 "dev": true
1459 }
1460 }
1461 },
1462 "strip-json-comments": {
1463 "version": "3.0.1",
1464 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
1465 "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
1466 "dev": true
1467 },
733 "supports-color": { 1468 "supports-color": {
734 "version": "5.5.0", 1469 "version": "5.5.0",
735 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1470 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -739,11 +1474,60 @@
739 "has-flag": "^3.0.0" 1474 "has-flag": "^3.0.0"
740 } 1475 }
741 }, 1476 },
1477 "table": {
1478 "version": "5.4.6",
1479 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
1480 "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
1481 "dev": true,
1482 "requires": {
1483 "ajv": "^6.10.2",
1484 "lodash": "^4.17.14",
1485 "slice-ansi": "^2.1.0",
1486 "string-width": "^3.0.0"
1487 },
1488 "dependencies": {
1489 "emoji-regex": {
1490 "version": "7.0.3",
1491 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
1492 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
1493 "dev": true
1494 },
1495 "is-fullwidth-code-point": {
1496 "version": "2.0.0",
1497 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1498 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1499 "dev": true
1500 },
1501 "string-width": {
1502 "version": "3.1.0",
1503 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1504 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1505 "dev": true,
1506 "requires": {
1507 "emoji-regex": "^7.0.1",
1508 "is-fullwidth-code-point": "^2.0.0",
1509 "strip-ansi": "^5.1.0"
1510 }
1511 }
1512 }
1513 },
1514 "text-table": {
1515 "version": "0.2.0",
1516 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
1517 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
1518 "dev": true
1519 },
742 "throttle-debounce": { 1520 "throttle-debounce": {
743 "version": "2.1.0", 1521 "version": "2.1.0",
744 "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.1.0.tgz", 1522 "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.1.0.tgz",
745 "integrity": "sha512-AOvyNahXQuU7NN+VVvOOX+uW6FPaWdAOdRP5HfwYxAfCzXTFKRMoIMk+n+po318+ktcChx+F1Dd91G3YHeMKyg==" 1523 "integrity": "sha512-AOvyNahXQuU7NN+VVvOOX+uW6FPaWdAOdRP5HfwYxAfCzXTFKRMoIMk+n+po318+ktcChx+F1Dd91G3YHeMKyg=="
746 }, 1524 },
1525 "through": {
1526 "version": "2.3.8",
1527 "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1528 "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
1529 "dev": true
1530 },
747 "tmp": { 1531 "tmp": {
748 "version": "0.0.29", 1532 "version": "0.0.29",
749 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", 1533 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz",
@@ -759,54 +1543,25 @@
759 "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", 1543 "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
760 "dev": true 1544 "dev": true
761 }, 1545 },
762 "tslint": { 1546 "tunnel": {
763 "version": "5.20.1", 1547 "version": "0.0.4",
764 "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", 1548 "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz",
765 "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", 1549 "integrity": "sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM=",
766 "dev": true, 1550 "dev": true
767 "requires": {
768 "@babel/code-frame": "^7.0.0",
769 "builtin-modules": "^1.1.1",
770 "chalk": "^2.3.0",
771 "commander": "^2.12.1",
772 "diff": "^4.0.1",
773 "glob": "^7.1.1",
774 "js-yaml": "^3.13.1",
775 "minimatch": "^3.0.4",
776 "mkdirp": "^0.5.1",
777 "resolve": "^1.3.2",
778 "semver": "^5.3.0",
779 "tslib": "^1.8.0",
780 "tsutils": "^2.29.0"
781 },
782 "dependencies": {
783 "builtin-modules": {
784 "version": "1.1.1",
785 "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
786 "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
787 "dev": true
788 },
789 "semver": {
790 "version": "5.7.1",
791 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
792 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
793 "dev": true
794 }
795 }
796 }, 1551 },
797 "tsutils": { 1552 "type-check": {
798 "version": "2.29.0", 1553 "version": "0.3.2",
799 "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", 1554 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
800 "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", 1555 "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
801 "dev": true, 1556 "dev": true,
802 "requires": { 1557 "requires": {
803 "tslib": "^1.8.1" 1558 "prelude-ls": "~1.1.2"
804 } 1559 }
805 }, 1560 },
806 "tunnel": { 1561 "type-fest": {
807 "version": "0.0.4", 1562 "version": "0.8.1",
808 "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz", 1563 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
809 "integrity": "sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM=", 1564 "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
810 "dev": true 1565 "dev": true
811 }, 1566 },
812 "typed-rest-client": { 1567 "typed-rest-client": {
@@ -847,6 +1602,15 @@
847 "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", 1602 "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=",
848 "dev": true 1603 "dev": true
849 }, 1604 },
1605 "uri-js": {
1606 "version": "4.2.2",
1607 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
1608 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
1609 "dev": true,
1610 "requires": {
1611 "punycode": "^2.1.0"
1612 }
1613 },
850 "url-join": { 1614 "url-join": {
851 "version": "1.1.0", 1615 "version": "1.1.0",
852 "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", 1616 "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz",
@@ -859,6 +1623,12 @@
859 "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 1623 "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
860 "dev": true 1624 "dev": true
861 }, 1625 },
1626 "v8-compile-cache": {
1627 "version": "2.1.0",
1628 "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
1629 "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
1630 "dev": true
1631 },
862 "vsce": { 1632 "vsce": {
863 "version": "1.73.0", 1633 "version": "1.73.0",
864 "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.73.0.tgz", 1634 "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.73.0.tgz",
@@ -901,18 +1671,18 @@
901 "integrity": "sha512-JvONPptw3GAQGXlVV2utDcHx0BiY34FupW/kI6mZ5x06ER5DdPG/tXWMVHjTNULF5uKPOUUD0SaXg5QaubJL0A==" 1671 "integrity": "sha512-JvONPptw3GAQGXlVV2utDcHx0BiY34FupW/kI6mZ5x06ER5DdPG/tXWMVHjTNULF5uKPOUUD0SaXg5QaubJL0A=="
902 }, 1672 },
903 "vscode-languageclient": { 1673 "vscode-languageclient": {
904 "version": "6.1.0", 1674 "version": "6.1.1",
905 "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-6.1.0.tgz", 1675 "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-6.1.1.tgz",
906 "integrity": "sha512-Tcp0VoOaa0YzxL4nEfK9tsmcy76Eo8jNLvFQZwh2c8oMm02luL8uGYPLQNAiZ3XGgegfcwiQFZMqbW7DNV0vxA==", 1676 "integrity": "sha512-mB6d8Tg+82l8EFUfR+SBu0+lCshyKVgC5E5+MQ0/BJa+9AgeBjtG5npoGaCo4/VvWzK0ZRGm85zU5iRp1RYPIA==",
907 "requires": { 1677 "requires": {
908 "semver": "^6.3.0", 1678 "semver": "^6.3.0",
909 "vscode-languageserver-protocol": "^3.15.2" 1679 "vscode-languageserver-protocol": "^3.15.3"
910 } 1680 }
911 }, 1681 },
912 "vscode-languageserver-protocol": { 1682 "vscode-languageserver-protocol": {
913 "version": "3.15.2", 1683 "version": "3.15.3",
914 "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.2.tgz", 1684 "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.3.tgz",
915 "integrity": "sha512-GdL05JKOgZ76RDg3suiGCl9enESM7iQgGw4x93ibTh4sldvZmakHmTeZ4iUApPPGKf6O3OVBtrsksBXnHYaxNg==", 1685 "integrity": "sha512-zrMuwHOAQRhjDSnflWdJG+O2ztMWss8GqUUB8dXLR/FPenwkiBNkMIJJYfSN6sgskvsF0rHAoBowNQfbyZnnvw==",
916 "requires": { 1686 "requires": {
917 "vscode-jsonrpc": "^5.0.1", 1687 "vscode-jsonrpc": "^5.0.1",
918 "vscode-languageserver-types": "3.15.1" 1688 "vscode-languageserver-types": "3.15.1"
@@ -923,12 +1693,36 @@
923 "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz", 1693 "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz",
924 "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==" 1694 "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ=="
925 }, 1695 },
1696 "which": {
1697 "version": "1.3.1",
1698 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1699 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1700 "dev": true,
1701 "requires": {
1702 "isexe": "^2.0.0"
1703 }
1704 },
1705 "word-wrap": {
1706 "version": "1.2.3",
1707 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
1708 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
1709 "dev": true
1710 },
926 "wrappy": { 1711 "wrappy": {
927 "version": "1.0.2", 1712 "version": "1.0.2",
928 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1713 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
929 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1714 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
930 "dev": true 1715 "dev": true
931 }, 1716 },
1717 "write": {
1718 "version": "1.0.3",
1719 "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
1720 "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
1721 "dev": true,
1722 "requires": {
1723 "mkdirp": "^0.5.1"
1724 }
1725 },
932 "yallist": { 1726 "yallist": {
933 "version": "2.1.2", 1727 "version": "2.1.2",
934 "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 1728 "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
diff --git a/editors/code/package.json b/editors/code/package.json
index d54b1750a..c498c14b4 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -22,13 +22,13 @@
22 "vscode:prepublish": "tsc && rollup -c", 22 "vscode:prepublish": "tsc && rollup -c",
23 "package": "vsce package -o rust-analyzer.vsix", 23 "package": "vsce package -o rust-analyzer.vsix",
24 "watch": "tsc --watch", 24 "watch": "tsc --watch",
25 "fmt": "tsfmt -r && tslint -p tsconfig.json -c tslint.json 'src/**/*.ts' --fix" 25 "fmt": "tsfmt -r && eslint -c .eslintrc.js --ext ts ./src/ --fix"
26 }, 26 },
27 "dependencies": { 27 "dependencies": {
28 "jsonc-parser": "^2.1.0", 28 "jsonc-parser": "^2.1.0",
29 "node-fetch": "^2.6.0", 29 "node-fetch": "^2.6.0",
30 "throttle-debounce": "^2.1.0", 30 "throttle-debounce": "^2.1.0",
31 "vscode-languageclient": "^6.1.0" 31 "vscode-languageclient": "^6.1.1"
32 }, 32 },
33 "devDependencies": { 33 "devDependencies": {
34 "@rollup/plugin-commonjs": "^11.0.2", 34 "@rollup/plugin-commonjs": "^11.0.2",
@@ -37,9 +37,11 @@
37 "@types/node-fetch": "^2.5.4", 37 "@types/node-fetch": "^2.5.4",
38 "@types/throttle-debounce": "^2.1.0", 38 "@types/throttle-debounce": "^2.1.0",
39 "@types/vscode": "^1.42.0", 39 "@types/vscode": "^1.42.0",
40 "@typescript-eslint/eslint-plugin": "^2.20.0",
41 "@typescript-eslint/parser": "^2.20.0",
42 "eslint": "^6.8.0",
40 "rollup": "^1.31.1", 43 "rollup": "^1.31.1",
41 "tslib": "^1.10.0", 44 "tslib": "^1.10.0",
42 "tslint": "^5.20.1",
43 "typescript": "^3.7.5", 45 "typescript": "^3.7.5",
44 "typescript-formatter": "^7.2.2", 46 "typescript-formatter": "^7.2.2",
45 "vsce": "^1.73.0" 47 "vsce": "^1.73.0"
@@ -177,13 +179,13 @@
177 "default": {}, 179 "default": {},
178 "description": "Fine grained feature flags to disable annoying features" 180 "description": "Fine grained feature flags to disable annoying features"
179 }, 181 },
180 "rust-analyzer.raLspServerPath": { 182 "rust-analyzer.serverPath": {
181 "type": [ 183 "type": [
182 "null", 184 "null",
183 "string" 185 "string"
184 ], 186 ],
185 "default": null, 187 "default": null,
186 "description": "Path to ra_lsp_server executable (points to bundled binary by default)" 188 "description": "Path to rust-analyzer executable (points to bundled binary by default)"
187 }, 189 },
188 "rust-analyzer.excludeGlobs": { 190 "rust-analyzer.excludeGlobs": {
189 "type": "array", 191 "type": "array",
@@ -243,7 +245,7 @@
243 "Full log" 245 "Full log"
244 ], 246 ],
245 "default": "off", 247 "default": "off",
246 "description": "Trace requests to the ra_lsp_server" 248 "description": "Trace requests to the rust-analyzer"
247 }, 249 },
248 "rust-analyzer.lruCapacity": { 250 "rust-analyzer.lruCapacity": {
249 "type": [ 251 "type": [
diff --git a/editors/code/src/commands/index.ts b/editors/code/src/commands/index.ts
index d05f40d67..bebd99ca9 100644
--- a/editors/code/src/commands/index.ts
+++ b/editors/code/src/commands/index.ts
@@ -16,7 +16,7 @@ export * from './ssr';
16 16
17export function collectGarbage(ctx: Ctx): Cmd { 17export function collectGarbage(ctx: Ctx): Cmd {
18 return async () => { 18 return async () => {
19 ctx.client?.sendRequest<null>('rust-analyzer/collectGarbage', null); 19 await ctx.client?.sendRequest<null>('rust-analyzer/collectGarbage', null);
20 }; 20 };
21} 21}
22 22
diff --git a/editors/code/src/commands/ssr.ts b/editors/code/src/commands/ssr.ts
index 6287bf47b..9b814612a 100644
--- a/editors/code/src/commands/ssr.ts
+++ b/editors/code/src/commands/ssr.ts
@@ -14,9 +14,9 @@ export function ssr(ctx: Ctx): Cmd {
14 if (x.includes('==>>')) { 14 if (x.includes('==>>')) {
15 return null; 15 return null;
16 } 16 }
17 return "Enter request: pattern ==>> template" 17 return "Enter request: pattern ==>> template";
18 } 18 }
19 } 19 };
20 const request = await vscode.window.showInputBox(options); 20 const request = await vscode.window.showInputBox(options);
21 21
22 if (!request) return; 22 if (!request) return;
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts
index c3fa788c7..347c989c4 100644
--- a/editors/code/src/config.ts
+++ b/editors/code/src/config.ts
@@ -22,7 +22,7 @@ export class Config {
22 "cargoFeatures", 22 "cargoFeatures",
23 "cargo-watch", 23 "cargo-watch",
24 ] 24 ]
25 .map(opt => `${Config.rootSection}.${opt}`); 25 .map(opt => `${Config.rootSection}.${opt}`);
26 26
27 private static readonly extensionVersion: string = (() => { 27 private static readonly extensionVersion: string = (() => {
28 const packageJsonVersion = vscode 28 const packageJsonVersion = vscode
@@ -76,7 +76,7 @@ export class Config {
76 } 76 }
77 77
78 /** 78 /**
79 * Name of the binary artifact for `ra_lsp_server` that is published for 79 * Name of the binary artifact for `rust-analyzer` that is published for
80 * `platform` on GitHub releases. (It is also stored under the same name when 80 * `platform` on GitHub releases. (It is also stored under the same name when
81 * downloaded by the extension). 81 * downloaded by the extension).
82 */ 82 */
@@ -91,12 +91,12 @@ export class Config {
91 case "arm": 91 case "arm":
92 case "arm64": return null; 92 case "arm64": return null;
93 93
94 default: return "ra_lsp_server-linux"; 94 default: return "rust-analyzer-linux";
95 } 95 }
96 } 96 }
97 97
98 case "darwin": return "ra_lsp_server-mac"; 98 case "darwin": return "rust-analyzer-mac";
99 case "win32": return "ra_lsp_server-windows.exe"; 99 case "win32": return "rust-analyzer-windows.exe";
100 100
101 // Users on these platforms yet need to manually build from sources 101 // Users on these platforms yet need to manually build from sources
102 case "aix": 102 case "aix":
@@ -111,7 +111,7 @@ export class Config {
111 } 111 }
112 112
113 get serverSource(): null | BinarySource { 113 get serverSource(): null | BinarySource {
114 const serverPath = RA_LSP_DEBUG ?? this.cfg.get<null | string>("raLspServerPath"); 114 const serverPath = RA_LSP_DEBUG ?? this.cfg.get<null | string>("serverPath");
115 115
116 if (serverPath) { 116 if (serverPath) {
117 return { 117 return {
@@ -126,7 +126,7 @@ export class Config {
126 126
127 return { 127 return {
128 type: BinarySource.Type.GithubRelease, 128 type: BinarySource.Type.GithubRelease,
129 dir: this.ctx.globalStoragePath, 129 dir: this.ctx.globalStoragePath,
130 file: prebuiltBinaryName, 130 file: prebuiltBinaryName,
131 storage: this.ctx.globalState, 131 storage: this.ctx.globalState,
132 version: Config.extensionVersion, 132 version: Config.extensionVersion,
@@ -140,30 +140,30 @@ export class Config {
140 // We don't do runtime config validation here for simplicity. More on stackoverflow: 140 // We don't do runtime config validation here for simplicity. More on stackoverflow:
141 // https://stackoverflow.com/questions/60135780/what-is-the-best-way-to-type-check-the-configuration-for-vscode-extension 141 // https://stackoverflow.com/questions/60135780/what-is-the-best-way-to-type-check-the-configuration-for-vscode-extension
142 142
143 get highlightingOn() { return this.cfg.get("highlightingOn") as boolean; } 143 get highlightingOn() { return this.cfg.get("highlightingOn") as boolean; }
144 get rainbowHighlightingOn() { return this.cfg.get("rainbowHighlightingOn") as boolean; } 144 get rainbowHighlightingOn() { return this.cfg.get("rainbowHighlightingOn") as boolean; }
145 get lruCapacity() { return this.cfg.get("lruCapacity") as null | number; } 145 get lruCapacity() { return this.cfg.get("lruCapacity") as null | number; }
146 get displayInlayHints() { return this.cfg.get("displayInlayHints") as boolean; } 146 get displayInlayHints() { return this.cfg.get("displayInlayHints") as boolean; }
147 get maxInlayHintLength() { return this.cfg.get("maxInlayHintLength") as number; } 147 get maxInlayHintLength() { return this.cfg.get("maxInlayHintLength") as number; }
148 get excludeGlobs() { return this.cfg.get("excludeGlobs") as string[]; } 148 get excludeGlobs() { return this.cfg.get("excludeGlobs") as string[]; }
149 get useClientWatching() { return this.cfg.get("useClientWatching") as boolean; } 149 get useClientWatching() { return this.cfg.get("useClientWatching") as boolean; }
150 get featureFlags() { return this.cfg.get("featureFlags") as Record<string, boolean>; } 150 get featureFlags() { return this.cfg.get("featureFlags") as Record<string, boolean>; }
151 get rustfmtArgs() { return this.cfg.get("rustfmtArgs") as string[]; } 151 get rustfmtArgs() { return this.cfg.get("rustfmtArgs") as string[]; }
152 152
153 get cargoWatchOptions(): CargoWatchOptions { 153 get cargoWatchOptions(): CargoWatchOptions {
154 return { 154 return {
155 enable: this.cfg.get("cargo-watch.enable") as boolean, 155 enable: this.cfg.get("cargo-watch.enable") as boolean,
156 arguments: this.cfg.get("cargo-watch.arguments") as string[], 156 arguments: this.cfg.get("cargo-watch.arguments") as string[],
157 allTargets: this.cfg.get("cargo-watch.allTargets") as boolean, 157 allTargets: this.cfg.get("cargo-watch.allTargets") as boolean,
158 command: this.cfg.get("cargo-watch.command") as string, 158 command: this.cfg.get("cargo-watch.command") as string,
159 }; 159 };
160 } 160 }
161 161
162 get cargoFeatures(): CargoFeatures { 162 get cargoFeatures(): CargoFeatures {
163 return { 163 return {
164 noDefaultFeatures: this.cfg.get("cargoFeatures.noDefaultFeatures") as boolean, 164 noDefaultFeatures: this.cfg.get("cargoFeatures.noDefaultFeatures") as boolean,
165 allFeatures: this.cfg.get("cargoFeatures.allFeatures") as boolean, 165 allFeatures: this.cfg.get("cargoFeatures.allFeatures") as boolean,
166 features: this.cfg.get("cargoFeatures.features") as string[], 166 features: this.cfg.get("cargoFeatures.features") as string[],
167 }; 167 };
168 } 168 }
169 169
diff --git a/editors/code/src/highlighting.ts b/editors/code/src/highlighting.ts
index a2db04de8..c4d286aef 100644
--- a/editors/code/src/highlighting.ts
+++ b/editors/code/src/highlighting.ts
@@ -29,7 +29,7 @@ export function activateHighlighting(ctx: Ctx) {
29 highlighter.setHighlights(targetEditor, params.decorations); 29 highlighter.setHighlights(targetEditor, params.decorations);
30 }, 30 },
31 ); 31 );
32 }; 32 }
33 33
34 vscode.workspace.onDidChangeConfiguration( 34 vscode.workspace.onDidChangeConfiguration(
35 _ => highlighter.removeHighlights(), 35 _ => highlighter.removeHighlights(),
diff --git a/editors/code/src/inlay_hints.ts b/editors/code/src/inlay_hints.ts
index f82df66ae..26705067a 100644
--- a/editors/code/src/inlay_hints.ts
+++ b/editors/code/src/inlay_hints.ts
@@ -29,13 +29,13 @@ export function activateInlayHints(ctx: Ctx) {
29 29
30 ctx.pushCleanup({ 30 ctx.pushCleanup({
31 dispose() { 31 dispose() {
32 hintsUpdater.clear() 32 hintsUpdater.clear();
33 } 33 }
34 }) 34 });
35 35
36 // XXX: we don't await this, thus Promise rejections won't be handled, but 36 // XXX: we don't await this, thus Promise rejections won't be handled, but
37 // this should never throw in fact... 37 // this should never throw in fact...
38 hintsUpdater.setEnabled(ctx.config.displayInlayHints) 38 void hintsUpdater.setEnabled(ctx.config.displayInlayHints);
39} 39}
40 40
41interface InlayHintsParams { 41interface InlayHintsParams {
@@ -57,7 +57,7 @@ const typeHintDecorationType = vscode.window.createTextEditorDecorationType({
57const parameterHintDecorationType = vscode.window.createTextEditorDecorationType({ 57const parameterHintDecorationType = vscode.window.createTextEditorDecorationType({
58 before: { 58 before: {
59 color: new vscode.ThemeColor('rust_analyzer.inlayHint'), 59 color: new vscode.ThemeColor('rust_analyzer.inlayHint'),
60 } 60 },
61}); 61});
62 62
63class HintsUpdater { 63class HintsUpdater {
diff --git a/editors/code/src/installation/download_artifact.ts b/editors/code/src/installation/download_artifact.ts
index de655f8f4..9996c556f 100644
--- a/editors/code/src/installation/download_artifact.ts
+++ b/editors/code/src/installation/download_artifact.ts
@@ -15,7 +15,7 @@ import { throttle } from "throttle-debounce";
15 * of the artifact as `displayName`. 15 * of the artifact as `displayName`.
16 */ 16 */
17export async function downloadArtifact( 17export async function downloadArtifact(
18 {downloadUrl, releaseName}: ArtifactReleaseInfo, 18 { downloadUrl, releaseName }: ArtifactReleaseInfo,
19 artifactFileName: string, 19 artifactFileName: string,
20 installationDir: string, 20 installationDir: string,
21 displayName: string, 21 displayName: string,
@@ -23,7 +23,7 @@ export async function downloadArtifact(
23 await fs.mkdir(installationDir).catch(err => assert.strictEqual( 23 await fs.mkdir(installationDir).catch(err => assert.strictEqual(
24 err?.code, 24 err?.code,
25 "EEXIST", 25 "EEXIST",
26 `Couldn't create directory "${installationDir}" to download `+ 26 `Couldn't create directory "${installationDir}" to download ` +
27 `${artifactFileName} artifact: ${err.message}` 27 `${artifactFileName} artifact: ${err.message}`
28 )); 28 ));
29 29
diff --git a/editors/code/src/installation/fetch_artifact_release_info.ts b/editors/code/src/installation/fetch_artifact_release_info.ts
index 7d497057a..71889e82a 100644
--- a/editors/code/src/installation/fetch_artifact_release_info.ts
+++ b/editors/code/src/installation/fetch_artifact_release_info.ts
@@ -14,7 +14,7 @@ export async function fetchArtifactReleaseInfo(
14): Promise<null | ArtifactReleaseInfo> { 14): Promise<null | ArtifactReleaseInfo> {
15 15
16 const repoOwner = encodeURIComponent(repo.owner); 16 const repoOwner = encodeURIComponent(repo.owner);
17 const repoName = encodeURIComponent(repo.name); 17 const repoName = encodeURIComponent(repo.name);
18 18
19 const apiEndpointPath = releaseTag 19 const apiEndpointPath = releaseTag
20 ? `/repos/${repoOwner}/${repoName}/releases/tags/${releaseTag}` 20 ? `/repos/${repoOwner}/${repoName}/releases/tags/${releaseTag}`
@@ -28,8 +28,8 @@ export async function fetchArtifactReleaseInfo(
28 28
29 // FIXME: handle non-ok response 29 // FIXME: handle non-ok response
30 const response: GithubRelease = await fetch(requestUrl, { 30 const response: GithubRelease = await fetch(requestUrl, {
31 headers: { Accept: "application/vnd.github.v3+json" } 31 headers: { Accept: "application/vnd.github.v3+json" }
32 }) 32 })
33 .then(res => res.json()); 33 .then(res => res.json());
34 34
35 const artifact = response.assets.find(artifact => artifact.name === artifactFileName); 35 const artifact = response.assets.find(artifact => artifact.name === artifactFileName);
diff --git a/editors/code/src/installation/server.ts b/editors/code/src/installation/server.ts
index 80cb719e3..63ab104a1 100644
--- a/editors/code/src/installation/server.ts
+++ b/editors/code/src/installation/server.ts
@@ -29,7 +29,7 @@ export async function ensureServerBinary(source: null | BinarySource): Promise<n
29 29
30 vscode.window.showErrorMessage( 30 vscode.window.showErrorMessage(
31 `Unable to run ${source.path} binary. ` + 31 `Unable to run ${source.path} binary. ` +
32 `To use the pre-built language server, set "rust-analyzer.raLspServerPath" ` + 32 `To use the pre-built language server, set "rust-analyzer.serverPath" ` +
33 "value to `null` or remove it from the settings to use it by default." 33 "value to `null` or remove it from the settings to use it by default."
34 ); 34 );
35 return null; 35 return null;
@@ -43,7 +43,6 @@ export async function ensureServerBinary(source: null | BinarySource): Promise<n
43 console.log("Installed version:", installedVersion, "required:", requiredVersion); 43 console.log("Installed version:", installedVersion, "required:", requiredVersion);
44 44
45 if (isBinaryAvailable(prebuiltBinaryPath) && installedVersion == requiredVersion) { 45 if (isBinaryAvailable(prebuiltBinaryPath) && installedVersion == requiredVersion) {
46 // FIXME: check for new releases and notify the user to update if possible
47 return prebuiltBinaryPath; 46 return prebuiltBinaryPath;
48 } 47 }
49 48
diff --git a/editors/code/src/main.ts b/editors/code/src/main.ts
index 0ad7ef1bb..a22e0bc66 100644
--- a/editors/code/src/main.ts
+++ b/editors/code/src/main.ts
@@ -11,7 +11,7 @@ import { Config } from './config';
11let ctx: Ctx | undefined; 11let ctx: Ctx | undefined;
12 12
13export async function activate(context: vscode.ExtensionContext) { 13export async function activate(context: vscode.ExtensionContext) {
14 const config = new Config(context) 14 const config = new Config(context);
15 15
16 const serverPath = await ensureServerBinary(config.serverSource); 16 const serverPath = await ensureServerBinary(config.serverSource);
17 if (serverPath == null) { 17 if (serverPath == null) {
@@ -33,7 +33,7 @@ export async function activate(context: vscode.ExtensionContext) {
33 vscode.window.showInformationMessage('Reloading rust-analyzer...'); 33 vscode.window.showInformationMessage('Reloading rust-analyzer...');
34 // @DanTup maneuver 34 // @DanTup maneuver
35 // https://github.com/microsoft/vscode/issues/45774#issuecomment-373423895 35 // https://github.com/microsoft/vscode/issues/45774#issuecomment-373423895
36 await deactivate() 36 await deactivate();
37 for (const sub of ctx.subscriptions) { 37 for (const sub of ctx.subscriptions) {
38 try { 38 try {
39 sub.dispose(); 39 sub.dispose();
@@ -41,9 +41,9 @@ export async function activate(context: vscode.ExtensionContext) {
41 console.error(e); 41 console.error(e);
42 } 42 }
43 } 43 }
44 await activate(context) 44 await activate(context);
45 } 45 };
46 }) 46 });
47 47
48 ctx.registerCommand('analyzerStatus', commands.analyzerStatus); 48 ctx.registerCommand('analyzerStatus', commands.analyzerStatus);
49 ctx.registerCommand('collectGarbage', commands.collectGarbage); 49 ctx.registerCommand('collectGarbage', commands.collectGarbage);
@@ -54,7 +54,7 @@ export async function activate(context: vscode.ExtensionContext) {
54 ctx.registerCommand('expandMacro', commands.expandMacro); 54 ctx.registerCommand('expandMacro', commands.expandMacro);
55 ctx.registerCommand('run', commands.run); 55 ctx.registerCommand('run', commands.run);
56 ctx.registerCommand('onEnter', commands.onEnter); 56 ctx.registerCommand('onEnter', commands.onEnter);
57 ctx.registerCommand('ssr', commands.ssr) 57 ctx.registerCommand('ssr', commands.ssr);
58 58
59 // Internal commands which are invoked by the server. 59 // Internal commands which are invoked by the server.
60 ctx.registerCommand('runSingle', commands.runSingle); 60 ctx.registerCommand('runSingle', commands.runSingle);
diff --git a/editors/code/src/status_display.ts b/editors/code/src/status_display.ts
index ed0d82166..0f5f6ef99 100644
--- a/editors/code/src/status_display.ts
+++ b/editors/code/src/status_display.ts
@@ -15,7 +15,7 @@ export function activateStatusDisplay(ctx: Ctx) {
15 WorkDoneProgress.type, 15 WorkDoneProgress.type,
16 'rustAnalyzer/cargoWatcher', 16 'rustAnalyzer/cargoWatcher',
17 params => statusDisplay.handleProgressNotification(params) 17 params => statusDisplay.handleProgressNotification(params)
18 )) 18 ));
19 } 19 }
20} 20}
21 21
diff --git a/editors/code/tslint.json b/editors/code/tslint.json
deleted file mode 100644
index 333e2a321..000000000
--- a/editors/code/tslint.json
+++ /dev/null
@@ -1,10 +0,0 @@
1{
2 "rules": {
3 "semicolon": [
4 true,
5 "always"
6 ],
7 "prefer-const": true,
8 "no-floating-promises": true
9 }
10}