Merge branch 'master' of https://github.com/Microsoft/TypeScript into feature/eslint

This commit is contained in:
Alexander
2019-08-17 16:37:39 +03:00
59 changed files with 1235 additions and 330 deletions
+30 -22
View File
@@ -1,8 +1,8 @@
# TypeScript
[![Join the chat at https://gitter.im/Microsoft/TypeScript](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Microsoft/TypeScript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://travis-ci.org/microsoft/TypeScript.svg?branch=master)](https://travis-ci.org/Microsoft/TypeScript)
[![Join the chat at https://gitter.im/microsoft/TypeScript](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/microsoft/TypeScript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://travis-ci.org/microsoft/TypeScript.svg?branch=master)](https://travis-ci.org/microsoft/TypeScript)
[![VSTS Build Status](https://dev.azure.com/typescript/TypeScript/_apis/build/status/Typescript/node10)](https://dev.azure.com/typescript/TypeScript/_build/latest?definitionId=4&view=logs)
[![npm version](https://badge.fury.io/js/typescript.svg)](https://www.npmjs.com/package/typescript)
[![Downloads](https://img.shields.io/npm/dm/typescript.svg)](https://www.npmjs.com/package/typescript)
@@ -27,14 +27,14 @@ npm install -g typescript@next
## Contribute
There are many ways to [contribute](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript.
* [Submit bugs](https://github.com/Microsoft/TypeScript/issues) and help us verify fixes as they are checked in.
* Review the [source code changes](https://github.com/Microsoft/TypeScript/pulls).
There are many ways to [contribute](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript.
* [Submit bugs](https://github.com/microsoft/TypeScript/issues) and help us verify fixes as they are checked in.
* Review the [source code changes](https://github.com/microsoft/TypeScript/pulls).
* Engage with other TypeScript users and developers on [StackOverflow](https://stackoverflow.com/questions/tagged/typescript).
* Join the [#typescript](https://twitter.com/search?q=%23TypeScript) discussion on Twitter.
* [Contribute bug fixes](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md).
* Read the language specification ([docx](https://github.com/Microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.docx?raw=true),
[pdf](https://github.com/Microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.pdf?raw=true), [md](https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md)).
* [Contribute bug fixes](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md).
* Read the language specification ([docx](https://github.com/microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.docx?raw=true),
[pdf](https://github.com/microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.pdf?raw=true), [md](https://github.com/microsoft/TypeScript/blob/master/doc/spec.md)).
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see
the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com)
@@ -44,7 +44,7 @@ with any additional questions or comments.
* [Quick tutorial](https://www.typescriptlang.org/docs/tutorial.html)
* [Programming handbook](https://www.typescriptlang.org/docs/handbook/basic-types.html)
* [Language specification](https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md)
* [Language specification](https://github.com/microsoft/TypeScript/blob/master/doc/spec.md)
* [Homepage](https://www.typescriptlang.org/)
## Building
@@ -54,7 +54,7 @@ In order to build the TypeScript compiler, ensure that you have [Git](https://gi
Clone a copy of the repo:
```bash
git clone https://github.com/Microsoft/TypeScript.git
git clone https://github.com/microsoft/TypeScript.git
```
Change to the TypeScript directory:
@@ -73,17 +73,25 @@ npm install
Use one of the following to build and test:
```
gulp local # Build the compiler into built/local
gulp clean # Delete the built compiler
gulp LKG # Replace the last known good with the built one.
# Bootstrapping step to be executed when the built compiler reaches a stable state.
gulp tests # Build the test infrastructure using the built compiler.
gulp runtests # Run tests using the built compiler and test infrastructure.
# You can override the host or specify a test for this command.
# Use --host=<hostName> or --tests=<testPath>.
gulp baseline-accept # This replaces the baseline test results with the results obtained from gulp runtests.
gulp lint # Runs eslint on the TypeScript source.
gulp help # List the above commands.
gulp local # Build the compiler into built/local.
gulp clean # Delete the built compiler.
gulp LKG # Replace the last known good with the built one.
# Bootstrapping step to be executed when the built compiler reaches a stable state.
gulp tests # Build the test infrastructure using the built compiler.
gulp runtests # Run tests using the built compiler and test infrastructure.
# Some low-value tests are skipped when not on a CI machine - you can use the
# --skipPercent=0 command to override this behavior and run all tests locally.
# You can override the specific suite runner used or specify a test for this command.
# Use --tests=<testPath> for a specific test and/or --runner=<runnerName> for a specific suite.
# Valid runners include conformance, compiler, fourslash, project, user, and docker
# The user and docker runners are extended test suite runners - the user runner
# works on disk in the tests/cases/user directory, while the docker runner works in containers.
# You'll need to have the docker executable in your system path for the docker runner to work.
gulp runtests-parallel # Like runtests, but split across multiple threads. Uses a number of threads equal to the system
# core count by default. Use --workers=<number> to adjust this.
gulp baseline-accept # This replaces the baseline test results with the results obtained from gulp runtests.
gulp lint # Runs eslint on the TypeScript source.
gulp help # List the above commands.
```
@@ -96,4 +104,4 @@ node built/local/tsc.js hello.ts
## Roadmap
For details on our planned features and future direction please refer to our [roadmap](https://github.com/Microsoft/TypeScript/wiki/Roadmap).
For details on our planned features and future direction please refer to our [roadmap](https://github.com/microsoft/TypeScript/wiki/Roadmap).
+1
View File
@@ -15,6 +15,7 @@ module.exports = minimist(process.argv.slice(2), {
"r": "reporter",
"c": "colors", "color": "colors",
"skip-percent": "skipPercent",
"skippercent": "skipPercent",
"w": "workers",
"f": "fix"
},
+12 -2
View File
@@ -11,6 +11,7 @@ const userName = process.env.GH_USERNAME;
const reviewers = process.env.REQUESTING_USER ? [process.env.REQUESTING_USER] : ["weswigham", "RyanCavanaugh"];
const branchName = `pick/${process.env.SOURCE_ISSUE}/${process.env.TARGET_BRANCH}`;
const remoteUrl = `https://${process.argv[2]}@github.com/${userName}/TypeScript.git`;
const produceLKG = !!process.env.PRODUCE_LKG;
async function main() {
if (!process.env.TARGET_BRANCH) {
@@ -52,7 +53,16 @@ ${logText.trim()}`;
runSequence([
["git", ["checkout", process.env.TARGET_BRANCH]], // checkout the target branch
["git", ["checkout", "-b", branchName]], // create a new branch
["git", ["cherry-pick", squashSha.trim()]], //
["git", ["cherry-pick", squashSha.trim()]],
]);
if (produceLKG) {
runSequence([
["gulp", ["LKG"]],
["git", ["add", "lib"]],
["git", ["commit", "-m", `"Update LKG"`]]
]);
}
runSequence([
["git", ["remote", "add", "fork", remoteUrl]], // Add the remote fork
["git", ["push", "--set-upstream", "fork", branchName, "-f"]] // push the branch
]);
@@ -71,7 +81,7 @@ ${logText.trim()}`;
base: process.env.TARGET_BRANCH,
body:
`This cherry-pick was triggerd by a request on https://github.com/Microsoft/TypeScript/pull/${process.env.SOURCE_ISSUE}
Please review the diff and merge if no changes are unexpected.
Please review the diff and merge if no changes are unexpected.${produceLKG ? ` An LKG update commit is included seperately from the base change.` : ""}
You can view the cherry-pick log [here](https://typescript.visualstudio.com/TypeScript/_build/index?buildId=${process.env.BUILD_BUILDID}&_a=summary).
cc ${reviewers.map(r => "@" + r).join(" ")}`,
+26 -30
View File
@@ -9332,10 +9332,10 @@ namespace ts {
return globalFunctionType;
case "Array":
case "array":
return !typeArgs || !typeArgs.length ? anyArrayType : undefined;
return (!typeArgs || !typeArgs.length) && !noImplicitAny ? anyArrayType : undefined;
case "Promise":
case "promise":
return !typeArgs || !typeArgs.length ? createPromiseType(anyType) : undefined;
return (!typeArgs || !typeArgs.length) && !noImplicitAny ? createPromiseType(anyType) : undefined;
case "Object":
if (typeArgs && typeArgs.length === 2) {
if (isJSDocIndexSignature(node)) {
@@ -9347,7 +9347,7 @@ namespace ts {
return anyType;
}
checkNoTypeArguments(node);
return anyType;
return !noImplicitAny ? anyType : undefined;
}
}
}
@@ -15484,8 +15484,7 @@ namespace ts {
let visited: Map<number>;
let bivariant = false;
let propagationType: Type;
let inferenceMatch = false;
let inferenceIncomplete = false;
let inferencePriority = InferencePriority.MaxValue;
let allowComplexConstraintInference = true;
inferFromTypes(originalSource, originalTarget);
@@ -15598,7 +15597,7 @@ namespace ts {
clearCachedInferences(inferences);
}
}
inferenceMatch = true;
inferencePriority = Math.min(inferencePriority, priority);
return;
}
else {
@@ -15692,19 +15691,15 @@ namespace ts {
const key = source.id + "," + target.id;
const status = visited && visited.get(key);
if (status !== undefined) {
if (status & 1) inferenceMatch = true;
if (status & 2) inferenceIncomplete = true;
inferencePriority = Math.min(inferencePriority, status);
return;
}
(visited || (visited = createMap<number>())).set(key, 0);
const saveInferenceMatch = inferenceMatch;
const saveInferenceIncomplete = inferenceIncomplete;
inferenceMatch = false;
inferenceIncomplete = false;
(visited || (visited = createMap<number>())).set(key, InferencePriority.Circularity);
const saveInferencePriority = inferencePriority;
inferencePriority = InferencePriority.MaxValue;
action(source, target);
visited.set(key, (inferenceMatch ? 1 : 0) | (inferenceIncomplete ? 2 : 0));
inferenceMatch = inferenceMatch || saveInferenceMatch;
inferenceIncomplete = inferenceIncomplete || saveInferenceIncomplete;
visited.set(key, inferencePriority);
inferencePriority = Math.min(inferencePriority, saveInferencePriority);
}
function inferFromMatchingType(source: Type, targets: Type[], matches: (s: Type, t: Type) => boolean) {
@@ -15776,10 +15771,11 @@ namespace ts {
let nakedTypeVariable: Type | undefined;
const sources = source.flags & TypeFlags.Union ? (<UnionType>source).types : [source];
const matched = new Array<boolean>(sources.length);
const saveInferenceIncomplete = inferenceIncomplete;
inferenceIncomplete = false;
let inferenceCircularity = false;
// First infer to types that are not naked type variables. For each source type we
// track whether inferences were made from that particular type to some target.
// track whether inferences were made from that particular type to some target with
// equal priority (i.e. of equal quality) to what we would infer for a naked type
// parameter.
for (const t of targets) {
if (getInferenceInfoForType(t)) {
nakedTypeVariable = t;
@@ -15787,20 +15783,20 @@ namespace ts {
}
else {
for (let i = 0; i < sources.length; i++) {
const saveInferenceMatch = inferenceMatch;
inferenceMatch = false;
const saveInferencePriority = inferencePriority;
inferencePriority = InferencePriority.MaxValue;
inferFromTypes(sources[i], t);
if (inferenceMatch) matched[i] = true;
inferenceMatch = inferenceMatch || saveInferenceMatch;
if (inferencePriority === priority) matched[i] = true;
inferenceCircularity = inferenceCircularity || inferencePriority === InferencePriority.Circularity;
inferencePriority = Math.min(inferencePriority, saveInferencePriority);
}
}
}
const inferenceComplete = !inferenceIncomplete;
inferenceIncomplete = inferenceIncomplete || saveInferenceIncomplete;
// If the target has a single naked type variable and inference completed (meaning we
// explored the types fully), create a union of the source types from which no inferences
// have been made so far and infer from that union to the naked type variable.
if (typeVariableCount === 1 && inferenceComplete) {
// If the target has a single naked type variable and no inference circularities were
// encountered above (meaning we explored the types fully), create a union of the source
// types from which no inferences have been made so far and infer from that union to the
// naked type variable.
if (typeVariableCount === 1 && !inferenceCircularity) {
const unmatched = flatMap(sources, (s, i) => matched[i] ? undefined : s);
if (unmatched.length) {
inferFromTypes(getUnionType(unmatched), nakedTypeVariable!);
@@ -15903,7 +15899,7 @@ namespace ts {
const symbol = isNonConstructorObject ? target.symbol : undefined;
if (symbol) {
if (contains(symbolStack, symbol)) {
inferenceIncomplete = true;
inferencePriority = InferencePriority.Circularity;
return;
}
(symbolStack || (symbolStack = [])).push(symbol);
+4
View File
@@ -5112,6 +5112,10 @@
"category": "Message",
"code": 95087
},
"Enable the '--jsx' flag in your configuration file": {
"category": "Message",
"code": 95088
},
"No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer.": {
"category": "Error",
+3 -3
View File
@@ -1484,7 +1484,7 @@ namespace ts {
function scan(): SyntaxKind {
startPos = pos;
tokenFlags = 0;
tokenFlags = TokenFlags.None;
let asteriskSeen = false;
while (true) {
tokenPos = pos;
@@ -2116,7 +2116,7 @@ namespace ts {
function scanJsDocToken(): JSDocSyntaxKind {
startPos = tokenPos = pos;
tokenFlags = 0;
tokenFlags = TokenFlags.None;
if (pos >= end) {
return token = SyntaxKind.EndOfFileToken;
}
@@ -2277,7 +2277,7 @@ namespace ts {
tokenPos = textPos;
token = SyntaxKind.Unknown;
tokenValue = undefined!;
tokenFlags = 0;
tokenFlags = TokenFlags.None;
}
function setInJSDocType(inType: boolean) {
+2
View File
@@ -4524,8 +4524,10 @@ namespace ts {
LiteralKeyof = 1 << 5, // Inference made from a string literal to a keyof T
NoConstraints = 1 << 6, // Don't infer from constraints of instantiable types
AlwaysStrict = 1 << 7, // Always use strict rules for contravariant inferences
MaxValue = 1 << 8, // Seed for inference priority tracking
PriorityImpliesCombination = ReturnType | MappedTypeConstraint | LiteralKeyof, // These priorities imply that the resulting type should be a combination of all candidates
Circularity = -1, // Inference circularity (value less than all other priorities)
}
/* @internal */
+1 -1
View File
@@ -2345,7 +2345,7 @@ namespace ts {
export function getTypeParameterFromJsDoc(node: TypeParameterDeclaration & { parent: JSDocTemplateTag }): TypeParameterDeclaration | undefined {
const name = node.name.escapedText;
const { typeParameters } = (node.parent.parent.parent as SignatureDeclaration | InterfaceDeclaration | ClassDeclaration);
return find(typeParameters!, p => p.name.escapedText === name);
return typeParameters && find(typeParameters, p => p.name.escapedText === name);
}
export function hasRestParameter(s: SignatureDeclaration | JSDocSignature): boolean {
@@ -0,0 +1,35 @@
/* @internal */
namespace ts.codefix {
const fixID = "fixEnableJsxFlag";
const errorCodes = [Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided.code];
registerCodeFix({
errorCodes,
getCodeActions: context => {
const { configFile } = context.program.getCompilerOptions();
if (configFile === undefined) {
return undefined;
}
const changes = textChanges.ChangeTracker.with(context, changeTracker =>
doChange(changeTracker, configFile)
);
return [
createCodeFixActionNoFixId(fixID, changes, Diagnostics.Enable_the_jsx_flag_in_your_configuration_file)
];
},
fixIds: [fixID],
getAllCodeActions: context =>
codeFixAll(context, errorCodes, changes => {
const { configFile } = context.program.getCompilerOptions();
if (configFile === undefined) {
return undefined;
}
doChange(changes, configFile);
})
});
function doChange(changeTracker: textChanges.ChangeTracker, configFile: TsConfigSourceFile) {
setJsonCompilerOptionValue(changeTracker, configFile, "jsx", createStringLiteral("react"));
}
}
+1
View File
@@ -65,6 +65,7 @@
"codefixes/fixClassSuperMustPrecedeThisAccess.ts",
"codefixes/fixConstructorForDerivedNeedSuperCall.ts",
"codefixes/fixEnableExperimentalDecorators.ts",
"codefixes/fixEnableJsxFlag.ts",
"codefixes/fixExtendsInterfaceBecomesImplements.ts",
"codefixes/fixForgottenThisPropertyAccess.ts",
"codefixes/fixUnusedIdentifier.ts",
+1 -1
View File
@@ -52,7 +52,7 @@ abstract class ExternalCompileRunnerBase extends RunnerBase {
const submoduleDir = path.join(cwd, directoryName);
exec("git", ["reset", "HEAD", "--hard"], { cwd: submoduleDir });
exec("git", ["clean", "-f"], { cwd: submoduleDir });
exec("git", ["submodule", "update", "--init", "--remote", "."], { cwd: submoduleDir });
exec("git", ["submodule", "update", "--init", "--remote", "."], { cwd: originalCwd });
const config = JSON.parse(fs.readFileSync(path.join(cwd, "test.json"), { encoding: "utf8" })) as UserConfig;
ts.Debug.assert(!!config.types, "Bad format from test.json: Types field must be present.");
File diff suppressed because one or more lines are too long
+3 -1
View File
@@ -2442,7 +2442,9 @@ declare namespace ts {
LiteralKeyof = 32,
NoConstraints = 64,
AlwaysStrict = 128,
PriorityImpliesCombination = 56
MaxValue = 256,
PriorityImpliesCombination = 56,
Circularity = -1
}
/** @deprecated Use FileExtensionInfo instead. */
export type JsFileExtensionInfo = FileExtensionInfo;
+3 -1
View File
@@ -2442,7 +2442,9 @@ declare namespace ts {
LiteralKeyof = 32,
NoConstraints = 64,
AlwaysStrict = 128,
PriorityImpliesCombination = 56
MaxValue = 256,
PriorityImpliesCombination = 56,
Circularity = -1
}
/** @deprecated Use FileExtensionInfo instead. */
export type JsFileExtensionInfo = FileExtensionInfo;
+23 -87
View File
@@ -2,14 +2,10 @@ Exit Code: 1
Standard output:
Rush Multi-Project Build Tool 5.X.X - https://rushjs.io
Node.js version is 12.8.0 (pre-LTS)
Node.js version is 12.8.1 (pre-LTS)
Starting "rush rebuild"
Executing a maximum of ?simultaneous processes...
XX of XX: [@azure/identity] completed successfully in ? seconds
XX of XX: [@azure/event-processor-host] completed successfully in ? seconds
XX of XX: [@azure/abort-controller] completed successfully in ? seconds
XX of XX: [@azure/core-arm] completed successfully in ? seconds
XX of XX: [@azure/core-asynciterator-polyfill] completed successfully in ? seconds
XX of XX: [@azure/core-auth] completed successfully in ? seconds
npm ERR! code ELIFECYCLE
npm ERR! errno 2
@@ -31,71 +27,42 @@ npm ERR! This is probably not a problem with npm. There is likely additional log
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
ERROR: "build:lib" exited with 1.
XX of XX: [@azure/event-processor-host] completed successfully in ? seconds
XX of XX: [@azure/core-asynciterator-polyfill] completed successfully in ? seconds
XX of XX: [@azure/core-paging] completed successfully in ? seconds
XX of XX: [@azure/core-tracing] completed successfully in ? seconds
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @azure/keyvault-certificates@X.X.X extract-api: `tsc -p . && api-extractor run --local`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @azure/keyvault-certificates@X.X.X extract-api script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @azure/keyvault-keys@X.X.X-preview.4 extract-api: `tsc -p . && api-extractor run --local`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @azure/keyvault-keys@X.X.X-preview.4 extract-api script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @azure/keyvault-secrets@X.X.X-preview.5 extract-api: `tsc -p . && api-extractor run --local`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @azure/keyvault-secrets@X.X.X-preview.5 extract-api script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
XX of XX: [@azure/service-bus] completed successfully in ? seconds
XX of XX: [@azure/storage-blob] completed successfully in ? seconds
XX of XX: [@azure/storage-file] completed successfully in ? seconds
XX of XX: [@azure/storage-queue] completed successfully in ? seconds
XX of XX: [@azure/template] completed successfully in ? seconds
XX of XX: [testhub] completed successfully in ? seconds
SUCCESS (14)
SUCCESS (11)
================================
@azure/abort-controller (? seconds)
@azure/core-arm (? seconds)
@azure/core-asynciterator-polyfill (? seconds)
@azure/core-auth (? seconds)
@azure/event-processor-host (? seconds)
@azure/core-asynciterator-polyfill (? seconds)
@azure/core-paging (? seconds)
@azure/core-tracing (? seconds)
@azure/event-processor-host (? seconds)
@azure/identity (? seconds)
@azure/service-bus (? seconds)
@azure/storage-blob (? seconds)
@azure/storage-file (? seconds)
@azure/storage-queue (? seconds)
@azure/template (? seconds)
testhub (? seconds)
================================
BLOCKED (1)
BLOCKED (8)
================================
@azure/identity
@azure/core-amqp
@azure/core-arm
@azure/event-hubs
@azure/keyvault-certificates
@azure/keyvault-keys
@azure/keyvault-secrets
@azure/template
================================
FAILURE (5)
FAILURE (1)
================================
@azure/core-amqp ( ? seconds)
>>> @azure/core-amqp
tsc -p . && rollup -c 2>&1
src/errors.ts(580,20): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'typeof ConditionErrorNameMapper'.
src/errors.ts(604,34): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'typeof SystemErrorConditionMapper'.
src/errors.ts(605,20): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'typeof ConditionErrorNameMapper'.
src/shims.d.ts(14,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'window' must be of type 'Window & typeof globalThis', but here has type 'Window'.
@azure/core-http ( ? seconds)
npm ERR! code ELIFECYCLE
npm ERR! errno 2
@@ -117,36 +84,6 @@ npm ERR! This is probably not a problem with npm. There is likely additional log
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
ERROR: "build:lib" exited with 1.
@azure/keyvault-certificates ( ? seconds)
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @azure/keyvault-certificates@X.X.X extract-api: `tsc -p . && api-extractor run --local`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @azure/keyvault-certificates@X.X.X extract-api script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
@azure/keyvault-keys ( ? seconds)
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @azure/keyvault-keys@X.X.X-preview.4 extract-api: `tsc -p . && api-extractor run --local`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @azure/keyvault-keys@X.X.X-preview.4 extract-api script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
@azure/keyvault-secrets ( ? seconds)
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @azure/keyvault-secrets@X.X.X-preview.5 extract-api: `tsc -p . && api-extractor run --local`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @azure/keyvault-secrets@X.X.X-preview.5 extract-api script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
================================
Error: Project(s) failed to build
rush rebuild - Errors! ( ? seconds)
@@ -155,14 +92,13 @@ rush rebuild - Errors! ( ? seconds)
Standard error:
XX of XX: [@azure/core-amqp] failed to build!
XX of XX: [@azure/event-hubs] blocked by [@azure/core-amqp]!
XX of XX: [@azure/core-http] failed to build!
XX of XX: [@azure/keyvault-certificates] failed to build!
XX of XX: [@azure/keyvault-keys] failed to build!
XX of XX: [@azure/keyvault-secrets] failed to build!
[@azure/core-amqp] Returned error code: 2
XX of XX: [@azure/core-arm] blocked by [@azure/core-http]!
XX of XX: [@azure/keyvault-certificates] blocked by [@azure/core-http]!
XX of XX: [@azure/keyvault-keys] blocked by [@azure/core-http]!
XX of XX: [@azure/keyvault-secrets] blocked by [@azure/core-http]!
XX of XX: [@azure/identity] blocked by [@azure/core-http]!
XX of XX: [@azure/core-amqp] blocked by [@azure/core-http]!
XX of XX: [@azure/event-hubs] blocked by [@azure/core-http]!
XX of XX: [@azure/template] blocked by [@azure/core-http]!
[@azure/core-http] Returned error code: 1
[@azure/keyvault-certificates] Returned error code: 2
[@azure/keyvault-keys] Returned error code: 2
[@azure/keyvault-secrets] Returned error code: 2
@@ -0,0 +1,69 @@
=== tests/cases/compiler/jsdocArrayObjectPromiseImplicitAny.js ===
/** @type {Array} */
var anyArray = [5];
>anyArray : Symbol(anyArray, Decl(jsdocArrayObjectPromiseImplicitAny.js, 1, 3))
/** @type {Array<number>} */
var numberArray = [5];
>numberArray : Symbol(numberArray, Decl(jsdocArrayObjectPromiseImplicitAny.js, 4, 3))
/**
* @param {Array} arr
* @return {Array}
*/
function returnAnyArray(arr) {
>returnAnyArray : Symbol(returnAnyArray, Decl(jsdocArrayObjectPromiseImplicitAny.js, 4, 22))
>arr : Symbol(arr, Decl(jsdocArrayObjectPromiseImplicitAny.js, 10, 24))
return arr;
>arr : Symbol(arr, Decl(jsdocArrayObjectPromiseImplicitAny.js, 10, 24))
}
/** @type {Promise} */
var anyPromise = Promise.resolve(5);
>anyPromise : Symbol(anyPromise, Decl(jsdocArrayObjectPromiseImplicitAny.js, 15, 3))
>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
/** @type {Promise<number>} */
var numberPromise = Promise.resolve(5);
>numberPromise : Symbol(numberPromise, Decl(jsdocArrayObjectPromiseImplicitAny.js, 18, 3))
>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
/**
* @param {Promise} pr
* @return {Promise}
*/
function returnAnyPromise(pr) {
>returnAnyPromise : Symbol(returnAnyPromise, Decl(jsdocArrayObjectPromiseImplicitAny.js, 18, 39))
>pr : Symbol(pr, Decl(jsdocArrayObjectPromiseImplicitAny.js, 24, 26))
return pr;
>pr : Symbol(pr, Decl(jsdocArrayObjectPromiseImplicitAny.js, 24, 26))
}
/** @type {Object} */
var anyObject = {valueOf: 1}; // not an error since assigning to any.
>anyObject : Symbol(anyObject, Decl(jsdocArrayObjectPromiseImplicitAny.js, 29, 3))
>valueOf : Symbol(valueOf, Decl(jsdocArrayObjectPromiseImplicitAny.js, 29, 17))
/** @type {Object<string, number>} */
var paramedObject = {valueOf: 1};
>paramedObject : Symbol(paramedObject, Decl(jsdocArrayObjectPromiseImplicitAny.js, 32, 3))
>valueOf : Symbol(valueOf, Decl(jsdocArrayObjectPromiseImplicitAny.js, 32, 21))
/**
* @param {Object} obj
* @return {Object}
*/
function returnAnyObject(obj) {
>returnAnyObject : Symbol(returnAnyObject, Decl(jsdocArrayObjectPromiseImplicitAny.js, 32, 33))
>obj : Symbol(obj, Decl(jsdocArrayObjectPromiseImplicitAny.js, 38, 25))
return obj;
>obj : Symbol(obj, Decl(jsdocArrayObjectPromiseImplicitAny.js, 38, 25))
}
@@ -0,0 +1,81 @@
=== tests/cases/compiler/jsdocArrayObjectPromiseImplicitAny.js ===
/** @type {Array} */
var anyArray = [5];
>anyArray : any[]
>[5] : number[]
>5 : 5
/** @type {Array<number>} */
var numberArray = [5];
>numberArray : number[]
>[5] : number[]
>5 : 5
/**
* @param {Array} arr
* @return {Array}
*/
function returnAnyArray(arr) {
>returnAnyArray : (arr: any[]) => any[]
>arr : any[]
return arr;
>arr : any[]
}
/** @type {Promise} */
var anyPromise = Promise.resolve(5);
>anyPromise : Promise<any>
>Promise.resolve(5) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>5 : 5
/** @type {Promise<number>} */
var numberPromise = Promise.resolve(5);
>numberPromise : Promise<number>
>Promise.resolve(5) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>5 : 5
/**
* @param {Promise} pr
* @return {Promise}
*/
function returnAnyPromise(pr) {
>returnAnyPromise : (pr: Promise<any>) => Promise<any>
>pr : Promise<any>
return pr;
>pr : Promise<any>
}
/** @type {Object} */
var anyObject = {valueOf: 1}; // not an error since assigning to any.
>anyObject : any
>{valueOf: 1} : { valueOf: number; }
>valueOf : number
>1 : 1
/** @type {Object<string, number>} */
var paramedObject = {valueOf: 1};
>paramedObject : { [x: string]: number; }
>{valueOf: 1} : { valueOf: number; }
>valueOf : number
>1 : 1
/**
* @param {Object} obj
* @return {Object}
*/
function returnAnyObject(obj) {
>returnAnyObject : (obj: any) => any
>obj : any
return obj;
>obj : any
}
@@ -0,0 +1,66 @@
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(1,12): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(8,12): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(9,13): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(15,12): error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(22,12): error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(23,13): error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(30,21): error TS2322: Type 'number' is not assignable to type '() => Object'.
==== tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js (7 errors) ====
/** @type {Array} */
~~~~~
!!! error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
var notAnyArray = [5];
/** @type {Array<number>} */
var numberArray = [5];
/**
* @param {Array} arr
~~~~~
!!! error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
* @return {Array}
~~~~~
!!! error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
*/
function returnNotAnyArray(arr) {
return arr;
}
/** @type {Promise} */
~~~~~~~
!!! error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
var notAnyPromise = Promise.resolve(5);
/** @type {Promise<number>} */
var numberPromise = Promise.resolve(5);
/**
* @param {Promise} pr
~~~~~~~
!!! error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
* @return {Promise}
~~~~~~~
!!! error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
*/
function returnNotAnyPromise(pr) {
return pr;
}
/** @type {Object} */
var notAnyObject = {valueOf: 1}; // error since assigning to Object, not any.
~~~~~~~
!!! error TS2322: Type 'number' is not assignable to type '() => Object'.
/** @type {Object<string, number>} */
var paramedObject = {valueOf: 1};
/**
* @param {Object} obj
* @return {Object}
*/
function returnNotAnyObject(obj) {
return obj;
}
@@ -0,0 +1,69 @@
=== tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js ===
/** @type {Array} */
var notAnyArray = [5];
>notAnyArray : Symbol(notAnyArray, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 1, 3))
/** @type {Array<number>} */
var numberArray = [5];
>numberArray : Symbol(numberArray, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 4, 3))
/**
* @param {Array} arr
* @return {Array}
*/
function returnNotAnyArray(arr) {
>returnNotAnyArray : Symbol(returnNotAnyArray, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 4, 22))
>arr : Symbol(arr, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 10, 27))
return arr;
>arr : Symbol(arr, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 10, 27))
}
/** @type {Promise} */
var notAnyPromise = Promise.resolve(5);
>notAnyPromise : Symbol(notAnyPromise, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 15, 3))
>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
/** @type {Promise<number>} */
var numberPromise = Promise.resolve(5);
>numberPromise : Symbol(numberPromise, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 18, 3))
>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
/**
* @param {Promise} pr
* @return {Promise}
*/
function returnNotAnyPromise(pr) {
>returnNotAnyPromise : Symbol(returnNotAnyPromise, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 18, 39))
>pr : Symbol(pr, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 24, 29))
return pr;
>pr : Symbol(pr, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 24, 29))
}
/** @type {Object} */
var notAnyObject = {valueOf: 1}; // error since assigning to Object, not any.
>notAnyObject : Symbol(notAnyObject, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 29, 3))
>valueOf : Symbol(valueOf, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 29, 20))
/** @type {Object<string, number>} */
var paramedObject = {valueOf: 1};
>paramedObject : Symbol(paramedObject, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 32, 3))
>valueOf : Symbol(valueOf, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 32, 21))
/**
* @param {Object} obj
* @return {Object}
*/
function returnNotAnyObject(obj) {
>returnNotAnyObject : Symbol(returnNotAnyObject, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 32, 33))
>obj : Symbol(obj, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 38, 28))
return obj;
>obj : Symbol(obj, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 38, 28))
}
@@ -0,0 +1,81 @@
=== tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js ===
/** @type {Array} */
var notAnyArray = [5];
>notAnyArray : any[]
>[5] : number[]
>5 : 5
/** @type {Array<number>} */
var numberArray = [5];
>numberArray : number[]
>[5] : number[]
>5 : 5
/**
* @param {Array} arr
* @return {Array}
*/
function returnNotAnyArray(arr) {
>returnNotAnyArray : (arr: any[]) => any[]
>arr : any[]
return arr;
>arr : any[]
}
/** @type {Promise} */
var notAnyPromise = Promise.resolve(5);
>notAnyPromise : Promise<any>
>Promise.resolve(5) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>5 : 5
/** @type {Promise<number>} */
var numberPromise = Promise.resolve(5);
>numberPromise : Promise<number>
>Promise.resolve(5) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>5 : 5
/**
* @param {Promise} pr
* @return {Promise}
*/
function returnNotAnyPromise(pr) {
>returnNotAnyPromise : (pr: Promise<any>) => Promise<any>
>pr : Promise<any>
return pr;
>pr : Promise<any>
}
/** @type {Object} */
var notAnyObject = {valueOf: 1}; // error since assigning to Object, not any.
>notAnyObject : Object
>{valueOf: 1} : { valueOf: number; }
>valueOf : number
>1 : 1
/** @type {Object<string, number>} */
var paramedObject = {valueOf: 1};
>paramedObject : { [x: string]: number; }
>{valueOf: 1} : { valueOf: number; }
>valueOf : number
>1 : 1
/**
* @param {Object} obj
* @return {Object}
*/
function returnNotAnyObject(obj) {
>returnNotAnyObject : (obj: Object) => Object
>obj : Object
return obj;
>obj : Object
}
@@ -9,7 +9,7 @@ tests/cases/conformance/jsdoc/0.js(3,20): error TS8024: JSDoc '@param' tag has n
!!! error TS8024: JSDoc '@param' tag has name 'unrelated', but there is no parameter with that name.
*/
function normal(notSpecial) {
notSpecial; // should just be 'any'
notSpecial; // should just be 'Object'
}
normal(12);
@@ -7,7 +7,7 @@ function normal(notSpecial) {
>normal : Symbol(normal, Decl(0.js, 0, 0))
>notSpecial : Symbol(notSpecial, Decl(0.js, 4, 16))
notSpecial; // should just be 'any'
notSpecial; // should just be 'Object'
>notSpecial : Symbol(notSpecial, Decl(0.js, 4, 16))
}
normal(12);
@@ -4,15 +4,15 @@
* @param {string} unrelated - not actually related because it's not notSpecial.unrelated
*/
function normal(notSpecial) {
>normal : (notSpecial: any) => void
>notSpecial : any
>normal : (notSpecial: Object) => void
>notSpecial : Object
notSpecial; // should just be 'any'
>notSpecial : any
notSpecial; // should just be 'Object'
>notSpecial : Object
}
normal(12);
>normal(12) : void
>normal : (notSpecial: any) => void
>normal : (notSpecial: Object) => void
>12 : 12
/**
@@ -14,8 +14,8 @@ exports.__esModule = true;
"program": {
"fileInfos": {
"../../../.ts/lib.es5.d.ts": {
"version": "354625479304",
"signature": "354625479304"
"version": "146944634190",
"signature": "146944634190"
},
"../../../.ts/lib.es2015.d.ts": {
"version": "57263133672",
@@ -114,8 +114,8 @@ exports.__esModule = true;
"program": {
"fileInfos": {
"../../../.ts/lib.es5.d.ts": {
"version": "354625479304",
"signature": "354625479304"
"version": "146944634190",
"signature": "146944634190"
},
"../../../.ts/lib.es2015.d.ts": {
"version": "57263133672",
@@ -237,8 +237,8 @@ exports.getVar = getVar;
"program": {
"fileInfos": {
"../../../.ts/lib.es5.d.ts": {
"version": "354625479304",
"signature": "354625479304"
"version": "146944634190",
"signature": "146944634190"
},
"../../../.ts/lib.es2015.d.ts": {
"version": "57263133672",
@@ -68,9 +68,9 @@ sala.name
>name : string
sala.not
>sala.not : any
>sala.not : Object
>sala : Upp
>not : any
>not : Object
sala.nested
>sala.nested : string
@@ -58,4 +58,30 @@ tests/cases/conformance/types/typeRelationships/typeInference/unionTypeInference
declare function bar<T>(x: T, y: string | T): T;
const y = bar(1, 2);
// Repro from #32752
const containsPromises: unique symbol = Symbol();
type DeepPromised<T> =
{ [containsPromises]?: true } &
{ [TKey in keyof T]: T[TKey] | DeepPromised<T[TKey]> | Promise<DeepPromised<T[TKey]>> };
async function fun<T>(deepPromised: DeepPromised<T>) {
const deepPromisedWithIndexer: DeepPromised<{ [name: string]: {} | null | undefined }> = deepPromised;
for (const value of Object.values(deepPromisedWithIndexer)) {
const awaitedValue = await value;
if (awaitedValue)
await fun(awaitedValue);
}
}
// Repro from #32752
type Deep<T> = { [K in keyof T]: T[K] | Deep<T[K]> };
declare function baz<T>(dp: Deep<T>): T;
declare let xx: { a: string | undefined };
baz(xx);
+53 -18
View File
@@ -50,29 +50,64 @@ foo(x);
declare function bar<T>(x: T, y: string | T): T;
const y = bar(1, 2);
// Repro from #32752
const containsPromises: unique symbol = Symbol();
type DeepPromised<T> =
{ [containsPromises]?: true } &
{ [TKey in keyof T]: T[TKey] | DeepPromised<T[TKey]> | Promise<DeepPromised<T[TKey]>> };
async function fun<T>(deepPromised: DeepPromised<T>) {
const deepPromisedWithIndexer: DeepPromised<{ [name: string]: {} | null | undefined }> = deepPromised;
for (const value of Object.values(deepPromisedWithIndexer)) {
const awaitedValue = await value;
if (awaitedValue)
await fun(awaitedValue);
}
}
// Repro from #32752
type Deep<T> = { [K in keyof T]: T[K] | Deep<T[K]> };
declare function baz<T>(dp: Deep<T>): T;
declare let xx: { a: string | undefined };
baz(xx);
//// [unionTypeInference.js]
"use strict";
exports.__esModule = true;
var a1 = f1(1, 2); // 1 | 2
var a2 = f1(1, "hello"); // 1
var a3 = f1(1, sn); // number
var a4 = f1(undefined, "abc"); // undefined
var a5 = f1("foo", "bar"); // "foo"
var a6 = f1(true, false); // boolean
var a7 = f1("hello", 1); // Error
const a1 = f1(1, 2); // 1 | 2
const a2 = f1(1, "hello"); // 1
const a3 = f1(1, sn); // number
const a4 = f1(undefined, "abc"); // undefined
const a5 = f1("foo", "bar"); // "foo"
const a6 = f1(true, false); // boolean
const a7 = f1("hello", 1); // Error
var b1 = f2(["string", true]); // boolean
var c1 = f3(5); // 5
var c2 = f3(sn); // number
var c3 = f3(true); // true
var c4 = f3(b); // true
var c5 = f3("abc"); // never
var d1 = f4("abc");
var d2 = f4(s);
var d3 = f4(42); // Error
const c1 = f3(5); // 5
const c2 = f3(sn); // number
const c3 = f3(true); // true
const c4 = f3(b); // true
const c5 = f3("abc"); // never
const d1 = f4("abc");
const d2 = f4(s);
const d3 = f4(42); // Error
function qux(p1, p2) {
p1 = p2;
}
foo(x);
var y = bar(1, 2);
const y = bar(1, 2);
// Repro from #32752
const containsPromises = Symbol();
async function fun(deepPromised) {
const deepPromisedWithIndexer = deepPromised;
for (const value of Object.values(deepPromisedWithIndexer)) {
const awaitedValue = await value;
if (awaitedValue)
await fun(awaitedValue);
}
}
baz(xx);
@@ -163,12 +163,12 @@ declare function foo<T>(x: T | Promise<T>): void;
>T : Symbol(T, Decl(unionTypeInference.ts, 45, 21))
>x : Symbol(x, Decl(unionTypeInference.ts, 45, 24))
>T : Symbol(T, Decl(unionTypeInference.ts, 45, 21))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
>T : Symbol(T, Decl(unionTypeInference.ts, 45, 21))
declare let x: false | Promise<true>;
>x : Symbol(x, Decl(unionTypeInference.ts, 46, 11))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
foo(x);
>foo : Symbol(foo, Decl(unionTypeInference.ts, 41, 1))
@@ -187,3 +187,92 @@ const y = bar(1, 2);
>y : Symbol(y, Decl(unionTypeInference.ts, 50, 5))
>bar : Symbol(bar, Decl(unionTypeInference.ts, 47, 7))
// Repro from #32752
const containsPromises: unique symbol = Symbol();
>containsPromises : Symbol(containsPromises, Decl(unionTypeInference.ts, 54, 5))
>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --))
type DeepPromised<T> =
>DeepPromised : Symbol(DeepPromised, Decl(unionTypeInference.ts, 54, 49))
>T : Symbol(T, Decl(unionTypeInference.ts, 56, 18))
{ [containsPromises]?: true } &
>[containsPromises] : Symbol([containsPromises], Decl(unionTypeInference.ts, 57, 5))
>containsPromises : Symbol(containsPromises, Decl(unionTypeInference.ts, 54, 5))
{ [TKey in keyof T]: T[TKey] | DeepPromised<T[TKey]> | Promise<DeepPromised<T[TKey]>> };
>TKey : Symbol(TKey, Decl(unionTypeInference.ts, 58, 7))
>T : Symbol(T, Decl(unionTypeInference.ts, 56, 18))
>T : Symbol(T, Decl(unionTypeInference.ts, 56, 18))
>TKey : Symbol(TKey, Decl(unionTypeInference.ts, 58, 7))
>DeepPromised : Symbol(DeepPromised, Decl(unionTypeInference.ts, 54, 49))
>T : Symbol(T, Decl(unionTypeInference.ts, 56, 18))
>TKey : Symbol(TKey, Decl(unionTypeInference.ts, 58, 7))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
>DeepPromised : Symbol(DeepPromised, Decl(unionTypeInference.ts, 54, 49))
>T : Symbol(T, Decl(unionTypeInference.ts, 56, 18))
>TKey : Symbol(TKey, Decl(unionTypeInference.ts, 58, 7))
async function fun<T>(deepPromised: DeepPromised<T>) {
>fun : Symbol(fun, Decl(unionTypeInference.ts, 58, 92))
>T : Symbol(T, Decl(unionTypeInference.ts, 60, 19))
>deepPromised : Symbol(deepPromised, Decl(unionTypeInference.ts, 60, 22))
>DeepPromised : Symbol(DeepPromised, Decl(unionTypeInference.ts, 54, 49))
>T : Symbol(T, Decl(unionTypeInference.ts, 60, 19))
const deepPromisedWithIndexer: DeepPromised<{ [name: string]: {} | null | undefined }> = deepPromised;
>deepPromisedWithIndexer : Symbol(deepPromisedWithIndexer, Decl(unionTypeInference.ts, 61, 9))
>DeepPromised : Symbol(DeepPromised, Decl(unionTypeInference.ts, 54, 49))
>name : Symbol(name, Decl(unionTypeInference.ts, 61, 51))
>deepPromised : Symbol(deepPromised, Decl(unionTypeInference.ts, 60, 22))
for (const value of Object.values(deepPromisedWithIndexer)) {
>value : Symbol(value, Decl(unionTypeInference.ts, 62, 14))
>Object.values : Symbol(ObjectConstructor.values, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --))
>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>values : Symbol(ObjectConstructor.values, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --))
>deepPromisedWithIndexer : Symbol(deepPromisedWithIndexer, Decl(unionTypeInference.ts, 61, 9))
const awaitedValue = await value;
>awaitedValue : Symbol(awaitedValue, Decl(unionTypeInference.ts, 63, 13))
>value : Symbol(value, Decl(unionTypeInference.ts, 62, 14))
if (awaitedValue)
>awaitedValue : Symbol(awaitedValue, Decl(unionTypeInference.ts, 63, 13))
await fun(awaitedValue);
>fun : Symbol(fun, Decl(unionTypeInference.ts, 58, 92))
>awaitedValue : Symbol(awaitedValue, Decl(unionTypeInference.ts, 63, 13))
}
}
// Repro from #32752
type Deep<T> = { [K in keyof T]: T[K] | Deep<T[K]> };
>Deep : Symbol(Deep, Decl(unionTypeInference.ts, 67, 1))
>T : Symbol(T, Decl(unionTypeInference.ts, 71, 10))
>K : Symbol(K, Decl(unionTypeInference.ts, 71, 18))
>T : Symbol(T, Decl(unionTypeInference.ts, 71, 10))
>T : Symbol(T, Decl(unionTypeInference.ts, 71, 10))
>K : Symbol(K, Decl(unionTypeInference.ts, 71, 18))
>Deep : Symbol(Deep, Decl(unionTypeInference.ts, 67, 1))
>T : Symbol(T, Decl(unionTypeInference.ts, 71, 10))
>K : Symbol(K, Decl(unionTypeInference.ts, 71, 18))
declare function baz<T>(dp: Deep<T>): T;
>baz : Symbol(baz, Decl(unionTypeInference.ts, 71, 53))
>T : Symbol(T, Decl(unionTypeInference.ts, 73, 21))
>dp : Symbol(dp, Decl(unionTypeInference.ts, 73, 24))
>Deep : Symbol(Deep, Decl(unionTypeInference.ts, 67, 1))
>T : Symbol(T, Decl(unionTypeInference.ts, 73, 21))
>T : Symbol(T, Decl(unionTypeInference.ts, 73, 21))
declare let xx: { a: string | undefined };
>xx : Symbol(xx, Decl(unionTypeInference.ts, 74, 11))
>a : Symbol(a, Decl(unionTypeInference.ts, 74, 17))
baz(xx);
>baz : Symbol(baz, Decl(unionTypeInference.ts, 71, 53))
>xx : Symbol(xx, Decl(unionTypeInference.ts, 74, 11))
@@ -185,3 +185,72 @@ const y = bar(1, 2);
>1 : 1
>2 : 2
// Repro from #32752
const containsPromises: unique symbol = Symbol();
>containsPromises : unique symbol
>Symbol() : unique symbol
>Symbol : SymbolConstructor
type DeepPromised<T> =
>DeepPromised : DeepPromised<T>
{ [containsPromises]?: true } &
>[containsPromises] : true | undefined
>containsPromises : unique symbol
>true : true
{ [TKey in keyof T]: T[TKey] | DeepPromised<T[TKey]> | Promise<DeepPromised<T[TKey]>> };
async function fun<T>(deepPromised: DeepPromised<T>) {
>fun : <T>(deepPromised: DeepPromised<T>) => Promise<void>
>deepPromised : DeepPromised<T>
const deepPromisedWithIndexer: DeepPromised<{ [name: string]: {} | null | undefined }> = deepPromised;
>deepPromisedWithIndexer : DeepPromised<{ [name: string]: {} | null | undefined; }>
>name : string
>null : null
>deepPromised : DeepPromised<T>
for (const value of Object.values(deepPromisedWithIndexer)) {
>value : {} | ({ [containsPromises]?: true | undefined; } & {}) | Promise<{ [containsPromises]?: true | undefined; } & {}> | null | undefined
>Object.values(deepPromisedWithIndexer) : ({} | ({ [containsPromises]?: true | undefined; } & {}) | Promise<{ [containsPromises]?: true | undefined; } & {}> | null | undefined)[]
>Object.values : { <T>(o: { [s: string]: T; } | ArrayLike<T>): T[]; (o: {}): any[]; }
>Object : ObjectConstructor
>values : { <T>(o: { [s: string]: T; } | ArrayLike<T>): T[]; (o: {}): any[]; }
>deepPromisedWithIndexer : DeepPromised<{ [name: string]: {} | null | undefined; }>
const awaitedValue = await value;
>awaitedValue : {} | ({ [containsPromises]?: true | undefined; } & {}) | null | undefined
>await value : {} | ({ [containsPromises]?: true | undefined; } & {}) | null | undefined
>value : {} | ({ [containsPromises]?: true | undefined; } & {}) | Promise<{ [containsPromises]?: true | undefined; } & {}> | null | undefined
if (awaitedValue)
>awaitedValue : {} | ({ [containsPromises]?: true | undefined; } & {}) | null | undefined
await fun(awaitedValue);
>await fun(awaitedValue) : void
>fun(awaitedValue) : Promise<void>
>fun : <T>(deepPromised: DeepPromised<T>) => Promise<void>
>awaitedValue : {} | ({ [containsPromises]?: true | undefined; } & {})
}
}
// Repro from #32752
type Deep<T> = { [K in keyof T]: T[K] | Deep<T[K]> };
>Deep : Deep<T>
declare function baz<T>(dp: Deep<T>): T;
>baz : <T>(dp: Deep<T>) => T
>dp : Deep<T>
declare let xx: { a: string | undefined };
>xx : { a: string | undefined; }
>a : string | undefined
baz(xx);
>baz(xx) : { a: string | undefined; }
>baz : <T>(dp: Deep<T>) => T
>xx : { a: string | undefined; }
@@ -1,8 +1,11 @@
Exit Code: 1
Standard output:
src/controllers/user.ts(95,5): error TS2345: Argument of type '{ email: any; password: any; }' is not assignable to parameter of type 'Partial<Document>'.
Object literal may only specify known properties, and 'email' does not exist in type 'Partial<Document>'.
src/controllers/user.ts(105,16): error TS7006: Parameter 'err' implicitly has an 'any' type.
src/controllers/user.ts(210,33): error TS2339: Property 'provider' does not exist on type 'Params'.
Property 'provider' does not exist on type 'string[]'.
src/controllers/user.ts(232,51): error TS2339: Property 'token' does not exist on type 'Params'.
Property 'token' does not exist on type 'string[]'.
src/controllers/user.ts(264,59): error TS2339: Property 'token' does not exist on type 'Params'.
Property 'token' does not exist on type 'string[]'.
@@ -0,0 +1,9 @@
Exit Code: 1
Standard output:
src/components/Hello.spec.ts(4,1): error TS2593: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig.
src/components/Hello.spec.ts(5,3): error TS2593: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig.
src/components/Hello.spec.ts(14,5): error TS2304: Cannot find name 'expect'.
Standard error:
+1 -1
View File
@@ -1,6 +1,6 @@
Exit Code: 1
Standard output:
node_modules/assert/test.js(25,5): error TS2367: This condition will always return 'false' since the types 'string | undefined' and 'true' have no overlap.
node_modules/assert/test.js(25,5): error TS2367: This condition will always return 'false' since the types 'string | undefined' and 'boolean' have no overlap.
node_modules/assert/test.js(39,5): error TS2552: Cannot find name 'test'. Did you mean 'tests'?
node_modules/assert/test.js(55,5): error TS2552: Cannot find name 'test'. Did you mean 'tests'?
node_modules/assert/test.js(74,5): error TS2552: Cannot find name 'test'. Did you mean 'tests'?
+5 -5
View File
@@ -8,11 +8,11 @@ lib/adapters/http.js(121,40): error TS2532: Object is possibly 'undefined'.
lib/adapters/http.js(122,17): error TS2531: Object is possibly 'null'.
lib/adapters/http.js(122,54): error TS2531: Object is possibly 'null'.
lib/adapters/http.js(122,54): error TS2532: Object is possibly 'undefined'.
lib/adapters/http.js(220,23): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
lib/adapters/http.js(226,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
lib/adapters/http.js(232,13): error TS2322: Type 'string' is not assignable to type 'Buffer'.
lib/adapters/http.js(244,40): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
lib/adapters/http.js(268,42): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
lib/adapters/http.js(221,23): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
lib/adapters/http.js(227,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
lib/adapters/http.js(233,13): error TS2322: Type 'string' is not assignable to type 'Buffer'.
lib/adapters/http.js(245,40): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
lib/adapters/http.js(269,42): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
lib/adapters/xhr.js(62,7): error TS2322: Type 'null' is not assignable to type 'XMLHttpRequest'.
lib/adapters/xhr.js(74,7): error TS2322: Type 'null' is not assignable to type 'XMLHttpRequest'.
lib/adapters/xhr.js(81,51): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
@@ -4783,9 +4783,9 @@ node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(42,20):
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(42,125): error TS2339: Property 'length1' does not exist on type 'number'.
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(42,138): error TS2339: Property 'length2' does not exist on type 'number'.
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(43,411): error TS2403: Subsequent variable declarations must have the same type. Variable 'g' must be of type 'string', but here has type 'any'.
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(43,443): error TS2367: This condition will always return 'false' since the types '1' and 'string' have no overlap.
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(44,7): error TS2367: This condition will always return 'false' since the types '-1' and 'string' have no overlap.
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(44,220): error TS2367: This condition will always return 'false' since the types '0' and 'string' have no overlap.
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(43,443): error TS2367: This condition will always return 'false' since the types 'number' and 'string' have no overlap.
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(44,7): error TS2367: This condition will always return 'false' since the types 'number' and 'string' have no overlap.
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(44,220): error TS2367: This condition will always return 'false' since the types 'number' and 'string' have no overlap.
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(47,403): error TS2339: Property 'diffs' does not exist on type 'typeof diff_match_patch'.
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(47,417): error TS2339: Property 'start2' does not exist on type 'typeof diff_match_patch'.
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(47,429): error TS2339: Property 'start1' does not exist on type 'typeof diff_match_patch'.
@@ -10101,7 +10101,7 @@ node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.j
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(822,79): error TS2339: Property 'charAt' does not exist on type 'void'.
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(823,41): error TS2339: Property 'length' does not exist on type 'void'.
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(823,88): error TS2339: Property 'charAt' does not exist on type 'void'.
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(839,9): error TS2367: This condition will always return 'false' since the types 'void' and '0' have no overlap.
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(839,9): error TS2367: This condition will always return 'false' since the types 'void' and 'number' have no overlap.
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(854,9): error TS1345: An expression of type 'void' cannot be tested for truthiness
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(862,12): error TS1345: An expression of type 'void' cannot be tested for truthiness
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(862,13): error TS1345: An expression of type 'void' cannot be tested for truthiness
@@ -10893,7 +10893,7 @@ node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(968,62): error TS2339: Property 'offsetTop' does not exist on type 'Element'.
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1003,20): error TS2345: Argument of type 'void' is not assignable to parameter of type 'Pos'.
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1003,50): error TS2365: Operator '+' cannot be applied to types 'void' and 'number'.
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1047,22): error TS2367: This condition will always return 'false' since the types 'void' and '1' have no overlap.
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1047,22): error TS2367: This condition will always return 'false' since the types 'void' and 'number' have no overlap.
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1052,104): error TS2339: Property 'widget' does not exist on type 'V'.
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1089,41): error TS2339: Property 'top' does not exist on type 'void'.
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1096,5): error TS2322: Type 'void' is not assignable to type 'number'.
+116 -77
View File
@@ -1,21 +1,42 @@
Exit Code: 1
Standard output:
node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts(1,8): error TS1259: Module '"/prettier/prettier/node_modules/typescript/lib/typescript"' can only be default-imported using the 'esModuleInterop' flag
src/cli/util.js(60,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'number'.
src/cli/util.js(119,38): error TS2339: Property 'sync' does not exist on type '(...args: any[]) => any'.
src/cli/util.js(372,29): error TS2532: Object is possibly 'undefined'.
src/cli/util.js(372,64): error TS2339: Property 'length' does not exist on type 'Ignore'.
src/cli/util.js(413,36): error TS2345: Argument of type '{ dot: true; nodir: boolean; }' is not assignable to parameter of type 'GlobbyOptions'.
node_modules/@glimmer/interfaces/dist/types/lib/components.d.ts(1,40): error TS2307: Cannot find module '@glimmer/reference'.
node_modules/@glimmer/interfaces/dist/types/lib/components/component-manager.d.ts(1,45): error TS2307: Cannot find module '@glimmer/reference'.
node_modules/@glimmer/interfaces/dist/types/lib/components/component-manager.d.ts(2,31): error TS2307: Cannot find module '@simple-dom/interface'.
node_modules/@glimmer/interfaces/dist/types/lib/dom/attributes.d.ts(8,8): error TS2307: Cannot find module '@simple-dom/interface'.
node_modules/@glimmer/interfaces/dist/types/lib/dom/bounds.d.ts(1,43): error TS2307: Cannot find module '@simple-dom/interface'.
node_modules/@glimmer/interfaces/dist/types/lib/dom/changes.d.ts(7,8): error TS2307: Cannot find module '@simple-dom/interface'.
node_modules/@glimmer/interfaces/dist/types/lib/dom/tree-construction.d.ts(7,8): error TS2307: Cannot find module '@simple-dom/interface'.
node_modules/@glimmer/interfaces/dist/types/lib/runtime/arguments.d.ts(1,45): error TS2307: Cannot find module '@glimmer/reference'.
node_modules/@glimmer/interfaces/dist/types/lib/runtime/element.d.ts(1,36): error TS2307: Cannot find module '@glimmer/reference'.
node_modules/@glimmer/interfaces/dist/types/lib/runtime/environment.d.ts(1,76): error TS2307: Cannot find module '@glimmer/reference'.
node_modules/@glimmer/interfaces/dist/types/lib/runtime/environment.d.ts(2,36): error TS2307: Cannot find module '@glimmer/runtime'.
node_modules/@glimmer/interfaces/dist/types/lib/runtime/environment.d.ts(3,46): error TS2307: Cannot find module '@simple-dom/interface'.
node_modules/@glimmer/interfaces/dist/types/lib/runtime/modifier.d.ts(4,21): error TS2307: Cannot find module '@glimmer/reference'.
node_modules/@glimmer/interfaces/dist/types/lib/runtime/modifier.d.ts(6,31): error TS2307: Cannot find module '@simple-dom/interface'.
node_modules/@glimmer/interfaces/dist/types/lib/runtime/render.d.ts(1,43): error TS2307: Cannot find module '@simple-dom/interface'.
node_modules/@glimmer/interfaces/dist/types/lib/runtime/scope.d.ts(2,40): error TS2307: Cannot find module '@glimmer/reference'.
node_modules/@glimmer/interfaces/dist/types/lib/runtime/vm.d.ts(2,31): error TS2307: Cannot find module '@glimmer/reference'.
node_modules/@glimmer/util/dist/types/lib/destroy.d.ts(3,69): error TS2677: A type predicate's type must be assignable to its parameter's type.
Type 'SymbolDestroyable' is not assignable to type 'Maybe<Dict<unknown>>'.
Type 'SymbolDestroyable' is not assignable to type 'Dict<unknown>'.
Index signature is missing in type 'SymbolDestroyable'.
node_modules/@glimmer/util/dist/types/lib/dom.d.ts(1,31): error TS2307: Cannot find module '@simple-dom/interface'.
node_modules/@glimmer/util/dist/types/lib/is-serialization-first-node.d.ts(1,28): error TS2307: Cannot find module '@simple-dom/interface'.
src/cli/util.js(63,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'number | undefined'.
src/cli/util.js(122,38): error TS2339: Property 'sync' does not exist on type '(...args: any[]) => any'.
src/cli/util.js(416,36): error TS2345: Argument of type '{ dot: true; nodir: boolean; }' is not assignable to parameter of type 'GlobbyOptions'.
Object literal may only specify known properties, and 'nodir' does not exist in type 'GlobbyOptions'.
src/cli/util.js(452,25): error TS2532: Object is possibly 'undefined'.
src/cli/util.js(452,52): error TS2339: Property 'length' does not exist on type 'Ignore'.
src/cli/util.js(510,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'number'.
src/cli/util.js(531,37): error TS2339: Property 'grey' does not exist on type 'typeof import("../../../node_modules/chalk/types/index")'.
src/cli/util.js(594,16): error TS2339: Property 'type' does not exist on type 'never'.
src/cli/util.js(595,16): error TS2339: Property 'oppositeDescription' does not exist on type 'never'.
src/cli/util.js(596,17): error TS2339: Property 'name' does not exist on type 'never'.
src/cli/util.js(696,22): error TS2339: Property 'name' does not exist on type 'never'.
src/cli/util.js(696,46): error TS2339: Property 'alias' does not exist on type 'never'.
src/cli/util.js(483,46): error TS2345: Argument of type 'null' is not assignable to parameter of type 'number | undefined'.
src/cli/util.js(509,36): error TS2339: Property 'grey' does not exist on type 'typeof import("../../../node_modules/chalk/types/index")'.
src/cli/util.js(562,39): error TS2339: Property 'grey' does not exist on type 'typeof import("../../../node_modules/chalk/types/index")'.
src/cli/util.js(635,16): error TS2339: Property 'type' does not exist on type 'never'.
src/cli/util.js(636,16): error TS2339: Property 'oppositeDescription' does not exist on type 'never'.
src/cli/util.js(637,17): error TS2339: Property 'name' does not exist on type 'never'.
src/cli/util.js(737,22): error TS2339: Property 'name' does not exist on type 'never'.
src/cli/util.js(737,46): error TS2339: Property 'alias' does not exist on type 'never'.
src/common/create-ignorer.js(34,19): error TS2349: This expression is not callable.
Type 'typeof import("/prettier/prettier/node_modules/ignore/index")' has no call signatures.
src/common/parser-create-error.js(8,9): error TS2339: Property 'loc' does not exist on type 'SyntaxError'.
src/config/resolve-config.js(14,12): error TS2571: Object is of type 'unknown'.
src/config/resolve-config.js(50,16): error TS2571: Object is of type 'unknown'.
@@ -57,13 +78,6 @@ src/language-graphql/index.js(8,62): error TS2345: Argument of type '{ override:
src/language-handlebars/index.js(7,26): error TS2307: Cannot find module 'linguist-languages/data/handlebars'.
src/language-handlebars/index.js(7,65): error TS2345: Argument of type '{ override: { since: null; parsers: string[]; vscodeLanguageIds: string[]; }; }' is not assignable to parameter of type '{ extend: any; override: any; }'.
Property 'extend' is missing in type '{ override: { since: null; parsers: string[]; vscodeLanguageIds: string[]; }; }' but required in type '{ extend: any; override: any; }'.
src/language-handlebars/parser-glimmer.js(27,26): error TS2345: Argument of type '{ plugins: { ast: (() => { visitor: { Program(node: any): void; ElementNode(node: any): void; }; })[]; }; }' is not assignable to parameter of type 'PreprocessOptions'.
Types of property 'plugins' are incompatible.
Type '{ ast: (() => { visitor: { Program(node: any): void; ElementNode(node: any): void; }; })[]; }' is not assignable to type '{ ast?: ASTPluginBuilder[] | undefined; }'.
Types of property 'ast' are incompatible.
Type '(() => { visitor: { Program(node: any): void; ElementNode(node: any): void; }; })[]' is not assignable to type 'ASTPluginBuilder[]'.
Type '() => { visitor: { Program(node: any): void; ElementNode(node: any): void; }; }' is not assignable to type 'ASTPluginBuilder'.
Property 'name' is missing in type '{ visitor: { Program(node: any): void; ElementNode(node: any): void; }; }' but required in type 'ASTPlugin'.
src/language-html/ast.js(53,11): error TS2536: Type 'Extract<keyof this, string>' cannot be used to index type 'Node'.
src/language-html/ast.js(56,15): error TS2339: Property 'index' does not exist on type 'Node'.
src/language-html/ast.js(56,22): error TS2339: Property 'siblings' does not exist on type 'Node'.
@@ -114,14 +128,14 @@ src/language-html/parser-html.js(161,14): error TS2339: Property 'tagDefinition'
src/language-html/parser-html.js(194,29): error TS2345: Argument of type '{ type: any; value: any; raw: any; }' is not assignable to parameter of type 'Node'.
Type '{ type: any; value: any; raw: any; }' is missing the following properties from type 'Node': sourceSpan, visit
src/language-html/preprocess.js(28,19): error TS2554: Expected 0-1 arguments, but got 2.
src/language-html/printer-html.js(313,13): error TS2769: No overload matches this call.
src/language-html/printer-html.js(314,13): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
Type '""' is not assignable to type 'ConcatArray<never>'.
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
Type '""' is not assignable to type 'ConcatArray<never>'.
src/language-html/printer-html.js(470,11): error TS2769: No overload matches this call.
src/language-html/printer-html.js(471,11): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '{ type: string; parts: any; }[]' is not assignable to parameter of type 'ConcatArray<never>'.
Types of property 'slice' are incompatible.
@@ -130,28 +144,28 @@ src/language-html/printer-html.js(470,11): error TS2769: No overload matches thi
Type '{ type: string; parts: any; }' is not assignable to type 'never'.
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '{ type: string; parts: any; }[]' is not assignable to parameter of type 'ConcatArray<never>'.
src/language-html/printer-html.js(491,11): error TS2769: No overload matches this call.
src/language-html/printer-html.js(492,11): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
Type '""' is not assignable to type 'ConcatArray<never>'.
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
Type '""' is not assignable to type 'ConcatArray<never>'.
src/language-html/printer-html.js(514,11): error TS2769: No overload matches this call.
src/language-html/printer-html.js(515,11): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
Type '""' is not assignable to type 'ConcatArray<never>'.
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
Type '""' is not assignable to type 'ConcatArray<never>'.
src/language-html/printer-html.js(637,55): error TS2554: Expected 0 arguments, but got 1.
src/language-html/printer-html.js(638,55): error TS2554: Expected 0 arguments, but got 1.
src/language-html/syntax-vue.js(14,11): error TS2339: Property 'left' does not exist on type '{ left: string; operator: any; right: any; } | undefined'.
src/language-html/syntax-vue.js(14,17): error TS2339: Property 'operator' does not exist on type '{ left: string; operator: any; right: any; } | undefined'.
src/language-html/syntax-vue.js(14,27): error TS2339: Property 'right' does not exist on type '{ left: string; operator: any; right: any; } | undefined'.
src/language-html/utils.js(10,30): error TS2307: Cannot find module 'html-tag-names'.
src/language-html/utils.js(11,39): error TS2307: Cannot find module 'html-element-attributes'.
src/language-html/utils.js(441,17): error TS2554: Expected 0 arguments, but got 1.
src/language-js/comments.js(866,64): error TS2554: Expected 0 arguments, but got 1.
src/language-html/utils.js(444,17): error TS2554: Expected 0 arguments, but got 1.
src/language-js/comments.js(864,64): error TS2554: Expected 0 arguments, but got 1.
src/language-js/index.js(9,26): error TS2307: Cannot find module 'linguist-languages/data/javascript'.
src/language-js/index.js(19,26): error TS2307: Cannot find module 'linguist-languages/data/javascript'.
src/language-js/index.js(19,65): error TS2345: Argument of type '{ override: { name: string; since: string; parsers: string[]; vscodeLanguageIds: string[]; aliases: never[]; filenames: never[]; extensions: string[]; }; }' is not assignable to parameter of type '{ extend: any; override: any; }'.
@@ -170,45 +184,7 @@ src/language-js/index.js(66,26): error TS2307: Cannot find module 'linguist-lang
src/language-js/index.js(76,26): error TS2307: Cannot find module 'linguist-languages/data/json5'.
src/language-js/index.js(76,60): error TS2345: Argument of type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' is not assignable to parameter of type '{ extend: any; override: any; }'.
Property 'extend' is missing in type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' but required in type '{ extend: any; override: any; }'.
src/language-js/printer-estree.js(262,36): error TS2304: Cannot find name 'Doc'.
src/language-js/printer-estree.js(263,62): error TS2304: Cannot find name 'Doc'.
src/language-js/printer-estree.js(270,12): error TS2304: Cannot find name 'FastPath'.
src/language-js/printer-estree.js(271,12): error TS2304: Cannot find name 'Options'.
src/language-js/printer-estree.js(397,9): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '{ type: string; parts: any; } | { type: string; contents: any; n: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
Type '{ type: string; parts: any; }' is missing the following properties from type 'ConcatArray<never>': length, join, slice
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '{ type: string; parts: any; } | { type: string; contents: any; n: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
src/language-js/printer-estree.js(1470,28): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>[]): (string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; })[]', gave the following error.
Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>'.
Type '{ type: string; parts: any; }' is missing the following properties from type 'ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>': length, join, slice
Overload 2 of 2, '(...items: (string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; } | ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>)[]): (string | { ...; })[]', gave the following error.
Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; } | ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>'.
Type '{ type: string; parts: any; }' is missing the following properties from type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }': id, contents, break, expandedStates
src/language-js/printer-estree.js(1890,20): error TS2345: Argument of type '" "' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
src/language-js/printer-estree.js(1892,20): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
src/language-js/printer-estree.js(1894,18): error TS2345: Argument of type '"while ("' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
src/language-js/printer-estree.js(1903,9): error TS2345: Argument of type '")"' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
src/language-js/printer-estree.js(2426,28): error TS2345: Argument of type 'any' is not assignable to parameter of type 'never'.
src/language-js/printer-estree.js(3513,11): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type 'never[] | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type 'never[] | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
src/language-js/printer-estree.js(4031,23): error TS2532: Object is possibly 'undefined'.
src/language-js/printer-estree.js(4032,24): error TS2532: Object is possibly 'undefined'.
src/language-js/printer-estree.js(4360,5): error TS2345: Argument of type '"" | { type: string; parts: any; } | { type: string; contents: any; }' is not assignable to parameter of type 'string'.
Type '{ type: string; parts: any; }' is not assignable to type 'string'.
src/language-js/printer-estree.js(4364,16): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string'.
src/language-js/printer-estree.js(4406,9): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string'.
src/language-js/printer-estree.js(4708,9): error TS2554: Expected 0-2 arguments, but got 3.
src/language-js/printer-estree.js(5939,55): error TS2554: Expected 0-1 arguments, but got 2.
src/language-js/printer-estree.js(5975,7): error TS2769: No overload matches this call.
src/language-js/needs-parens.js(890,14): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<(childPath: any) => any>[]): ((childPath: any) => any)[]', gave the following error.
Argument of type '(string | number)[]' is not assignable to parameter of type 'ConcatArray<(childPath: any) => any>'.
Types of property 'slice' are incompatible.
@@ -219,14 +195,77 @@ src/language-js/printer-estree.js(5975,7): error TS2769: No overload matches thi
Overload 2 of 2, '(...items: (((childPath: any) => any) | ConcatArray<(childPath: any) => any>)[]): ((childPath: any) => any)[]', gave the following error.
Argument of type '(string | number)[]' is not assignable to parameter of type '((childPath: any) => any) | ConcatArray<(childPath: any) => any>'.
Type '(string | number)[]' is not assignable to type 'ConcatArray<(childPath: any) => any>'.
src/language-js/printer-estree.js(265,36): error TS2304: Cannot find name 'Doc'.
src/language-js/printer-estree.js(266,62): error TS2304: Cannot find name 'Doc'.
src/language-js/printer-estree.js(273,12): error TS2304: Cannot find name 'FastPath'.
src/language-js/printer-estree.js(274,12): error TS2304: Cannot find name 'Options'.
src/language-js/printer-estree.js(400,9): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '{ type: string; parts: any; } | { type: string; contents: any; n: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
Type '{ type: string; parts: any; }' is missing the following properties from type 'ConcatArray<never>': length, join, slice
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type '{ type: string; parts: any; } | { type: string; contents: any; n: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
src/language-js/printer-estree.js(1472,28): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>[]): (string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; })[]', gave the following error.
Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>'.
Type '{ type: string; parts: any; }' is missing the following properties from type 'ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>': length, join, slice
Overload 2 of 2, '(...items: (string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; } | ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>)[]): (string | { ...; })[]', gave the following error.
Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; } | ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>'.
Type '{ type: string; parts: any; }' is missing the following properties from type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }': id, contents, break, expandedStates
src/language-js/printer-estree.js(1905,20): error TS2345: Argument of type '" "' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
src/language-js/printer-estree.js(1907,20): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
src/language-js/printer-estree.js(1909,18): error TS2345: Argument of type '"while ("' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
src/language-js/printer-estree.js(1918,9): error TS2345: Argument of type '")"' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
src/language-js/printer-estree.js(3464,11): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type 'never[] | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
Argument of type 'never[] | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
src/language-js/printer-estree.js(3893,22): error TS2345: Argument of type 'any' is not assignable to parameter of type 'never'.
src/language-js/printer-estree.js(3960,14): error TS2339: Property 'comments' does not exist on type 'Expression'.
Property 'comments' does not exist on type 'Identifier'.
src/language-js/printer-estree.js(3972,9): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "MetaProperty"' and '"OptionalMemberExpression"' have no overlap.
src/language-js/printer-estree.js(3973,13): error TS2339: Property 'property' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ObjectExpression | YieldExpression | UnaryExpression | UpdateExpression | ... 12 more ... | AwaitExpression'.
Property 'property' does not exist on type 'SimpleLiteral'.
src/language-js/printer-estree.js(3973,52): error TS2339: Property 'property' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ObjectExpression | YieldExpression | UnaryExpression | UpdateExpression | ... 12 more ... | AwaitExpression'.
Property 'property' does not exist on type 'SimpleLiteral'.
src/language-js/printer-estree.js(3978,9): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "MetaProperty"' and '"OptionalMemberExpression"' have no overlap.
src/language-js/printer-estree.js(3980,29): error TS2339: Property 'object' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ObjectExpression | YieldExpression | UnaryExpression | UpdateExpression | ... 12 more ... | AwaitExpression'.
Property 'object' does not exist on type 'SimpleLiteral'.
src/language-js/printer-estree.js(3981,22): error TS2339: Property 'comments' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ObjectExpression | YieldExpression | UnaryExpression | UpdateExpression | ... 12 more ... | AwaitExpression'.
Property 'comments' does not exist on type 'SimpleLiteral'.
src/language-js/printer-estree.js(3987,9): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "MetaProperty"' and '"Identifier"' have no overlap.
src/language-js/printer-estree.js(3988,9): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "MetaProperty"' and '"ThisExpression"' have no overlap.
src/language-js/printer-estree.js(4192,23): error TS2532: Object is possibly 'undefined'.
src/language-js/printer-estree.js(4193,24): error TS2532: Object is possibly 'undefined'.
src/language-js/printer-estree.js(4546,5): error TS2345: Argument of type '"" | { type: string; parts: any; } | { type: string; contents: any; }' is not assignable to parameter of type 'string'.
Type '{ type: string; parts: any; }' is not assignable to type 'string'.
src/language-js/printer-estree.js(4550,16): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string'.
src/language-js/printer-estree.js(4592,9): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string'.
src/language-js/printer-estree.js(4894,9): error TS2554: Expected 0-2 arguments, but got 3.
src/language-js/printer-estree.js(6101,7): error TS2769: No overload matches this call.
Overload 1 of 2, '(...items: ConcatArray<(childPath: any) => any>[]): ((childPath: any) => any)[]', gave the following error.
Argument of type '(string | number)[]' is not assignable to parameter of type 'ConcatArray<(childPath: any) => any>'.
Types of property 'slice' are incompatible.
Type '(start?: number | undefined, end?: number | undefined) => (string | number)[]' is not assignable to type '(start?: number | undefined, end?: number | undefined) => ((childPath: any) => any)[]'.
Type '(string | number)[]' is not assignable to type '((childPath: any) => any)[]'.
Type 'string | number' is not assignable to type '(childPath: any) => any'.
Type 'string' is not assignable to type '(childPath: any) => any'.
Overload 2 of 2, '(...items: (((childPath: any) => any) | ConcatArray<(childPath: any) => any>)[]): ((childPath: any) => any)[]', gave the following error.
Argument of type '(string | number)[]' is not assignable to parameter of type '((childPath: any) => any) | ConcatArray<(childPath: any) => any>'.
Type '(string | number)[]' is not assignable to type 'ConcatArray<(childPath: any) => any>'.
src/language-js/utils.js(107,55): error TS2554: Expected 0-1 arguments, but got 2.
src/language-markdown/index.js(8,26): error TS2307: Cannot find module 'linguist-languages/data/markdown'.
src/language-markdown/index.js(20,5): error TS2345: Argument of type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' is not assignable to parameter of type '{ extend: any; override: any; }'.
Property 'extend' is missing in type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' but required in type '{ extend: any; override: any; }'.
src/language-markdown/printer-markdown.js(270,18): error TS2532: Object is possibly 'undefined'.
src/language-markdown/printer-markdown.js(271,17): error TS2532: Object is possibly 'undefined'.
src/language-markdown/printer-markdown.js(292,14): error TS2532: Object is possibly 'undefined'.
src/language-markdown/printer-markdown.js(278,18): error TS2532: Object is possibly 'undefined'.
src/language-markdown/printer-markdown.js(279,17): error TS2532: Object is possibly 'undefined'.
src/language-markdown/printer-markdown.js(300,14): error TS2532: Object is possibly 'undefined'.
src/language-markdown/utils.js(203,5): error TS2322: Type 'never[]' is not assignable to type 'null'.
src/language-markdown/utils.js(208,39): error TS2345: Argument of type 'any[]' is not assignable to parameter of type 'null'.
src/language-markdown/utils.js(213,47): error TS2345: Argument of type 'any[]' is not assignable to parameter of type 'null'.
src/language-yaml/index.js(8,26): error TS2307: Cannot find module 'linguist-languages/data/yaml'.
src/language-yaml/index.js(8,59): error TS2345: Argument of type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' is not assignable to parameter of type '{ extend: any; override: any; }'.
Property 'extend' is missing in type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' but required in type '{ extend: any; override: any; }'.
@@ -270,11 +309,11 @@ src/main/core-options.js(251,9): error TS2322: Type '[{ since: string; value: fa
Object literal may only specify known properties, and 'since' does not exist in type '{ value: (string | number | boolean)[]; }'.
src/main/core-options.js(254,5): error TS2322: Type 'string' is not assignable to type 'boolean | null'.
src/main/core-options.js(259,3): error TS2740: Type '{ since: string; category: string; type: "boolean"; default: false; description: string; }' is missing the following properties from type 'OptionInfo': array, deprecated, redirect, oppositeDescription, and 3 more.
src/main/core.js(304,34): error TS2538: Type 'false' cannot be used as an index type.
src/main/core.js(304,47): error TS2538: Type 'false' cannot be used as an index type.
src/main/core.js(309,28): error TS2538: Type 'false' cannot be used as an index type.
src/main/core.js(309,72): error TS2538: Type 'false' cannot be used as an index type.
src/main/core.js(317,14): error TS2538: Type 'false' cannot be used as an index type.
src/main/core.js(303,34): error TS2538: Type 'false' cannot be used as an index type.
src/main/core.js(303,47): error TS2538: Type 'false' cannot be used as an index type.
src/main/core.js(308,28): error TS2538: Type 'false' cannot be used as an index type.
src/main/core.js(308,72): error TS2538: Type 'false' cannot be used as an index type.
src/main/core.js(316,14): error TS2538: Type 'false' cannot be used as an index type.
src/main/options-normalizer.js(35,35): error TS2339: Property 'yellow' does not exist on type 'typeof import("../../../node_modules/chalk/types/index")'.
src/main/options-normalizer.js(36,35): error TS2339: Property 'blue' does not exist on type 'typeof import("../../../node_modules/chalk/types/index")'.
src/main/options-normalizer.js(54,5): error TS2525: Initializer provides no value for this binding element and the binding element has no default value.
+41 -42
View File
@@ -1,17 +1,17 @@
Exit Code: 1
Standard output:
lib/Accessibility.js(118,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Accessibility.js(310,7): error TS2322: Type 'string | number | boolean' is not assignable to type 'never'.
lib/Accessibility.js(134,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Accessibility.js(341,7): error TS2322: Type 'string | number | boolean' is not assignable to type 'never'.
Type 'string' is not assignable to type 'never'.
lib/Accessibility.js(333,7): error TS2322: Type 'string | number | true' is not assignable to type 'never'.
lib/Accessibility.js(364,7): error TS2322: Type 'string | number | true' is not assignable to type 'never'.
Type 'string' is not assignable to type 'never'.
lib/Accessibility.js(345,7): error TS2322: Type 'boolean | "mixed"' is not assignable to type 'never'.
lib/Accessibility.js(376,7): error TS2322: Type 'boolean | "mixed"' is not assignable to type 'never'.
Type 'false' is not assignable to type 'never'.
lib/Accessibility.js(356,7): error TS2322: Type 'string | number | boolean' is not assignable to type 'never'.
lib/Accessibility.js(387,7): error TS2322: Type 'string | number | boolean' is not assignable to type 'never'.
Type 'string' is not assignable to type 'never'.
lib/Accessibility.js(369,7): error TS2322: Type 'string | number | true' is not assignable to type 'never'.
lib/Accessibility.js(400,7): error TS2322: Type 'string | number | true' is not assignable to type 'never'.
Type 'string' is not assignable to type 'never'.
lib/Accessibility.js(375,22): error TS2503: Cannot find namespace 'Protocol'.
lib/Accessibility.js(406,22): error TS2503: Cannot find namespace 'Protocol'.
lib/Browser.js(109,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Browser.js(116,58): error TS2322: Type 'Promise<CDPSession>' is not assignable to type 'Promise<Puppeteer.CDPSession>'.
Type 'CDPSession' is not assignable to type 'Puppeteer.CDPSession'.
@@ -21,30 +21,28 @@ lib/Coverage.js(115,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Coverage.js(208,15): error TS2503: Cannot find namespace 'Protocol'.
lib/EmulationManager.js(36,16): error TS2503: Cannot find namespace 'Protocol'.
lib/ExecutionContext.js(26,15): error TS2503: Cannot find namespace 'Protocol'.
lib/ExecutionContext.js(157,18): error TS2503: Cannot find namespace 'Protocol'.
lib/FrameManager.js(29,15): error TS2503: Cannot find namespace 'Protocol'.
lib/FrameManager.js(132,15): error TS2503: Cannot find namespace 'Protocol'.
lib/FrameManager.js(154,15): error TS2503: Cannot find namespace 'Protocol'.
lib/FrameManager.js(211,15): error TS2503: Cannot find namespace 'Protocol'.
lib/FrameManager.js(649,15): error TS2503: Cannot find namespace 'Protocol'.
lib/ExecutionContext.js(158,18): error TS2503: Cannot find namespace 'Protocol'.
lib/FrameManager.js(152,15): error TS2503: Cannot find namespace 'Protocol'.
lib/FrameManager.js(174,15): error TS2503: Cannot find namespace 'Protocol'.
lib/FrameManager.js(231,15): error TS2503: Cannot find namespace 'Protocol'.
lib/FrameManager.js(669,15): error TS2503: Cannot find namespace 'Protocol'.
lib/JSHandle.js(33,15): error TS2503: Cannot find namespace 'Protocol'.
lib/JSHandle.js(129,15): error TS2503: Cannot find namespace 'Protocol'.
lib/JSHandle.js(216,29): error TS2503: Cannot find namespace 'Protocol'.
lib/JSHandle.js(220,29): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(31,30): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(136,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(156,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(194,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(215,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(225,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(239,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(252,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(271,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(295,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(514,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(654,13): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(689,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(71,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(112,33): error TS2345: Argument of type 'CDPSession' is not assignable to parameter of type 'Puppeteer.CDPSession'.
lib/NetworkManager.js(165,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(184,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(203,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(224,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(245,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(255,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(269,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(282,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(301,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(325,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(535,15): error TS2503: Cannot find namespace 'Protocol'.
lib/NetworkManager.js(674,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(93,33): error TS2345: Argument of type 'CDPSession' is not assignable to parameter of type 'Puppeteer.CDPSession'.
Types of property 'on' are incompatible.
Type '(event: string | symbol, listener: (...args: any[]) => void) => CDPSession' is not assignable to type '<T extends string | number | symbol>(event: T, listener: (arg: any) => void) => CDPSession'.
Types of parameters 'event' and 'event' are incompatible.
@@ -54,21 +52,22 @@ lib/Page.js(112,33): error TS2345: Argument of type 'CDPSession' is not assignab
Type 'T' is not assignable to type 'symbol'.
Type 'string | number | symbol' is not assignable to type 'symbol'.
Type 'string' is not assignable to type 'symbol'.
lib/Page.js(189,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(284,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(369,20): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(432,7): error TS2740: Type '(...args: any[]) => Promise<any>' is missing the following properties from type 'Window': applicationCache, caches, clientInformation, closed, and 227 more.
lib/Page.js(442,9): error TS2349: This expression is not callable.
lib/Page.js(146,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(219,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(387,20): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(450,7): error TS2740: Type '(...args: any[]) => Promise<any>' is missing the following properties from type 'Window': applicationCache, caches, clientInformation, closed, and 227 more.
lib/Page.js(460,9): error TS2349: This expression is not callable.
Type 'Window' has no call signatures.
lib/Page.js(478,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(488,22): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(501,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(511,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(536,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(589,14): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(890,19): error TS2503: Cannot find namespace 'Protocol'.
lib/Target.js(22,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Target.js(118,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(496,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(506,22): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(519,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(529,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(554,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(607,14): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(908,19): error TS2503: Cannot find namespace 'Protocol'.
lib/Page.js(1309,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Target.js(23,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Target.js(135,15): error TS2503: Cannot find namespace 'Protocol'.
lib/Worker.js(25,50): error TS2503: Cannot find namespace 'Protocol'.
lib/Worker.js(26,24): error TS2503: Cannot find namespace 'Protocol'.
lib/Worker.js(33,26): error TS2503: Cannot find namespace 'Protocol'.
+1 -1
View File
@@ -54,7 +54,7 @@ node_modules/uglify-js/lib/compress.js(5101,25): error TS2403: Subsequent variab
node_modules/uglify-js/lib/compress.js(5105,36): error TS2532: Object is possibly 'undefined'.
node_modules/uglify-js/lib/compress.js(5110,41): error TS2339: Property 'get' does not exist on type 'string'.
node_modules/uglify-js/lib/compress.js(5623,18): error TS2454: Variable 'is_strict_comparison' is used before being assigned.
node_modules/uglify-js/lib/compress.js(6134,25): error TS2367: This condition will always return 'false' since the types 'boolean' and '"f"' have no overlap.
node_modules/uglify-js/lib/compress.js(6134,25): error TS2367: This condition will always return 'false' since the types 'boolean' and 'string' have no overlap.
node_modules/uglify-js/lib/compress.js(6161,47): error TS2554: Expected 0 arguments, but got 1.
node_modules/uglify-js/lib/compress.js(6234,39): error TS2554: Expected 0 arguments, but got 1.
node_modules/uglify-js/lib/compress.js(6306,39): error TS2554: Expected 0 arguments, but got 1.
+2 -2
View File
@@ -1,7 +1,7 @@
Exit Code: 1
Standard output:
../../../../../built/local/lib.dom.d.ts(19046,19): error TS2451: Cannot redeclare block-scoped variable 'WebAssembly'.
declarations.d.ts(258,15): error TS2451: Cannot redeclare block-scoped variable 'WebAssembly'.
lib/Compilation.js(538,5): error TS2322: Type 'Readonly<{ error: string; warn: string; info: string; log: string; debug: string; trace: string; group: string; groupCollapsed: string; groupEnd: string; profile: string; profileEnd: string; time: string; clear: string; status: string; }>' is not assignable to type 'string'.
lib/Compiler.js(228,48): error TS2345: Argument of type 'Readonly<{ error: string; warn: string; info: string; log: string; debug: string; trace: string; group: string; groupCollapsed: string; groupEnd: string; profile: string; profileEnd: string; time: string; clear: string; status: string; }>' is not assignable to parameter of type 'string'.
@@ -0,0 +1,49 @@
// @lib: es2015
// @strict: true
// @noImplicitAny: false
// @allowJs: true
// @checkJs: true
// @noEmit: true
// @fileName: jsdocArrayObjectPromiseImplicitAny.js
/** @type {Array} */
var anyArray = [5];
/** @type {Array<number>} */
var numberArray = [5];
/**
* @param {Array} arr
* @return {Array}
*/
function returnAnyArray(arr) {
return arr;
}
/** @type {Promise} */
var anyPromise = Promise.resolve(5);
/** @type {Promise<number>} */
var numberPromise = Promise.resolve(5);
/**
* @param {Promise} pr
* @return {Promise}
*/
function returnAnyPromise(pr) {
return pr;
}
/** @type {Object} */
var anyObject = {valueOf: 1}; // not an error since assigning to any.
/** @type {Object<string, number>} */
var paramedObject = {valueOf: 1};
/**
* @param {Object} obj
* @return {Object}
*/
function returnAnyObject(obj) {
return obj;
}
@@ -0,0 +1,48 @@
// @lib: es2015
// @strict: true
// @allowJs: true
// @checkJs: true
// @noEmit: true
// @fileName: jsdocArrayObjectPromiseNoImplicitAny.js
/** @type {Array} */
var notAnyArray = [5];
/** @type {Array<number>} */
var numberArray = [5];
/**
* @param {Array} arr
* @return {Array}
*/
function returnNotAnyArray(arr) {
return arr;
}
/** @type {Promise} */
var notAnyPromise = Promise.resolve(5);
/** @type {Promise<number>} */
var numberPromise = Promise.resolve(5);
/**
* @param {Promise} pr
* @return {Promise}
*/
function returnNotAnyPromise(pr) {
return pr;
}
/** @type {Object} */
var notAnyObject = {valueOf: 1}; // error since assigning to Object, not any.
/** @type {Object<string, number>} */
var paramedObject = {valueOf: 1};
/**
* @param {Object} obj
* @return {Object}
*/
function returnNotAnyObject(obj) {
return obj;
}
@@ -10,7 +10,7 @@
* @param {string} unrelated - not actually related because it's not notSpecial.unrelated
*/
function normal(notSpecial) {
notSpecial; // should just be 'any'
notSpecial; // should just be 'Object'
}
normal(12);
@@ -1,4 +1,5 @@
// @strict: true
// @target: esnext
declare const b: boolean;
declare const s: string;
@@ -51,3 +52,29 @@ foo(x);
declare function bar<T>(x: T, y: string | T): T;
const y = bar(1, 2);
// Repro from #32752
const containsPromises: unique symbol = Symbol();
type DeepPromised<T> =
{ [containsPromises]?: true } &
{ [TKey in keyof T]: T[TKey] | DeepPromised<T[TKey]> | Promise<DeepPromised<T[TKey]>> };
async function fun<T>(deepPromised: DeepPromised<T>) {
const deepPromisedWithIndexer: DeepPromised<{ [name: string]: {} | null | undefined }> = deepPromised;
for (const value of Object.values(deepPromisedWithIndexer)) {
const awaitedValue = await value;
if (awaitedValue)
await fun(awaitedValue);
}
}
// Repro from #32752
type Deep<T> = { [K in keyof T]: T[K] | Deep<T[K]> };
declare function baz<T>(dp: Deep<T>): T;
declare let xx: { a: string | undefined };
baz(xx);
@@ -0,0 +1,23 @@
/// <reference path='fourslash.ts' />
// @Filename: /dir/a.tsx
////export const Component = () => <></>
// @Filename: /dir/jsconfig.json
////{
//// "compilerOptions": {
//// }
////}
goTo.file("/dir/a.tsx");
verify.codeFix({
description: "Enable the '--jsx' flag in your configuration file",
newFileContent: {
"/dir/jsconfig.json":
`{
"compilerOptions": {
"jsx": "react",
}
}`,
},
});
@@ -0,0 +1,23 @@
/// <reference path='fourslash.ts' />
// @Filename: /dir/a.tsx
////export const Component = () => <></>;
// @Filename: /dir/tsconfig.json
////{
//// "compilerOptions": {
//// }
////}
goTo.file("/dir/a.tsx");
verify.codeFix({
description: "Enable the '--jsx' flag in your configuration file",
newFileContent: {
"/dir/tsconfig.json":
`{
"compilerOptions": {
"jsx": "react",
}
}`,
},
});
@@ -0,0 +1,24 @@
/// <reference path='fourslash.ts' />
// @Filename: /dir/a.tsx
////export const Component = () => <></>;
// @Filename: /dir/jsconfig.json
////{
//// "compilerOptions": {
//// "jsx": false,
//// }
////}
goTo.file("/dir/a.tsx");
verify.codeFix({
description: "Enable the '--jsx' flag in your configuration file",
newFileContent: {
"/dir/jsconfig.json":
`{
"compilerOptions": {
"jsx": "react",
}
}`,
},
});
@@ -0,0 +1,24 @@
/// <reference path='fourslash.ts' />
// @Filename: /dir/a.tsx
////export const Component = () => <></>
// @Filename: /dir/tsconfig.json
////{
//// "compilerOptions": {
//// "jsx": false,
//// }
////}
goTo.file("/dir/a.tsx");
verify.codeFix({
description: "Enable the '--jsx' flag in your configuration file",
newFileContent: {
"/dir/tsconfig.json":
`{
"compilerOptions": {
"jsx": "react",
}
}`,
},
});
@@ -0,0 +1,19 @@
/// <reference path='fourslash.ts' />
// @Filename: /dir/a.tsx
////export const Component = () => <></>
// @Filename: /dir/jsconfig.json
////{
////}
goTo.file("/dir/a.tsx");
verify.codeFix({
description: "Enable the '--jsx' flag in your configuration file",
newFileContent: {
"/dir/jsconfig.json":
`{
"compilerOptions": { "jsx": "react" },
}`,
},
});
@@ -0,0 +1,19 @@
/// <reference path='fourslash.ts' />
// @Filename: /dir/a.tsx
////export const Component = () => <></>
// @Filename: /dir/tsconfig.json
////{
////}
goTo.file("/dir/a.tsx");
verify.codeFix({
description: "Enable the '--jsx' flag in your configuration file",
newFileContent: {
"/dir/tsconfig.json":
`{
"compilerOptions": { "jsx": "react" },
}`,
},
});
@@ -0,0 +1,7 @@
/// <reference path='fourslash.ts' />
// @Filename: /dir/a.tsx
////export const Component = () => <></>
goTo.file("/dir/a.tsx");
verify.not.codeFixAvailable();
@@ -0,0 +1,10 @@
///<reference path="fourslash.ts" />
//// /**
//// * @template {string} K/**/ a golden opportunity
//// */
//// function Multimap(iv) {
//// };
goTo.marker('');
verify.quickInfoIs("any");