Update deps, add/rename completion member metadata, count calls in timer (#1126)

This commit is contained in:
Jake Bailey 2020-10-27 15:09:38 -07:00 committed by GitHub
parent c8771e4209
commit 4ee0210ace
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 800 additions and 12748 deletions

View File

@ -10,7 +10,15 @@ async function main() {
transitive: { type: 'boolean' },
}).argv;
await updateAll(argv.transitive, ['@types/vscode']);
await updateAll(argv.transitive, [
// These packages impact compatibility with VS Code and other users;
// ensure they remained pinned exactly.
'@types/vscode',
'vscode-jsonrpc',
'vscode-languageclient',
'vscode-languageserver',
'vscode-languageserver-types',
]);
}
main();

306
package-lock.json generated
View File

@ -43,9 +43,9 @@
}
},
"@eslint/eslintrc": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.1.3.tgz",
"integrity": "sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA==",
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.0.tgz",
"integrity": "sha512-+cIGPCBdLCzqxdtwppswP+zTsH9BOIGzAeKfBIbtb4gW/giMlfMwP0HUSFfhzh20f9u8uZ8hOp62+4GPquTbwQ==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@ -2002,9 +2002,9 @@
},
"dependencies": {
"hosted-git-info": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.6.tgz",
"integrity": "sha512-VRvqVD5T6t9HdmNDWTwbi8H/EC722MemAhOSP5QvYAXpDAY0Nhu2I/i+bXsktu4sU5LVHSh/wmXtVU8bDtjedQ==",
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz",
"integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@ -2091,9 +2091,9 @@
"dev": true
},
"@npmcli/promise-spawn": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.2.0.tgz",
"integrity": "sha512-nFtqjVETliApiRdjbYwKwhlSHx2ZMagyj5b9YbNt0BWeeOVxJd47ZVE2u16vxDHyTOZvk+YLV7INwfAE9a2uow==",
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.0.tgz",
"integrity": "sha512-jDT6itz19zh/wjW6CxKYHW7e8E6PDRmsAchdzsj0MeAQ8h5IP6fiihGhQgXXxFsSRE5sL25a7P86JuoaG1wGyw==",
"dev": true,
"requires": {
"infer-owner": "^1.0.4"
@ -2153,9 +2153,9 @@
"dev": true
},
"node-gyp": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.1.tgz",
"integrity": "sha512-+7TqukzQVlne5EcLrw0Cdm8S26OC4H2mTb5wji4HlsocgB6a9aYHgqlKLKxRMlH/PWNyVQjyRjFhiet7+QZefA==",
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz",
"integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==",
"dev": true,
"requires": {
"env-paths": "^2.2.0",
@ -2271,9 +2271,9 @@
}
},
"@octokit/plugin-request-log": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz",
"integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz",
"integrity": "sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg==",
"dev": true
},
"@octokit/plugin-rest-endpoint-methods": {
@ -2452,9 +2452,9 @@
"dev": true
},
"@types/node": {
"version": "14.11.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.8.tgz",
"integrity": "sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw==",
"version": "12.19.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.1.tgz",
"integrity": "sha512-/xaVmBBjOGh55WCqumLAHXU9VhjGtmyTGqJzFBXRWZzByOXI5JAJNx9xPVGEsNizrNwcec92fQMj458MWfjN1A==",
"dev": true
},
"@types/normalize-package-data": {
@ -2470,9 +2470,9 @@
"dev": true
},
"@types/yargs": {
"version": "15.0.8",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.8.tgz",
"integrity": "sha512-b0BYzFUzBpOhPjpl1wtAHU994jBeKF4TKVlT7ssFv44T617XNcPdRoG4AzHLVshLzlrF7i3lTelH7UbuNYV58Q==",
"version": "15.0.9",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.9.tgz",
"integrity": "sha512-HmU8SeIRhZCWcnRskCs36Q1Q00KBV6Cqh/ora8WN1+22dY07AZdn6Gel8QZ3t26XYPImtcL8WV/eqjhVmMEw4g==",
"dev": true,
"requires": {
"@types/yargs-parser": "*"
@ -2485,13 +2485,13 @@
"dev": true
},
"@typescript-eslint/eslint-plugin": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.4.1.tgz",
"integrity": "sha512-O+8Utz8pb4OmcA+Nfi5THQnQpHSD2sDUNw9AxNHpuYOo326HZTtG8gsfT+EAYuVrFNaLyNb2QnUNkmTRDskuRA==",
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.6.0.tgz",
"integrity": "sha512-1+419X+Ynijytr1iWI+/IcX/kJryc78YNpdaXR1aRO1sU3bC0vZrIAF1tIX7rudVI84W7o7M4zo5p1aVt70fAg==",
"dev": true,
"requires": {
"@typescript-eslint/experimental-utils": "4.4.1",
"@typescript-eslint/scope-manager": "4.4.1",
"@typescript-eslint/experimental-utils": "4.6.0",
"@typescript-eslint/scope-manager": "4.6.0",
"debug": "^4.1.1",
"functional-red-black-tree": "^1.0.1",
"regexpp": "^3.0.0",
@ -2500,55 +2500,55 @@
}
},
"@typescript-eslint/experimental-utils": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.4.1.tgz",
"integrity": "sha512-Nt4EVlb1mqExW9cWhpV6pd1a3DkUbX9DeyYsdoeziKOpIJ04S2KMVDO+SEidsXRH/XHDpbzXykKcMTLdTXH6cQ==",
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.6.0.tgz",
"integrity": "sha512-pnh6Beh2/4xjJVNL+keP49DFHk3orDHHFylSp3WEjtgW3y1U+6l+jNnJrGlbs6qhAz5z96aFmmbUyKhunXKvKw==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.3",
"@typescript-eslint/scope-manager": "4.4.1",
"@typescript-eslint/types": "4.4.1",
"@typescript-eslint/typescript-estree": "4.4.1",
"@typescript-eslint/scope-manager": "4.6.0",
"@typescript-eslint/types": "4.6.0",
"@typescript-eslint/typescript-estree": "4.6.0",
"eslint-scope": "^5.0.0",
"eslint-utils": "^2.0.0"
}
},
"@typescript-eslint/parser": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.4.1.tgz",
"integrity": "sha512-S0fuX5lDku28Au9REYUsV+hdJpW/rNW0gWlc4SXzF/kdrRaAVX9YCxKpziH7djeWT/HFAjLZcnY7NJD8xTeUEg==",
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.6.0.tgz",
"integrity": "sha512-Dj6NJxBhbdbPSZ5DYsQqpR32MwujF772F2H3VojWU6iT4AqL4BKuoNWOPFCoSZvCcADDvQjDpa6OLDAaiZPz2Q==",
"dev": true,
"requires": {
"@typescript-eslint/scope-manager": "4.4.1",
"@typescript-eslint/types": "4.4.1",
"@typescript-eslint/typescript-estree": "4.4.1",
"@typescript-eslint/scope-manager": "4.6.0",
"@typescript-eslint/types": "4.6.0",
"@typescript-eslint/typescript-estree": "4.6.0",
"debug": "^4.1.1"
}
},
"@typescript-eslint/scope-manager": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.4.1.tgz",
"integrity": "sha512-2oD/ZqD4Gj41UdFeWZxegH3cVEEH/Z6Bhr/XvwTtGv66737XkR4C9IqEkebCuqArqBJQSj4AgNHHiN1okzD/wQ==",
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.6.0.tgz",
"integrity": "sha512-uZx5KvStXP/lwrMrfQQwDNvh2ppiXzz5TmyTVHb+5TfZ3sUP7U1onlz3pjoWrK9konRyFe1czyxObWTly27Ang==",
"dev": true,
"requires": {
"@typescript-eslint/types": "4.4.1",
"@typescript-eslint/visitor-keys": "4.4.1"
"@typescript-eslint/types": "4.6.0",
"@typescript-eslint/visitor-keys": "4.6.0"
}
},
"@typescript-eslint/types": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.4.1.tgz",
"integrity": "sha512-KNDfH2bCyax5db+KKIZT4rfA8rEk5N0EJ8P0T5AJjo5xrV26UAzaiqoJCxeaibqc0c/IvZxp7v2g3difn2Pn3w==",
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.6.0.tgz",
"integrity": "sha512-5FAgjqH68SfFG4UTtIFv+rqYJg0nLjfkjD0iv+5O27a0xEeNZ5rZNDvFGZDizlCD1Ifj7MAbSW2DPMrf0E9zjA==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.4.1.tgz",
"integrity": "sha512-wP/V7ScKzgSdtcY1a0pZYBoCxrCstLrgRQ2O9MmCUZDtmgxCO/TCqOTGRVwpP4/2hVfqMz/Vw1ZYrG8cVxvN3g==",
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.6.0.tgz",
"integrity": "sha512-s4Z9qubMrAo/tw0CbN0IN4AtfwuehGXVZM0CHNMdfYMGBDhPdwTEpBrecwhP7dRJu6d9tT9ECYNaWDHvlFSngA==",
"dev": true,
"requires": {
"@typescript-eslint/types": "4.4.1",
"@typescript-eslint/visitor-keys": "4.4.1",
"@typescript-eslint/types": "4.6.0",
"@typescript-eslint/visitor-keys": "4.6.0",
"debug": "^4.1.1",
"globby": "^11.0.1",
"is-glob": "^4.0.1",
@ -2558,12 +2558,12 @@
}
},
"@typescript-eslint/visitor-keys": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.4.1.tgz",
"integrity": "sha512-H2JMWhLaJNeaylSnMSQFEhT/S/FsJbebQALmoJxMPMxLtlVAMy2uJP/Z543n9IizhjRayLSqoInehCeNW9rWcw==",
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.6.0.tgz",
"integrity": "sha512-38Aa9Ztl0XyFPVzmutHXqDMCu15Xx8yKvUo38Gu3GhsuckCh3StPI5t2WIO9LHEsOH7MLmlGfKUisU8eW1Sjhg==",
"dev": true,
"requires": {
"@typescript-eslint/types": "4.4.1",
"@typescript-eslint/types": "4.6.0",
"eslint-visitor-keys": "^2.0.0"
}
},
@ -3470,9 +3470,9 @@
}
},
"commander": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-6.1.0.tgz",
"integrity": "sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz",
"integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==",
"dev": true
},
"compare-func": {
@ -4321,13 +4321,13 @@
"dev": true
},
"eslint": {
"version": "7.11.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-7.11.0.tgz",
"integrity": "sha512-G9+qtYVCHaDi1ZuWzBsOWo2wSwd70TXnU6UHA3cTYHp7gCTXZcpggWFoUVAMRarg68qtPoNfFbzPh+VdOgmwmw==",
"version": "7.12.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-7.12.0.tgz",
"integrity": "sha512-n5pEU27DRxCSlOhJ2rO57GDLcNsxO0LPpAbpFdh7xmcDmjmlGUfoyrsB3I7yYdQXO5N3gkSTiDrPSPNFiiirXA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
"@eslint/eslintrc": "^0.1.3",
"@eslint/eslintrc": "^0.2.0",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@ -4374,9 +4374,9 @@
}
},
"eslint-config-prettier": {
"version": "6.12.0",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.12.0.tgz",
"integrity": "sha512-9jWPlFlgNwRUYVoujvWTQ1aMO8o6648r+K7qU7K5Jmkbyqav1fuEZC0COYpGBxyiAJb65Ra9hrmFx19xRGwXWw==",
"version": "6.14.0",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.14.0.tgz",
"integrity": "sha512-DbVwh0qZhAC7CNDWcq8cBdK6FcVHiMTKmCypOPWeZkp9hJ8xYwTaWSa6bb6cjfi8KOeJy0e9a8Izxyx+O4+gCQ==",
"dev": true,
"requires": {
"get-stdin": "^6.0.0"
@ -5457,9 +5457,9 @@
}
},
"git-url-parse": {
"version": "11.3.0",
"resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.3.0.tgz",
"integrity": "sha512-i3XNa8IKmqnUqWBcdWBjOcnyZYfN3C1WRvnKI6ouFWwsXCZEnlgbwbm55ZpJ3OJMhfEP/ryFhqW8bBhej3C5Ug==",
"version": "11.4.0",
"resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.0.tgz",
"integrity": "sha512-KlIa5jvMYLjXMQXkqpFzobsyD/V2K5DRHl5OAf+6oDFPlPLxrGDVQlIdI63c4/Kt6kai4kALENSALlzTGST3GQ==",
"dev": true,
"requires": {
"git-up": "^4.0.0"
@ -6019,6 +6019,15 @@
"ci-info": "^2.0.0"
}
},
"is-core-module": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.0.0.tgz",
"integrity": "sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==",
"dev": true,
"requires": {
"has": "^1.0.3"
}
},
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@ -7290,9 +7299,9 @@
}
},
"npm-check-updates": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-9.1.0.tgz",
"integrity": "sha512-sx/hbKWAMPgflMffQLZXYt9uZeOK7Rnd6DLoL+8n2Sxe5yn5MMD4kXtkH5NXqJ3OxVA4JgnVbL7rvXhJKGMZrg==",
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-9.2.2.tgz",
"integrity": "sha512-yrkVDJWUHeyISsJZeXIS+XIp5tkVbAMRXpLiscqG2XfHWYM4evmxc7+hah0A7VfvqKe6qQA+pnj8Q+rDCPf3QA==",
"dev": true,
"requires": {
"chalk": "^4.1.0",
@ -7497,9 +7506,9 @@
},
"dependencies": {
"agent-base": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz",
"integrity": "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dev": true,
"requires": {
"debug": "4"
@ -7557,9 +7566,9 @@
}
},
"hosted-git-info": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.6.tgz",
"integrity": "sha512-VRvqVD5T6t9HdmNDWTwbi8H/EC722MemAhOSP5QvYAXpDAY0Nhu2I/i+bXsktu4sU5LVHSh/wmXtVU8bDtjedQ==",
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz",
"integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@ -8129,9 +8138,9 @@
}
},
"hosted-git-info": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.6.tgz",
"integrity": "sha512-VRvqVD5T6t9HdmNDWTwbi8H/EC722MemAhOSP5QvYAXpDAY0Nhu2I/i+bXsktu4sU5LVHSh/wmXtVU8bDtjedQ==",
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz",
"integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@ -8183,9 +8192,9 @@
}
},
"npm-packlist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.1.2.tgz",
"integrity": "sha512-eByPaP+wsKai0BJX5pmb58d3mfR0zUATcnyuvSxIudTEn+swCPFLxh7srCmqB4hr7i9V24/DPjjq5b2qUtbgXQ==",
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.1.4.tgz",
"integrity": "sha512-Qzg2pvXC9U4I4fLnUrBmcIT4x0woLtUgxUi9eC+Zrcv1Xx5eamytGAfbDWQ67j7xOcQ2VW1I3su9smVTIdu7Hw==",
"dev": true,
"requires": {
"glob": "^7.1.6",
@ -8455,13 +8464,13 @@
}
},
"prompts": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
"integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz",
"integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==",
"dev": true,
"requires": {
"kleur": "^3.0.3",
"sisteransi": "^1.0.4"
"sisteransi": "^1.0.5"
}
},
"promzard": {
@ -8540,9 +8549,9 @@
"dev": true
},
"pupa": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz",
"integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==",
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
"integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
"dev": true,
"requires": {
"escape-goat": "^2.0.0"
@ -8923,11 +8932,12 @@
"dev": true
},
"resolve": {
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
"integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
"integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
"dev": true,
"requires": {
"is-core-module": "^2.0.0",
"path-parse": "^1.0.6"
}
},
@ -9530,23 +9540,67 @@
}
},
"string.prototype.trimend": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
"integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz",
"integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
"es-abstract": "^1.17.5"
"es-abstract": "^1.18.0-next.1"
},
"dependencies": {
"es-abstract": {
"version": "1.18.0-next.1",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
"integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
"is-callable": "^1.2.2",
"is-negative-zero": "^2.0.0",
"is-regex": "^1.1.1",
"object-inspect": "^1.8.0",
"object-keys": "^1.1.1",
"object.assign": "^4.1.1",
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
}
}
}
},
"string.prototype.trimstart": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
"integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz",
"integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
"es-abstract": "^1.17.5"
"es-abstract": "^1.18.0-next.1"
},
"dependencies": {
"es-abstract": {
"version": "1.18.0-next.1",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
"integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
"is-callable": "^1.2.2",
"is-negative-zero": "^2.0.0",
"is-regex": "^1.1.1",
"object-inspect": "^1.8.0",
"object-keys": "^1.1.1",
"object.assign": "^4.1.1",
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
}
}
}
},
"string_decoder": {
@ -9638,6 +9692,12 @@
"semver": "7.3.2"
},
"dependencies": {
"commander": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-6.1.0.tgz",
"integrity": "sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA==",
"dev": true
},
"cosmiconfig": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
@ -9721,9 +9781,9 @@
}
},
"term-size": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz",
"integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==",
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
"integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
"dev": true
},
"text-extensions": {
@ -9926,9 +9986,9 @@
"dev": true
},
"uglify-js": {
"version": "3.11.2",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.11.2.tgz",
"integrity": "sha512-G440NU6fewtnQftSgqRV1r2A5ChKbU1gqFCJ7I8S7MPpY/eZZfLGefaY6gUZYiWebMaO+txgiQ1ZyLDuNWJulg==",
"version": "3.11.4",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.11.4.tgz",
"integrity": "sha512-FyYnoxVL1D6+jDGQpbK5jW6y/2JlVfRfEeQ67BPCUg5wfCjaKOpr2XeceE4QL+MkhxliLtf5EbrMDZgzpt2CNw==",
"dev": true,
"optional": true
},
@ -10434,18 +10494,18 @@
"dev": true
},
"yargs": {
"version": "16.0.3",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.0.3.tgz",
"integrity": "sha512-6+nLw8xa9uK1BOEOykaiYAJVh6/CjxWXK/q9b5FpRgNslt8s22F2xMBqVIKgCRjNgGvGPBy8Vog7WN7yh4amtA==",
"version": "16.1.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.1.0.tgz",
"integrity": "sha512-upWFJOmDdHN0syLuESuvXDmrRcWd1QafJolHskzaw79uZa7/x53gxQKiR07W59GWY1tFhhU/Th9DrtSfpS782g==",
"dev": true,
"requires": {
"cliui": "^7.0.0",
"escalade": "^3.0.2",
"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.1",
"yargs-parser": "^20.0.0"
"y18n": "^5.0.2",
"yargs-parser": "^20.2.2"
},
"dependencies": {
"ansi-styles": {
@ -10458,9 +10518,9 @@
}
},
"cliui": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.2.tgz",
"integrity": "sha512-lhpKkuUj67j5JgZIPZxLe7nSa4MQoojzRVWQyzMqBp2hBg6gwRjUDAwC1YDeBaC3APDBKNnjWbv2mlDF4XgOSA==",
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.3.tgz",
"integrity": "sha512-Gj3QHTkVMPKqwP3f7B4KPkBZRMR9r4rfi5bXFpg1a+Svvj8l7q5CnkBkVQzfxT5DFSsGk2+PascOgL0JYkL2kw==",
"dev": true,
"requires": {
"string-width": "^4.2.0",
@ -10518,15 +10578,15 @@
}
},
"y18n": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.2.tgz",
"integrity": "sha512-CkwaeZw6dQgqgPGeTWKMXCRmMcBgETFlTml1+ZOO+q7kGst8NREJ+eWwFNPVUQ4QGdAaklbqCZHH6Zuep1RjiA==",
"version": "5.0.5",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
"integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==",
"dev": true
},
"yargs-parser": {
"version": "20.2.2",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.2.tgz",
"integrity": "sha512-XmrpXaTl6noDsf1dKpBuUNCOHqjs0g3jRMXf/ztRxdOmb+er8kE5z5b55Lz3p5u2T8KJ59ENBnASS8/iapVJ5g==",
"version": "20.2.3",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.3.tgz",
"integrity": "sha512-emOFRT9WVHw03QSvN5qor9QQT9+sw5vwxfYweivSMHTcAXPefwVae2FjO7JJjj8hCE4CzPOPeFM83VwT29HCww==",
"dev": true
}
}

View File

@ -21,20 +21,21 @@
"devDependencies": {
"@types/fs-extra": "^9.0.2",
"@types/glob": "^7.1.3",
"@types/yargs": "^15.0.8",
"@typescript-eslint/eslint-plugin": "^4.4.1",
"@typescript-eslint/parser": "^4.4.1",
"eslint": "^7.11.0",
"eslint-config-prettier": "^6.12.0",
"@types/node": "^12.19.1",
"@types/yargs": "^15.0.9",
"@typescript-eslint/eslint-plugin": "^4.6.0",
"@typescript-eslint/parser": "^4.6.0",
"eslint": "^7.12.0",
"eslint-config-prettier": "^6.14.0",
"eslint-plugin-simple-import-sort": "^5.0.3",
"fs-extra": "^9.0.1",
"glob": "^7.1.6",
"lerna": "^3.22.1",
"npm-check-updates": "^9.1.0",
"npm-check-updates": "^9.2.2",
"p-queue": "^6.6.2",
"prettier": "2.1.2",
"syncpack": "^5.6.10",
"typescript": "^4.0.3",
"yargs": "^16.0.3"
"yargs": "^16.1.0"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -30,13 +30,13 @@
},
"devDependencies": {
"@types/command-line-args": "^5.0.0",
"@types/jest": "^26.0.14",
"@types/node": "^12.12.67",
"@types/jest": "^26.0.15",
"@types/node": "^12.19.1",
"@types/tmp": "^0.2.0",
"jest": "^26.5.3",
"jest": "^26.6.1",
"jest-junit": "^12.0.0",
"shx": "^0.3.2",
"ts-jest": "^26.4.1",
"shx": "^0.3.3",
"ts-jest": "^26.4.3",
"typescript": "^4.0.3"
}
}

View File

@ -29,9 +29,12 @@ export class Duration {
export class TimingStat {
totalTime = 0;
callCount = 0;
isTiming = false;
timeOperation(callback: () => void) {
this.callCount++;
// Handle reentrancy.
if (this.isTiming) {
callback();

View File

@ -181,8 +181,8 @@ export interface CompletionItemData {
symbolLabel?: string;
}
// ModuleContext attempts to gather info for unknown types
export interface ModuleContext {
// MemberAccessInfo attempts to gather info for unknown types
export interface MemberAccessInfo {
lastKnownModule?: string;
lastKnownMemberName?: string;
unknownMemberName?: string;
@ -190,7 +190,7 @@ export interface ModuleContext {
export interface CompletionResults {
completionList: CompletionList | undefined;
moduleContext?: ModuleContext;
memberAccessInfo?: MemberAccessInfo;
}
interface RecentCompletionInfo {
@ -563,7 +563,7 @@ export class CompletionProvider {
let leftType = this._evaluator.getType(leftExprNode);
const symbolTable = new Map<string, Symbol>();
const completionList = CompletionList.create();
let lastKnownModule: ModuleContext | undefined;
let memberAccessInfo: MemberAccessInfo = {};
if (leftType) {
if (isTypeVar(leftType)) {
@ -605,16 +605,16 @@ export class CompletionProvider {
: undefined;
this._addSymbolsForSymbolTable(symbolTable, (_) => true, priorWord, objectThrough, completionList);
// If we dont know this type, look for a module we should stub
// If we don't know this type, look for a module we should stub
if (!leftType || isUnknown(leftType) || isUnbound(leftType)) {
lastKnownModule = this._getLastKnownModule(leftExprNode, leftType);
memberAccessInfo = this._getLastKnownModule(leftExprNode, leftType);
}
}
return { completionList, moduleContext: lastKnownModule };
return { completionList, memberAccessInfo };
}
private _getLastKnownModule(leftExprNode: ExpressionNode, leftType: Type | undefined): ModuleContext | undefined {
private _getLastKnownModule(leftExprNode: ExpressionNode, leftType: Type | undefined): MemberAccessInfo {
let curNode: ExpressionNode | undefined = leftExprNode;
let curType: Type | undefined = leftType;
let unknownMemberName: string | undefined =
@ -645,25 +645,25 @@ export class CompletionProvider {
}
}
const context: ModuleContext = {};
const memberAccessInfo: MemberAccessInfo = {};
if (curType && !isUnknown(curType) && !isUnbound(curType) && curNode) {
const moduleNamesForType = getDeclaringModulesForType(curType);
// For union types we only care about non 'typing' modules.
context.lastKnownModule = moduleNamesForType.find((n) => n !== 'typing');
memberAccessInfo.lastKnownModule = moduleNamesForType.find((n) => n !== 'typing');
if (curNode.nodeType === ParseNodeType.MemberAccess) {
context.lastKnownMemberName = curNode.memberName.value;
memberAccessInfo.lastKnownMemberName = curNode.memberName.value;
} else if (curNode.nodeType === ParseNodeType.Name && isClass(curType)) {
context.lastKnownMemberName = curType.details.name;
memberAccessInfo.lastKnownMemberName = curType.details.name;
} else if (curNode.nodeType === ParseNodeType.Name && isObject(curType)) {
context.lastKnownMemberName = curType.classType.details.name;
memberAccessInfo.lastKnownMemberName = curType.classType.details.name;
}
context.unknownMemberName = unknownMemberName;
memberAccessInfo.unknownMemberName = unknownMemberName;
}
return context;
return memberAccessInfo;
}
private _getStatementCompletions(

View File

@ -12,6 +12,6 @@
await helper.verifyCompletion('included', 'markdown', {
marker1: {
completions: [],
moduleContext: { lastKnownModule: 'test', lastKnownMemberName: 'Model', unknownMemberName: 'unknownName' },
memberAccessInfo: { lastKnownModule: 'test', lastKnownMemberName: 'Model', unknownMemberName: 'unknownName' },
},
});

View File

@ -26,12 +26,12 @@ await helper.verifyCompletion('included', 'markdown', {
// tests: _getLastKnownModule(): if (curNode.nodeType === ParseNodeType.MemberAccess && curNode.memberName)
marker1: {
completions: [],
moduleContext: { lastKnownModule: 'test', lastKnownMemberName: 'foo', unknownMemberName: 'foo' },
memberAccessInfo: { lastKnownModule: 'test', lastKnownMemberName: 'foo', unknownMemberName: 'foo' },
},
// tests: _getLastKnownModule(): else if (curNode.nodeType === ParseNodeType.Name && isClass(curType))
marker2: {
completions: [],
moduleContext: {
memberAccessInfo: {
lastKnownModule: 'test',
lastKnownMemberName: 'Model',
unknownMemberName: 'unknownMember',
@ -40,7 +40,7 @@ await helper.verifyCompletion('included', 'markdown', {
// tests: _getLastKnownModule(): else if (curNode.nodeType === ParseNodeType.Name && isObject(curType))
marker3: {
completions: [],
moduleContext: {
memberAccessInfo: {
lastKnownModule: 'test',
lastKnownMemberName: 'Model',
unknownMemberName: 'unknownMember',
@ -48,10 +48,10 @@ await helper.verifyCompletion('included', 'markdown', {
},
marker4: {
completions: [],
moduleContext: { lastKnownModule: 'test', lastKnownMemberName: 'Model', unknownMemberName: 'unknownValue' },
memberAccessInfo: { lastKnownModule: 'test', lastKnownMemberName: 'Model', unknownMemberName: 'unknownValue' },
},
marker5: {
completions: [],
moduleContext: {},
memberAccessInfo: {},
},
});

View File

@ -21,7 +21,7 @@
await helper.verifyCompletion('included', 'markdown', {
marker1: {
completions: [],
moduleContext: {
memberAccessInfo: {
lastKnownModule: 'testnumpy',
lastKnownMemberName: 'random',
unknownMemberName: 'randint',

View File

@ -184,7 +184,7 @@ declare namespace _ {
map: {
[marker: string]: {
completions: FourSlashCompletionItem[];
moduleContext?: {
memberAccessInfo?: {
lastKnownModule?: string;
lastKnownMemberName?: string;
unknownMemberName?: string;

View File

@ -811,7 +811,7 @@ export class TestState {
map: {
[marker: string]: {
completions: _.FourSlashCompletionItem[];
moduleContext?: {
memberAccessInfo?: {
lastKnownModule?: string;
lastKnownMemberName?: string;
unknownMemberName?: string;
@ -917,21 +917,21 @@ export class TestState {
assert.fail('Failed to get completions');
}
if (map[markerName].moduleContext !== undefined && result?.moduleContext !== undefined) {
const expectedModule = map[markerName].moduleContext?.lastKnownModule;
const expectedType = map[markerName].moduleContext?.lastKnownMemberName;
const expectedName = map[markerName].moduleContext?.unknownMemberName;
if (map[markerName].memberAccessInfo !== undefined && result?.memberAccessInfo !== undefined) {
const expectedModule = map[markerName].memberAccessInfo?.lastKnownModule;
const expectedType = map[markerName].memberAccessInfo?.lastKnownMemberName;
const expectedName = map[markerName].memberAccessInfo?.unknownMemberName;
if (
result?.moduleContext?.lastKnownModule !== expectedModule ||
result?.moduleContext?.lastKnownMemberName !== expectedType ||
result?.moduleContext?.unknownMemberName !== expectedName
result?.memberAccessInfo?.lastKnownModule !== expectedModule ||
result?.memberAccessInfo?.lastKnownMemberName !== expectedType ||
result?.memberAccessInfo?.unknownMemberName !== expectedName
) {
assert.fail(
`Expected completion results moduleContext with \n lastKnownModule: "${expectedModule}"\n lastKnownMemberName: "${expectedType}"\n unknownMemberName: "${expectedName}"\n Actual moduleContext:\n lastKnownModule: "${
result.moduleContext?.lastKnownModule ?? ''
`Expected completion results memberAccessInfo with \n lastKnownModule: "${expectedModule}"\n lastKnownMemberName: "${expectedType}"\n unknownMemberName: "${expectedName}"\n Actual memberAccessInfo:\n lastKnownModule: "${
result.memberAccessInfo?.lastKnownModule ?? ''
}"\n lastKnownMemberName: "${
result.moduleContext?.lastKnownMemberName ?? ''
}\n unknownMemberName: "${result.moduleContext?.unknownMemberName ?? ''}" `
result.memberAccessInfo?.lastKnownMemberName ?? ''
}\n unknownMemberName: "${result.memberAccessInfo?.unknownMemberName ?? ''}" `
);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -23,15 +23,15 @@
"webpack": "webpack --mode development --progress"
},
"devDependencies": {
"@types/node": "^12.12.67",
"@types/node": "^12.19.1",
"clean-webpack-plugin": "^3.0.0",
"copy-webpack-plugin": "^6.2.1",
"shx": "^0.3.2",
"ts-loader": "^8.0.5",
"shx": "^0.3.3",
"ts-loader": "^8.0.7",
"tsconfig-paths-webpack-plugin": "^3.3.0",
"typescript": "^4.0.3",
"webpack": "^5.1.2",
"webpack-cli": "^4.0.0"
"webpack": "^5.2.0",
"webpack-cli": "^4.1.0"
},
"files": [
"/dist"

File diff suppressed because it is too large Load Diff

View File

@ -667,19 +667,19 @@
"vscode-languageserver": "7.0.0-next.7"
},
"devDependencies": {
"@types/node": "^12.12.67",
"@types/node": "^12.19.1",
"@types/vscode": "~1.48.0",
"chalk": "^4.1.0",
"clean-webpack-plugin": "^3.0.0",
"copy-webpack-plugin": "^6.2.1",
"detect-indent": "^6.0.0",
"fs-extra": "^9.0.1",
"shx": "^0.3.2",
"ts-loader": "^8.0.5",
"shx": "^0.3.3",
"ts-loader": "^8.0.7",
"tsconfig-paths-webpack-plugin": "^3.3.0",
"typescript": "^4.0.3",
"vsce": "^1.81.1",
"webpack": "^5.1.2",
"webpack-cli": "^4.0.0"
"webpack": "^5.2.0",
"webpack-cli": "^4.1.0"
}
}